歡迎光臨
每天分享高質量文章

談談滲透測試中的信息搜集

作者crhua

來自FreeBuf.COM

最近找了一份安全實習,每天對著標的站點進行滲透測試。滲透測試的第一步是信息搜集,那麼你的信息搜集完整性決定了你滲透測試的結果,”知己知彼,百戰不殆”,在此,我分享下我信息搜集的一些經驗。

0x01 前言

信息搜集分為主動信息搜集和被動信息搜集,主動信息搜集是與標的主機進行直接交互,從而拿到我們的標的信息,而被動信息搜集恰恰與主動信息搜集相反,不與標的主機進行直接交互,通過搜索引擎或者社交等方式間接的獲取標的主機的信息。當我們拿到一個標的進行滲透測試的時候,我們關註標的主機的whois信息,子域名,標的IP,旁站C段查詢,郵箱搜集,CMS型別,敏感目錄,端口信息,服務器與中間件信息。針對上邊的信息,網上有很多工具,但是,我們可以自己寫一個工具得到所有的信息,方便滲透測試。

0x02 whois信息

whois信息可以獲取關鍵註冊人的信息,包括註冊公司、註冊郵箱、管理員郵箱、管理員聯繫手機等,對後期社工很有用。同時該工具還可以查詢同一註冊人註冊的其他的域名,域名對應的NS記錄、MX記錄,自動識別國內常見的托管商(萬網、新網等)。常用的工具有:chinaz,kali下的whois命令。

0x03 子域名

在滲透測試的時候,往往主站的防禦會很強,常常無從下手,那麼子站就是一個重要的突破口,因此子域名是滲透測試的主要關註物件,子域名搜集的越完整,那麼挖到的漏洞就可能更多,甚至漏洞的級別也會更高。常用的工具有:搜索引擎(google,baidu,bing),DNS區域傳送漏洞,子域名挖掘機Layer,subDomainsBrute,phpinfo.me,定製字典暴力破解。

0x04 標的IP

現在大部分網站都加了CDN,CDN的虛假IP干擾了我們的滲透測試,如何繞過CDN查找到標的的真實IP,對我們來說非常重要。首先,我們需要判斷下是否存在CDN,方法很簡單,只要在不同地區進行ping檢測就可以知道。不同地區ping同一個網址,得到不同的IP地址,那麼該網站開啟了CDN加速,相反如果得到的是同一個IP地址,那麼極大可能不存在cdn,但是不絕對。常用的工具有多個地點ping服務器-網站測速-站長工具。其次,繞過CDN獲取真實IP的方法互聯網上有很多,我常用的有二級域名法,標的長得一般不會把所有的二級域名放在cdn上,傷錢吶,確定了沒有使用CDN的二級域名後,本地將標的域名系結到同ip,能訪問就說明標的站與二級域名在同一服務器葉可能在同C段,掃描C段所有開80端口的ip,挨個嘗試。nslookup法,大部分CDN提供商只針對國內市場,而對國外市場幾乎是不做CDN,所以有很大的幾率直接解析到真實IP,不過需要國外的冷門的DNS,如下:

209.244.0.3
64.6.64.6
8.8.8.8
9.9.9.9
8.26.56.26
199.85.126.10
208.67.222.222
195.46.39.39
69.195.152.204
208.76.50.50
216.146.35.35
37.235.1.174
198.101.242.72
77.88.8.8
91.239.100.100
74.82.42.42
109.69.8.51
156.154.70.1
1.1.1.1
45.77.165.194

0x05 旁站C段查詢

旁站是和標的網站在同一臺服務器上的其它的網站;如果從標的站本身找不到好的入手點,這時候,如果想快速拿下標的的話,一般都會先找個標的站點所在服務器上其他的比較好搞的站下手,然後再想辦法跨到真正標的的站點目錄中。C段是和標的機器ip處在同一個C段的其它機器;通過標的所在C段的其他任一臺機器,想辦法跨到我們的標的機器上。常用的工具有webscancc,Nmap,Zenmap。

0x06 郵箱收集

首先確定標的的郵件服務器所在的真實位置,看看郵件服務器自身有沒有什麼錯誤配置,比如,沒有禁用VREY或者EXPN命令導致用戶信息泄露。然後從whois中獲取域名的註冊人、管理員郵箱,利用搜索引擎或者社工庫查看有木有泄露的密碼,然後嘗試泄露的密碼進行登錄,最後從標的站點上搜集郵箱,例如網站上的聯繫我們,我們發發郵件釣魚什麼的。常用的工具有kali下的theharester。

