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

这就是所谓的“临时SQL盲注”。 我们在这里所做的只是说“等待 10 秒的延迟”。 如果您注意到,在左上角我们有“正在连接...”的字样,也就是说,我们的页面是做什么的? 它会等待连接,10 秒后正确的页面会出现在您的显示器上。 使用这种技术,我们联系数据库,以便它允许我们询问更多问题,例如,如果用户是 Joe,那么我们需要等待 10 秒钟。 天气晴朗? 如果用户是 dbo,还需等待 10 秒。 这就是SQL盲注方法。
我认为开发人员在创建补丁时并没有修复这个漏洞。 这是一个 SQL 注入,但我们的 IDS 程序也看不到它,就像以前的 SQL 注入方法一样。
让我们尝试一些更有趣的事情。 让我们复制此行以及 IP 地址并将其粘贴到浏览器中。 有效! 我们程序中的 TCP 栏变成红色,程序注意到 2 个安全威胁。

太好了,让我们看看接下来发生了什么。 我们面临着一个针对 XP shell 的威胁,以及另一个威胁 - SQL 注入尝试。 总共有两次攻击 Web 应用程序的尝试。

好吧,现在帮我理一下逻辑。 我们有一个入侵数据包,其中 IDS 表示它已经对 XP shell 的各种入侵做出了响应。

如果向下滚动,我们会看到一个十六进制代码表,其右侧有一个带有消息 xp_cmdshell + &27ping 的标志,显然这很糟糕。

让我们看看这里发生了什么。 SQL服务器做了什么?

SQL服务器说:“你可以拥有我数据库的密码,你可以获取我数据库中的所有记录,但是老兄,我不想让你在我身上运行你的命令,这一点也不酷”!
我们需要做的是确保即使IDS向XP shell报告威胁,该威胁也被忽略。 如果您使用的是 SQL Server 2005 或 SQL Server 2008,那么如果检测到 SQL 注入尝试,操作系统命令 shell 将被锁定,从而阻止您继续工作。 这很烦人。 那么我们应该做什么呢? 你应该尝试非常友善地询问服务员。 你应该这样说:“爸爸,我可以吃这些饼干吗”? 我就是这么做的,说真的,我很有礼貌地问服务员! 我要求额外的选项,我要求重新配置,我要求更改 XP shell 设置以使 shell 可访问,因为我需要它!

我们看到 IDS 已经检测到了这一点 - 您看,这里已经注意到了 3 个威胁。

看看这里 - 我们炸毁了安全日志! 它看起来像一棵圣诞树,这里挂了很多东西! 安全威胁多达27个! 伙计们,万岁,我们抓住了这个黑客,我们抓住了他!

我们并不担心他会窃取我们的数据,但如果他可以在我们的“盒子”中执行系统命令——这已经很严重了! 你可以画一条Telnet路由,FTP,你可以接管我的数据,那很酷,但我不担心,我只是不想让你接管我的“盒子”的外壳。
我想谈谈真正让我感动的事情。 我为组织工作,我已经为他们工作了很多年,我告诉你这些是因为我女朋友认为我失业了。 她认为我只是站在台上聊天,这不能算是工作。 但我说:“不,我的荣幸,我是一名顾问”! 这就是区别——我说出自己的想法并因此获得报酬。
我要这么说——我们作为黑客,喜欢破解外壳,对我们来说,世界上没有比“吞下外壳”更大的乐趣了。 当 IDS 分析师编写规则时,您会看到他们编写规则是为了防止 shell 篡改。 但如果你和CIO谈论数据提取的问题,他会要求你考虑两个选择。 假设我有一个每小时处理 100 个“件”的应用程序。 对我来说,哪个更重要:确保该应用程序中所有数据的安全性还是“box”shell 的安全性? 这是一个严重的问题! 您还应该担心什么?

