文章目錄
- 前期信息收集
- 信息收集的分類
- 信息收集的內容
- 域名信息收集
- Whois
- 備案信息
- whois反查
- SSL證書查詢
- 域名收集工具
- IP收集
- CDN信息收集
- CDN判斷
- CDN繞過
- 端口信息收集
- 常見端口介紹
- FTP-21
- SSH-22
- WWW-80
- NetBlOSSessionService-139/445
- MySQL-3306
- RDP-3389
- Redis-6379
- Tomcat-8080
- 端口掃描
- NMAP
- 操作系統收集
- 敏感文件收集
- Github泄露
- .git泄露
- .svn泄露
- 目錄收集
- 網站WAF識別
前期信息收集
- 信息收集是指通過各種方式獲取所需要的信息,以便后續更好地進行的滲透。比如目標站點IP、中間件、腳本語言、端口、郵箱等等。信息收集包含資產收集但不限于資產收集。
- 信息收集是滲透成功的保障。
信息收集的分類
- 按照收集方式進行劃分,信息收集可以分為主動收集和被動收集。
- 主動收集:通過直接訪問網站在網站上進行操作、對網站進行掃描等,這種是有網絡流量經過目標服務器的信息收集方式。
- 被動收集:基于公開的渠道,比如搜索引擎等,在不與目標系統直接交互的情況下獲取信息,并且盡量避免留下痕跡。
信息收集的內容
- 需要收集的信息包括:域名信息(whois、備案信息、子域名)、服務器信息(端口、服務、真實IP)、網站信息(網站架構、操作系統、中間件、數據庫、變成語言、指紋信息、WAF、敏感信息、敏感文件、源碼泄露)、管理員信息(姓名、職務、生日、聯系電話、郵件地址)。
域名信息收集
- 域名(Domain Name),簡稱域名、網域,是由一串用點分隔的名字組成的Internet上某一臺計算機或計算機組的名稱,用于在數據傳輸時標識計算機的電子方位(有時也指地理位置)。
- DNS(域名系統,DomainName System)是互聯網的一項服務。它作為將域名和IP地址相互映射的一個分布式數據庫,能夠使人更方便地訪問互聯網。
頂級域名 | 二級域名 | 三級域名 |
---|---|---|
.com | yuan.com | www.yuan.com |
Whois
- Whois是用來查詢域名IP和所有者等詳細信息的數據庫。
- 推薦的Whois網址:https://www.whoiscx.com/、https://who.is/、https://www.whois.com/。
備案信息
- 備案號是網站是否合法注冊經營的標志,可以用網頁的備案號反查出該公司旗下的資產。
- web查詢接口:https://icplishi.com/、https://beian.miit.gov.cn/#/Integrated/index、https://beian.mps.gov.cn/#/query/webSearch。
whois反查
- 通過注冊人、注冊人郵箱、注冊人手機反查whois信息,先通過whois獲取注冊人和郵箱,再通過注冊人和郵箱反查域名。
- 缺點是很多公司都是DNS解析的運營商注冊的,查到的是運營商代替個人和公司注冊的網站信息。
- web查詢接口:http://whois.4.cn/、https://whois.aizhan.com/。
SSL證書查詢
- https://crt.sh/
域名收集工具
- SubFinder + KSubdomain + HttpX
- SubFinder:用來查詢域名的子域名信息的工具,使用很多國外安全網站的api接口進行自動化搜索子域名信息。
- HttpX:一款運行速度極快的多功能HTTP安全工具,它可以使用retryablehttp庫來運行多種網絡探針,并使用了多線程機制來維持運行的穩定性和結果的準確性。
- kubdomain:一款基于無狀態子域名爆破工具,支持在Windows/Linux/Mac上使用,它會很快的進行DNS爆破,在Mac和Windows上理論最大發包速度在30w/s,linux上為160w/s的速度。
IP收集
- IP反查域名https://tool.chinaz.com/same、https://www.dnsgrep.cn/
- 如果滲透目標為虛擬主機,那么通過IP反查到的域名信息很有價值,因為一臺物理服務器上面可能運行多個虛擬主機。這些虛擬主機有不同的域名,但通常共用一個IP地址。如果你知道有哪些網站共用這臺服務器,就有可能通過此臺服務器上其他網站的漏洞獲取服務器控制權,進而遷回獲取滲透目標的權限,這種技術稱為"旁注”。
- 域名查詢ip:https://ip.chinaz.com/、https://ipchaxun.com/
- 知道一個站點的域名需要得到它的IP以便之后獲取端口信息或掃描等后續工作。
- 查找與目標服務器IP處于同一個C段的服務器IP。
nmap -sP www.xxX.com/24
nmap -sP 192.168.1.*
CDN信息收集
- CDN即內容分發網絡。CDN是構建在網絡之上的內容分發網絡,依靠部署在各地的邊緣服務器,通過中心平臺的負載均衡、內容分發、調度等功能模塊,使用戶就近獲取所需內容,降低網絡擁塞,提高用戶訪問響應速度和命中率。
CDN判斷
- 多地ping:用各種多地ping的服務,查看對應IP地址是否唯一,可以用于判斷網站是否使用CDN服務。工具網站:https://ping.chinaz.com/、http://www.webkaka.com/Ping.aspx
- 國外訪問:有些網站設置CDN可能沒有把國外的訪問包含進去,所以可以通過國外訪問繞過CDN。
CDN繞過
- CDN繞過:CDN 流量收費高,所以很多站長可能只會對主站或者流量大的子站點做CDN,而很多小站子站點又跟主站在同一臺服務器或者同一個C段內,此時就可以通過查詢子域名對應的IP來輔助查找網站的真實IP。
1.查詢子域名IP。工具網站:https://ip.tool.chinaz.com/ipbatch
- MX記錄郵件服務:MX記錄是一種常見的查找IP的方式。如果網站在與web相同的服務器和IP上托管自己的郵件服務器,那么原始服務器IP將在MX記錄中。
- 查詢歷史DNS記錄:查看IP與域名綁定的歷史記錄,可能會存在使用CDN前的記錄。域名注冊完成后首先需要做域名解析,域名解析就是把域名指向網站所在服務器的IP,讓人們通過注冊的域名可以訪問到網站。工具網址:https://viewdns.info/iphistory/
- 域名解析就是域名到IP地址的轉換過程,域名的解析工作由DNS服務器完成。DNS服務器會把域名解析到一個IP地址,然后在此IP地址的主機上將一個子目錄與域名綁定。域名解析時會添加解析記錄,這些記錄有:A記錄、AAAA記錄、CNAME記錄、MX記錄、NS記錄、TXT記錄。
-
A記錄 A(Address)記錄是用來指定主機名(或域名)對應的IP地址記錄。用戶可以將該域名下的網站服務器指向到自己的web server上。同時也可以設置域名的子域名。簡單的說,A記錄是指定域名對應的IP地址。
-
NS記錄 NS(Name Server)記錄是域名服務器記錄,用來指定該域名由哪個DNS服務器來進行解析。 注冊域名時,總有默認的DNS服務器,每個注冊的域名都是由一個DNS域名服務器來進行解析的,DNS服務器NS記錄地址一般以以下的形式出現: ns1.domain.com、ns2.domain.com等。 簡單的說,NS記錄是指定由哪個DNS服務器解析你的域名。
-
MX記錄 MX(Mail Exchanger)記錄是郵件交換記錄,它指向一個郵件服務器,用于電子郵件系統發郵件時根據收信人的地址后綴來定位郵件服務器。例如,當Internet上的某用戶要發一封信給 user@mydomain.com 時,該用戶的郵件系統通過DNS查找mydomain.com這個域名的MX記錄,如果MX記錄存在, 用戶計算機就將郵件發送到MX記錄所指定的郵件服務器上。
-
CNAME記錄 CNAME(Canonical Name )別名記錄,允許將多個名字映射到同一臺計算機。通常用于同時提供WWW和MAIL服務的計算機。例如,有一臺計算機名為 “host.mydomain.com”(A記錄),它同時提供WWW和MAIL服務,為了便于用戶訪問服務。可以為該計算機設置兩個別名(CNAME):WWW和MAIL, 這兩個別名的全稱就“www.mydomain.com”和“mail.mydomain.com”,實際上他們都指向 “host.mydomain.com”。
-
TXT記錄 TXT記錄,一般指某個主機名或域名的說明,如:admin IN TXT “管理員, 電話:XXXXXXXXXXX”,mail IN TXT “郵件主機,存放在xxx , 管理人:AAA”,Jim IN TXT “contact: abc@mailserver.com”,也就是您可以設置 TXT 內容以便使別人聯系到您。 TXT的應用之一,SPF(Sender Policy Framework)反垃圾郵件。
端口信息收集
- 協議端口,根據提供服務類型的不同,端口可分為以下兩種:
- TCP端口:TCP是一種面向連接的可靠的傳輸層通信協議
- UDP端口:UDP是一種無連接的不可靠的傳輸層協議
- TCP協議和UDP協議是獨立的,因此端口號也互相獨立。TCP:給目標主機發送信息之后,通過返回的應答確認信息是否到達;UDP:給目標主機放信息之后,不會去確認信息是否到達。
- 端口類型
- 周知端口:眾所周知的端口號,范圍:0-1023,如80端口是www服務。
- 動態端口:一般不固定分配某種服務,范圍:49152-65535。
- 注冊端口:范圍:1024-49151,用于分配給用戶進程或程序。
- 滲透端口:https://www.cnblogs.com/bmjoker/p/8833316.html
常見端口介紹
FTP-21
- FTP:文件傳輸協議,使用TCP端口20、21。20用于傳輸數據,21用于傳輸控制信息。
- ftp基礎爆破:owasp的Bruter,hydra以及msf中的ftp爆破模塊。
- ftp匿名訪問:用戶名:anonymous 密碼:為空或者任意郵箱。
- sftpd后門:vsftpd 2到2.3.4版本存在后門漏洞,通過該漏洞獲取root權限。
- 嗅探:ftp使用明文傳輸,使用Cain進行滲透。(但是嗅探需要在局域網并需要欺騙或監聽網關)。
SSH-22
- SSH:(secure shell)是目前較可靠,專為遠程登錄會話和其他網絡服務提供安全性的協議。
- 弱口令,可使用工具hydra,msf中的ssh爆破模塊。
- SSH后門,參考文章滲透基礎-SSH后門分析總結。
WWW-80
80為超文本傳輸協議(HTTP)開放的端口,主要用于萬維網傳輸信息的協議
- 中間件漏洞,如lls、apache、nginx等
- 80端口一般通過web應用程序的常見漏洞進行攻擊
NetBlOSSessionService-139/445
- 139用于提供windows文件和打印機共享及UNIX中的Samba服務。
- 445用于提供windows文件和打印機共享。
- 對于開放139/445端口,嘗試利用MS17010溢出漏洞進行攻擊;
- 對于只開放445端口,嘗試利用MS06040、MS08067溢出漏洞攻擊;
- 利用IPC$連接進行滲透
MySQL-3306
3306是MYSQL數據庫默認的監聽端口
- mysql弱口令破解
- 弱口令登錄mysql,上傳構造的惡意UDF自定義函數代碼,通過調用注冊的惡意函數執行系統命令
- SQL注入獲取數據庫敏感信息,load_file()函數讀取系統文件,導出惡意代碼到指定路徑
RDP-3389
- 3389是windows遠程桌面服務默認監聽的端口
- RDP暴力破解攻擊
- MS12_020死亡藍屏攻擊
- RDP遠程桌面漏洞(CVE-2019-0708)
- MSF開啟RDP、注冊表開啟RDP
Redis-6379
開源的可基于內存的可持久化的日志型數據庫。
- 爆破弱口令
- redis未授權訪問結合ssh key提權
- 主從復制rce
Tomcat-8080
- Tomcat服務器是一個開源的輕量級Web應用服務器,在中小型系統和并發量小的場合下被普遍使用,是開發和調試Servlet、JSP程序的首選。
- Tomcat遠程代碼執行漏洞(CVE-2019-0232)
- Tomcat任意文件上傳(CVE-2017-12615)
- tomcat 管理頁面弱口令getshell
端口掃描
NMAP
- Network Mapper(NMAP),是一款開放源代碼的網絡探測和安全審核的工具。nmap中文參考指南。
主要功能介紹
- 檢測網絡存活主機 (主機發現)
- 檢測主機開放端口(端口發現或枚舉)
- 檢測相應端口軟件(服務發現)版本
- 檢測操作系統,硬件地址,以及軟件版本
- 檢測脆弱性的漏洞(nmap的腳本)
# A:全面掃描\綜合掃描
# T4:掃描速度,共有6級,T0-T5
# 默認掃描端口范圍1~1024
nmap -A -T4 192.168.1.1#單一主機掃描
namp192.168.1.2
#子網掃描
namp 192.168.1.1/24
#多主機掃描
nmap 192.168.1.1 192.168.1.10
#主機范圍掃描
nmap 192.168.1.1-100# 掃描除指定IP外的所有子網主機:
nmap 192.168.1.1/24 --exclude 192.168.1.1
# 掃描除文件中IP外的子網主機:
nmap 192.168.1.1/24 --excludefile xxx.txt# 掃描特定主機上的80,21,23端口
nmap -p 80,21,23 192.168.1.1
- 描全部端口
#
#
nmap -sS -v -T4 -Pn -p 0-65535 -oN FullTCP -iL 192.168.1.1
- sS:SYN掃描,又稱為半開放掃描打8完全的TCP連接,執行得很快,效率高
- 優點:nmap發送SYN包到遠程主機,但是不會產生任何會話,目標主機幾乎不會把連接記入系統日志。(防止對方判斷為掃描攻擊),掃描速度快,效率高。
- 缺點:需要root/administrator權限執行。
- Pn:掃描之前不需要用ping命令,些防火墻禁止ping命令。可以使用此選項進行掃描。
- 掃描常用端口及服務信息
nmap -sS -T4 -Pn -oG TopTCP -iL xxx.txt
# 系統掃描
nmap -O -T4 -Pn -oG OSDetect -iL LiveHosts.txt
# 版本檢測
nmap -sV -T4 -Pn -oG ServiceDetect -iL LiveHosts.txt
操作系統收集
- ping操作:windows TTL值為128,Linux TTL值為64。
nmap -O ip
命令,探測系統信息。
敏感文件收集
- 敏感文件、敏感目錄挖掘一般都是靠工具、腳本來找,比如御劍、BBscan。
github
git
svn
.DS_store
.hg
.bzr
CVS
WEB-INF
備份文件
Github泄露
- 開發人員將代碼上傳到網站,在上傳的時候,沒有刪除重要的一些信息。如郵箱信息,SVN信息,內部賬號和密碼,數據庫連接信息,服務器配置信息等。尤其是郵箱信息和內部賬號和密碼。這類信息可以通過在github上搜索公司的一些特定信息,查看是否有程序員將這些信息上傳到了github上。
- 如公司的域名如下:yuan.com;則可以在github上用這個信息去進行搜索,看看是否有包含該類關鍵字的文件。這類安全漏洞只能靠人員的安全意識進行防護,沒有其它方法進行。
.git泄露
- 前大量開發人員使用git進行版本控制,對網站進行自動部署。如果配置不當,可能會將.git文件部署到線上環境,這就引起了git泄露漏洞。在網站安全維護方面,git和svn信息泄露,是非常常見也是非常致命的漏洞。會導致整個網站的源碼泄露。
- 滲透測試人員、攻擊者,可以進一步審計代碼,挖掘:文件上傳,SQL注入等web安全漏洞。
- 防護方法:在部署的時候,對.git文件夾進行刪除;也可以在nginx配置中,對.git目錄的訪問進行屏蔽。
.svn泄露
- 使用svncheckout功能來更新代碼。如果沒有將.svn版本控制的目錄進行刪除,惡意用戶就可以使用這個目錄下的文件,來恢復源碼。從而可以獲取如數據庫密碼,源碼漏洞等信息。
目錄收集
- 外部黑客可通過暴力破解文件名等方法下載該備份文件,導致網站敏感信息泄露。
- dirsearch、dirmap
網站WAF識別
- WAF(webApplicationFirewall(Web應用防火墻)):用于保護網站,防黑客、防網絡攻擊的安全防護系統;是最有效、最直接的Web安全防護產品。
WAF功能
- 防止常見的各類網絡攻擊,如:SQL注入、XSS跨站、CSRF、網頁后門等。
- 防止各類自動化攻擊,如:暴力破解、撞庫、批量注冊、自動發貼等。
- 阻止其它常見威脅,如:爬蟲、0DAY攻擊、代碼分析、嗅探、數據篡改、越權訪問、敏感信息泄漏、應用層DDOS、遠程惡意包含、盜鏈、越權、掃描等。
WAF識別
- nmap插件
nmap -p80,443 --script http-waf-detect ip
nmap -p80,443 --script http-waf-fingerprint ip
- 常見WAF攔截頁面