0x07 CMS型別

對標的滲透測試過程中,標的CMS是十分重要的信息,有了標的的CMS,就可以利用相關的bug進行測試,進行代碼審計。CMS識別方式有網站特有檔案,例如/templets/default/style/dedecms.css — dedecms;網站獨有檔案的md5,例如favicon.ico,但是該檔案可以被修改導致不准確;網站命名規則傳回頭的關鍵字網頁關鍵字URL特征Meta特征Script特征robots.txt網站路徑特征網站靜態資源爬取網站目錄信息;常用的工具有 雲悉,工具1,BugScaner。

0x08 敏感目錄/檔案

用掃描器掃描目錄,這時候你需要一本強大的字典,重在平時積累。字典越強掃描處的結果可能越多,這一步主要掃出網站的管理員入口,一些敏感檔案(.mdb,.excel,.word,.zip,.rar),查看是否存在原始碼泄露。常見有.git檔案泄露,.svn檔案泄露,.DB_store檔案泄露,WEB-INF/web.xml泄露。目錄掃描有兩種方式,使用目錄字典進行暴力才接存在該目錄或檔案傳回200或者403;使用爬蟲爬行主頁上的所有鏈接,對每個鏈接進行再次爬行,收集這個域名下的所有鏈接,然後總結出需要的信息。常用的工具有:御劍,kali下的dirb,DirBrute。

0x09 端口信息

服務和安全是相對應的,每開啟一個端口,那麼攻擊面就大了一點,開啟的端口越多,也就意味著服務器面臨的威脅越大。開始掃描之前不妨使用telnet先簡單探測下某些端口是否開放,避免使用掃描器而被封IP,掃描全端口一般使用Nmap,masscan進行掃描探測,盡可能多的搜集開啟的端口好已經對應的服務版本,得到確切的服務版本後可以搜索有沒有對應版本的漏洞。常見的端口信息及滲透方法。

