DEFCON会议18.您花了所有这笔钱,但他们继续拥有您。 第一部分

与往常一样,像去年一样,我无法相信人们真的会来我的演讲上听我说的话。 去年的星期天上午10点,我处于宿醉状态,以为没人会来看我。



今天又是星期天,下午4点,今天我想乘飞机回家,尽管如此,我还是要感谢您,并像去年一样感谢您的关注,我该死的爱这些人和DefCon。

演讲的主题是您花了所有这笔钱,但他们继续拥有您。 我进行了很多渗透测试,当时我在参与笔测的许多国家中,到处都在努力使用各种保护工具,例如防火墙,AWS和入侵检测系统IDS和MAC。 我们仍然给他们以重击,这是非常糟糕的。 通常,当我进行测试时,我的报告会变成有关事件的消息,我想说:“嘿,伙计,但您是这一切的所有者,如何使用这种沉积物”? 整个主题都专门针对此主题,但让我先告诉您我是谁。

我是网络应用程序的五分之一,我教人们有关它,而且我是安全会议上的“黑人”,是的,是我! 所以,我裂开,我变得凶猛,我喝酒。 订单在变化,但我保持不变。 因此,如果您不喜欢像我这样的人,您可以起身离开。

所以,让我回溯大约10年,因为我对那些时代特别怀念,所以我一直这样做。 在那些日子里,进行渗透测试是一件容易的事,我们来到客户那里说:“你好,我们是安全的人”,然后客户举起手来思考:“天哪,这里的人很安全!”

之后,我们使用ISS或Nessus等开源工具入侵了客户端网络。 你们当中有多少人记得Nessus那时是自由的?



因此,我们带着所有这些东西来到了客户那里,并利用诸如PacketStorm的RootShell等漏洞利用轻松地入侵了他的网站-举起手,谁会记住他们! 我们扫描了端口以找到目标,使用了各种编译,点斜杠,所有这些库,并打开了控制面板。





然后,我们拍摄了该漏洞的屏幕快照,在该屏幕快照上您可以看到您的密码和其他机密信息,并说:“好吧,伙计,您的网络已被接管!”



然后我们起草了一份报告,写了他们拥有什么样的倾斜网络,并为此获得了收益。 “您的网络真是个混蛋,请付钱给我!”



但是今天,到处都是可靠的CISSP,独立的信息安全认证,雇用您的人认为他比您了解的更多。 我想对他说:“那您到底雇用了我什么?”,他回答:“您知道,我们做到了,而且,我们有IDS和MAC,我们有,我们有……”。 而您正在所有这些事情中旋转。
让我告诉你一个小故事。 每个认识我的人都知道我总是有某种故事。

几年前,我有一个客户下令进行渗透测试。 他说:“好的,乔,我希望您审核这些子网以及VLAN的ACL访问控制列表。” 也许你们中有些人已经为VLAN做过ACL,所以你们比我聪明,因为我从没做过。

我说-好,我应该进行哪种审计? 他回答-VLAN审核,好的,我想我去看看他们的网络配置。 在这里,我与网络管理员坐在一起,看到他们有300个用户的90个VLAN! 我当时很震惊,告诉他这怎么可能,但是他只是回答-很好,它发生了! 我拿了一张小纸条,开始向人们走来走去,问:“您需要这个网络吗? 但是您需要这个网络吗? 也许您需要这个网络?” 所以,我到处走走,发现每个人都需要什么,那是一个大公司,该死的大公司。 我检查了所有这些VLAN,验证了某些网络,并到达了DMZ网段之一,该公司中有四个。 我对自己说:“嘿,伙计,所有这些盒子都需要更新,它们确实需要打补丁。” 我去了副总经理那里,他说您拥有所有需要软件更新的设备,因为您错过了一些SQL补丁,PHP补丁等等。

他们开会是因为他们经常开会,并且其中一位开发人员起身说:“不,不,我们不能更新它,这是我们的开发服务器!” (大厅里的笑声和掌声)。 我如何评论开发服务器位于DMZ中的事实? 他们回答我:“那更好!”。

因此,我继续为客户工作,开始我的小笔测试,并“放下”几个架子,因为这很容易做到。 客户问为什么我们的IDS系统无法抓住您,我回答,但那里的IDS是什么? 他说是的,我们用它来监视安全性。 我回答:“嗯,可能是因为有人从事此IDS工作”!

公司雇用其他公司将其IDS外包,管理,进行报告并做一些卑鄙的事情。 因此,我不得不看一下他们的“盒子”,并要求该人让我访问以快速检查它。 我该死的,它花了超过2分钟的时间通过SSH登录,而且我发现这个母狗很慢,所以我开始检查它的rootkit。 原来,已经有4个rootkit!