仅仅因为您的“盒子”外壳被损坏并不一定意味着有人已经获得了应用程序内部工作的访问权限。 是的,这很有可能,即使还没有发生,也可能很快就会发生。 但请注意,许多安全产品都是建立在攻击者正在通过您的网络移动的假设之上的。 所以他们注重命令的执行,注重命令的执行,你一定要注意,这是一件严肃的事情。 他们关注微不足道的漏洞、非常简单的跨站点脚本、非常简单的 SQL 注入。 他们不关心高级威胁或加密消息,他们不关心这类事情。 你可以说所有的安全产品都在寻找噪音,他们在寻找狂吠,他们在寻找阻止那些咬你脚踝的东西。 以下是我在处理安全产品时学到的东西。 你不必购买安全产品,你不必倒车行驶卡车。 您需要有能力、技术精湛且了解技术的人员。 是的,天啊,正是人们! 我们不想在这些问题上投入数百万美元,但你们中的许多人都在这个领域工作过,并且知道,只要你们的老板看到广告,他就会跑到商店尖叫:“我们必须得到这个东西! ” 但我们真的不需要这样做,我们只需要解决我们身后的烂摊子。 这是这次表演的前提。
安全环境是我花了很多时间来了解安全机制如何工作的地方。 一旦了解了保护机制,绕过保护并不困难。 例如,我有一个受其自己的防火墙保护的 Web 应用程序。 我复制设置面板的地址,将其粘贴到浏览器的地址栏中,然后转到设置并尝试跨站点脚本编写。

结果,我收到一条有关威胁的防火墙消息 - 我已被阻止。

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

正如你所看到的,它起作用了。 如果我错了,请纠正我,但我们已经看到 SQL 注入击败了应用程序防火墙。 现在,假设我们想创办一家安全实施公司,因此我们将戴上软件制造商的帽子。 现在我们体现了邪恶,因为它是黑帽。 我是一名顾问,所以我可以对软件制造商做同样的事情。
我们想要创建并部署一个新的篡改检测系统,因此我们将成立一家篡改检测公司。 Snort作为开源产品,包含数十万个篡改威胁签名。 我们的行为必须符合道德规范,因此我们不会从其他应用程序中窃取这些签名并将其插入我们的系统中。 我们会坐下来重写它们 - 嘿,鲍勃,蒂姆,乔,来吧,快速浏览一下所有这 100 个签名!
我们还需要创建一个漏洞扫描器。 你知道 Nessus 是一个自动搜索漏洞的程序,有 80 万个签名和脚本来检查漏洞。 我们将再次以道德方式行事,并亲自将它们全部重写到我们的计划中。
人们问我,“Joe,你使用 Mod Security、Snort 等开源软件进行所有这些测试,它们与其他制造商的产品有多相似?” 我回答他们:“他们长得一点都不像!” 因为制造商不会从开源安全产品中窃取东西,所以他们会坐下来自己编写所有这些规则。
如果您可以在不使用开源产品的情况下使自己的签名和攻击字符串发挥作用,那么这对您来说是一个很好的机会。 如果你无法与商业产品竞争,朝着正确的方向前进,你必须找到一个可以帮助你在你的领域出名的概念。
大家都知道我喝酒。 让我告诉你我为什么喝酒。 如果你一生中做过源代码审计,你一定会喝酒,相信我,之后你就会开始喝酒。

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

精彩的! 这是因为许多软件供应商从一个应用程序中提取规则并将其粘贴到他们的产品中,而无需进行大量研究。 因此,当我部署Web防火墙应用程序时,我发现有关Webmail的一切都做得不正确! 因为几乎所有网络邮件默认都会破坏安全性。 您拥有可以直接在 Internet 上执行系统命令和查询 LDAP 或任何其他用户数据库存储的 Web 代码。
告诉我,在哪个星球上这样的东西可以被认为是安全的? 想想看:您打开 Outlook Web Access,按 ctrl +K,搜索用户等等,您直接从 Internet 管理 Active Directory,您在 Linux 上执行系统命令,如果您使用 Squirrel Mail、Horde 或其他什么东西别的。 您将删除所有这些评估和其他类型的不安全功能。 因此,许多防火墙将它们排除在安全风险列表之外,请尝试向您的软件制造商询问这一点。
让我们回到 Web Knight 应用程序。 它从 URL 扫描器中窃取了许多安全规则,该扫描器扫描所有这些 IP 地址范围。 那么,所有这些地址范围是否都被排除在我的产品之外?

