我想更多地了解特定漏洞利用的工作原理。我怎么做?

逆向工程 拆卸 linux 开发 缓冲区溢出
2021-06-16 15:26:40

我得到一个运行ProFTP 易受攻击版本的服务器的 VM和一个攻击者 VM,该 VM 使用MetaSploit 提供的漏洞利用该服务器作为课堂作业的一部分,我需要编写 Snort 规则来检测对服务器的潜在恶意攻击。查看漏洞利用代码,我可以轻松编写规则来查找关键字SITE\x8d\xa0\xfc\xdf\xff\xff(因为我的易受攻击的 Vm 是一台 Ubuntu 机器)。然而,这将是非常蹩脚的,而且编写特定于漏洞利用代码的补丁也不是一个好习惯。即使漏洞利用代码被更改,我也希望规则适用。

我已经阅读了有关该错误的信息,并且我知道特殊 IAC 字符(255 或\xFF)的存在可能会导致缓冲区溢出。但是,任何正常的数据包都可能包含 \xFF并编写用于检测的规则,\xFF从而导致误报。我想知道漏洞利用的一些具体细节,这将帮助我找出我需要在哪里寻找 IAC 字符或帮助我找到有关漏洞利用的一些细节,这将使我能够找到恶意数据包而无需求助于寻找IAC 字符\xFF我该怎么做?任何帮助或指示将不胜感激。

谢谢。

编辑:

目前,我已经安装了udcli来尝试理解ROPStack代码部分中的命令例如:我正在尝试评估0x805a544, # mov eax,esi / pop ebx / pop esi / pop ebp / ret代码中的第100 行 ( )。我努力了:

echo "08 05 a5 44" | udcli -32 -x
echo "805a544" | udcli -32 -x
echo "44 a5 05 08" | udcli -32 -x
echo "44 a5 05 80" | udcli -32 -x

但是它们都没有评估为以下序列

mov eax,esi
pop ebx
pop esi
pop ebp
ret
0个回答
没有发现任何回复~