渗透测试指南-第1部分(OSINT-被动侦察和资产发现)

目录导航

定义被动

我从哪说起呢?

Burp Suite被动扫描,像福尔摩斯一样善于观察

DNS爆破,但非常快

Weleakinfo.com

Geo2IP -额外的工具

反向域名查询服务

不要让“被动”这个词欺骗您。这不是轻便的侦查;您可以通过被动侦察来发现大量信息,而无需进行任何干预。

定义被动

我对“被动”一词的定义可能与其他人定义为被动的有所不同。在我的书中,任何东西都可以伪装成常规流量,没有干扰性或易于检测。基本上,如果您无法区分攻击者和访问者,并且您没有做任何侵入式/潜在破坏性的操作,则它是被动的。我知道我会得到一些人的支持,他们认为这不是100%被动的,你会说对的,但这仍然是我之前最忙的工作流程。

我从哪说起呢?

好问题。这将在很大程度上取决于您正在做的渗透测试。有多种不同类型的测试:黑盒测试,白盒测试以及介于两者之间的任何东西[灰盒测试]。

黑盒渗透测试(Black Box Pentest)是在模拟攻击者时为您提供的单个启动主机,通常还提供一个范围内IP地址列表,仅此而已。您必须尝试发现服务,网络设计以及类似性质的东西。

白盒测试与White Box Pentest类似,不同之处在于,它为您提供了内部员工(及更多)可能拥有的一切,其中包括应用程序源代码,网络设计配置,拓扑图等类似内容。

两种类型的渗透测试都有它们的位置。通常,黑盒渗透测试比白盒渗透测试更具说服力,因为它显示了外部攻击者仅需很少的起始信息就可以发现什么。在本系列文章中,我们将介绍前一种“黑匣子”渗透测试,因为它是最常见的渗透测试,并且将是大多数组织所寻找的东西。

现在,您会很快注意到,我提到您可能会获得一个范围内IP地址列表。简单地扫描所有这些IP并完成它是不现实的,因此您应该首先开始资产发现阶段。现在有很多方法可以做到这一点,我将以Google为例,并以公司网站为起点。https://www.google.com/

Burp Suite被动扫描,像福尔摩斯一样善于观察

我们能做什么呢?我喜欢做的第一件事是使用配置为使用Burpsuite作为代理的浏览器访问这个网站,并安装了根SSL证书。

如果你看你的BurpSuite的侧边栏,在目标>网站地图> https://www.google.com/。我们已经可以看到站点的直接文件结构、加载的脚本的快速概览,如果我们查看更宽的站点地图、其他被请求主机的长列表,我们可能会决定以后使用这些信息。和往常一样,最好是收集太多的信息,然后决定不使用它,而不是删除它,最后需要它。记住,这是被动侦察,我们需要在这个阶段保持安静,不要触发任何警报。注意,如果这个特定的网站没有收到很多页面浏览量,你可以决定使用同一个地区的V**作为这个网站的目标人口统计。如果SOC/SIEM解决方案是敏感的,那么即使来自外部位置的页面视图也可以创建标志。如果您的目标是不被任何监视解决方案检测(这通常是一个良好的渗透测试目标),那么这可能是您应该做的事情。

如果你有Burp Suite Professional,你可以右键点击这个资产,选择“被动扫描这个主机”,它将搜索你现有的,请求的页面代码,已知的漏洞,电子邮件泄露等。

好的,这并没有给我们很大的帮助。偶尔会出现/cgi-bin/、/admin/或/include /这样的情况,如果有什么确实吸引了您的注意,请立即在您的报表软件(可能是Lair 7这样的工具)中写下这些内容。

被动端口扫描用Shodan…等等,被动端口扫描?什么?

您访问过该网站,您知道至少端口80或端口443是开放的,但还有什么在运行呢?你可以直接打开Shodan,或者使用非常酷的nmap脚本。

获取一个Shodan API密钥,并将其放置在nmap命令中:

nmap --script=shodan-api --script-args 'shodan-api.apikey=XXXXXX'google.com

在这张图片中,我隐藏了我的API密钥,虽然这是一个非常简单的例子,这将做多种事情:

-sn -禁用端口扫描

-Pn -跳过主机发现,不ping主机,

-n -跳过DNS解析

然后Nmap会意识到它没有什么要做的了,并将运行shodan-api脚本。Shodan API脚本将输出到Shodan.io和检索它知道的关于主机的所有信息,有时包括主机版本和端口号。这是更多的信息在其他情况下,你的过程可能不同。

这些教程的目的是提供一个非常现实的看法你会看到在一般的穿透测试,通常,你不会得到一个严重性与远程代码执行漏洞,你会发现5 3的严重性,然后你可以串在一起得到一个shell,获得一个面板,甚至使一个非常令人信服的钓鱼页面。我们将在本系列的探索部分更详细地讨论这个问题。

DNS爆破,但非常快

在我们进入DNS爆破之前,我们将研究DNS容易实现的功能,即区域传输。区域传输最初是服务器管理员用来轻松复制DNS数据库的工具,比如传输到新域名。如果目标公司曾经迁移过他们的网站,并且没有什么安全意识,这通常会起作用。

使用一种名为dnsenum的工具,我们可以轻松地进行域传输。它是用Perl编写的,是我的渗透测试库中一个可靠的工具。如你所见,dnsenum揭示了宿主的一些有趣之处,即:

Host Address:这是你在域上做一个简单的nslookup时得到的IP

通配符主机:这是您调用随机子域(如kttfvatukbld)时返回的IP,除非您运气好(或您的调用不幸运),而且这是一个真正的子域,这通常是来自您的DNS提供商或ISP的IP。如果它们是安全的,则通配符域将与主机IP相同,这使得域枚举成为一个bitch。

