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

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

我使用了Gary O'Leary-Steele的一个有趣的东西,叫做Unicod-fun,这对于用Ruby编写的实用程序来说是相当不错的。 您知道我的工具应该只用Python编写,因此我们将其翻译成Python。 现在,我们可以为用于攻击Web应用程序且属于WAF框架的工具应用不同的编码。



WAF框架包括WAF Fun和WAFWOOF,并且基于从代理接收的多编码和信息进行操作,并且可以在完成所有这些不同事情的过程中通过Tor或GLib代理起作用。 因此,获取所需信息确实是一件有用的事情。

我们谈论过通过Tor攻击网站;我去年曾详细讨论过。 以下幻灯片显示了此类攻击的脚本:

alias hide='su -c "/home/j0e/dumbscripts/hide.sh"' $ cat /home/j0e/dumbscripts/hide.sh #!/bin/bash # Startup privoxy /usr/sbin/privoxy /etc/privoxy/config # Start Tor /usr/bin/tor $ hide 

还应提及该插件,该插件作为Tor按钮嵌入到Firefox浏览器中。
我不知道你们中的任何人是否与这些该死的公司使用的DotNet Defender WAF一起工作过。 我们发现它能够保护服务器免受SQL注入。 在幻灯片上,您看到生成跨站点脚本攻击的结果-dotDefender阻止了我们的请求。



接下来,您将看到尝试使用没有任何编码的SQL注入来规避这种类型的保护。 而DotNet Defender对此无能为力。



事实是,它仅阻止某些SQL注入,主要包含单词select。 这是安全技术的顶峰-阻止选择一词。 如果您正在使用Unicode进行加密,则可能会泄漏此防御程序,因此他们在去年修复了此漏洞,但没有针对其他编码标准采取任何措施。 因此,如果使用其他编码,则可以轻松绕过DotNet Defender。 这使我无需任何编码即可重置管理员密码哈希。



抱歉,来自DotNet Defender的人,但您需要修复问题。

因此,我要做的重要事情是通过Internet渗透到LAN。 这足够困难,但仍然可能。 为此,尽管我是Python的热心追随者,但我在Perl中使用了一个简单的工具,不得不忍受它。 它的确运行良好,这要归功于它可以通过DNS隧道加载netcat或meterpreter shell网络接口。 这是一个真正伟大的项目,并且最近为此发布了一个新更新。



以下是使用SQL Map工具注入SQL的方法。 该工具使用Python编写,可让您下载os-shell或meterpreter。 它还具有自己的os-shell,您可以对其进行修改。 因此,您可以输入必要的命令来控制系统,配置netcat或直接进入meterpreter shell,因此我经常使用此工具。

现在,我们将继续介绍更重要的材料。 报告这一部分的正式名称是不要让自己陷入困境! 不要成为老虎!



我要做的只是不被抓住。 老虎是谁? 他是个朋克,老实朋克,谁同意我? 如果我身价十亿美元,并且您是色情明星,那么您知道我有愿意杀了您的人,只要您让它溜走。 你同意我的观点吗?

因此,最重要的是定义入侵过滤器。 许多人尝试不同的选择。 首先是客户端过滤。 不好 不好 还有五次-这很糟糕! 请勿使用JavaScript或VB脚本或客户端上的任何内容来尝试过滤掉输入到重要应用程序的输入。 或者,如果使用诸如J2EE之类的框架来创建这些JavaScript,则必须编写服务器端代码来检查来自客户端的所有内容是否正常。



检查源代码中是否有任何可以通过JavaScript或VB脚本过滤的通过网站的参数,然后将其删除。 在本地保存页面并删除相应的JavaScript或VB脚本,或使用本地代理(例如Paros,Web Scarab,Burp Suite)。

如果您只是与某人进行这种他妈的交易,请记住,客户端计算机上的所有不良情况都会发生,因此您需要向开发人员教授这些小课程。 我告诉他们:“好的,开发人员,我想让您考虑一下,因为您将把所有这些安全性放在黑客笔记本电脑中!” 您认为这是对的吗?” 因此,伙计们,不要在客户端使用过滤!

以下是黑名单限制。 人们经常尝试限制使用特殊字符。 好吧,假设您不能发送等号,少号等。



但是关于SQL语法,您不必指出1 = 1。 例如,在请求http:// [site] /page.asp?id=2或1(如1)中,通常可以避免使用等号和or运算符,方法是在地址栏中输入“ and”和“如“,例如,”和1等于1“,”和1等于2”,依此类推:

http:// [site] /page.asp?id=2和1像1
http:// [site] /page.asp?id=2和1像2