因此,进行渗透是一件很酷的事情! 因此,当我反对来自大型公司的这些人,审计所有这些他妈的银行,所有这些他妈的公司时,我该怎么办-我向Google寻求帮助。 首先,我寻找SQL错误消息,寻找用于远程控制的文件,所有这些使我可以快速访问最脆弱的外壳。 切勿进行漏洞扫描之类的胡说八道,立即“吞咽”系统。 因此,我一直在寻找SQL注入,RF文件,crossite脚本,找到它们之后,我转向被动智能和OSINT-开源智能,为此,我使用了Maltego。 我的行为就像一个女人,想要抓住丈夫叛国罪-我到处都是! 我试图弄清它们拥有哪些子网,所有这些东西都位于哪里,我使用了这个令人称奇的工具Firefox。 相信我,您会惊讶于他的能力!

被动智能是您真正应该尝试的主要工具。 我敢肯定你们中的大多数人已经在使用它,肯定应该使用这种技术。 然后我寻找负载平衡器,现在我通过了约30%的渗透测试的负载平衡器,这确实是一件方便的事。 我在“框”上配置负载,并找出它是DNS还是HTTP负载平衡。 例如,当您发送数据包并且它们沿着所有这些路径分散时,这会使测试更加困难。



然后,我返回真棒的Firefox浏览器,并实时更改HTTP标头搜索栏标头的内容。 这使您可以向服务器发送一些常规请求。



因此,如果您发送第一个数据包并且“ 5”返回给您,则您将另一个数据包发送到同一框,并且它返回“ 6”,因此您具有负载平衡。 与挖掘团队和Netcraft相同。

Netcraft通常是一件了不起的事情。 例如,您寻找“ F5 BigIP”之类的东西,并获得已经均衡负载的IP地址。 在笔试期间,这对我来说非常重要。 外壳程序脚本或使用Halberd可以检测到负载均衡器,它是一个执行相同操作的Python脚本。 因此,这些都是非常好的事情,可以帮助您确定要攻击的主机的实际IP,该主机位于负载均衡器的后面。



我遇到的下一件事是确定是否有IPS或入侵防御系统。 每个人似乎都有IPS,但是我的绝大多数客户都在IDS模式下使用它。 就像针对负载平衡的主机使用黑客工具毫无意义,针对受IPS保护的主机使用黑客工具也毫无意义。 你们中有人使用吗? 将其断开连接,因为它阻止了流量! 确实,尝试禁用它,看看会发生什么。 有多少人认为该系统阻止了非法流量,她是否给您写过信? 这与像她一样的所有系统都是一样的。 你同意我的观点吗? 我只是想确保我不是唯一一个这么认为的人。

因此,我需要确定是否需要抵抗IPS,也就是说,受攻击的主机是否不受其保护,为此,我正在做一些非常简单的事情。



我是Linux专家,但现在我必须使用Windows,因此我感到有点脏。 首先,我使用cURL-这些是命令行工具或脚本,以及一个通过URL传递数据的库。 使用cURL,我将击败../../WINNT/system32/cmd.exe?d。 相信我,自从耶稣走上大地以来,这种攻击就没有用了,所以让我知道你是否能够实现它。

唯一需要这样做的原因是试图找出是否有某些东西阻止了您的IP地址或向您的连接发送了重置数据包。 因为如果这件事向您发送了重置数据包,则您需要引用cmd.exe?D,因为您的地址可能会阻止IPS。 以同样的方式思考,purehacking.com的家伙提出了主动过滤器检测或主动过滤器检测。 这是一个非常好的工具,可以在Python上运行,您可以对其进行一些更改并根据需要进行自定义。

我经常遇到IPS,因此我使用3-4个不同的IP地址来射击数据包,并查看是否得到转储数据包作为响应。 如果收到,则表示我的IP地址已被阻止。 我注意到大多数IDS / IPS解决方案都不监视SSL编码的流量和其他加密的流量。 因此,我接下来要做的就是查看IPS是否可以处理SSL。 让我再次提醒您为什么我们使用Linux。



我创建一个xlnetd文件,然后执行所谓的“ SSL测试”。 您会看到我打开了端口8888,然后,我传递给本地主机8888的所有数据都落入了此小型Shell脚本中,您看到的是server = /home/j0e/security/toolz/ssl_proxy.sh。

在下一张幻灯片上,您可以看到我的脚本的惊人功能-只需一行即可查看此脚本! 因此,流量直接进入打开的SSL,然后与目标建立连接,并针对本地主机启动相同的Active Filter Detection或cmd.exe,以确定是否阻止了我的IP地址。



