您无权使用所提供的凭据查看此目录或页面_使用HTTP 404 File Not Found的C2(译)...

我们知道hack都会使用C2(命令和控制)控制受感染的主机系统。这些C2中的大多数都由大型僵尸网络控制,Hack只是简单地使用其中一些来访问系统,使他们可以转到另一台设备中去或窃取凭据并获得对系统的“合法”访问。

我已经看到或听说过许多类型的C2,例如IRC,p2p,DNS,Twitter,Gmail,ICMP等。C2隐藏流量家族越来越大,并且实现C2的方式每天都变得更具创造性。我很少为听到任何新的C2感到惊讶。直到有一天与John Strand进行了交谈,他提到了可以使用HTTP 404 – File Not Found的C2 。这…引起了我的注意。作为安全专家,我知道这些以前C2技术中的大多数很容易被检测和阻止。

尽管我知道HTTP 404 – File Not Found 会更难检测,但过滤/阻止主机访问HTTP 404 –File Not Found  很容易。但是,有多少安全设备会阻止HTTP 404?事实上有多少安全设备可以监视和检看网站HTTP 404?大多数的安全工程师或普通人都会像我一样,在浏览网络时, 通常会忽略或跳过HTTP 404。在检测流量时,都会是主要是在寻找流量中的异常情况,例如流量流向Internet上的奇怪地方或其他类似性质的东西,而经常忽略或跳过HTTP 404的流量

随着我的兴趣激发了,我开始做一些研究,看看是否有人使用这种技术攻击,是否有人已经检测到这种技术的C2型。

