https://github.com/owasp-amass/amass
amass 是 owasp 的一個專案,它專門用於網路情報收集,它的主要可以收集的相關資訊如下 :
APIs
Certificates
DNS
Routing
Scraping
Web Archives
WHOIS
然後主要的幾個 Subcommand 有分二種,然後以下的英文為從官網直接抓來的,應該可以比較容易理解這兩者的差別 :
intel : Collect open source intelligence for investigation of the target organization。
enum : Perform DNS enumeration and network mapping of systems exposed to the Internet。
https://github.com/owasp-amass/amass/blob/master/doc/user_guide.md
最基本的使用如下,它就是可以透過 whois 找到 domain 相關的資訊 :
amass intel -whois -d mark-lin.com
但我實際執行以下,我有點不太能理解為什麼會跑出下面這些 domain,在猜可能是 domain 從同一個地方買或啥的…
➜ Sublist3r git:(master) amass intel -whois -d mark-lin.com
cdc-management.com
collectron.de
digitalerwikinger.de
elevation5.com
ep-e.com
ep-ehrler.de
ep-engineering.com
hautcutuer.net
janwaider.com
northlandscapes.com
然後有一些 flag 想說明一下 :
-active : 有加這個 flag 代表會去服務實際收集資訊,所以有可服造成服務測試負擔,或是留下足跡。
-exclude : 就是資料源排除這個 amass intel -whois -exclude crtsh -d hahow.in,這個就是排除 crtsh 這個 查 certificates 的來源。
-include : 這就是上面的相反。
-list : 列出所有的 data sources。
-asn : 查詢 asn。
-cidr : 查詢 cidr。
這個就是可以列舉出所有目標的 subdomain。
amass enum -d example.com
➜ Sublist3r git:(master) amass enum -d mark-lin.com
mark-lin.com (FQDN) --> a_record --> 185.199.110.153 (IPAddress)
mark-lin.com (FQDN) --> ns_record --> ns40.domaincontrol.com (FQDN)
mark-lin.com (FQDN) --> ns_record --> ns39.domaincontrol.com (FQDN)
www.mark-lin.com (FQDN) --> cname_record --> h091237557.github.io (FQDN)
ns40.domaincontrol.com (FQDN) --> a_record --> 173.201.77.20 (IPAddress)
ns40.domaincontrol.com (FQDN) --> aaaa_record --> 2603:5:22d1::14 (IPAddress)
ns39.domaincontrol.com (FQDN) --> a_record --> 97.74.109.20 (IPAddress)
ns39.domaincontrol.com (FQDN) --> aaaa_record --> 2603:5:21d1::14 (IPAddress)
185.199.108.0/22 (Netblock) --> contains --> 185.199.110.153 (IPAddress)
173.201.64.0/20 (Netblock) --> contains --> 173.201.77.20 (IPAddress)
97.74.96.0/20 (Netblock) --> contains --> 97.74.109.20 (IPAddress)
2603:5:2100::/40 (Netblock) --> contains --> 2603:5:21d1::14 (IPAddress)
2603:5:22d0::/44 (Netblock) --> contains --> 2603:5:22d1::14 (IPAddress)
54113 (ASN) --> managed_by --> FASTLY - Fastly (RIROrganization)
54113 (ASN) --> announces --> 185.199.108.0/22 (Netblock)
44273 (ASN) --> managed_by --> DYNAMICNET (RIROrganization)
44273 (ASN) --> announces --> 173.201.64.0/20 (Netblock)
44273 (ASN) --> announces --> 97.74.96.0/20 (Netblock)
44273 (ASN) --> announces --> 2603:5:2100::/40 (Netblock)
44273 (ASN) --> managed_by --> GODADDY-DNS, DE (RIROrganization)
44273 (ASN) --> announces --> 2603:5:22d0::/44 (Netblock)
然後它還有一些 flag 可以設 :
-active : 主動查詢,就是會實際去他們網站抓一些資訊。
—passive : 被動查詢,就是只會在 data sources 裡抓。
更多的請參考這份文件。
https://github.com/owasp-amass/amass/blob/master/doc/user_guide.md
他可以算是一個網路資料庫,可以在上面找到不少的 dns、ip、domain 等資訊。
像我們 mac、linux 本來的 whois 指令也是去那個資料庫取得的,然後下面為範例,反正他可以看到很多資訊。
➜ Sublist3r git:(master) whois hahow.in
% IANA WHOIS server
% for more information on IANA, visit http://www.iana.org
% This query returned 1 object
refer: whois.registry.in
domain: IN
organisation: National Internet Exchange of India
address: 6C, 6D, 6E Hansalaya Building 15, Barakhamba Road
address: New Delhi 110 001
address: India
...
它到他前前要先提到 as ( Autonomous system ) 自治系統,簡單的說它就是一個很大的網路集群,通常是由一個 ISP 或是很多網路的公司 ( ex. google ) 。然後他們遵循一個單一且明確的路由策略 RTC1771 。
像 google 就有個的 as 為 AS15169 然後它的 ip range 就是 104.154.XXX.XXX 的。
它是一種 ip 分配與標式方法,例如我們常看到的 192.168.1.0/24 就是這個。
我們常看到的 ip ( ipv4 ) 可以分為以下兩個部份 :
字首
主機位址
以 192.168.1.123 然後子網路遮罩 255.255.255.0為例 :
字首 : 192.168.1
主機位址 : 123
然後上面的範例 192.168.1.0/24,這個 /24 指的就是字首,而剩下的 8 位就是主機的部份,然後它就是可以分配出去的。