信息收集
在信息收集中,需要收集的信息:目標主機的DNS信息、目標IP地址、子域名、旁站和C段、CMS類型、敏感目錄、端口信息、操作系統版本、網站架構、漏洞信息、服務器與中間件信息、郵箱、人員、地址等。
域名信息收集
拿到公司名或者一個域名,通過工具收集域名信息,包括注冊人、電話、郵箱、有時可以通過反查找到其更多的域名資產
whois查詢
whois是用來查詢域名的IP以及所有者等信息的傳輸協議。簡單說,whois就是一個用來查詢域名是否已經被注冊,以及注冊域名的詳細信息的數據庫(如域名所有人、域名注冊商、聯系郵箱、聯系電話、更新時間、創建時間、過期時間、域名服務器、DNS等等),不同域名后綴的Whois信息需要到不同的Whois數據庫查詢。
查詢方法:
kali自帶whois工具
站長之家(可進行域名反查)
域名Whois查詢 - 站長工具
愛站
站長工具-百度權重排名查詢-站長seo查詢 - 愛站網
域名備案信息查詢
網絡域名備案的目的:為了防止在網上從事非法的網站經營活動,打擊不良互聯網信息傳播
用備案號查詢可能會查詢到whois查詢不到的其他資產,盡量都用,盡可能收集更多資產
查詢方法:
天眼查
ICP備案查詢備案號查詢網站備案查詢 - 天眼查
icp備案查詢
ICP/IP地址/域名信息備案管理系統
收集子域名
泛解析
子域名收集要注意的事項:可能會存在泛解析問題
泛解析產生的原因:每個子域名都會解析為一個特定的ip地址,只有解析,用戶才能正常的進行訪問,一旦輸入錯誤的子域名,就會導致無法訪問,為避免因為錯誤的輸入導致無法訪問而產生的用戶流失,就會使用泛解析
泛解析:通配符形式,所有沒有進行明確配置的子域名,一律解析到一個指定的ip地址上
泛解析的優點:
1、支持無限子域名,無需為每一個子域名單獨配置dns記錄
2、防止用戶輸入錯誤導致無法訪問
3、訪問比較方便
泛解析的缺點:
1、惡意的泛解析會導致搜索引擎對網站的評價降低,會影響網站的權重和流量,導致排名下降
2、惡意收錄:造成網站可能會出現大量的垃圾信息和違規信息
在線子域名查詢
在線子域名二級域名查詢工具 - 在線工具 二級域名查詢工具,可以查詢出頂級域名下的所有子域名,是一款非常棒的站長工具! 在線子域名二級域名查詢工具 - 在線工具
ip查詢 查ip 網站ip查詢 同ip網站查詢 iP反查域名 iP查域名 同ip域名 ip查詢 查ip 網站ip查詢 同ip網站查詢 iP反查域名 iP查域名 同ip域名
子域名查詢工具
Layer子域名挖掘機
subdomain 解決泛解析問題
oneforall 解決部分泛解析問題
github上都有
FOFA搜索子域名(網絡空間搜索引擎)
網絡空間測繪,網絡空間安全搜索引擎,網絡空間搜索引擎,安全態勢感知 - FOFA網絡空間測繪系統 網絡空間測繪,網絡空間安全搜索引擎,網絡空間搜索引擎,安全態勢感知 - FOFA網絡空間測繪系統
FOFA語法
title="beijing" 從標題中搜索“北京”
header="elastic" 從http頭中搜索“elastic”
body="網絡空間測繪" 從html正文中搜索“網絡空間測繪”
fid="sSXXGNUO2FefBTcCLIT/2Q==" 查找相同的網站指紋
domain="qq.com" 搜索根域名帶有qq.com的網站。
icp="京ICP證030173號" 查找備案號為“京ICP證030173號”的網站
谷歌(搜索引擎)
intext: 尋找正文中含有關鍵字的網頁,例如:intext:后臺登陸 將只返回正文中包含后臺登陸的wang網頁。
intitle: 尋找標題中含有關鍵字的網頁,例如:intitle:后臺登陸 密碼 將返回標題中包含黑客而正文中包含中國的網頁。
allintitle: 用法和intitle類似,只不過可以指定多個詞,例如:alltitle:后臺登陸 管理員 將返回標題中包含后臺登陸和管理員的網頁。
cache: 網頁快照,谷歌將返回給你他存儲下來的歷史頁面,如果你同時制定了其他查詢詞,將在搜索結果里以高亮顯示,例如:cache:www.hackingspirits.com guest ,將返回指定網站的緩存,并且正文中含有guest
inurl: 將返回url中含有關鍵詞的網頁,例如:inurl:Login 將返回url中含有Login的網頁。
inininurl://admin/login.php 查找管理員登陸頁面
nurl:/phpmyadmin/index.php 查找后臺數據庫管理頁面
allinurl 用法和inurl類似,只不過可以指定多個詞,例如:inrul:Login admin 將返回url中含有Login和admin的網頁。
site 指定訪問的站點,例如:site:baidu.com inurl:Login 將只在baidu.com中查找url中含有Login的網頁。
filetype 指定訪問的文件類型,例如:site:baidu.com filetype:pdf 將只fan返回baidu.com站點上文件類型為pdf的網頁。
link 指定鏈接的網頁,例如:link:www.baidu.com 將返回所有包含指向www.baidu.com的網頁。
info 返回站點的指定信息,例如:info:www.baidu.com 將返回百度的一些信息。
related: 相似類型的網頁,例如:related:www.xjtu.edu.cn 將返回與 www.xjtu.edu.cn 相似的頁面,相似指的是網頁的布局相似
查找網站后臺:
site:xxx.com intext:管理
site:xxx.com inurl:login
site:xxx.com intitle:后臺
查看服務器使用的程序:
site:xxx.com filetype:asp
site:xxx.com filetype:php
site:xxx.com filetype:jsp
site:xxx.com filetype:aspx
查看上傳漏洞:
site:xxx.com inurl:file
site:xxx.com inurl:load
拿到真實ip
一般在子域名收集是同時也會收集到ip地址,但是喲與cdn的存在,我們還需要進一步判斷其是否為網站服務器的真實ip
CDN(Content Delivery Network)即內容分發網絡,是一種通過分布在全球各地的節點服務器集群,將內容(如網頁、圖片、視頻、音頻等)快速、高效地傳遞給用戶的技術體系。其核心目標是降低網絡延遲、提高內容加載速度、減輕源服務器壓力,從而優化用戶體驗
單個cdn地址解析100個甚至幾k的網站
優勢:隱藏原主機ip,降低延遲,提高服務器響應速度,增加網絡冗余,減少主機服務器的壓力
判斷是否存在cdn:
ping檢測(站長之家、愛站):從多地訪問主站,看ip地址是否唯一,不唯一則說明使用了cdn
繞過cdn拿到真實ip的方法:
1、域名歷史解析記錄(查詢網、What's that site running? | Netcraft)
2、分站ip地址、查詢子域名信息
3、郵箱發送,密碼找回,數據交互的地方,可以返回真實ip
4、探針文件:phpinfo等
5、國外訪問(對國外一般沒有cdn)全球速度測試 PING!
收集端口
在網絡技術概念中,端口(Port)大致有兩種意思:
一是物理意義上的端口,比如,ADSLModem、集線器、交換機、路由器用于連接其他網絡設備的接口,如RJ-45端口、SC端口等等。
二是邏輯意義上的端口,一般是指TCP/IP協議中的端口,端口號的范圍從0到65535,比如用于瀏覽網頁服務的80端口,用于FTP服務的21端口等等。
收集端口的作用
端口信息收集可以幫助我們找到更多目標網站的功能點,更全面地對目標網站進行測試。
端口掃描工具:
nmap nmap -A -T4 -V -p 1-6535 ip
masscan masscan -p 1-65535 ip
在線端口掃描工具: 在線端口檢測,端口掃描,端口開放檢查-在線工具-postjson
常見的端口和利用點
遠程管理端口
22 端口(SSH)
利用點:弱口令、暴力猜解、用戶名枚舉
23 端口(Telnet)
利用點:弱口令、明文傳輸
3389 端口(RDP)
利用點:暴力破解
Web中間件/服務端口
1090/1099 端口(RMI)
利用點:JAVA RMI 反序列化遠程命令執行漏洞
7001 7002 端口(Weblogic)
利用點:弱口令、SSRF、反序列化漏洞、遠程代碼執行
8080 端口(Tomcat)
利用點:弱口令、示例目錄
21 端口(ftp)
利用點:匿名訪問下載上傳、弱口令爆破
25 端口(smtp)
利用點:偽造郵件
110 端口(pop3)
利用點:爆破、嗅探
53 端口(dns)
445 端口(smb)
利用點:ms_08067、ms_17010
2375端口(docker)
利用點:未授權訪問
9000端口 (phpfpm)
利用點:未授權訪問
關系型數據庫 mysql 3306 sqlserver 1433 oracle 1521 psotgresql 5432 非關系型數據庫 MongoDB 27017 python Redis 6379 memcached 11211
常見搭配類型:
組合類型asp + access/mssql 組合類型php + mysql 組合類型aspx+mssql 組合類型jsp +mysql/oracle 組合類型Python + MongoDB
c段,旁站
1.C段: C段是和目標服務器ip處在同一個C段的其它服務器
2.旁站: 旁站是和目標網站在同一臺服務器但開放在其他端口的網站。同服務器說明同ip,所以只要找ip相同的網站就好了。它們不一定是同一家公司這樣的。 旁站和子域名的區別:旁站不一定是同一家公司的網站,子域名是同一家公司下的網站
旁站與c段收集方式
1.站長之家
2.同IP網站查詢,C段查詢,IP反查域名,在線C段,旁站工具 - WebScan 該網址工具能查詢ip、ip地址、C段、同服務器上運行的其他網站,以及服務器IP上有多少個二級域名或旁站點。 https://www.webscan.cc/
利用方式
如果一臺服務器通過其上的一個網站拿不下,可以從旁站入手,即同一服務器上的其他網站,最終也可拿下這臺服務器。 很多系統并沒有綁定域名,通過子域名能夠獲得的資產是有限的,這時候若想找到更多資產,可從C段入手。
指紋識別(CMS)
1.什么是指紋(CMS) CMS:快速搭建網站的內容管理系統,系統模板
Web應用框架:快速二次開發的Web應用框架,例如網站,小程序
2.指紋識別的方式
在線:
潮汐指紋: TideFinger 潮汐指紋 TideFinger 潮汐指紋
本地:
tiderfinger
plfinger64
源碼泄露
以下總結的是最常見的3中源碼泄露
git 源碼泄露
Git是一個開源的分布式版本控制系統,在執行git init初始化目錄的時候,會在當前目錄下自動創建一個.git目錄,用來記錄代碼的變更記錄等。發布代碼的時候,如果沒有把.git這個目錄刪除,就直接發布到了服務器上,攻擊者就可以通過它來恢復源代碼。
利用工具:GitHack
使用:
python3 GitHack.py url
SVN 源碼泄露
SVN是一個開放源代碼的版本控制系統。在使用SVN管理本地代碼過程中,會自動生成一個名為.svn的隱藏文件夾,其中包含重要的源代碼信息。網站管理員在發布代碼時,沒有使用‘導出’功能,而是直接復制代碼文件夾到WEB服務器上,這就使.svn隱藏文件夾被暴露于外網環境,可以利用.svn/entries文件,獲取到服務器源碼。
利用工具:svnExploit-master
python3 svnExploit.py -u url
在用--dump下載下來
DS_Store 文件泄露
.DS_Store是Mac下Finder用來保存如何展示 文件/文件夾 的數據文件,每個文件夾下對應一個。如果將.DS_Store上傳部署到服務器,可能造成文件目錄結構泄漏,特別是備份文件、源代碼文件。
利用工具:ds_store_exp-master
用法示例:
python3 ds_store_exp.py url
目錄掃描
目錄掃描的作用
1、掃描站點的目錄,站點結構,權限控制不嚴格,弱口令,萬能密碼,爆破
2、找尋敏感文件(如目錄名、后臺、robots.txt、備份文件、源碼泄露等)
3、找探針文件,服務器配置信息;(phpinfo.php、readme.txt、config.txt)
利用工具:
御劍(內置字典,自己可以補充或者替換)
js代碼
現如今越來越多的網站使用webpack技術,開發人員通常會把api路由打包進js文件,js文件中往往會暴露出許多信息,比如一些注釋中的敏感信息,內網ip地址泄露,還有一些絕對路徑的url,可能就存在未授權訪問