可能很多人都不理解為什么信息收集與web滲透有什么關系,其實信息收集在滲透過程中起到了很重要的作用。古人雲知己知彼方能百戰不殆,在進行真實的滲透過程中,首先要做的就是提前收集攻擊目標的信息,通過對信息的收集分析,從而確定攻擊方向、攻擊范圍以及攻擊手段等等等等。在真實攻防過程中,做好信息收集工作,甚至能達到事半功倍的效果。
此外,由於筆者非網絡安全科班出生,筆者所學未成體系,本文內容結合購課自學內容以及實戰參與網絡攻防演習的經歷來寫的,對相關術語理解表述有誤等情況難免發生,望各位讀者海涵指正。
收集內容
信息資產
筆者將web滲透過程中收集到如下的內容合稱為信息資產
- 網站域名
- 網站子域名信息
- 目標網站信息
- 目標網站真實IP
- 目標網站開放端口
- 目標網站中間件(web容器)信息(如apache等)
- 網站目錄結構
- 服務器相關信息
- 網站指紋
- 傳輸協議,通用漏洞
首先,我們來說網站域名信息,目標站的主域名在攻防過程中應該是確定的。其實從域名中可以獲得很多有用的信息,例如網站的擁有者是誰?甚至可以查出網站所有者的郵箱,然后再通過其他途徑可以查詢到運營者的相關信息,進而實施我們經常聽到的一種攻擊手段——“社工攻擊”。
其次,網站子域名的收集也及其重要,在真實的業務環境下,目標各站直接都有想不到的聯系!主站的攻擊難度高的情況下,選擇攻擊子域名下的網站沒准就能得到不少的收獲,甚至在拿下子網站的情況下做到攻陷全網,拿下攻防的全部分數而讓對手找不到北!
另外,目標網站的真實IP可能會被隱藏,最常見的例如采用CDN技術,如www.t00ls.net這個網站,打開cmd窗口ping一下,你會發現ping的目標網址並非tools網站,這是由於網站采用了CDN技術,要找到真正的IP還得下一番功夫。
此外,通過一些工具可以判斷網站所用的web中間件(或者叫web容器),確定網站所用的web容器及其版本,然后在去搜集該版本所存在的漏洞也不失為一個方向。
最后,收集網站的目錄結構也十分重要,網站的目錄結構有利於后期攻擊過程找到滲透點。
人員信息
- whois信息、姓名等
說一千道一萬,網站最大的bug還是人!人員的誤操作往往是形成網站被攻擊的主要原因。這些網站的所屬人員具有較高的權限,通過分析其上網行為,以及日常行為,可以指定針對性極強的社工攻擊,例如投放釣魚郵件等,聽所在阿里的攻防演習中,還有一種最無解的攻擊方式,那就是拉電閘,當然筆者作為外圍人員只能看到其中的熱鬧,看到阿里應急方案的強悍而已。
此外,在攻防過程中,由於相關人員造成的失誤有很多,這主要是由於相關人員安全意識淡薄,而這些成員甚至包括網站的運行維護成員!同時也說明,安全意識也是十分重要的一環!
信息收集方法
基礎信息收集
筆者將一些不是很難獲取的信息稱之為基礎信息,或者表層信息、公開信息,如一個目標網站的注冊者,網站IP以及DNS解析等,這些信息獲取難度不是很高,基本就是只要會搜索技巧的人都能找出想要的情報。
whois查詢
要知道網站注冊商、注冊人等,利用whois是最好的方式,找到網站的域名后,可通過各whois網站進行查詢,whois查詢站很多,下文就簡單羅列幾個筆者覺得還行的。
- 站長之家:http://whois.chinaz.com/
- 中國萬網:https://whois.aliyun.com/
- 國外whois:https://who.is/
在輸入域名后,網站會詳細的顯示網站的注冊商、注冊人、郵箱、DNS、注冊人聯系電話等等,如果其中一個網站查不到,可以換一個網站查詢。
網站備案查詢
在我國,網站所有者都需要向國家申請備案,如果需要查詢企業備案信息如(單位名稱、備案編號、網站負責人、電子郵箱、聯系電話、法人等)可以在以下幾個網站進行查詢
- 天眼查: https://www.tianyancha.com/
- ICP備案查詢網:http://www.beianbeian.com/
- 愛站備案查詢:https://icp.aizhan.com/
- 域名助手備案信息查詢: http://cha.fute.com/index
注意,這兩部分並非是獨立的,在搜集過程中往往是結合使用。此外,在搜索過程中,注意搜索技巧,拓寬搜索渠道和搜索方式,例如可以通過不斷更換搜索關鍵詞的方式獲取更多的信息等,這些都需要收集者要有靈活的思維和處理方式。
網站信息收集
這里主要收集的信息包括網站的子域名、隱藏域名,我們常常將這些東西稱之為“資產”。
子域名收集
為什么要搜集網站的子域名?在收集之前,要明確,子域名中通常包含了辦公系統、郵件系統、論壇、商城甚至是網站后台等資產。正如前文所說,收集子域名能夠擴大測試范圍,增加滲透點和滲透幾率。
收集子域名前,先找到目標站點,在官網中可能找到相關資產,例如讀者隨便進入一個學校網站,一般在網站的底部都會有一些軟連接。
總結來說,查找目標域名信息的方式有以下幾種
- FOFA:輸入
itle="公司名稱"
- 百度:輸入
intitle=公司名稱
- google :輸入
intitle=公司名稱
- 站長之家:直接搜索名稱或者網站域名即可,http://tool.chinaz.com/
- 鍾馗之眼:使用
site=域名
即可,https://www.zoomeye.org/
找到主站可利用以下幾種在線的方式查詢子域名
- https://phpinfo.me/domain/
- https://www.t1h2ua.cn/tools/
- IP138查詢子域名https://site.ip138.com/moonsec.com/domain.htm
- 使用Hackertarget查詢:https://hackertarget.com/find-dns-host-records/
- 360測繪空間:https://quake.360.cn/,用法——
domain:".freebuf.com"
當然,可以以使用相關腳本,如
- SubDomainBrute
- Sublist3r
- OneForALL
- WyDomain
- FuzzDomain
此外,很多時候訪問資產IP得到401、403、404、500的響應,但是域名請求卻能訪問正常的業務系統,這是因為大多數都是需要幫等host才能正常訪問,這時我們就可以通過域名加資產IP段的方式進行捆綁碰撞,可能有意外收獲。詳細請看:https://mp.weixin.qq.com/s/fuASZODw1rLvgT7GySMC8Q
如果需要查詢dns,可是使用
端口掃描
再確認目標大致的IP段后,就需要對IP的開放端口進行探測。為什么要探測端口呢?因為端口和對外的服務是綁定的,就相當於去辦事大廳辦事,開放的端口會各司其職,遇到特殊情況窗口會增加或者減少,即對外的服務會增加或者減少。
端口掃描可以使用如下幾種工具:
- msscan
- 御劍
- nmap
當然還可以使用在線端口檢測的方式,嘿嘿,作為菜鳥,在線的方式是一個隱藏自身ip的好辦法
通過掃描,得到端口數據到底有啥用?要知道有啥用,就得先知道端口對應的服務。
- web類端口
- 80
- 80-89
- 8000-9090
- 數據庫類端口
- 1433 MSSQL
- 1521 Oracle
- 3306 MySQL
- 5432 PostgreSQL
- 特殊服務類端口
- 443 SSL網頁瀏覽端口,主要用於HTTPS服務
- 873 Rsync服務,該服務存在未授權訪問漏洞
- 5984 CouchDB,同樣存在未授權訪問漏洞
- 6379 redis未授權漏洞
- 7001、7002 WebLogic弱口令,反序列
- 9200,9300 elasticsearch 參考WooYun: 多玩某服務器ElasticSearch命令執行漏洞
- 11211 memcache未授權訪問
- 27017,27018 Mongodb未授權訪問
- 50000 SAP命令執行
- 50070,50030 hadoop默認端口未授權訪問
而我們常常關注的端口有,也可以查看https://www.cnblogs.com/xunta/p/10995230.html的博客
- 21 ftp
- 22 ssh
- 23 Telent
- 2601,2604 zebra路由,默認密碼維zebra
- 3389 遠程桌面
常見的端口及其攻擊方法見下表:
端☐號 | 服務 | 攻擊方法 |
---|---|---|
21/22/69 | fp/ttp文件傳輸協議 | 爆破嗅探溢出后門 |
22 | ssh遠程連接 | 爆破OpenSSH ; 28個退格 |
23 | telnet遠程連接 1 | 爆破嗅探 |
25 | smtp郵件服務 | 郵件偽造 |
53 | DNS域名系統 | DNS區域傳輸DNS劫持DNS緩 存投毒DNS欺騙深度利用:利 用DNS隧道技術刺透防火牆 |
67/68 | dhcp | 劫持欺騙 |
110 | pop3 | 爆破 |
139 | samba | 爆破未授權訪問遠程代碼執行 |
143 | imap | 爆破 |
161 | snmp | 爆破 |
389 | Idap | 注入攻擊未授權訪問 |
512/513/514 | linuxr | 直接使用rlogin |
873 | rsync | 未授權訪問 |
1080 | socket | 爆破:進行內網滲透 |
1352 | lotus | 爆破:弱☐令信息泄漏源代碼 |
1433 | mssql | 爆破:使用系統用戶登錄注入攻 擊 |
1521 | oracle | 爆破: TNS注入攻擊 |
2049 | nfs | 配置不當 |
2181 | zookeeper | 未授權訪問 |
3306 | mysql | 爆破拒絕服務注入 |
3389 | rdp | 爆破Shift后門 |
4848 | glassfish | 爆破:控制台弱☐令認證繞過 |
5000 | sybase/DB2 | 爆破注入 |
5432 | postgresql | 緩沖區溢出注入攻擊爆破:弱☐ 令 |
5632 | pcanywhere | 拒絕服務代碼執行 |
5900 | vnc | 爆破:弱☐令認證繞過 |
6379 | redis | 未授權訪問爆破:弱☐令 |
7001 | weblogic | Java反序列化控制台弱☐令控制 台部署webshell |
8069 | zabbix | 遠程命令執行 |
8080-8090 | web | 常見web攻擊控制台爆破對應服 務器版本漏洞 |
9090 | websphere控制台 | 爆破:控制台弱☐令Java反序例 |
92/93 | elasticsearch | 遠程代碼執行 |
11211 | memcacache | 未授權訪問 爆破未授權訪向 水游費全類驗強 |
27017 | mongodb | 爆破未授權訪問 |
真實IP查找
如果讀者需要查找真實的服務器,那么就必須要獲取真實ip,然后再根據真實IP繼續查詢旁站。很多時候,主站雖然使用了CDN技術,但是子域名可能沒有做CDN,當主站和子域名都在一個ip段中,那么也通過子域名的真實ip來確定主站ip。
可以使用多地ping以確認是否使用CDN技術,某些在線網站提供了多地ping的服務
該網站的歷史DNS解析記錄有可能會暴露真實IP,這不失為一種快速查找真實IP的方式,但是並不是所有的網站都能查到,可以使用
- DNSDB:https://dnsdb.io/zh-cn/
- 微同步在線:https://x.threatbook.cn/
- https://tools.ipip.net/cdn.php
- https://viewdns.info/ 該網站不需要登陸,唯一確定就是英文頁面,不大友好
此外,如果網站存在phpinfo泄露,可以在phpinfo中的SERVER_ADDR或_SERVER[“SERVER_ADDR"]找到真實ip
也可以通過繞過CDN的方式,可參考https://www.cnblogs.com/qiudabai/p/9763739.html
旁站和C段
為什么要收集旁站?因為旁站往往存在業務功能站點,攻防過程中可以先收集已有IP的旁站,再探測C段,確認C段目標后,再在C段的基礎上收集一次旁站。什么是C站?什么是旁站?可參考https://www.cnblogs.com/renhaoblog/p/13026361.html
查詢旁站的網站有
- http://stool.chinaz.com/same
- https://chapangzhan.com/
- https://blog.csdn.net/qq_36119192/article/details/84029809
- FOFA
- https://c.webscan.cc/
讀者須知:
本文所記知識點,主要為暗月web培訓課中所提及知識點,文中有對相關知識點的理解,但更多是對課堂內容的記錄,如果本文有誤請以你的版本為准,同時歡迎各位讀者點評指正。
聲明:請讀者遵守相關法律,嚴禁讀者利用以上介紹知識點對網站進行非法操作 , 本文僅用於技術交流和學習 , 網絡不是法外之地,如果您利用文章中介紹的知識對他人造成損失 , 后果由您自行承擔 。