*本文原創作者:VllTomFord,本文屬於FreeBuf原創獎勵計畫,未經許可禁止轉載
資訊收集概念、作用和分類
在一次護網行動中再次深刻意識到了資訊收集對於滲透測試整個流程的重要性,資訊收集的完整性决定了你的滲透測試結果,“知己知彼,百戰不殆”。在此,為了使今後的滲透測試工作更加流程化、規範化,提高工作效率為前提,我總結了常見的資訊收集經驗和技巧,希望對大家有一定幫助。
資訊收集概念
資訊收集是指駭客為了更加有效地實施滲透攻擊而在攻擊前或攻擊過程中對目標的所有探測活動。
資訊收集作用
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群,微博,微信,支付寶,員工郵箱帳號等。
企業資訊查詢網站:
https://www.tianyancha.com天眼查
https://www.qichacha.com/企查查
http://www.miitbeian.gov.cn/icp/publish/query/icpMemoInfo_showPage.action#ICP備案査詢
http://www.beian.gov.cn/portal/recordQuery公安部備案査詢
Github資訊
推薦星數:★★
Github不僅能託管代碼,還能對程式碼進行蒐索,當上傳並公開程式碼時,一時大意,會讓某些敏感的配寘資訊檔案等暴露於眾。Github主要收集:
1.洩露源碼
2.洩露資料庫、郵箱、ftp、ssh、3389等帳號
3.洩露的人員資訊
4.洩露其他敏感資訊
SVN資訊
推薦星數:★★
SVN(subversion)是原始程式碼版本管理軟體,造成SVN原始程式碼漏洞的主要原因是管理員操作不規範。“在使用SVN管理本地程式碼過程中,會自動生成一個名為.svn的隱藏資料夾,其中包含重要的原始程式碼資訊。但一些網站管理員在發佈程式碼時,不願意使用‘匯出’功能,而是直接複製程式碼資料夾到WEB服務器上,這就使.svn隱藏資料夾被暴露於外網環境,駭客可以借助其中包含的用於版本資訊追跡的entries檔案,逐步摸清網站結構。”(可以利用.svn/entries檔案,獲取到服務器源碼、svn服務器帳號密碼等資訊)。
郵箱資訊
推薦星數:★★
常見的線上郵箱收集網站,這些網站通過爬蟲,搜尋引擎等管道,獲取互聯網上暴露的郵箱地址。
http://www.skymem.info/
https://hunter.io/
https://email-format.com/
網盤資訊收集
推薦星數:★★
http://magnet.chongbuluo.com/
http://www.panduoduo.net/
http://www.zhuzhupan.com/
https://www.quzhuanpan.com/
https://www.panc.cc
漏洞庫資訊
推薦星數:★★
査詢歷史漏洞,獲取目標之前存在的安全問題,可以利用已知漏洞直接對目標系統進行攻擊。
http://www.anquan.us/
埠、服務資訊
推薦星數:★★★
服務和安全是相對應的,每開啟一個埠,那麼攻擊面就大了一點,開啟的埠越多,也就意味著服務器面臨的威脅越大。
收集方法:
(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)線上查詢工具
http://tool.chinaz.com/subdomain/
https://www.virustotal.com/
https://censys.io/
https://x.threatbook.cn/
https://phpinfo.me/domain/
(4)網路空間資產搜尋引擎
Zoomeye
Shodan
Fofa
(5)DNS査詢/枚舉
DNS査詢
host -t a domainName
host -t mx domainName
host -t a domainName
host -t mx domainName
優點:非常直觀,通過査詢DNS伺服器的A記錄、CNAME等,可以準確得到相關資訊,較全。
缺點:有很大的局限性,很多DNS是禁止査詢的。
線上查詢網站:
http://tool.chinaz.com/dns/
https://tool.lu/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://crt.sh/?Identity=%%.github.com
https://censys.io/
基於HTTPS證書的子功能變數名稱收集小程式GetDomainsBySSL.py
參攷連結:http://www.freebuf.com/articles/network/140738.html
網站架構
推薦星數:★★★
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檔案
旁站査詢
推薦星數:★★★
旁站資訊:旁站是和目標網站在同一臺服務器上的其它的網站,主站無法獲取許可權的情况下,旁站便可以作為攻擊入口。
旁站資訊收集:
http://s.tool.chinaz.com/same
https://phpinfo.me/bing.php
https://www.aizhan.com/ IP反查功能變數名稱
http://www.webscan.cc
C段資訊
推薦星數:★★★
C段資訊:C段是和目標服務器ip處在同一個C段的其它服務器。
1.線上介面査詢
http://www.webscan.cc
https://phpinfo.me/bing.php
https://www.chinabaiker.com/cduan.php
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網站有:
http://ping.chinaz.com/
http://ping.aizhan.com/
(2)修改本地hosts檔案,强行將功能變數名稱與IP解析對應,然後訪問功能變數名稱查看頁面是否變化。
繞過CDN查找網站真實IP
(1)查看IP與功能變數名稱綁定的歷史記錄,可能會存在使用CDN前的記錄。
https://dnsdb.io/zh-cn/ DNS査詢
https://x.threatbook.cn/微步線上
http://toolbar.netcraft.com/site_report?url=線上功能變數名稱資訊查詢
http://viewdns.info/ DNS、IP等査詢
https://tools.ipip.net/cdn.php CDN査詢IP
(2)SecurityTrails平臺
https://securitytrails.com
在蒐索欄位中輸入網站功能變數名稱,然後按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的功能變數名稱。
參考資料:https://www.cnblogs.com/mujj/articles/6388550.html
綜合收集
推薦星數:★★★★★
Maltego互聯網情報收集(https://www.freebuf.com/sectool/104949.html)
Recon-NG資訊偵察收集工具(https://www.freebuf.com/articles/web/7385.html)
Kali/Parrot中的其他資訊收集工具
參攷連結:https://www.cnblogs.com/HacTF/p/8026499.html
總結
資訊收集階段應儘量可能多的獲取目標Web應用的各種資訊。資訊收集工作是Web滲透測試最基礎、也是最重要的階段,收集的有用資訊,可大大提高滲透測試的成功率。
*本文原創作者:VllTomFord,本文屬於FreeBuf原創獎勵計畫,未經許可禁止轉載