AttackSurfaceMapper(ASM)旨在通过将单个目标域或IPv4地址列表作为输入,然后使用被动OSINT技术和主动侦察方法对其进行分析,从而大大简化侦察过程。它是一个全新开发的渗透测试工具。它枚举具有强制和被动查找的子域,同一网络块所有者的其他IP,具有指向它们的多个域名的IP等等。
目标列表完全展开后,本工具即对所列目标执行被动侦察:截屏网站、生成虚拟地图、在公开数据泄露查找登录凭证、用 Shodan 联网设备搜索引擎执行被动端口扫描,以及从 LinkedIn 刮取雇员信息。这意味着你拥有了通过这些过程搜集而来的硬核可执行数据,可供扫描的目标、可以攻击的网站、能执行网络钓鱼的邮箱地址,以及可暴力破解的凭证。
侦察:收集目标相关的大量信息,让攻击过程更容易执行。
扫描:发现开放端口、主机上运行的服务,以及可以检测到的其他漏洞。
获取访问权限:运用社会工程学、漏洞利用等各种不同技术实际执行攻击。
维持访问权限:确保装有可以继续访问且不被目标察觉的后门。
掩踪匿迹:没人想被警方 “请” 去喝茶,就算是黑客大佬也不想。
虽说全部五个步骤都很重要,但第一个步骤显然是所有事情真正启动的按钮。安全界通常将这个步骤中收集到的数据称为“开源情报” (OSINT)。
8 月初的黑帽大会上,网络安全公司 Trustwave 发布了一款新的渗透测试工具,名为 AttackSurfaceMapper (ASM),采用 Python 3.x 开发,兼容所有主流操作系统,可帮助渗透测试员提高 “侦察” 效率。
其节省时间提高效率的方法,是通过 3 个经简化的过程:
用户输入目标域名、子域名或 IP 地址
该工具使用上一步中给出的目标标识,从大量公开来源收集有价值的情报
用户选择将收集到的数据以 HTML、CSV 或 TXT 文件格式导出,查阅其中可能包含的电子邮件、关联 IP 地址、用户名、已泄露密码、电话号码、社交媒体痕迹等等信息。
工具的执行流程被分解为3个不同的阶段的更多详细信息
Reconnaissance:
Find IPs from associated ASNs and IPv4 prefixes.
Passively discover Subdomains
Brute Force Subdomains
Port Scanning
Hostname Discovery
Passive & Active DNS Record capturing
Collect WHOIS records
Take screenshots of web portals
Intel Extraction:
Scrap LinkedIn Employee Names & Email addresses
Check for credentials in Public Data Breaches
Download Interesting Files (e.g. PDF and XML)
Find AWS buckets
Presentation:
Present useful information on the terminal.
Export gathered information in HTML, CSV and TXT files.
当你给定一个目标后,它会来回收集如下信息:
Email Addresses & Usernames
Public Data Breach Credentials & Hashes
Employees’ Social Network Presences
Subdomains
Associated ASNs and IP Addresses
Open Ports & Possible Vulnerabilities
Visual DNS map of the attack surface
Web Screenshots
AttackSurfaceMapper 可算是近些年来网络安全界巨大发展的又一明证。AttackSurfaceMapper 之类工具唯一的缺点就是,白帽黑客可以之增强自身系统防御的同时,黑帽黑客亦可利用该公开可用的工具从事恶意活动。
不过,相较之下,IT 安全社区应利用其各项功能测试自身资产,因为能从中获得的好处是十分巨大的。
$ git clone https://github.com/superhedgy/AttackSurfaceMapper
$ cd AttackSurfaceMapper
$ python3 -m pip install --no-cache-dir -r requirements.txt
其他可选参数也可以设置为除了默认的被动模块外,还可以选择包括主动侦察模块。
|<------ AttackSurfaceMapper - Help Page ------>|
positional arguments:
targets Sets the path of the target IPs file.
optional arguments:
-h, --help show this help message and exit
-f FORMAT, --format FORMAT
Choose between CSV and TXT output file formats.
-o OUTPUT, --output OUTPUT
Sets the path of the output file.
-sc, --screen-capture
Capture a screen shot of any associated Web Applications.
-sth, --stealth Passive mode allows reconaissaince using OSINT techniques only.
-t TARGET, --target TARGET
Set a single target IP.
-V, --version Displays the current version.
-w WORDLIST, --wordlist WORDLIST
Specify a list of subdomains.
-sw SUBWORDLIST, --subwordlist SUBWORDLIST
Specify a list of child subdomains.
-e, --expand Expand the target list recursively.
-ln, --linkedinner Extracts emails and employees details from linkedin.
-v, --verbose Verbose ouput in the terminal window.
Authors: Andreas Georgiou (@superhedgy)
Jacob Wilkin (@greenwolf)
运行命令示例
$ python3 ASM.py -t your.site.com -ln -w resources/top100_sublist.txt -o demo_run
OSINT:
https://osintframework.com/
黑帽大会 AttackSurfaceMapper 主题:
https://www.blackhat.com/us-19/arsenal/schedule/index.html#attack-surface-mapper-automate-and-simplify-the-osint-process-16713
AttackSurfaceMapper Github 页面:
https://github.com/superhedgy/AttackSurfaceMapper
AttackSurfaceMapper Trustwave 博客:
https://www.trustwave.com/en-us/resources/blogs/spiderlabs-blog/attacksurfacemapper-automate-and-simplify-the-osint-process/
点击下方名片,回复“ ASM ”获取
仅用于学习交流,不得用于非法用途
如侵权请私聊公众号删文