-
-
[原创]编写第一个Exploit
-
发表于:
2018-5-23 20:13
9342
-
使用的工具有Metasploit、ImmunityDebugger。其中Metasploit直接下载一个kali就可以了。软件的安装环境是WinXpSP3。
1. 缓冲区溢出漏洞的软件是在exploit-db网站上面下载的。链接地址:
872K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6%4N6%4N6Q4x3X3g2W2P5s2m8D9L8$3W2@1i4K6u0V1k6r3u0Q4x3X3g2U0L8$3#2Q4x3V1k6W2P5s2m8D9L8$3W2@1M7#2)9J5c8U0x3#2y4K6m8Q4x3V1j5`.

2. 下载软件安装好,使用Immunity进行附加进程。点击左上方的闪电按钮,此时会启动该ftp的服务。

3. 从exploit-db中可以看到,该漏洞是用户名的缓冲区溢出漏洞。我们这边直接构造,用户名的长度。使用Python的socket模块发送登录的数据包,并适当的增加用户名的长度。先查看一下winxp的ip地址

先发送1000个字节查看程序是否崩溃。发现1000个字节的是时候程序崩溃了并且EIP的值是41414141,表示发送字符A进入了EIP


使用metasploit创建1000个字节的字符串/usr/share/metasploit-framework/tools/pattern_create.rb
通过immunity中发现EIP的值为32714131,再使用metasploit的计算偏移地址的指令,如下图
定位到了,EIP的地址为偏移的485个。

此时再进行验证,构造B字符4个,加入EIP的值为42424242,那么表示计算的地址正确,编写脚本如下。

发现EIP的值为42424242是B的十六进制。计算的地址正确。

4.接下来寻找系统的jmp esp的地址,jmp esp的机器码是0xffe4
使用mona插件。!mona modules -m shell32.dll
这边使用shell32.dll的地址,寻找jmp esp的值。


[培训]科锐逆向工程师培训第53期2025年7月8日开班!
最后于 2018-5-26 13:31
被cherrychan编辑
,原因: 重新修改