实际上,在大多数情况下,SQL注入不使用特殊字符。
接下来,考虑基于签名的IDS。 告诉我,你们中的哪个人的鼠标垫上有这样的桌子? 如果您有一个十进制代码表ASCII或十六进制代码,请用此垫将其撕开。



昨晚我喝醉了鞋垫时得知,ASCII确实有效! 因此,当您处理IDS并从任何IP,从任何端口接收到TCP警报时,到达我们的Web服务器的端口,然后查找特殊数据类型1 = 1。 让我们想想,有多少黑客能够抓住这个东西? 让我们考虑一下。



2是2? 四十盎司等于四十盎司? 1 = 1不是创建请求的唯一方法,您可以为该请求获得“ true”响应,可以发送类型为“ 2 = 2”,“ 1 <2”等的请求。 如果签名很容易获得,那么为什么需要它们? 答案是针对自动工具和儿童。

下一张幻灯片显示了我基于签名的IDS愿景-这是守门员抓住了1个球,同时有100个球飞过了球门。



名为sqlmap的pentester实用程序会绕过我默认显示的保护,它也是用Python编写的!

下一张幻灯片显示了类似的内容。 在这里,作为一种解决方法,我使用了2或2技术并选择了用户。



在这种情况下,我用十六进制代码表示了整个表达式,但是您可以用Unicode,utf7,utf-8,utf-16进行任何编码,这没关系,此方法仍然有效,并且允许您绕过许多WAF。

PHP领域还有另一种产品-这是PHP IDS,我认为现在他们已经在网站上对其功能进行了演示,这真是太酷了。 如果转到demo.phpids.net,则可以尝试烟雾测试。 通过此Smoketest,您可以尝试所有SQL注入,跨站点脚本或Web应用程序攻击,并向您显示这些攻击检测到哪些签名,以便您可以继续在Internet上练习功夫。



例如,您可以应用某种效果,获取签名,尝试另一种效果,获取另一组签名等等。 您只是继续努力工作,直到这个坏男孩说一切都井井有条,您绕过了防御,没有其他东西“冒烟”了您。 因此,您要磨练功夫技能,直到找到可以规避大多数规则的东西。



现在,Modsecurity已与PHP IDS合作,并且他们有自己的烟雾测试。 由于早上有宿醉,我没有将其添加到幻灯片中,但是我要说的是,它们设法将Modsecurity规则集与PHP IDS规则集结合在一个Web界面中,因此您只需在其中插入漏洞利用,直到绕过所有规则即可。 简而言之,基于签名的IDS只是一个愚蠢的笑话。 至少我没有了解这些产品的客户,但他们还是买了它们。 但这是一个稍微不同的故事。

我非常了解IDS和WAF的分析师。 我知道我经常说话,但我感到您很痛苦,因为我曾经做过您的工作,而且世界上没有足够的酒水来承受您所做的工作。



因此,我刚才向您展示的绝大多数内容都是通过网络完成的。 正如我所说,您可以与IDS和IPS进行远程交互,从而加载各种漏洞。 你们中有多少人与开源应用服务器JBoss打交道,他们知道大多数文件都是使用它下载的。 SQL注入只是对我可以进入的一些路径进行编码,这通常使我可以访问shell和DMZ,然后尝试从那里进行工作。

在那之后,我做了一件不可思议的事情,并向客户发送了一封电子邮件,因为它可以正常工作。 使用Metasploit框架的客户端看起来很棒,因此您可以选择支持最新浏览器,PDF,ActiveX或文件利用的所有内容,并确保它反转了TCP Shell,之后Metasploit将此消息转换为HTTPS。 一切都很棒,唯一不好的是它是用Ruby编写的。 但是Python SET工具是渗透测试的全新水平。



该工具使您可以做不可思议的事情。 SET由ReLic小组的David Kennedy创建,为此我们为他鼓掌。 这正是我们所需要的,以说明正在发生的事情的本质。 黑客不再扫描您网络的端口,如果他们不尝试这样做,那么无论如何他们可能都不会接管外壳程序。 黑客尝试使用电子邮件或类似的方式向您下载恶意软件。

因此,客户必须了解,在进行渗透测试时,有必要测试其系统对欺诈性站点,网络钓鱼等的影响。 特别是当您遇到我这样的客户时,他会站起来说:“好的,乔,我不会付钱给您教公司员工如何正确使用网络的建议。” 因此,您必须在客户端重现所有真正的威胁,以便他了解这种情况的严重性。

因此,渗透测试的下一个阶段是数据透视攻击,即“转弯攻击”,其中一个被黑客入侵的主机用于攻击其他主机。 局域网上的“转向攻击”是客户端渗透测试的重要组成部分。



Metasploit支持Pivot,如果我无法下载包含所有预先静态编译的可执行文件的.cab存档,则无需安装任何程序。 我在工作坊中使用它在LAN上进行“数据透视”部署,因此我“跳入”其中并开始从那里开始。