我部署IPS并使用阻止模式的绝大多数客户在SSL流量通过IPS或IDS之前不会对其解密。 因此,如果您想让客户从中获利,请告诉他们购买SSL加速器。 它会在IPS之前中断SSL协议,并尝试解密流量。
现在,让我们看看如何通过Tor攻击主机以及如何通过Tor运行网络扫描工具。 我经常这样做,启动privoxy,并在隐藏模式下使用Nessus等工具通过端口8080攻击主机。 在这方面,值得推荐其客户阻止Tor输出节点。



大多数公司没有理由允许其客户通过专用网络连接到他们的网络,但是从不阻止这种连接。 因此,您应该强制公司阻止这些节点,这是我首先为客户所做的。 我没有GLib代理幻灯片,因为宿醉确实影响了我今天早上正确制作这些幻灯片的能力。

我要做的最后一件事是识别WAF,Web应用程序防火墙或Web应用程序防火墙。 如何确定主机是否使用WAF?



由于我进行了大量的PCI渗透测试,所以我知道PCI办公室的一些聪明才智的人意识到,如果您有不想修复的易受攻击的Web应用程序,则可以使用WAF。 实际上,很容易发现这种防火墙的使用。 为此,向主机1发送一个真实请求,一个恶意请求并查看其响应将如何变化就足够了。 恶意制作的HTTP请求可能包含有效载荷,该有效载荷包括各种废话,例如撇号,引号,问号,减号,方括号,星号等。



因此,找出您是否在攻击受WAF保护的主机并不困难。
因此,您将发送任何无效字符,然后,下一张幻灯片中描述的工具将为您提供所有这些奇怪的东西。 因此,如果您请求cmd.exe并将grep命令行实用程序用于“ 501”方法,即代替404“未找到”错误,您将收到错误消息501-“服务器不支持该请求方法”,那么您可能会遇到保护Apache服务器的mod_security防火墙。 较新版本的防火墙已改变了这种状况,但是谁真正关心更新其WAF?

因此,我相当广泛地使用了下一张幻灯片中显示的方法,并且还将攻击通过AQTRONIX Web Knight防火墙进行了传递。



您会在响应标头中看到999 No Hacking代码,我在测试时会启动该代码-“ No hacking”。 因此,您只需要开始将一些东西添加到地址栏中,以查看它会提供什么以及是否收到不在主机上的文件的404错误消息。



我的意思是,如果您发送正确的请求(给您200条消息),然后发送对不存在的文件的错误请求,并且服务器发出404错误,然后突然插入一些用于跨站点脚本的文件,则服务器将发送您对错误的含义完全不同。 这将表明在这种情况下存在某种保护机制。

回到我们的编码游戏。 如果确定您反对WAF,请查看此东西是否支持HEX,是否处理utf7,utf-8,base16,base64或这些编码的混合形式。 大多数WAF不适用于编码,尤其是当您开始将它们相互混合时。

我的好伙伴Sancho Gachi和Windell去年创建了一个名为WAFW00F的Python工具,该工具可检测WAF。



这个东西带有HTTP响应头的指纹并标识WAF。 我真的很喜欢这个东西,现在我们已经有了10或12个WAF的列表,并且它还在不断增长。 接下来需要注意的是WAF Fun,它是一种与Web应用程序防火墙规则集上的蛮力方法配合使用的工具,它也是用Python编写的。

我真的很佩服这些家伙,希望我们能取得更大的进步,但是您知道我们先喝一点,然后工作,然后再喝一次,然后再工作,所以创建这样的东西的过程并不容易。 但是我仍然希望在下一次DefCon会议上,我可以演示使用蛮力方法进行WAF Fun的工作方式。

另一个有趣的事情是我们可以使用Unicode进行处理。 是的,它是用Ruby编写的,我们都知道Ruby很烂。

17:00分钟

DEFCON会议18.您花了所有这笔钱,但他们继续拥有您。 第二部分



感谢您与我们在一起。 你喜欢我们的文章吗? 想看更多有趣的资料吗? 通过下订单或将其推荐给您的朋友来支持我们, 为我们为您发明的入门级服务器的独特模拟,为Habr用户提供30%的折扣: 关于VPS(KVM)E5-2650 v4(6核)的全部真相10GB DDR4 240GB SSD 1Gbps从$ 20还是如何划分服务器? (RAID1和RAID10提供选件,最多24个内核和最大40GB DDR4)。

VPS(KVM)E5-2650 v4(6核)10GB DDR4 240GB SSD 1Gbps,直到1月,直到 6个月的付款期内免费 ,您可以在此处订购。

戴尔R730xd便宜2倍?在荷兰和美国,我们有2台Intel Dodeca-Core Xeon E5-2650v4 128GB DDR4 6x480GB SSD 1Gbps 100电视(249美元起) 阅读有关如何构建基础架构大厦的信息。 使用价格为9000欧元的Dell R730xd E5-2650 v4服务器的上等课程?

Source: https://habr.com/ru/post/zh-CN432456/


All Articles