HACKTIVITY 2012大会,“大爆炸理论:增强安全性中的渗透测试”。 第二部分

HACKTIVITY 2012大会,“大爆炸理论:增强安全性中的渗透测试”。 第一部分

现在,我们将尝试另一种实现SQL的方法。 让我们看看数据库是否继续抛出错误消息。 此方法称为“等待延迟”,延迟本身以这种形式编写:waitfor delay 00:00:01'。 我从我们的文件中复制了此文件,并将其粘贴到浏览器的地址栏中。



所有这些都称为“临时盲SQL注入”。 我们在这里所做的只是说:“等待10秒钟的延迟。” 如果您注意到,在左上角有题为“ connecting ...”的题词,也就是说,我们的页面做什么? 她正在等待连接,10秒钟后,正确的页面将出现在您的监视器上。 通过这种技术,我们转到数据库,以便它允许我们再问几个问题,例如,如果用户是Joe,则需要等待10秒钟。 清楚吗? 如果用户是dbo,也请等待10秒钟。 这是盲目SQL注入方法。

我认为开发人员在创建补丁程序时不会消除此漏洞。 这是一个SQL注入,但是我们的IDS程序以及以前的SQL注入方法都看不到它。
让我们尝试一些更有趣的东西。 复制此行和IP地址并将其粘贴到浏览器中。 奏效了! 我们程序中的TCP条变为红色;该程序注意到2种安全威胁。



好吧,进一步看看发生了什么。 我们对XP Shell构成了一种威胁,另一种威胁是试图注入SQL。 总共指出了两次攻击Web应用程序的尝试。



好的,现在就逻辑帮助我。 我们有一个干预数据包,其中IDS表示它对XP命令外壳中的各种干预做出了响应。



如果向下看,我们将看到一个十六进制代码表,在该表的右边有一个标志,带有消息xp_cmdshell +&27ping,这显然是不好的。



让我们看看这里发生了什么。 SQL Server做什么?



SQL服务器说:“您可以从数据库中获取密码,可以获取数据库的所有记录,但是,伙计,我根本不希望您运行命令,这一点都不酷!”

我们需要做的是确保即使IDS报告对XP Shell的威胁,也可以忽略这种威胁。 如果您使用的是SQL Server 2005或SQL Server 2008,则在检测到SQL注入尝试后,操作系统的命令外壳将被阻止,这将使您无法继续进行业务。 这很烦人。 那我们该怎么办? 您需要尝试亲切地询问服务器。 我必须这样说:“爸爸,好吧,我可以吃这些饼干吗?” 就是这样,我很认真地问服务器! 我要求您显示其他选项,要求重新配置,并要求更改XP Shell设置以使Shell可用,因为我需要它!



我们看到IDS检测到了这一点-您已经看到此处已经指出了3种威胁。



您只需看这里-我们就炸毁了安全日志! 它看起来像一棵圣诞树,这里挂了很多东西! 多达27种安全威胁! 糟糕的家伙,我们抓到了这个黑客,我们抓到了他!



我们并不担心他会窃取我们的数据,但是如果他可以在我们的“盒子”中执行系统命令-这很严重! 您可以绘制Telnet,FTP路由,可以接管我的数据,这很酷,但是我不用担心,我只是不想让您控制我的“盒子”的外壳。

我想说说真正让我“懂”的事情。 我为组织工作,为他们工作了很多年,我告诉你这件事,因为我的女友认为我失业。 她认为我只做我站在舞台上聊天的事情,这不能算是工作。 但是我说:“不,我的快乐,我是一名顾问!” 就是这样-我表达了自己的观点,他们为此付出了代价。

我要说的是-我们像黑客一样,喜欢破解外壳,对我们来说,世界上没有比“吞没沉没”更多的乐趣了。 当IDS分析师编写规则时,您会看到他们以防止破坏外壳的方式编写规则。 但是,如果您与CIO讨论数据提取问题,他将为您提供两种选择。 假设我有一个应用程序,每小时制作100个“片断”。 对我来说,更重要的是-确保此应用程序中所有数据的安全性或“盒子”外壳的安全性? 这是一个严重的问题! 您还要担心什么?



