从外部入侵公司:外部渗透测试

渗透测试”>从外部入侵公司:外部渗透测试

这个文章系列共有两篇,这是其一。你可能会有兴趣看另外一篇:从内部入侵公司:内部渗透测试

介绍

有时候会有客户问我是如何处理那么多渗透测试的技术。你知道我在屏幕上打开的带有绿色文字的黑色小盒子是什么东西吗?偶尔,当我在和新的或有兴趣成为渗透测试的人交谈时,发现他们知道工具怎么使用,也知道他们经常了解漏洞的具体情况,但他们不一定知道漏洞是怎么结合在一起使用的。

另外,GracefulSecurity.com有非常多Web应用安全的相关内容,但没有任何关于它们如何结合使用的说明。所以我计划在这里写一个例子,来逐步地说明我是如何将一个web地址转换成实际的业务影响。

没有两个应用是完全一样的,但我作为”攻击者”,意图通常是相似的,所以这不会成为一个拿到系统权限的完整指南,如果你考虑让测试人员评估你的安全性,而他却在你工具包中徘徊,或者如果你刚在你第一本web书籍中领悟出了点东西,想更多地了解整个过程。那么,希望这篇文章能够填补一些你的空白。

攻击

提到攻击,入侵和攻击网络的实际行为,都会遵循一种方法。当询问你的渗透测试人员时,他们会告诉你操作方法。但要记住,每个网络环境都不同,每次攻击也都不一样。测试人员操作的标准方式是找到一个阻力最小的路径并使用它来获得尽可能高的权限,然后利用此权限来查找其他攻击入口。

渗透测试不是脆弱性分析。通常,在脆弱性分析的时候你要给评估者提供很多比较重要的信息和权限。他们会在授权的情况下进行网络扫描,来确定所有问题或尽可能多的问题。脆弱性评估通常对问题进行独立评级,不考虑在现实中的可利用性,也不考虑多个问题结合在一起使用所产生的影响。所以,脆弱性评估会给人广泛但不深刻的网络安全印象,但会突出一些系统问题,如补丁管理。

而渗透测试旨在尽可能地深入,尽管这可能会牺牲广度。但是这会让攻击者很直观地了解到这个漏洞的利用价值。这些评估很可能会涉及到实际利用的能故意损坏系统的漏洞,并且强调了攻击者为了获得最高权限不择手段,可能会带来的最严重的后果。

渗透测试人员通常会有以下步骤:

  • 枚举和映射
  • 漏洞发现
  • 漏洞利用
  • 内网漫游
  • 提权
  • 清除痕迹

渗透测试人员有可能运气很好,很快就直接通过了这些阶段。甚至有可能利用一些捷径来跳过某些阶段来达成目标。有可能也很蛋疼,必须要一次又一次地重复测试,来绕过一些保护机制。

枚举和映射

通常,在渗透测试开始前,会获得一些ip地址和网站的URL地址,类似于”*.example.org”。很明显,客户就是要你评估该域的所有子域。问题是通常一个配置良好的系统不应该输出一个所有可用子域列表,所以你应该自己去破解。

如果系统配置不当,你可以从权威域名服务器中读取域列表。你可以使用以下命令来找到这台服务器:

> nslookup 
> set querytype=soa
> example.org

然后用下面的命令来和服务器交互:

dig axfr @dns-server example.org

其中,dns-server是nslookup命令中的权威域名服务器,执行之后将导致DNS区域传送并且输出一个有效的子域列表。(DNS域传送漏洞)

另一个可替代的方式是通过Google Hacking,使用Google “dorks”。使用一些具体的关键字来限制搜索引擎的结果。例如:

site:example.org

搜索的链接为:

https://www.google.co.uk/?gws_rd=ssl#q=site:example.org&filter=0

这会导致谷歌将搜索范围限制在目标域名,它可能会返回如 ftp.example.org,www.example.org之类的结果。为了节省搜寻信息的时间,我们可以记下发现的子域,然后使用否定搜索(negative searching) 来排除一些搜索结果:

site:example.org -site:ftp.example.org -site:www.example.org

直到你找到所有能搜索到的域名为止!

爆破子域的最后一种方式是使用常见的子域名称列表。这里不需要花里胡哨的操作,只需要创建一个名为subdomains.txt的潜在子域列表,然后运行一个bash命令:

cat subdomains.txt | while read line; do nslookup $line".example.org";done | grep "Name:"

如果有命中,会显示出像这样的结果:

Name: www.example.org

现在你已经掌握了范围内的应用列表,是时候开始映射应用本身了。几乎所有Web应用评估我都会使用Burp Suite,也可以使用另一个可替代的免费版本OWASP ZAP。如果你刚开始使用Burp,我写了一篇 Burp Suite专业版的使用教程

Burp有两个选项可以映射应用,”spider”和”discover content”。Spider使用相当简单,选择Target->Site map。然后右键选择Spider this host。如下图:

image.png

Spider(爬虫)只需要一个域名然后点击所有链接就可以有效地映射所有链接的内容。显然,这样就不会找到任何没有链接到的内容。如隐藏的管理界面、日志文件和备份内容。这时候”Forced Browser”(爆破路径)就派上用场了。

image.png该选项尝试访问可能的文件和目录列表,然后会告诉你结果。你可以使用会话按钮启动浏览器:

image.png结束之后你会得到关于该应用所有内容的映射(map),这个过程很有可能会花费很长的时间。这意味着,在Burp面板中会有一个列表,这个列表包含该应用提供的所有功能?并不是,这只是测试每个功能是否存在漏洞的一个例子。可以在Burp界面中看到唯一请求列表:

image.png

跑完整个应用之后,”Contents”会列出所有功能,然后我们就逐个地测试

漏洞发现