我发现了几篇类似文章,一篇题为“隐藏在众目睽睽下”  由皮埃尔-马克局和基督教迪特里希的“Hiding in Plain Sight”(https://www.blackhat.com/docs/eu-15/materials/eu-15-Bureau-Hiding-In-Plain-Sight-Advances-In-Malware-Covert-Communication-Channels-wp.pdf),另一个是“ Hiding Malicious Traffic Under the HTTP 404 Error”(作者:He Xu)(https:/ /blog.fortinet.com/2015/04/09/hide-malicious-traffic-under-the-http-404-error)。

在He Xu的文章中,他们实际上检测出来并见证了HTTP 404 – File Not Found  C2,文章涵盖了他们发现的内容和技术发生的情况。简单来说,受感染的设备可以连接到此Web服务器,但是会返回HTTP 404 – File Not Found 。该HTTP 404 看起来是正常的,但是从源码上的注释我们可以看到包含base64编码的命令。。这些命令是指令将自身复制到USB驱动器,下载并执行可执行文件以及最后更改某些注册表项的说明。

根据以上的操作方式,我决定创建自己的HTTP 404 – File Not Found  C2。尽管我不仅希望受感染的系统获得命令并运行这些指令,我希望它能够通过HTTP 404 – File Not Found来控制系统并获得系统的响应。

方法

00×1

第一部分是通过添加和配置.htaccess文件来设置Web服务器,以将任何错误页面定向到我选择的.html文件(下面将其重定向到evil.html)。

99de13875b9c4a62b37816f35896fe54.png

作为攻击者,此Web服务器可以是他们自己的服务器或他们控制的Web服务器,也可以是他们具有“访问权”的服务器(肉鸡)。设置站点并设置HTTP 404 – File Not Found 后 ,我们继续进行第二部分,即 C2  服务器。

00×2

这是代码中最简单的部分。我们把要对受感染的系统执行的命令通过base64对进行编码,将它放入带有预定义标头的html注释中,然后包装到html文件中。在最后将它覆盖到HTTP 404 – File Not Found的html文件中。 主要我输入新命令,就会覆盖到HTTP 404 – File Not Found文件中。对于我的测试,我设置并控制了Web服务器,我们可以轻松地使用FTP上传新的html文件。

bc1ef56a6b6d16e678ad1f1da081be84.png

00×3

下一步是创建 C2  客户端。然后创建适用于Windows和Linux的命令来控制客户端,以及命令执行返回我们服务器的响应。

受感染的系统必须请求某个域。 在这里我使用了静态网址。

过程就是:

受感染的系统一旦从网站请求页面,将首先确定它是否是404页面。如果不是404页,忽略并等待下一个请求发出。

如果是404页面,则检查其源代码中是否包含注释。如果找到注释,则检查注释中的标题是否与预定义的标题匹配。如果标题匹配,则解码base64字符串并执行命令。

8b133b9b559648d401d3c9813893fc01.png

这部分代码有点困难,因为我不仅要在受感染的系统上执行命令,同时还希望能够向Linux和Windows提供基本通用命令。最后,我还希望将已执行命令的结果发送回服务器。

我在 C2  解决此问题的方法是确定受感染的系统是Linux还是Windows。在Windows 上使用PowerShell执行一些与Linux中相同的基本命令,然后将其作为在base64中重新编码的PowerShell脚本执行。所以系统是Linux也能像操作系统是Windows一样执行命令。

然后,受感染的系统会将命令的结果发送回侦听服务器。为简单起见,我只使用了python服务器监听器。

最后,我为受感染的系统发送的命令的结果创建了 C2 接收器。这只是一个等待连接的基本python服务器。

在我的演示中,我使用Windows 10计算机作为“受害者”,使用Ubuntu作为Web服务器, C2 控制器和 C2 接收器。

打开网站,你可以看到的是我们做的Office 365登录页面。

38076d3d96d8d6f0c1425e7f0387fa95.png

如果一旦我转到一个不存在的页面,我应该会收到404错误。

bd85986864122603dea77a0ebe2ca473.png

我们看到源码中没有任何注释,只有一个基本网页。

b974515582312b3439d27b8b197bf9d4.png

我们启动C2服务器并等待命令

2195d49460dcf2a9a5b0ec6595487bc9.png

C2接收器打开端口并等待传入连接。

6fcc215c54d74d7350dab31ac3cbae73.png

然后,在受害计算机上运行C2客户端(前台不显示,文件启动然后在后台运行)。5650d5c6bc2843110a1a0f88b0b0d3e3.png

现在我们可以执行一个简单的命令,例如ls

c122309e4a6d8e2742131f305edb3e84.png

如我们所见,c2客户端将桌面的内容(因为我们使用了ls命令)发送回到我们c2服务器。

下面,我将创建一个文件,列出内容,然后显示404页和该页的源代码。

在C2服务器上,我能够运行命令,所以我使用PowerShell命令并在当前目录(桌面)中创建了一个空文件。

8ad341566e9e8e4933e945cb3e296d84.png

C2接收服务器显示文件已创建。

fbfb71d2394b570f9986d96397999a33.png

现在我们可以看到我从C2服务器创建的文件在桌面上显示了

86b8b1d4df0fd51d73d2bd5fe00b5ae1.png

404页面看起来好像相同。

57eabd40d1f84c0ccea4333c5fdcfaad.png

但是,如果我们查看源代码,则可以看到页面底部有一个新注释。

cb325c19f5f311a8ca3ee9598b86e58e.png

好的,我们解码TmV3LUl0ZW0gLU5hbWUgRW1wdHlGaWxlLnR4dCAtSXRlbVR5cGUgRmlsZQ ==

我们可以到:

New-Item -Name EmptyFile.txt -ItemType file

总之,这是一个非常强大的工具,并且容易安全人员被忽略。

这介绍一个有趣的小项目:https://github.com/theG3ist/404

翻译文章

原文:https://www.blackhillsinfosec.com/how-to-build-a-404-page-not-found-c2/

翻译:李木

b0592bbdcea1288914bfe4b0f0936221.png

7d670e4c01c0d9f232b437d013e1771a.png

最后跟微信公众号Bypass道个歉,本公众号在昨天发表的文章《探测域内存活主机和端口扫描》中的端口部分信息没必允许使用了Bypass整理的文章,虽然本人在公众号中标注了来源,但没经允许就是没经允许,没什么好说的,在此给Bypass公开道歉!

如果有想了解到常见端口渗透测试方便的知识的话,可以看以下连接!或者等我整理出来,其实都大同小异,就那点东西…

https://www.cnblogs.com/wjw-zm/p/11803681.html

https://www.soul666.com/jishu/149.html

https://www.secpulse.com/archives/54880.html

公众号

https://mp.weixin.qq.com/s/D0saodqe3ocBfXDQF6PG8g

https://mp.weixin.qq.com/s/D0saodqe3ocBfXDQF6PG8g

7139d5ea9b445413bed005385abc7c28.png67e40e619df933c7641c71c0c1a9342a.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值