您的“盒子”外壳已损坏的事实不一定意味着有人可以访问应用程序的内部操作。 是的,这很有可能,如果尚未发生,那么很快就会发生。 但是请注意,许多安全产品都是在攻击者通过您的网络移动的前提下构建的。 因此,他们注意命令的执行和命令的引入,您应该注意这是一件很严肃的事情。 他们关注琐碎的漏洞,非常简单的跨站点脚本,非常简单的SQL注入。 他们不在乎复杂的威胁或加密的邮件;他们不在乎这种事情。 可以说,所有安全产品都在寻找噪音,他们正在寻找“ y声”,他们想要停止咬住脚踝的事情。 这是我在处理安全产品时所了解的。 您不需要购买安全产品,也不需要倒车。 您需要了解技术的称职,合格的人员。 是的,我的上帝,是人! 我们不想为这些问题投入数百万美元,但是你们中的许多人已经在这一领域工作了,而且您知道,一旦您的老板观看了广告,他就大声喊着跑到商店:“我们必须得到这个东西!” 但实际上,我们不需要它,我们只需要解决我们身后的混乱局面。 这是此演示文稿的前提。

增强的安全环境是我花了很多时间了解安全机制如何工作的规则。 一旦了解了保护机制,就可以轻松进行保护。 例如,我有一个受其自己的防火墙保护的Web应用程序。 我复制设置面板的地址,将其粘贴到浏览器的地址栏中,然后进入设置并尝试应用跨站点脚本。



结果,我收到有关该威胁的防火墙消息-他们阻止了我。



我认为这很糟糕,您同意吗? 您遇到了安全产品。 但是,如果尝试这样的操作,该怎么办:我在行中输入参数Joe'+ OR + 1 ='1



如您所见,它起作用了。 如果我错了,请纠正我,但是我们已经见证了SQL注入如何击败了应用程序防火墙。 现在,让我们假装我们想成立一家公司来实施安全措施,因此让我们尝试一下软件制造商。 现在我们体现邪恶,因为它是一顶黑帽子。 我是一名顾问,因此我可以与软件制造商合作。

我们要创建和部署新的入侵检测系统,因此我们将成立一个入侵检测公司。 作为开源产品,Snort包含成千上万的入侵威胁签名。 我们必须遵守道德规范,因此我们不会从其他应用程序中窃取这些签名并将其插入我们的系统中。 我们只是坐下来并全部重写-嘿,鲍勃,蒂姆,乔,让我们去这里,快速检查所有这100,000个签名!

我们还需要创建一个漏洞扫描器。 您知道Nessus是一个用于自动搜索漏洞的程序,它具有良好的80,000个签名和脚本来检查漏洞。 我们将再次以道德的态度行事,并亲自将它们全部重写到我们的程序中。
人们问我:“乔,您是否使用Mod Security,Snort等开源软件进行了所有这些测试,请问它们与其他制造商的产品有多相似?” 我回答他们:“他们看起来根本不像他们!” 因为制造商不会从开源安全产品中窃取东西,所以他们坐下来亲自编写所有这些规则。

如果您可以在不使用开源产品的情况下使自己的签名和攻击线路正常工作,那么这对您来说是一个很大的机会。 如果您无法在正确的方向上对商业产品提出任何反对,那么您应该找到一个可以帮助您在该领域成名的概念。

每个人都知道我在喝什么。 让我告诉你我为什么喝酒。 如果您曾经审核过源代码,请相信我,您一定会饮用它,之后您将开始饮用。



因此,我们最喜欢的语言是C ++。 让我们看一下该程序-Web Knight,这是用于Web服务器的防火墙应用程序。 默认情况下有例外。 这很有趣-如果部署此防火墙,它将无法保护我免受Outlook Web Access的侵害。



