作者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、資料庫、運維等。