你们中有人想在您的网络上安装这些地址吗? 您希望您的网络在这些地址上运行吗? 是的,这太棒了。 好吧,让我们向下滚动这个程序,看看这个防火墙不想做的其他事情。
他们被称为“1999”,他们希望他们的网络服务器回到过去! 你们中有人还记得这个垃圾吗:/scripts、/iishelp、msads? 也许有些人会怀念起破解这些东西是多么有趣。 “你还记得吗,老兄,很久以前我们‘杀死’了服务器,那太酷了!”

现在,如果您查看这些异常,您会发现您可以执行所有这些操作 - msad、打印机、iisadmpwd - 所有这些现在没有人需要的操作。 那些不允许你执行的命令怎么办?

它们是 arp、at、cacls、chkdsk、cipher、cmd、com。 当你列出它们时,你会被过去的回忆所征服,“伙计,还记得我们接管那台服务器的时候,还记得那些日子吗”?
但这才是真正有趣的地方 - 有人在这里看到 WMIC 或 PowerShell 吗? 想象一下,您有一个通过在本地系统上运行脚本来运行的新应用程序,这些都是现代脚本,因为您想要运行 Windows Server 2008,而我将通过使用为 Windows 2000 设计的规则来保护它来做一件伟大的事情。这样,下次供应商带着他们的 Web 应用程序来找您时,问他们:“嘿,伙计,您是否包含了位管理之类的内容,或运行 powershell 命令,您是否检查了所有其他内容,因为我们要更新并使用新版本的DotNET”? 但所有这些东西都应该默认存在于安全产品中!

接下来我要跟大家讲的是逻辑错误。 让我们转到 192.168.2.6。 这与前一个应用程序大致相同。

如果您向下滚动页面并单击“联系我们”链接,您可能会注意到一些有趣的事情。

如果您查看“联系我们”选项卡的源代码(这是我一直使用的渗透测试方法之一),您会注意到这一行。

想一想吧! 听说很多人看到这个的时候都说:“哇”! 我曾经为一家亿万富翁银行进行渗透测试,我注意到类似的情况。 所以,我们不需要任何 SQL 注入或跨站点脚本 - 我们有基础知识,这个地址栏。

因此,毫不夸张地说,银行告诉我们他们有一名网络专家和一名网络检查员,但他们没有发表任何评论。 也就是说,他们认为通过浏览器打开和读取文本文件是正常的。
也就是说,您可以直接从文件系统中读取文件。 他们的安全团队负责人告诉我:“是的,其中一台扫描仪发现了这个漏洞,但认为它很小。” 我回答说,好的,请等我一下。 我在地址栏中输入 filename=../../../../boot.ini 并能够读取文件系统引导文件!

对此他们告诉我:“不,不,不,这些不是关键文件”! 我回答道——但这是Server 2008? 他们说是的,就是他。 我说 - 但这台服务器有一个配置文件位于服务器的根目录中,对吧? “正确,”他们回答。 “太好了,”我说,“如果攻击者这样做怎么办?”然后我在地址栏中输入 filename=web.config。 他们说 - 那又怎样,你在显示器上看不到任何东西?

我说 - 如果我右键单击显示器并选择“显示页面源”选项会怎么样? 我会在这里找到什么? “没有什么重要的”? 我会看到服务器管理员密码!

