EXP
目的:学会选择和修改网上公开的漏洞利用代码【EXP(python\perl\ruby\c\c++....)】
方法:
1、Exploit-db【kali官方维护的漏洞利用代码库】
2、SecurityFocus【安全焦点:securityfocus.com(个别漏洞会有,可做后备查找)】
3、Searchsploit【kali上可下载安装】
注:需选择可信赖的EXP源【防止中别人的恶意代码,可用虚拟机先验证,再使用】尽量将EXP中的shellcode改成自己的
实例1【当拿到一个自己不熟悉的EXP,如何进行修改】
对象:SLmail邮件服务器程序
搜索现成的EXP
拷贝EXP到当前目录root@kali:~# searchsploit slmail --------------------------------------------- ---------------------------------- Exploit Title | Path | (/usr/share/exploitdb/platforms) --------------------------------------------- ---------------------------------- SLMail 5.5 - POP3 PASS Buffer Overflow | ./windows/remote/638.py Seattle Lab Mail (SLMail) 5.5 - POP3 Buffer | ./windows/remote/16399.rb SLMail 5.5 - POP3 PASS Remote Buffer Overflo | ./windows/remote/643.c SLMail 5.5 - Remote Buffer Overflow | ./windows/remote/646.c SLMail Pro 6.3.1.0 - Multiple Remote Denial | ./windows/dos/31563.txt --------------------------------------------- ----------------------------------
查看638.py
root@kali:~# cp /usr/share/exploitdb/platforms/windows/remote/638.py . root@kali:~# cp /usr/share/exploitdb/platforms/windows/remote/643.c . root@kali:~# cp /usr/share/exploitdb/platforms/windows/remote/646.c .
646.c【在目标系统上绑定一开放端口】gedit 638.py##【部分代码】
注:需根据自己实际靶场环境,进行修改,否则无法得到正确结果
643.c【反向连接,必须修改shellcode】gedit 646.c
注:根据调试获得的内存地址等信息修改EXP,并将里面的shellcode换成自己的,对硬编码的IP地址修改为自己的,切记不能直接使用别人的EXP
先安装windows模块
apt-get install mingw32(用于linux环境下,运行window环境的软件,用于编译32位windows程序)
还需安装
dpkg --add-architecture i386 && apt-get update && apt-get install wine32【用于将windows程序运行在linux上】
i586-mingw32msvc-gcc 646.c -lws2_32 -o sl.exe #将c语言脚本编译成一个程序
wine sl.exe 192.168.20.32 #运行
【此处有问题,kali装不上mingw32】
gedit 643.c 【可判断使用gcc 643.c -o 643则可运行】
为什么要修改EXP呢?
因为不同的系统补丁,软件版本,都会造成内存偏移量的不同,通过修改公开的EXP满足不同的环境需要。所以要配合扫描技术,发现目标系统的版本,搭建适当的测试环境,才能针对目标系统进行漏洞利用
小白日记,未完待续...