ping 命令跨平台探测无回显 RCE 技巧

admin 2022年5月10日02:48:27评论328 views字数 886阅读2分57秒阅读模式

ping 命令跨平台探测无回显 RCE 技巧

今天有师傅问到一个反序列化漏洞检测方面的问题:如何实现反序列化漏洞借助 DNSLOG 在 Windows、类 Unix 以及 MacOS 平台下的通用检测解决方案?


不得不说,一般的反序列化漏洞大都没有命令执行回显的背景下,漏洞探测通常有两种方式:

1. 借助 DNSLOG 进行探测;

2. 通过 Web Context 上下文构造将回显写入响应,进而实现回显,再探测。


现在重点说方式一:DNSLOG


DNSLOG检测原理简单讲就是我们序列化后的 payload 打过去以后,在目标上进行了反序列化转化最终代码执行请求一下 DNSLOG Server,借助 DNSLOG Server 接收到的请求记录来判定漏洞存在。


而 DNSLOG 的获取又有很多方式,比如代码层面构造一个对 DNSLOG Server 的请求,或者借助平台自带的 ping


代码层面构造对 DNSLOG 的请求同样很简单没啥好说的,说什么?说 ping 命令的跨平台执行


ping 命令几乎是个平台都有,毕竟是检测连通性的命令可以说不可或缺了。但是对于 ping 命令在 windows 和 unix 平台下执行存在一些差异:windows 下默认发送 4 个 ICMP 包后停止,也可以通过 -n 选项指定发包数;而 类 unix 系统若不指定发包数的情况下 ping 命令会一直执行下去,若想指定次数需要 -c 选项。


因此我们需要找到一种可以同时满足下面两个条件的方法:

  • 在 Windows、类 Unix 以及 MacOS 系统下通用

  • 既可以控制发包数量避免造成 ping 进程的占用或阻塞,又得到 DNSLOG 记录的方法。


怎么做?


下面把笔者习惯使用的方法放出来供师傅们参考

ping -nc [发包数] [DNSLOG]

基于不同平台进行测试

> Windows

ping 命令跨平台探测无回显 RCE 技巧


> Debian

ping 命令跨平台探测无回显 RCE 技巧

由第二组测试可见 ping 命令的 -nc 选项同时使用不会造成进程占用或阻塞


> MacOS 同样适用

ping 命令跨平台探测无回显 RCE 技巧


可见,ping 命令的 -nc 选项同时使用时可以满足我们的要求。


抛砖引玉,希望能给师傅们在借助 DNSLOG 的无回显命令执行漏洞跨平台检测方案上带来一些思路上的帮助。

ping 命令跨平台探测无回显 RCE 技巧


原文始发于微信公众号(Craft Security Group):ping 命令跨平台探测无回显 RCE 技巧

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年5月10日02:48:27
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   ping 命令跨平台探测无回显 RCE 技巧https://cn-sec.com/archives/993578.html

发表评论

匿名网友 填写信息