尽可能多地了解你的侦查目标,并不让对方发觉的方法
- 这不是第一次介绍此工具。它服务于任何与调查和深度了解有关的需求,尤其是渗透测试。本文是一个简单的演示
对调查人员来说,在线收集有关目标的详细信息有可能是一项耗时的活动,尤其是在您只需要有关目标的特定信息的情况下。
其实您可以使用为开源情报设计的被称为 Photon 的网络爬虫来进行繁重的工作。
所有这些都用于尽可能多地了解目标,同时不会让目标发觉自己正在被监视。这就排除了一些更明显的扫描和枚举方法,需要一些创造力来寻找线索。
上一次简要介绍 Photon 是在这里《人人可用并不复杂的高级情报工具:让情报更丰富的方法》。
知道要搜索什么
Photon 的开源情报扫描提供了灵活、易于使用的命令行界面,不仅可以寻找漏洞,还能快速解析其中的内容,以一种易于理解的方式将其显示给黑客。
Photon 最有用的功能之一是能够自动识别和提取某些类型的数据,例如页面脚本、电子邮件地址、以及重要的密码、或API密钥(可能会意外泄露)。
除了查看当前网页之外,Photon 还允许您回溯。您可以使用 Wayback Machine 上记录的网页的先前状态作为搜索的“种子”,从现已停用的网站上刮取所有URL,作为进一步探索的来源。
有效地使用 Photon 虽然需要耐心和一些理解,但并不需要花很多时间就可以了解有关目标的线索。
你需要什么
Photon 是跨平台的流行工具,这意味着它可以在安装了 Python 的任何系统上运行。建议在 python3 上运行它(2有可能崩溃)。
要检查您的系统是否安装了 Python,您可以打开一个终端窗口并输入 python3。
如果尚未安装,则可以使用 apt-install python3 进行安装。如果您的输出如下所示,就可以开始了。
python3 Python 3.6.8 (default, Jan 3 2019, 03:42:36) [GCC 8.2.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>>
键入 quit() 退出 Python shell,将开始安装运行 Photon 所需的内容。
第1步:下载并安装 Photon
要开始使用 Photon,请确保已安装 Python3。还需要安装一些依赖项。在终端窗口中,运行以下命令以下载并安装必要的库:
pip install tld requests
完成此操作后,您可以下载 Photon 并使用以下命令导航至其目录,别忘了 cd:
git clone https://github.com/s0md3v/Photon.git cd Photon
第2步:查看选项
现在,可以运行 python3 photon.py -h 来查看可用于扫描的选项列表。
python3 photon.py -h . ____ __ __ / __ \/ /_ ____ / /_____ ____ / /_/ / __ \/ __ \/ __/ __ \/ __ \ / ____/ / / / /_/ / /_/ /_/ / / / / /_/ /_/ /_/\____/\__/\____/_/ /_/ v1.2.1 usage: photon.py [-h] [-u ROOT] [-c COOK] [-r REGEX] [-e EXPORT] [-o OUTPUT] [-l LEVEL] [-t THREADS] [-d DELAY] [-v] [-s SEEDS [SEEDS ...]] [--stdout STD] [--user-agent USER_AGENT] [--exclude EXCLUDE] [--timeout TIMEOUT] [--clone] [--headers] [--dns] [--ninja] [--keys] [--update] [--only-urls] [--wayback] optional arguments: -h, --help show this help message and exit -u ROOT, --url ROOT root url -c COOK, --cookie COOK cookie -r REGEX, --regex REGEX regex pattern -e EXPORT, --export EXPORT export format -o OUTPUT, --output OUTPUT output directory -l LEVEL, --level LEVEL levels to crawl -t THREADS, --threads THREADS number of threads -d DELAY, --delay DELAY delay between requests -v, --verbose verbose output -s SEEDS [SEEDS ...], --seeds SEEDS [SEEDS ...] additional seed URLs --stdout STD send variables to stdout --user-agent USER_AGENT custom user agent(s) --exclude EXCLUDE exclude URLs matching this regex --timeout TIMEOUT http request timeout --clone clone the website locally --headers add headers --dns enumerate subdomains and DNS data --ninja ninja mode --keys find secret keys --update update photon --only-urls only extract URLs --wayback fetch URLs from archive.org as seeds
要运行最基本的扫描,使用 python3 photon.py -u target.com。
第3步:映射DNS信息
Photon 的最有用和最有趣的功能之一是能够生成与目标域连接的所有内容的可视化DNS映射。这使您可以深入了解目标域背后的计算机上正在运行哪种软件。
这里是有的案例是 Priceline。
为此将使用 — dns 运行扫描。要生成 priceline.com 的映射,可以在终端窗口中运行命令:python3 photon.py -u priceline.com — dns。
python3 photon.py -u https://www.priceline.com/ --dns URLs retrieved from robots.txt: 111 Level 1: 112 URLs Progress: 112/112 Level 2: 112 URLs Progress: 112/112 Crawling 0 JavaScript files -------------------------------------------------- Robots: 111 Internal: 112 -------------------------------------------------- Total requests made: 0 Total time taken: 0 minutes 26 seconds Requests per second: 0 Enumerating subdomains 79 subdomains found Generating DNS map Results saved in www.priceline.com directory
生成的子域图非常巨大!因为它太大了而无法放在这里,因此接下来将把它细分一下,讨论几个部分。可以看到与 Priceline 服务相关联的服务器和IP地址,下面大图在这里:
再往下看,可以看到第三方集成和其他与 Priceline 服务连接的基础架构。这也提供了有关它们使用的邮件服务器以及可以利用的任何安全性差的第三方服务的信息,可以利用它来获得访问权限。下面的大图在这里:
放大一下,并查看负责电子邮件服务的MX记录。显然,它使用的是Google服务和VeriSign。下面大图在这里:
再往下看,可以放大并开始查看检测到的 Varnish、BigIP 和 nginx服务器。连接到 Digital Ocean 帐户后,看到运行特定版本 openSSH 的 Ubuntu 服务器。希望那不是脆弱的。下面大图在这里:
仔细研究 Priceline 的核心服务,可以看到 Microsoft、Apache 和 Big IP 系统。在某些情况下还可以看到这些IP地址托管的服务的特定版本。下面大图在这里看到:
所有这些都是黑客钻空子的金矿。
第4步:提取密钥
接下来尝试从网站上获取一些电子邮件地址和密钥。将使用 PBS.org 作为示例。
为了加强探索的深度和广度,在终端窗口中运行 python3 photon.py -u pbs.org — keys -t 10 -l 3 来指定要深入URL的3个层次,并且要打开10个线程来进行数据爬取。
结果返回到名为 “intel” 的文件中,第一个如下所示:
python3 photon.py -u https://www.pbs.org/ --keys -t 10 -l 3 b'delaney@delaneyantiqueclocks.com\nshcurry@pbs.org\nandrew@brunkauctions.com\nnansollo@gmail.com\nfrontlinemedia@pbs.org\ninfo@weissauctions.com\nledyer256@aol.com\nstock_sales@wgbh.org\nian.ehling@bonhams.com\nnanchisholm@gmail.com\nCollegeBehindBarsDKC@dkcnews.com\nAppIcon57x57@2x.png\nagm6@advanceguardmilitaria.com\ntravis@bruneauandco.com\nfrontline@pbs.org
已经捕获了一些电子邮件地址!
尽管在这次扫描中没有找到任何密钥,但是,上述搜索将使 Photon 去寻求可能与API密钥或其他重要细节有关的字符串,这些字符串可能已无意在目标网站上被公开了。
第5步:用Ninja拉大您与目标之间的距离
⚠️假设使用的是敏感IP地址,例如派出所、政府机关,甚至只是您不希望目标用户知道您正在进行调查的任何地方。您可以使用 — ninja 让自己与目标之间保持距离,这会将您的请求发送到第三方网站。
结果会较慢,但消除了被目标识别到您的身份的风险。由于您对这些请求的控制较少,于是有个心理准备,它们可能需要一点时间才能完成。
要在 Ninja 下运行较轻版本的扫描,可以在终端窗口中运行命令:python3 photon.py -u pbs.com — keys -t 10 -l 1 — ninja。
python3 photon.py -u https://www.pbs.com/ --keys -t 10 -l 1 --ninja
最后
当涉及到数百个URL来获取信息时,很少有人愿意自己手动。利用Photon,您可以轻松抓取大量子域或多个目标,从而使您可以在侦察阶段扩展研究范围。
利用内置的选项解析和搜索各种数据,例如电子邮件地址和重要的API密钥,Photon 甚至可以捕获目标所犯的微小错误,从而揭示出许多有价值的信息。⚪️