在这一步,我们将依次测试每个功能,可能会用到Burp suite的Intruder或者Repeater(这里有Burp suite的介绍)。有两个主要的评估方式,第一个是模糊测试-打破功能正常逻辑,看看是否有什么有趣的事情发生。”有趣”可能是详细的错误信息、信息泄露、绕过等。或者你可以从漏洞的角度去尝试一些特殊的payloads。比如HTTP头注入SQL注入命令注入跨站脚本(XSS)、[跨站请求伪造(XSRF)]()、XML外部实体注入不安全的直接对象引用(Insecure Direct Object References)等。

从通用模糊测试角度看,将各种payloads放在每个能输入的地方看看它们是什么反应,比如以下payloads:

1
10
100
1000000000000000000000000
-1
0.1
lizard
'
"
;
)
))))))))))))))))))))
]
]]]]]]]]]]]]]]]]]]]]
TRUE
FALSE
\0
%00
|

应用程序会以输出的方式响应,在上下文环境中就可能导致一个漏洞:详细的错误信息输出。或者,可以发送一些特殊构造的payloads来利用漏洞,如OWASP Top 10中收录的问题。这里收录了一些不错的payloads,也可以作为fuzzdb的一部分。

渗透攻击,内网漫游和提权

少数的渗透行为,能导致内网漫游或者提权。首先,如果存在允许命令执行的漏洞-如SQL注入或命令注入。在这种情况下,评估人员很可能会瞄准DMZ(隔离区)或内部企业网络中的其他系统。事实上,在能够执行命令的时候,安全评估就不再局限于Web应用程序评估,而是更多地倾向于内部网络评估。

另外还有一些潜在的漏洞,如XML外部实体注入、路径遍历、任意文件下载等漏洞可能会导致证书被盗用。然后通过证书重用对其他系统进行扫描。—–好像有问题。

最后,如果攻击者能够使存储型XSS发生,那这个payload很有可能可以在完全不同的应用程序上执行。举个例子,如果一个用户在www.example.org注册页面中注册一个账户,在地址等参数中填入XSS脚本,该内容可能会存储在admin.example.org中,可能通过窃取session tokens或者站内请求伪造,来攻击该应用。

清理/清除痕迹

如果是恶意攻击,那还有很多事要做。你会想要删除日志记录和所有活动的痕迹。而作为一个渗透测试人员也一样,在渗透使用到的路径中可能会残留一些文件和用户账户,这些也都要清理干净。例如由于不安全的文件处理而可能上传web shell,在渗透测试结束之后要将此文件删除,尽可能地和测试开始之前一样。

然后就开始写评估报告了。

作者:Holly-Grace
翻译:i春秋翻译小组-北风乱
责任编辑:jishuzhain
翻译来源:https://www.gracefulsecurity.com/hacking-from-inside/

有问题大家可以留言哦,也欢迎大家到春秋论坛中来耍一耍  >>>点击跳转

转载于:https://www.cnblogs.com/ichunqiu/p/9067599.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【为什么学习这门课程?】 企业渗透测试和持续监控在线课程是白帽艺术系列视频的一部分,通过内部/外部侦察、社会工程、网络和漏洞扫描,逐步示范了对企业网络进行安全评估(渗透测试)的现实场景。您还将学习如何执行web应用程序测试、内部网络测试、权限升级、密码破解和数据泄露,以探测和减轻企业漏洞。本课程最后介绍了报告和评估方法,以确保您的企业环境在不断变化的威胁和安全漏洞面前保持安全。【本门课程亮点】 帮助您学习在企业网络环境中执行高级渗透测试所需的技能。课程包含循序渐进的指导,这样您就可以学习道德白帽、渗透测试和安全态势评估。您还将学习行业中许多不同的前沿安全技能相关的各种概念。课程包含真实场景的多媒体教程和实践演示,想要成为职业道德白帽或跟上不断演变的漏洞威胁的人,可以通过学习本课程了解企业网络安全的弱点。 【讲师介绍】  Omar Santos(奥马尔·桑托斯)—— 思科PSIRT首席工程师、作家Omar Santos(奥马尔·桑托斯)是思科产品安全事件响应团队(PSIRT)的首席工程师,指导和领导团队工程师和事件经理对安全漏洞进行调查和解决。桑托斯著有20多本网络安全方面的专著,在全球拥有大量读者,他制作的大量白皮书、文章、安全配置指南等相关内容被大量媒体引用,如《共和报》、《连线》、《ZDNet》、《网络独家新闻》、《TechCrunch》、《财富》、《Ars Technica》等等。同时,他还是网络安全社区的一名活跃成员,他参与很多重要行业的网络安全倡议和标准制定。他还会积极帮助企业、学术机构、州和地方执法机构,提高关键基础设施的安全性。【课程收获】 1、计划、建立和管理一个红客队伍来进行企业白帽活动 2、使用被动/主动侦察、社会工程、网络和漏洞扫描来探测企业漏洞3、确定目标主机、部署工具危害web应用程序4、学习如何渗透网络,扫描易受危害的目标和开源软件,如何通过夺旗以确定企业的弱点 5、使用经过验证的方法和工具升级网络访问权限 6、执行密码破解,破解网络和用户凭证,获取敏感数据,并掩盖过程踪迹 7、测试云服务的漏洞 8、对渗透测试事件进行报告,并建立一个持续的监控基础设施,以缓解正在进行的威胁 【面向人群】 1、所有开始从事职业白帽和渗透测试工作的网络安全专业人员 3、准备考取CompTIA PenTest+,道德白帽认证(CEH),危害安全专家认证(OSCP),以及其他道德白帽认证的人3、任何想要学习成为道德白帽所需技能的网络安全专业人员,或者想要学习更多关于一般安全渗透测试方法和概念的网络安全专业人员

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值