太好了! 这是因为许多软件供应商从相同的应用程序中提取规则,然后将规则插入其产品中,而无需完全依赖研究。 因此,当我部署网络防火墙应用程序时,我认为与Webmail相关的所有事情都做错了! 因为实际上,任何Web邮件默认都违反安全性。 您具有直接在Internet上执行LDAP或任何其他用户数据库存储库中的系统命令和查询的Web代码。

告诉我,这在哪个星球上可以被认为是安全的? 试想一下:打开Outlook Web Access,按b ctrl + K,寻找用户,然后直接从Internet管理Active Directory,在Linux上执行系统命令(如果使用“蛋白邮件”或Horde或其他方式)其他的东西。 您拉所有这些评估和其他类型的不安全功能。 因此,许多防火墙将它们排除在安全风险列表之外,请尝试向软件制造商询问。

返回Web Knight应用。 它从扫描所有这些IP地址范围的URL扫描程序中窃取了许多安全规则。 那么,所有这些地址范围都排除在我的产品之外吗?



您是否要在网络上设置这些地址? 您是否希望网络在这些地址上运行? 是的,太棒了。 好吧,向下滚动该程序,然后查看此防火墙不想执行的其他操作。

他们被称为1999,希望他们的Web服务器成为过去! 你们是否还记得这个垃圾:/脚本,/ iishelp,msads? 也许有几个怀旧的人会记得破解这些东西有多有趣。 “记住,伙计,我们多久以前就杀死了“服务器,真酷!”



现在,如果您查看这些例外,您将看到您可以做所有这些事情-msads,打印机,iisadmpwd-今天没有人需要的所有这些事情。 不允许执行的命令又如何呢?



这是arp,at,clcls,chkdsk,cipher,cmd,com。 列出它们时,您会回忆过去的日子,“老兄,请记住我们如何捕获该服务器,并记住那些日子”?

但是真正有趣的是-有人在这里看到WMIC还是PowerShell? 假设您有一个新应用程序,该应用程序可以通过在本地系统上运行脚本来运行,而这些都是现代脚本,因为您想运行Windows Server 2008,并且我将通过为Windows 2000设计的规则来出色地保护它。提供商下次访问您的Web应用程序时,问他:“嘿,您提供了bit admin或执行powershell命令之类的东西,您是否检查了所有其他内容,因为我们将升级并使用新版本 UIS DOTNET»? 但是默认情况下,所有这些东西都必须存在于安全产品中!



我想与您讨论的下一件事是逻辑错误。 让我们转到地址192.168.2.6。 这与上一个应用程序大致相同。



如果您向下滚动页面并单击“联系我们”链接,您可能会发现一些有趣的内容。



如果您查看“联系我们”选项卡的源代码,这是渗透测试的方法之一,那么我经常要做的就是注意这一行。



想想看! 我听到很多人说:“哇!” 例如,当我为一家亿万富翁银行进行渗透测试时,发现那里存在类似情况。 因此,我们不需要SQL注入或跨站点脚本编写-我们拥有主要的东西,即地址栏。



因此,毫不夸张地说,银行告诉我们,他们既有网络专家,又有网络检查员,他们没有发表任何评论。 也就是说,他们认为通过浏览器打开和阅读文本文件是正常的。

也就是说,您可以直接从文件系统中直接读取文件。 他们的安全服务负责人告诉我:“是的,其中一台扫描仪发现了此漏洞,但认为它很小。” 我回答了,好吧,请给我一点时间。 我在地址栏中输入了filename = .. / .. / .. / .. / boot.ini,并且能够读取文件系统的启动文件!



他们告诉我:“不,不,不,这些不是关键文件!” 我回答了-但这是Server 2008吗? 他们说是的,就是他。 我说-但是此服务器在服务器的根目录中有一个配置文件,对吗? 他们回答:“对。” 我说:“出色,如果攻击者这样做了”,然后在地址栏中键入filename = web.config。 他们说-那么,您在监视器上看不到任何东西吗?



