欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

模糊测试与漏洞利用实战:MikroTik无需认证的远程代码执行漏洞(CVE-2018–7445)(下)

来源:本站整理 作者:佚名 时间:2019-03-19 TAG: 我要投稿

在上篇文章中,我们已经详细讲述了目标选择和漏洞发现的过程。本文将侧重于深入分析漏洞,并详细介绍漏洞利用的探索过程。
六、深入理解崩溃
首先,我们要确保可以重现崩溃。可以复制Mutiny发送的最后一个数据包,也可以从WireShark中提取消息。我们对NetBIOS下面的层不感兴趣,需要创建一个小脚本,以通过TCP发送数据包。

从导出的文件中提取原始字节。
    >>> open(“req”).read()
    ‘\x81\x00\x00 \x00\x00 \x00\x00 \x00\x00 \x00\x00 \x00\x00 \x00\x00 \x00\x00 \x00\x00 \x00\x00 \x00\x00 \x00\x00’
创建一个简单的Python脚本,将Payload发送到远程服务。为了清晰起见,我已经使用等效的十六进制表示替换了其中的空格。

在产生新的SMB进程(pkill smb && /nova/bin/smb)后运行该脚本几次,并查看会发生什么。我们现在,已经拥有一种可靠的方法,来通过单个请求重现崩溃。
在这种情况下,我们需要处理WireShark具有解析器的协议,因此可以借助该信息从协议级别来了解崩溃的具体原因。显然,发送NetBIOS会话请求(消息类型0x81)将会在SMB二进制文件中执行易受攻击的代码路径。
我们从路由器中提取二进制文件,这样就可以在反汇编程序中打开该文件。将/nova/bin/smb复制到/flash/rw/pckg,以便可以通过FTP访问并下载。
在这里,可以使用GDB对进程进行调试,我喜欢使用PEDA来增强GDB的显示,并添加一些有用的命令。
我们打开两个到目标路由器的连接。在其中的一个连接中,我们使用pkill smb && /nova/bin/smb获得实时输出。在另一个连接中,我们启动附加到新生成进程的gdbserver。
最后,我们在测试主机上打开GDB,并使用目标远程IP:PORT连接到调试服务器。
通过执行文件smb来指示GDB我们所附加的二进制文件也很有帮助。在下一次连接到调试服务器时,将会尝试解析已加载库的符号。

在调试对话中按C,可以继续执行。
运行PoC将导致服务因SIGSEGV而停止。在这里,我们看到在执行复制操作时,解引用了NULL指针。

现在,我必须承认,我做静态分析非常糟糕,特别是在涉及C++程序的情况下。因此,我将尽可能多地依赖于动态分析,在实际场景中,我将依赖于Wireshark解析器提供的信息,将会给我们更多关于协议字段的信息。
可以看出,我们发送的NetBIOS会话服务数据包的第一个字节将消息类型设置为会话请求(0x81)。

第二个字节中包含标志,在我们的概念验证中,将所有位设置为零。

接下来的两个字节表示消息长度,设置为32。

最后,剩余的32个字节,为非法的NetBIOS名称。
我们可以假设在某个时刻会读取数据包的大小,并且其大小可能与漏洞相关。为了测试这个假设,我们将在read和recv之类的常用函数上放置断点,以识别应用程序从套接字读取数据包的位置。

运行脚本后,程序在read()中断。

我们使用ni导航至下一个命令,并在执行读取系统调用后立即停止。

Read的定义如下:
    ssize_t read(int fd, void *buf, size_t count);
EAX将保留读取的字节数,在这里似乎是0x24(36)。与我们之前所分析的标头(消息类型1字节、标志1字节、消息长度2字节、NetBIOS名称32字节)一致。
ECX包含存储数据读取的缓冲区地址。我们可以使用vmmap $ecx或vmmap 0x8075068来验证是否符合实际堆区域。

最后,EDX声明调用读操作,从套接字中读取最多0x10000字节。
从这里开始,我们可以继续步进,并添加观察点,从而查看数据的变化。
由于WireShark中没有与NetBIOS名称中识别和分析协议相关的任何内容,因此我们将更改Payload,以包含更多可以区分的字符,例如“A”,以便在我们的调试会话中更容易地识别出该Payload。

[1] [2] [3] [4] [5]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载