一.滲透測試之信息收集
~1.1搜集域名信息
——1.1.1whois查詢:注冊商、郵箱電話、聯系電話、更新創建過期時間、域名服務器、DNS
在線whois查詢的網站有愛站工具網、站長之家、VirusTotal
——1.1.2備案信息查詢:常用的網站有 ICP備案查詢網、天眼查
~1.2收集敏感信息
——Google語法:
site:指定域名
inurl:url中存在關鍵字的網頁
intext:網頁正文中的關鍵字
filetype:指定文件類型
intitle:網頁標題中的關鍵字
link:表示返回所有和xx做了鏈接的url
info:查找指定站點的一些基本信息
還可以用它來收集數據庫文件、SQL注入、配置信息、源代碼泄露、未授權訪問和robots.txt等
當然不僅是Google搜索引擎,這種搜索思路還可以用在百度、雅虎、Bing、Shodan等
~1.3收集子域名信息
——1.3.1什么是域名:
對於http://mail.163.com/index.html
http://:這個是HTTP超文本傳輸協議,也就是網頁在網上傳輸的協議。
mail:這個是服務器名,代表着是一個郵箱服務器
163.com:這個是域名,是用來定位網站的獨一無二的名字。
mail.163.com:這個是網站名,由服務器名+域名組成。
/:這個是根目錄,也就是說,通過網站名找到服務器,然后在服務器存放網頁的根目錄
index.html:這個是根目錄下的默認網頁
http://mail.163.com/index.html:這個叫做URL,統一資源定位符
頂級域名:.com
二級域名:163.com
三級域名:mail.163.com
——1.3.2收集子域名信息
用於子域名搜集的工具主要有:Layer子域名挖掘機、Sublist3r、subDomainsBrute、dnsaper、k8、Maltego CE、wydomain、等,重點推薦前三款工具
——1.3.3搜索引擎枚舉
我們可以用Google語法搜索子域名,如site:baidu.com
——1.3.4第三方聚合應用枚舉
可以利用DNSdumpster網上、在線DNS偵查和搜索的工具挖掘出指定域隱藏的大量子域
——1.3.5證書透明度公開日志枚舉
推薦https://crt.sh和https://censys.io,還可以利用在線網站查詢子域名,如子域名爆破網站(https://phpinfo.me/old/domain)、IP反查綁定域名網站(https://dns.aizhan,con)等
~1.4收集常用端口信息
——1.4.1常用的端口掃描工具:
Namp,Masscan,ScanPort,ZMap和御劍高速TCP端口掃描工具等
——1.4.2常見的端口:
-文件共享服務端口:
端口號 端口說明 攻擊方向
21/22/69 Ftp/Tftp文件傳輸協議 允許匿名的上傳、下載、爆破和嗅探的操作
2049 Nfs服務 配置不當
139 Samba服務 爆破、未授權訪問,遠程代碼執行
389 Ldap目錄訪問協議 注入、允許匿名訪問、弱口令
-遠程連接服務器端口:
端口號 端口說明 攻擊方向
22 SSH遠程連接 爆破、SSH隧道及內網代理轉發、文件傳輸
23 Telnet遠程連接 爆破、嗅探、弱口令
3389 Rdp遠程桌面連接 Shift后門、爆破
5900 VNC 弱口令爆破
5632 PyAnywhere服務 抓密碼、代碼執行
-數據庫服務端口:
3306 MySQL 注入、提權、爆破
1433 MSSQL 注入、提權、爆破、SA弱口令
1521 Oracle TNS爆破、注入、反彈shell
5432 PostgreSQL 注入、爆破、弱口令
27017/27018 MongoDB 爆破、未授權訪問
6379 Reids 可嘗試未授權訪問、弱口令爆破
5000 SysBase/DB2 爆破、注入
-Web應用服務端口:
80/443/8080 常見的web服務 web攻擊、爆破、對應服務器版本漏洞
7001/7002 Weblogic控制台 java反序列化、弱口令
8080/8089 Jboss/Resin/Jetity/Jenkins 反序列化、控制台弱口令
9090 WebSphere控制台 java反序列化、弱口令
4848 GlassFish控制台 弱口令
1352 Lotus domino郵件 弱口令、信息泄露、爆破
10000 Webmin-Web控制面板 弱口令
-郵件服務:
25 SMTP郵件服務 郵件偽造
110 POP3 爆破、嗅探
143 IMAP協議 爆破
-網絡常見協議端口:
53 DNS域名系統 允許區域傳送、DNS劫持、緩存投毒、欺騙
67/68 DHCP服務 劫持、欺騙
161 SNMP協議 爆破、搜集目標內網信息
-特殊服務端口:
2181 Zookeeper服務 未授權訪問
8069 Zabbix服務 遠程執行、SQL注入
9200/9300 Elasticsearch 遠程執行
11211 Memcache服務 未授權訪問
512/513/514 Linux Rsync服務 爆破、Rlogin登錄
873 Rsync服務 匿名訪問、文件上傳
3690 Svn服務 Svn泄露,未授權訪問
50000 SAP Management Console 遠程執行
~1.5指紋識別
——1.5.1本文的指紋:
指網站CMS指紋識別、計算機操作系統及Web容器的指紋識別等
——1.5.2CMS:
常見的CMS有Dedecms(織夢)、Discuz、PHPWEB、PHPWind、PHPCMS、ECShop、Dvbbs、SiteWeaver、ASPCMS、帝國、Z-Blog、WordPress等
代表工具有:御劍Web指紋識別、WhatWeb、WebRobo、椰樹、輕量WEB指紋識別,也有在線識別的網站:http://whatweb.bugscaner.com/look/、https://www.yunsee.cn/、https://www.webscan.cc/
~1.6查找真實ip
——1.6.1目標服務器不存在CDN:
可以直接通過http://ip.tool.chinaz.com/、https://site.ip138.com/獲取目標ip及域名信息
——1.6.2CDN:
CDN即內容發布網絡,主要解決因傳輸距離和不同運營商節點造成的網絡速度性能低下的問題。說得簡單點,就是一組在不同運營商之間的對接節點上的高速緩存服務器,把用戶經常訪問的靜態數據資源(例如htnl,css,js圖片等文件)直接緩存到節點服務器上,當用戶再次請求時,會直接發到在離用戶近的節點服務器上響應給用戶,當用戶有實際數據交互時才會從遠程Web服務器上響應,這樣可以大大提高網站的響應速度及用戶體驗
所以如果滲透模目標購買了CDN服務,可以直接ping目標的域名,但得到的並非真正的目標web服務器,只是離我們最近的一台目標節點的CDN服務器,這就導致我們沒法直接得到目標的真實ip段范圍
——1.6.3判斷目標服務器是否使用CDN:
通常會通過ping目標主域,觀察域名的解析情況,以此來判斷是否使用了CDN,還可以通過在線網站https://www.17ce.com/進行全國多地區的ping服務器操作,然后對比每個地區ping出的ip結果,查看這些ip是否一致,如果都是一樣的,極有可能不存在CDN,如果ip大多不一樣或者規律性很強,可以嘗試查詢這些ip的歸屬地,判斷是否存在CDN
——1.6.4繞過CDN尋找真實ip:
·內部郵箱源。一般的郵件系統都在內部,沒有經過CDN的解析,通過目標網站用戶注冊或者RSS訂閱功能,查看郵件、尋找郵件頭中的郵件服務器域名ip,ping這個郵件服務器的域名,就可以獲得目標的真實ip(注意,必須是目標自己的郵件服務器,第三方或公共是沒有用的)
·分站域名。很多網站主站的訪問量會比較大,所以主站都是掛CDN的,但是分站可能沒有掛CDN,可以通過ping二級域名獲取分站ip,可能出現分站和主站不是同一個ip但在同一個c段下面的情況,從而判斷出目標的真實ip段
·國外訪問。國內的CDN往往只對網內用戶的訪問加速,而國外的CDN就不一定了。因此,通過國外在線代理網站App Synthetic Monitor(https://asm.ca.com/en/ping.php)訪問
·查詢域名的解析記錄。也許目標很久以前沒有使用過CDN,所以可以通過網站NETCRAFT(https://www.netcraft.com/)來觀察域名的ip歷史解析
·如果目標網站有自己的app,可以嘗試利用Fiddler或Burp抓取app的請求,從里面找到目標的真實ip
·繞過CloudFlare CDN查找真實ip。現在很多網站使用CloudFlare提供的CDN服務,在確立了目標使用CDN后,可以嘗試先通過在線網站Cloud FlareWatch(http://www.crimeflare.us/cfs.html#box)對CloudFlare客戶網站進行真實ip查詢
——1.6.5驗證獲取的ip
如果是web,最簡單的驗證方式就是直接嘗試用ip訪問,看看響應的頁面是不是和訪問域名返回的一樣;或者在目標段比較大的情況下,借助類似Masscan的工具批掃描對應ip段中所有開了80、443、8080端口的ip,然后逐個嘗試ip訪問,觀察響應結果是否為目標網站
~1.7收集敏感目錄文件
——1.7.1常用的掃描目錄的工具:
DirBuster、御劍后台掃描珍藏版、wwwscan、Spinder.py(輕量級快速單文件目錄后台掃描)、Weakfilescan(輕量級快速單文件目錄后台掃描)等工具
~1.8社會工程學
假設攻擊者對一家公司進行滲透測試,正在收集目標的真實IP階段,此時就可以利用收集到的這家公司的某位銷售人員的電子郵箱。首先,給這位銷售人員發送郵件,假裝對某個產品很感興趣,顯然銷售人員會回復郵件。這樣攻擊者就可以通過分析郵件頭來收集這家公司的真實IP地址及內部電子郵件服務器的相關信息。通過進一步地應用社會工程學,假設現在已經收集了目標人物的郵箱、QQ、電話號碼、姓名,以及域名服務商,也通過爆破或者撞庫的方法獲取郵箱的密碼,這時
就可以冒充目標人物要求客服人員協助重置域管理密碼,甚至技術人員會幫着重置密碼,從而使攻擊者拿下域管理控制台,然后做域劫持。
除此以外,還可以利用"社工庫”查詢想要得到的信息, 社工庫是用社會工程學進行攻擊時積累的各方數據的結構化數據庫。這個數據庫里有大量信息,甚至可以找到每個人的各種行為記錄。利用收集到的郵箱,可以在社工庫中找到已經泄露的密碼,其實還可以通過搜索引|擎搜索到社交賬號等信息,然后通過利用社交和社會工程學得到的信息構造密碼字典,對目標用戶的郵箱和OA賬號進行爆破或者撞庫。就可以冒充目標人物要求客服人員協助重置域管理密碼,甚至技術人員會幫着重置密碼,從而使攻擊者拿下域管理控制台,然后做域劫持。