你说这里没有问题吗?
但我最喜欢的部分是下一个。 你不允许我执行盒子里的命令,但我可以窃取网络服务器管理员密码和数据库,查看整个数据库,撕掉所有有关数据库和系统故障的材料,然后侥幸逃脱。 这是坏人说“嘿伙计,今天是大日子”的例子!

别让安全产品让你生病! 别让安全产品让你生病! 找一些书呆子,给他们所有《星际迷航》的纪念品,让他们感兴趣,鼓励他们和你在一起,因为那些每天不洗澡的无聊臭虫才是让你的网络正常运转的人。应该! 这些人将帮助您的安全产品正常工作。
告诉我,你们中有多少人能够与一个不断说:“哦,我急需打这个剧本!”的人长时间待在同一个房间,而谁一直在忙这个? 但您需要让您的安全产品发挥作用的人员。
我再说一遍 - 安全产品很愚蠢,因为灯不断犯错误,不断做糟糕的事情,它们只是不提供安全性。 我从来没有见过一个好的安全产品不需要一个人用螺丝刀在必要的地方拧紧它以使其或多或少正常工作。 这只是一大堆规则说它不好,仅此而已!
所以我希望你们关注教育,比如安全、理工培训,因为有很多关于安全问题的免费在线课程。 学习Python、学习汇编、学习Web应用程序测试。

这将真正帮助您保护您的网络。 聪明人保护网络,网络产品不保护! 回去工作并告诉你的老板,你需要更多的预算来培养更多聪明的人,我知道这是一场危机,但无论如何都要告诉他——我们需要更多的钱来培养人才。 如果我们购买一种产品,但因为价格昂贵而不购买如何使用它的课程,那么如果我们不打算教人们如何使用它,我们为什么还要购买它呢?
我曾为很多安全产品供应商工作过,几乎一生都在实现这些产品,我厌倦了所有的网络访问控制之类的东西,因为我安装并运行了所有这些垃圾产品。 我曾经遇到过一个客户,他们想要为EAP协议实现802.1x标准,所以他们为每个端口都有MAC地址和辅助地址。 我来了,发现情况不好,转身开始按打印机上的按钮。 要知道,打印机可以打印一张包含所有MAC地址和IP地址的网络设备的测试页。 但事实证明该打印机不支持802.1x标准,所以应该排除。
然后我拔掉了打印机的插头,将笔记本电脑的MAC地址更改为打印机的MAC地址并连接了我的笔记本电脑,从而绕过了这个昂贵的MAC解决方案,想想吧! 那么,如果一个人可以将任何设备冒充为打印机或 VoIP 电话,那么这个 MAC 解决方案对我有什么好处呢?
所以今天,渗透测试对我来说就是花时间尝试理解和了解我的客户购买的安全产品。 如今,我做渗透测试的每家银行都有所有这些 HIPS、NIPS、LAUGTHS、MACS 和一大堆其他完全是垃圾的缩写词。 但我试图弄清楚这些产品想要做什么以及它们如何做到这一点。 那么,一旦弄清楚他们用什么样的方法论和逻辑来提供保护,绕过它就变得不那么困难了。
我最喜欢的产品是 MS 1103。它是一个基于浏览器的漏洞利用程序,可以“喷射”HIPS、主机入侵防御签名或主机入侵防御签名。 事实上,它旨在绕过 HIPS 签名。 我不想展示它是如何工作的,因为我不想花时间来演示它,但它在绕过安全性方面做得很好,我希望你尝试一下。
好吧,伙计们,我现在要走了。

一些广告🙂
感谢您与我们在一起。 你喜欢我们的文章吗? 想看更多有趣的内容? 通过下订单或推荐给朋友来支持我们, , 我们为您发明的入门级服务器的独特模拟: (适用于 RAID1 和 RAID10,最多 24 个内核和最多 40GB DDR4)。
Dell R730xd 在阿姆斯特丹的 Equinix Tier IV 数据中心便宜 2 倍? 只有这里 在荷兰! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - 99 美元起! 阅读
来源: habr.com