接下来要考虑的是LAN的常规安全解决方案。 DHCP的缺乏(即静态IP地址,DHCP MAC地址,端口安全性,NAC解决方案)使我无法进入网络。 那如果我不能上网怎么办?

如果DHCP丢失并且IP地址是静态的,那么我从主机窃取了有效的IP地址。 我的孩子们教会了我这一点,因为静态IP地址是一件非常低效的事情。 我希望您没有那些说要阻止使用静态IP地址的黑客的客户。 在存在DHCP MAC地址的情况下,我会做同样的事情-我偷了一个有效的MAC地址。 如果我们有一个安全的端口,我也会窃取一个有效的IP或MAC地址。 最后,如果有NAC解决方案,您只需拿起计算机,将其翻转并查看其MAC地址,或尝试查找802.1x协议异常,即打印机,复印机,CD-ROM机架等不支持802.1x的设备和VoIP电话。

所有这些方法对我都有效,并且渗透LAN的最佳设备是VoIP电话。 我有很多客户使用基于MAC地址和VLAN标签的语音网络中VoIP电话的自动授权。 因此,您可以绕过NAC解决方案,制作类似于VoIP电话的Linux“盒子”,并崩溃到虚拟语音LAN网络。

我的大多数客户电话都必须直接连接到内部DMZ中的CallManager软件中心,因为所有CallManager中心都应与其他服务器一起使用,因此我的接收对于整个网络都工作正常。

有一个叫做Voip Hopper的东西可以自动化穿透语音VLAN的过程。 您可以从voiphopper.sourceforge.net下载此漏洞,并使用它直接“跳入” VLAN。

当我进入网络时,通常首先要找出谁是域管理员。 在幻灯片上,您可以看到我使用的命令列表:set-查找有关域和用户的信息,net视图-查看网络计算机,用户域和其他域,net localgroup-查找本地计算机组,等等。



我这样做是为了找出谁和哪些组在网络上工作,以便尝试攻击他们的计算机。 更好的是,如果我可以聘请本地管理员或本地系统,那么下一步是扫描网络以确定该计算机的特定用户是谁。



您可以使用各种脚本来检查网络,以找出管理员的“盒子”在哪台计算机上。 如果您“抓住”了本地管理员或本地系统,则可以“跳入”他们的“框”,然后从那里使用pcexec shell。



跳入“框”后,我开始寻找一种增加特权的方法。 建立特权是一件非常困难的事情。 在Windows XP中,即使使用Sp3 Service Pack也可以使用这些功能,该Service Pack使用了这个漂亮的cmd.exe命令行界面,这是一件好事。

当我向一家银行借钱时,我不得不“杀死” McAfee框架服务,该服务指的是HIPS入侵防御系统。 为此,我使用了pskill.exe命令。 因此,我禁用了McAfee,禁用了HIPS,禁用了拦截器和firepm以及由入侵防御系统启动的所有其他进程。



我没有时间在幻灯片上显示的另一件事是,当您关闭McAfee时,您首先需要增加特权,并且这对于Symantec端点保护也适用。 事实是,在您“杀死”所有这些过程之后,它们又会重新启动。 因此,您需要“解钩”内存中的DLL文件以停止重新启动保护。 我没有在幻灯片上发布它,但是如果您以后再回忆,我将为您提供此技巧的语法。
我刚刚从McAfee中学到的另一件事是,排除列表中的文件以特定名称显示,而不是哈希或类似名称。 因此,没有保护McAfee Antivirus排除列表中包含的文件不受缓冲区溢出的影响,我将出于个人目的使用此事实。

下面显示了使用Metasploit作为系统的HIPS的“杀手”。 现在他们有了一个叫做getsystem的东西,因此您可以简单地编写Metasploit,调用getsystem,它将使用以下四种方法之一直接将您扔到系统中:停止常规防病毒保护,停止HIPS,“杀死” McAfee进程或“杀死” HIPS流程。



我想展示的最后一件事是域捕获。



进入管理员的“盒子”后,我将使用我偷走的所有令牌并开始使用他的权限。 冒充域管理员,我创建了一个用户组并将其添加到管理员组。 对我来说,这很好。



关于保护,我将提供1-2页的文档来保护我免受今天谈论的每种攻击的侵害。 它说明了如何进行攻击以及如何防御。 因此,如果您需要此类信息,请与我联系,所有联系人都在幻灯片上。

如果我没有问题,那么我到此结束。



感谢您与我们在一起。 你喜欢我们的文章吗? 想看更多有趣的资料吗? 通过下订单或将其推荐给您的朋友来支持我们, 为我们为您发明的入门级服务器的独特模拟,为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-CN432496/


All Articles