信息收集概念、作用和分類
在一次護網行動中再次深刻意識到了信息收集對於滲透測試整個流程的重要性,信息收集的完整性決定了你的滲透測試結果,“知己知彼,百戰不殆”。在此,為了使今后的滲透測試工作更加流程化、規范化,提高工作效率為前提,我總結了常見的信息收集經驗和技巧,希望對大家有一定幫助。
信息收集概念
信息收集是指黑客為了更加有效地實施滲透攻擊而在攻擊前或攻擊過程中對目標的所有探測活動。
信息收集作用
1.了解組織安全架構
2.縮小攻擊范圍
3.描繪網絡拓撲
4.建立脆弱點數據庫
信息收集分類
(1)主動信息搜集:與目標主機進行直接交互,從而拿到目標信息,缺點是會記錄自己的操作信息。
(2)被動信息搜集:不與目標主機進行直接交互,通過搜索引擎或者社會工程等方式間接的獲取目標主機的信息。
信息收集常用方法
根據每個信息收集條目的重要性、收集難易程度和漏洞利用難以程度進行了推薦星數的排序(僅供參考)。
Whois信息
推薦星數:★
whois是用來查詢域名的IP以及所有者等信息的傳輸協議。 whois信息可以獲取關鍵注冊人的信息,包括注冊商、所有者、所有者聯系郵箱、聯系電話、域名注冊時間、域名到期時間、域名狀態、DNS服務器等。
whois可以獲取的信息:
1.域名詳細信息
2.域名服務器信息
3.網絡IP地址
4.域名創建、過期時間
5.最近更新記錄
可通過注冊郵箱、注冊人等反查相關目標注冊過的域名。
Whois信息在線收集地址:
站長之家http://whois.chinaz.com
阿里雲域名信息查詢https://whois.aliyun.com
Kali whois命令
Python-whois模塊查詢域名信息
企業信息收集
推薦星數:★★
1.企業基本信息。
2.員工信息(手機號碼、郵箱、姓名等),組織框架、企業法人、企業綜合信息等。
3.其中員工信息收集是信息收集中的一項重要工作,員工信息包括:員工姓名、員工工號、員工家庭及交際信息、上網習慣等。(社會工程學)
4.員工身份信息:員工簡歷,員工身份證,手機號,生日,家鄉,住址等個人信息。5、員工社交賬號信息:QQ號,QQ群,微博,微信,支付寶,員工郵箱賬號等。
企業信息查詢網站:
http://www.miitbeian.gov.cn/icp/publish/query/icpMemoInfo_showPage.action#ICP備案查詢
Github信息
推薦星數:★★
Github不僅能托管代碼,還能對代碼進行搜索,當上傳並公開代碼時,一時大意,會讓某些敏感的配置信息文件等暴露於眾。Github主要收集:
1.泄露源碼
2.泄露數據庫、郵箱、ftp、ssh、3389等賬號
3.泄露的人員信息
4.泄露其他敏感信息
SVN信息
推薦星數:★★
SVN(subversion)是源代碼版本管理軟件,造成SVN源代碼漏洞的主要原因是管理員操作不規范。“在使用SVN管理本地代碼過程中,會自動生成一個名為.svn的隱藏文件夾,其中包含重要的源代碼信息。但一些網站管理員在發布代碼時,不願意使用‘導出’功能,而是直接復制代碼文件夾到WEB服務器上,這就使.svn隱藏文件夾被暴露於外網環境,黑客可以借助其中包含的用於版本信息追蹤的entries文件,逐步摸清站點結構。”(可以利用.svn/entries文件,獲取到服務器源碼、svn服務器賬號密碼等信息)。
郵箱信息
推薦星數:★★
常見的在線郵箱收集網站,這些網站通過爬蟲,搜索引擎等方式,獲取互聯網上暴露的郵箱地址。
網盤信息收集
推薦星數:★★
漏洞庫信息
推薦星數:★★
查詢歷史漏洞,獲取目標之前存在的安全問題,可以利用已知漏洞直接對目標系統進行攻擊。
端口、服務信息
推薦星數:★★★
服務和安全是相對應的,每開啟一個端口,那么攻擊面就大了一點,開啟的端口越多,也就意味着服務器面臨的威脅越大。
收集方法:
(1) Nmap
Nmap是主機掃描工具,它的圖形化界面是Zenmap,分布式框架為Dnamp。
Nmap可以完成以下任務:
主機探測
端口掃描
版本檢測
系統檢測
支持探測腳本的編寫
Nmap安裝與使用方法可參考:
https://blog.csdn.net/m1585761297/article/details/80015726
https://www.cnblogs.com/weihua2616/p/6599629.html
(2)御劍高速TCP全端口掃描工具
(3)ScanPort
(4)Google瀏覽器Shodan插件
(5)站長之家http://old.tool.chinaz.com/port/
(6)http://coolaf.com/tool/port
子域名枚舉
推薦星數:★★★
子域名枚舉是為一個或多個域查找子域的過程,它是信息收集階段的重要組成部分。
為什么要進行子域名枚舉?
1.子域名探測可以幫我們發現滲透測試中更多的服務,它們在安全評估的范圍內,從而增加了發現漏洞的機會。
2.查找一些用戶上較少,被人遺忘的子域名,其上運行的應用程序可能會使我們發現關鍵漏洞。
3.通常,同一組織的不同域名/應用程序中存在相同的漏洞。
子域名枚舉在線網站+工具:
(1)搜索引擎查詢
Google、baidu、Bing等傳統搜索引擎
site:baidu.com inurl:baidu.com
搜target.com|公司名字
(2)子域名搜集小工具
subDomainsBrute https://github.com/lijiejie/subDomainsBrute
wydomain https://github.com/ring04h/wydomain
wafw00f https://github.com/EnableSecurity/wafw00f
WhatWeb https://github.com/urbanadventurer/whatweb
dirsearch https://github.com/urbanadventurer/whatweb
layer子域名挖掘機
DNSdumpster
Sublist3r https://github.com/aboul3la/Sublist3r
(3)在線查詢工具
(4)網絡空間資產搜索引擎
Zoomeye
Shodan
Fofa
(5) DNS查詢/枚舉
DNS查詢
host -t a domainNamehost -t mx domainName
優點:非常直觀,通過查詢DNS服務器的A記錄、CNAME等,可以准確得到相關信息,較全。
缺點:有很大的局限性,很多DNS是禁止查詢的。
在線查詢網站:
DNS暴力破解:fierce
參考鏈接:
DNS信息收集https://www.cnblogs.com/xuanhun/p/3489038.html#RefHeading22036_2040717175
滲透測試之子域名探測指南 http://www.0xby.com/1105.html
域傳送漏洞 參考鏈接:https://blog.csdn.net/c465869935/article/details/53444117
(6) 證書透明度公開日志枚舉
證書頒發機構(CA)必須將他們發布的每個SSL/TLS證書發布到公共日志中。SSL/TLS證書通常包含域名、子域名和電子郵件地址。因此SSL/TLS證書成為了攻擊者的切入點。
SSL證書搜索引擎:
https://certdb.com/domain/github.com
基於HTTPS證書的子域名收集小程序GetDomainsBySSL.py
網站架構
推薦星數:★★★
1.操作系統類型
2.數據庫類型
3.Web中間件
4.網站開發語言
推薦Google插件:
Web應用指紋信息
推薦星數:★★★
1.Web前端框架
2.Web應用框架
3.Web開發框架
4.CMS類型
5.指定路徑下指定名稱的js文件或代碼
6.指定路徑下指定名稱的css文件或代碼
7.display:none中的版權信息
8.頁面底部版權信息,關鍵字© Powered by等
9.注釋掉的html代碼中的內容
10.http頭中X-Powered-By中的值,有的應用程序框架會在此值輸出
11.cookie中的關鍵字
12.robots.txt文件中的關鍵字
13.404報錯頁面
14.302返回時的旗標
Web應用指紋信息:
1.潮汐指紋:http://finger.tidesec.net
2.wappalyzer插件
3.whatweb工具
4.CMS識別工具 http://whatweb.bugscaner.com/look
5.雲悉 http://www.yunsee.cn
敏感文件、目錄信息
推薦星數:★★★
由於發布網站時,服務器配置問題,導致目錄瀏覽功能打開,從而引起信息泄露,造成安全隱患。在信息收集過程中,需要收集的敏感目錄/文件信息包括:
1.robots.txt
2.crossdomin.xml
3.sitemap.xml
4.后台目錄
5.網站安裝包
6.網站上傳目錄
7.mysql管理頁面
8.phpinfo
9.網站文本編輯器
10.測試文件
11.網站備份文件(.rar、zip、.7z、.tar.gz、.bak)
12.DS_Store 文件
13.vim編輯器備份文件(.swp)
14.WEB—INF/web.xml文件
旁站查詢
推薦星數:★★★
旁站信息:旁站是和目標網站在同一台服務器上的其它的網站,主站無法獲取權限的情況下,旁站便可以作為攻擊入口。
旁站信息收集:
https://www.aizhan.com/ IP反查域名
C段信息
推薦星數:★★★
C段信息:C段是和目標服務器ip處在同一個C段的其它服務器。
1.在線接口查詢
2.掃描工具
Nmap掃描C段:
nmap -sP 1.1.1.1/24
探測C段存活主機,可以用|grep up過濾存活的主機.
3.IIS Put Scaner
搜索引擎信息收集
推薦星數:★★★
主要收集的信息包括:
1.搜索子域名
2.搜索后台管理頁面
3.搜索泄露的敏感信息
4.搜索未授權訪問
5.搜索開放端口服務
6.搜索過往或未修復漏洞
7.搜索目標相關人員信息
常見后綴名:
".vscode" ".env" ".Trash" ".bashrc" ".git" ".ftpconfig" ".ds_store" ".ssh" ".mysql_history" "WS_FTP.ini" "admin.zip" "dead.letter" "secring.skr" "secring.pgp" "secring.bak" ".bash_history" "README.md" "README.MD" "README" "phpinfo.php" "test.php" "database.propertie" "web.xml" ".gitignore" "_viminfo" ".bak_Edietplus" ".viminfo" ".swp" ".swo" ".swn" ".swm" ".swl" ".save1" ".save2" ".save3" ".svn" ".hg" ".bzr" ".xml" ".yml" ".mail" ".password" ".letter" ".bak" ".back" ".pwd" ".config" ".conf" ".cgi" ".mdb" ".db" ".json" ".ini" ".reg" ".txt" ".zip" ".rar" ".tar.gz" ".7z" ".cab" ".jar" ".lzh" ".ace" ".gzip" ".uue" ".bz2" ".arj" ".iso" ".z" "~" ".idle" ".inc" ".yaml" ".cfg" ".dump" ".sql" ".doc" ".xls" ".pptx" ".docx" ".ppt" ".ssh" ".mdb" ".cfg" ".gov" ".sh" ".desk" ".cnf" ".pl ".dll" ".nsf" ".cfm" ".ctl"
網絡空間資產搜索引擎信息收集
推薦星數:★★★
網絡空間搜索引擎的作用就是將互聯網上公開的網絡資產收集和整理,以此方便人們進行查閱和利用。網絡空間可以發現了不少企業的脆弱系統,未授權訪問、SQL注入、弱口令等等都是存在的。
1.Shodan https://www.shodan.io/
2.FOFA https://fofa.so/
3.Zoomeye https://www.zoomeye.org/
4.oshadan https://www.oshadan.com/
內網入口點信息
推薦星數:★★★
1.企業郵箱登陸口
2.VPN登陸口
3.各類OA/crm/sso系統的web入口
4.各類中間件web頁面管理入口
5.各類監控系統、防火牆、虛擬化、路由器入口等
Waf信息
推薦星數:★★★★
WAF也稱Web應用防護系統,Web應用防火牆是通過執行一系列針對HTTP/HTTPS的安全策略來專門為Web應用提供保護的一款產品。
1.wafw00f工具
2.Nmap
Nmap探測WAF有兩種腳本,一種是http-waf-detect,一種是http-waf-fingerprint。
3.Burpsuite:X-Powered-By字段
真實IP地址
推薦星數:★★★★★
CND介紹
CDN的全稱是Content Delivery Network(內容分發網絡),通過在網絡各處的加速節點服務器來為網站抵擋惡意流量,把正常流量進行轉發。用簡單點的話來說,CDN一般有三個作用:
1.跨運營商加速:我們自己的網站常常只屬於一個運營商(比如:電信),而加速節點遍布每家運營商,於是和網站不同運營商(比如:聯通)的用戶訪問起來就不會那么慢了。
2.緩存加速:很多的靜態資源以及一部分頁面更新都是比較慢的(比如首頁),這個時候CDN就會根據瀏覽器的max-age和last-modified值以及管理員的預設值來進行緩存,於是很多流量CDN節點就不會每次都來向網站請求,CDN節點可以直接自作主張地將命中的緩存內容返回。
3.惡意流量過濾:這是CDN非常重要的一個作用,也是很多網站會用CDN的原因,因為CDN能為我們抵擋攻擊大流量攻擊、普通的攻擊(比如注入等),只有正常流量才會轉發給網站。
參考鏈接:11種繞過CDN查找真實IP方法 https://www.cnblogs.com/qiudabai/p/9763739.html
驗證是否存在CDN
(1)使用各種多地 ping 的服務,查看對應IP地址是否唯一,如果不唯一多半是使用了CDN,多地 Ping 網站有:
(2)修改本地hosts文件,強行將域名與IP解析對應,然后訪問域名查看頁面是否變化。
繞過CDN查找網站真實IP
(1)查看IP與域名綁定的歷史記錄,可能會存在使用CDN前的記錄。
https://dnsdb.io/zh-cn/ DNS查詢
http://toolbar.netcraft.com/site_report?url= 在線域名信息查詢
http://viewdns.info/ DNS、IP等查詢
https://tools.ipip.net/cdn.php CDN查詢IP
(2)SecurityTrails平台
在搜索字段中輸入網站域名,然后按Enter鍵即可,這時“歷史數據”就可以在左側的菜單中找到真實原始IP 。
(3)查詢子域名
CDN是不便宜的,所以很多站長可能只會對主站或者流量大的子站點做了CDN,而很多小站子站點又跟主站在同一台服務器或者同一個C段內,此時就可以通過查詢子域名對應的IP來輔助查找網站的真實IP,收集方法同子域名收集。
Subdomainbrute為例,僅需打開cmd進入它所在的目錄輸入Python subdomainbrute.py baidu.com –full即可收集百度的子域名,收集子域名后嘗試以解析ip不在cdn上的ip解析主站,直到真實ip成功被獲取到。
(4)網絡空間搜索引擎
常見的有以前的鍾馗之眼,shodan,fofa搜索。以fofa為例,只需輸入:title:“網站的title關鍵字”或者body: “網站的body特征”就可以找出fofa收錄的有這些關鍵字的ip域名,很多時候能獲取網站的真實ip。
(5)利用SSL證書尋找真實原始IP
假如在www.wangsu.com上托管了一個服務,原始服務器IP是136.23.63.44,而wangsu會為你提供DDoS保護,Web應用程序防火牆等服務,以保護你的服務免受攻擊。為此,你的Web服務器就必須支持SSL並具有證書。
當在端口443(https://136.23.63.44:443)上直接連接到IP時,SSL證書就會被暴露。如果攻擊者掃描0.0.0.0/0,即整個互聯網,他們就可以在端口443上獲取在wangsu上的有效證書,進而獲取提供給你的Web服務器IP。
目前Censys工具就能實現對整個互聯網的掃描,Censys是一款用以搜索聯網設備信息的新型搜索引擎,能夠掃描整個互聯網,Censys每天都會掃描IPv4地址空間,以搜索所有聯網設備並收集相關的信息,並返回一份有關資源(如設備、網站和證書)配置和部署信息的總體報告。
(6)使用國外主機解析域名
國內很多 CDN 廠商因為各種原因只做了國內的線路,而針對國外的線路可能幾乎沒有,此時我們使用國外的主機直接訪問可能就能獲取到真實IP。
(7)網站漏洞查找
目標敏感文件泄露,例如:phpinfo之類的探針、GitHub信息泄露等。
XSS盲打,命令執行反彈shell,SSRF等。
無論是用社工還是其他手段,拿到目標網站管理員在CDN的賬號,從而在從CDN的配置中找到網站的真實IP。
(8)網站郵件訂閱查找
RSS郵件訂閱,很多網站都自帶sendmail,會發郵件給我們,此時查看郵件源碼里面就會包含服務器的真實 IP 了。
(9)nmap掃全網
首先從apnic獲取IP段,然后使用Zmap的banner-grab掃描出來80端口開放的主機進行banner抓取,最后在http-req中的Host寫需要尋找真實IP的域名。
綜合收集
推薦星數:★★★★★
Maltego互聯網情報收集(https://www.freebuf.com/sectool/104949.html)
Recon-NG 信息偵察收集工具(https://www.freebuf.com/articles/web/7385.html)
Kali/Parrot中的其他信息收集工具
參考鏈接:https://www.jianshu.com/p/aeadbdb3fa08
總結
信息收集階段應盡量可能多的獲取目標Web應用的各種信息。信息收集工作是Web滲透測試最基礎、也是最重要的階段, 收集的有用信息, 可大大提高滲透測試的成功率。