域名服务器:这些域名服务器是您用来进行查找的。通常,在中小型公司中,DNS托管在其他地方,通常可以由域名注册商提供。这可能是非常有用的信息。

MX服务器:现在这些信息很容易被忽略,尽管这会产生非常令人惊讶的结果。这将揭示的MX服务器领域,很多公司在企业空间将使用外部举办的电子邮件,如谷歌或微软/前景,通常这些链接到整个公司的工作流程,它可以引导你发现诸如微软Lync服务器登录面板用户电子邮件,等等。

区域转移:这是现在相当罕见的一种,你不会看到这种工作在许多主机是在公共领域,Facebook, Twitter等。尽管在pentests中,这是非常普遍的。如果成功,它将返回所有注册子域名的列表,这是巨大的。你最好尝试一下,然后什么都不知道,而不是永远不知道。

好的,快的部分。听说过Aiodns吗?现在你有了。Aiodns是一个DNS解析器,它通过异步媒体进行同步调用。简而言之,这意味着您可以有效地进行多个调用,而无需在每个请求之后关闭连接。这意味着它可以非常快。

引入Aiodnsbrute !Blark很聪明,把它变成了一种强制暴力的工具,而且效果很好……

在小型主机上进行测试时,DNS识别率在1.5-2分钟左右。一个Amazon M3盒子在3分钟内发出了1百万个请求。你的里程可能不同。如果您只对速度感兴趣,那么最好避免使用谷歌解析器。

一百万次请求,什么?向这个工具提供一个从SecLists中抓取的发现字典(发现>DNS> subdomaines -top1mi -110000.txt很好),然后你就可以发现这个域名拥有的每一个该死的子域名了。

使它更酷的是PCI遵从性是一种标准,它的部分需求是每个主机都有一个签名的有效证书。不能拥有有效的IP证书,那么公司该怎么办?他们为需要SSL访问的所有内容创建子域。是的,你猜对了,包括V**门户,电子邮件登录,开发网站。

我们在google.com上看看

$ aiodnsbrute google.com

这很奇怪,为什么92个IP地址有这么多?这些是DNS解析器。还记得我们对通配符进行DNS查找吗?是的,IP是一样的。我们可以使用grep命令轻松地解决这个问题。

aiodnsbrutegoogle.com | grep -v "解析器IP"

当然,格式有些不完善,但这是真实世界对人的惩罚,这不应该是迷人的!看看这些子域名,它们去了某个地方。现在您可以将这些IP地址保存在一个长文本文件中以供进一步检查,或者您可能想用您新学习的被动shodan技能扫描它们?你也可以在IP上做反向nslookup,看看它们是否在其他地方解析。

抓取邮件

你以前可能用过这个工具,很酷。那就是要。它抓取谷歌结果,标题,描述,元数据,并寻找类似电子邮件地址的东西

./theHarvester.py-d companydomain.com -b google

出于演示目的,我使用了protonmail.com,但输入任何公司域名,通常会收到一些电子邮件。如果这不能工作,你可以尝试Hunter.io,就像谷歌,只是用于电子邮件。

16000个结果,不错。这个很酷的另一个功能是它告诉你电子邮件的常见模式。您可以使用它从名称生成电子邮件地址(我将在第2部分中对此进行更详细的讨论),稍后可以将其用于密码破解,即为每个电子邮件地址尝试使用单个密码。

我们可以用这些信息做很多事情,我们可以把它们加载到一个电子邮件程序中,然后发送钓鱼邮件,我们可以用密码喷破解(我会告诉你方法),或者,我们可以检查它们是否泄露。这就是weleakinfo出现的地方……

Weleakinfo.com

还记得Adobe、LinkedIn和MySpace的数据泄露吗?这些泄露的数据仍然在那里,人们已经公布了它们,你仍然可以在周围的旧磁铁链接中找到它们,但是有成千上万的数据要恢复,它们很难找到。

Weleakinfo将所有这些信息编译成一个大的、快速的、可搜索的数据库。如果你决定把所有邮件都塞进去,你甚至可能幸运地得到一些旧密码,你现在可以改变这些密码,并尝试在现有的公司帐户,这是多么酷?!我们甚至没有入侵他们的服务器,我们已经有了他们的账户密码?没有那么快。

16000电子邮件!如果查找一封电子邮件花了你10秒钟的时间,然后取下结果(这是非常快的),那么你要花大约48小时不间断的复制粘贴来浏览所有的结果。如果你想睡觉,不想有像约翰·塞纳那样肌肉发达的手指,那么我建议你使用自动化。Weleakinfo实际上很好,它提供了一个公共API https://weleakinfo.com/api/public,它允许每秒3个请求,如果你想更快,试试ProxyDock这样的工具。

Geo2IP -额外的工具

好的场景。您知道主机的位置,但您不知道它的确切细节。没有问题…是时候使用Geo2Ip了,这是我共同开发的一个工具,它可以获得大致的坐标位置,然后给出与该坐标相关的范围。从那里,您可以将这些内容提供给nslookup工具(可以使用aiodns创建您自己的),并发现与它们关联的所有资产。

反向域名查询服务

您可以用于资产发现的另一个工具是反向whois。现在,您可以使用这些工具输入公司名称、电子邮件地址或注册人名称(从您以前的侦察获得),然后通过这些相同的步骤,以新获得的电子邮件、域名和额外的信息。重复,直到你没有更多被动信息可以获取。现在你准备好进行主动侦察了。

总之,只要知道在哪里查找,就可以获得大量信息。这并不是一个详尽的清单,但它包含了一些我认为对我的日常生活至关重要的事情。