我说-如果我右键单击监视器并选择“显示页面代码”选项,该怎么办? 我在这里能找到什么? 没什么关键的吗? 我将看到服务器管理员密码!



你说没有问题吗?

但我最喜欢的部分是以下内容。 您不允许我在“框”中执行命令,但是我可以窃取Web服务器管理员密码和数据库,查看整个数据库,从此处取出有关数据库和系统故障的所有资料,然后再进行所有操作。 坏人说:“嘿,今天是美好的一天!”就是这种情况。



不要让安全产品成为您的疾病! 不要让安全产品使您生病! 找到一些“书呆子”,给他们所有这些令人难忘的《星际迷航》 tzatskis,让他们感兴趣,鼓励他们和你在一起,因为这些每天不洗的无聊的臭味会让你的网络像应该! 这些人将帮助您的安全产品正常工作。

告诉我,你们中的哪个人可以和经常说:“哦,我需要紧急打印此脚本!”的人呆在同一个房间里很长时间,而谁一直在忙呢? 但是您需要使您的安全产品正常工作的人员。

我再说一遍-安全产品是愚蠢的,因为指示灯经常被误认为,不断犯下草率的事情,它们根本不提供安全性。 我从未见过一种好的安全产品,它不需要螺丝刀的人,可以在必要时拧紧螺丝,从而使一切或多或少地正常工作。 这只是一大堆规则,说这很不好,仅此而已!

因此,伙计们,我希望您注意教育,例如安全性,技术培训等,因为有许多关于安全性问题的免费在线课程。 学习Python,学习Assembly程序集,学习Web应用程序测试。



这才是真正帮助您保护网络的东西。 聪明人保护网络,网络产品不保护! 回到工作岗位,并告诉您的老板,您需要更多的预算来招募更多的聪明人,我知道这是有危机的,但仍然告诉他-我们需要更多的钱供人们培训他们。 如果我们购买一种产品,但由于价格昂贵而没有购买一门使用该产品的课程,那么如果我们不打算教人们如何使用它,为什么我们要完全购买它?

我曾为许多安全产品制造商工作,几乎一生都致力于这些产品的实施,而且由于安装并启动了所有这些废话产品,我已经厌倦了所有这些网络访问控制和其他方面的工作。 我不知何故来到一个客户端,他们想为EAP协议实现802.1x标准,因此他们每个端口都有MAC地址和辅助地址。 我来了,发现情况很糟,转过身来,开始按打印机上的按钮。 您知道,打印机可以打印具有所有MAC地址和IP地址的网络设备的测试页。 但是事实证明该打印机不支持802.1x标准,因此应将其排除在外。

然后,我断开打印机与网络的连接,将笔记本电脑的MAC地址更改为打印机的MAC地址,然后连接笔记本电脑,从而绕开了这种昂贵的MAC解决方案,请考虑一下! 那么,如果一个人可以简单地将任何设备当作打印机或VoIP电话使用,那么该MAC解决方案对我有什么好处?

因此,对我来说,最讨厌的是,我花时间尝试去理解和理解客户购买的安全产品。 , , HIPS, NIPS, LAUGTHS, MACS , . , . , , , , .

, , MS 1103. , «» HIPS, Host Intrusion Prevention Signature, . HIPS. , , , , , .
, , .


:)


, . ? ? , , VPS $4.99 , entry-level , : VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps $19 ? ( RAID1 RAID10, 24 40GB DDR4).

Dell R730xd 2 - Equinix Tier IV ? 2 Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 $199 ! 戴尔R420-2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB-$ 99起!阅读有关如何构建基础架构大厦的信息。使用价格为9000欧元的Dell R730xd E5-2650 v4服务器的上等课程?

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


All Articles