端口號 端口服務/協議簡要說明 關於端口可能的一些滲透用途
tcp 20,21 ftp 預設的資料和命令傳輸端口[可明文亦可加密傳輸] 允許匿名的上傳下載,爆破,嗅探,win提權,遠程執行(proftpd 1.3.5),各類後門(proftpd,vsftp 2.3.4)
tcp 22 ssh[資料ssl加密傳輸] 可根據已搜集到的信息嘗試爆破,v1版本可中間人,ssh隧道及內網代理轉發,檔案傳輸,等等…常用於linux遠程管理…
tcp 23 telnet[明文傳輸] 爆破,嗅探,一般常用於路由,交換登陸,可嘗試弱口令,也許會有意想不到的收穫
tcp 25 smtp[簡單郵件傳輸協議,多數linux發行版可能會預設開啟此服務] 郵件偽造,vrfy/expn 查詢郵件用戶信息,可使用smtp-user-enum工具來自動跑
tcp/udp 53 dns[域名解析] 允許區域傳送,dns劫持,快取投毒,欺騙以及各種基於dns隧道的遠控
tcp/udp 69 tftp[簡單檔案傳輸協議,無認證] 嘗試下載標的及其的各類重要配置檔案
tcp 80-89,443,8440-8450,8080-8089 web[各種常用的web服務端口] 各種常用web服務端口,可嘗試經典的top n,vpn,owa,webmail,標的oa,各類java控制台,各類服務器web管理面板,各類web中間件漏洞利用,各類web框架漏洞利用等等……
tcp 110 [郵局協議,可明文可密文] 可嘗試爆破,嗅探
tcp 137,139,445 samba[smb實現windows和linux間檔案共享,明文] 可嘗試爆破以及smb自身的各種遠程執行類漏洞利用,如,ms08-067,ms17-010,嗅探等……
tcp 143 imap[可明文可密文] 可嘗試爆破
udp 161 snmp[明文] 爆破預設團隊字串,搜集標的內網信息
tcp 389 ldap[輕量級目錄訪問協議] ldap註入,允許匿名訪問,弱口令
tcp 512,513,514 linux rexec 可爆破,rlogin登陸
tcp 873 rsync備份服務 匿名訪問,檔案上傳
tcp 1194 openvpn 想辦法釣vpn賬號,進內網
tcp 1352 Lotus domino郵件服務 弱口令,信息泄漏,爆破
tcp 1433 mssql資料庫 註入,提權,sa弱口令,爆破
tcp 1521 oracle資料庫 tns爆破,註入,彈shell…
tcp 1500 ispmanager 主機控制面板 弱口令
tcp 1025,111,2049 nfs 權限配置不當
tcp 1723 pptp 爆破,想辦法釣vpn賬號,進內網
tcp 2082,2083 cpanel主機管理面板登錄 弱口令
tcp 2181 zookeeper 未授權訪問
tcp 2601,2604 zebra路由 預設密碼zerbra
tcp 3128 squid代理服務 弱口令
tcp 3312,3311 kangle主機管理登錄 弱口令
tcp 3306 mysql資料庫 註入,提權,爆破
tcp 3389 windows rdp遠程桌面 shift後門[需要03以下的系統],爆破,ms12-020[藍屏exp]
tcp 4848 glassfish控制台 弱口令
tcp 4899 radmin遠程桌面管理工具,現在已經非常非常少了 抓密碼拓展機器
tcp 5000 sybase/DB2資料庫 爆破,註入
tcp 5432 postgresql資料庫 爆破,註入,弱口令
tcp 5632 pcanywhere遠程桌面管理工具 抓密碼,代碼執行,已經快退出歷史舞臺了
tcp 5900,5901,5902 vnc遠程桌面管理工具 弱口令爆破,如果信息搜集不到位,成功幾率很小
tcp 5984 CouchDB 未授權導致的任意指令執行
tcp 6379 redis未授權 可嘗試未授權訪問,弱口令爆破
tcp 7001,7002 weblogic控制台 java反序列化,弱口令
tcp 7778 kloxo 主機面板登錄
tcp 8000 Ajenti主機控制面板 弱口令
tcp 8443 plesk主機控制面板 弱口令
tcp 8069 zabbix 遠程執行,sql註入
tcp 8080-8089 Jenkins,jboss 反序列化,控制台弱口令
tcp 9080-9081,9090 websphere控制台 java反序列化/弱口令
tcp 9200,9300 elasticsearch 遠程執行
tcp 10000 webmin linux主機web控制面板入口 弱口令
tcp 11211 memcached 未授權訪問
tcp 27017,27018 mongodb 爆破,未授權訪問
tcp 3690 svn服務 svn泄露,未授權訪問
tcp 50000 SAP Management Console 遠程執行
tcp 50070,50030 hadoop 預設端口未授權訪問

0x10 服務器與中間件信息

通過Nmap、Zmap等端口和指紋識別功能搜集,也可以使用nc和telnet獲取Banner信息進行識別,常用工具有whatweb

0x11 其他

探測標的是否存在WAF,WAF識別一般是基於essay-headers頭信息,例如,Mod_Security是為Apache設計的開源Web防護模塊,一個惡意的請求Mod_Security會在響應頭傳回“406 Not acceptable”的信息。waf00f是kali下的識別WAF的老工具,whatwaf不僅可以識別WAF型別還會給出一些bypass 方法;另外從烏雲鏡像站、CNVD搜集網站歷史漏洞對滲透測試也是有很大幫助的。

0x12 自己寫的小腳本

基於以上內容寫個一個蹩腳的腳本,大佬勿噴。

0x13 總結

信息搜集在滲透測試中的作用不言而喻,腳本基於以上文章的內容的編寫,筆者還會繼續完善,若讀者有什麼建議可以留言。菜雞一定虛心接受。最後,信息搜集很重要,信息搜集很重要,信息搜集很重要。

0x14 參考資料

http://www.91ri.org/9016.html

http://www.lsablog.com/network_security/penetration/talk-about-cms-identification/

https://klionsec.github.io/2014/12/12/subdomain-info-serarch/


●編號674,輸入編號直達本文

●輸入m獲取文章目錄

推薦↓↓↓

Python編程

更多推薦18個技術類公眾微信

涵蓋:程式人生、演算法與資料結構、黑客技術與網絡安全、大資料技術、前端開發、Java、Python、Web開發、安卓開發、iOS開發、C/C++、.NET、Linux、資料庫、運維等。

赞(0)

分享創造快樂