一、說明
《Metasploit滲透測試魔鬼訓(xùn)練營》等書已經(jīng)對滲透測試的步驟流程劃分得比較合理透徹了,但感覺在多次通讀該類書藉之后仍總感覺不得要領(lǐng)----要對一臺給定的主機(jī)進(jìn)行滲透還是不懂到底該如何著手。想來主要是存在以下兩個問題。
第一個是在滲透操作系統(tǒng)時,最為關(guān)鍵的是從漏洞分析到滲透攻擊這一步很難跨越。因為按書中漏洞分析基本只有openvas等漏洞掃描器一條途徑,漏洞利用只有Metasploit搜索一條途徑;而漏洞掃描器掃出漏洞Metasploit中又正好有利用模塊更是少之又少。
第二個是在滲透web系統(tǒng)時,還是和其他很多書籍一樣只講漏洞,而并不能很明確地指出面對一個web系統(tǒng)我怎么知道在哪我應(yīng)該檢測哪些漏洞。
本文一是肯定和總結(jié)現(xiàn)在主流的滲透測試的步驟,二是拓展?jié)B透操作系統(tǒng)時從漏洞分析到滲透攻擊的途徑,三是指出滲透web系統(tǒng)可采用“功能–功能對應(yīng)檢測點”這種觸發(fā)式滲透方式。
滲透流程可參考下圖
二、滲透操作系統(tǒng)
操作系統(tǒng)類漏洞一般都是大神們通過代碼審計/逆向分析挖掘的漏洞,這需要高深的知識儲備,對于一般的滲透而言利用已知漏洞即可,不用也不要自己去挖掘這類漏洞。而查找操作系統(tǒng)類漏洞最關(guān)鍵的操作就是確定端口后邊的軟件及軟件版本,然后得用得到的軟件名+軟件版本到各漏洞庫去查找其存在的漏洞乃至exp。
2.1 獲取正在監(jiān)聽端口的軟件及該軟件的版本號
比如假設(shè)我們探測到8080端口為tomcat監(jiān)聽,版本號為8.5.14
2.2 搜索已有漏洞庫,獲取該軟件及相應(yīng)版本存在的漏洞列表
2.2.1 搜索CVE漏洞庫,獲取軟件及相應(yīng)版本存在的漏洞列表
就這樣我們就找到了tomcat 8.5.14版本存在的幾個漏洞,后邊以CVE-2017-12617為例
【一>所有資源關(guān)注我,私信回復(fù)“資料”獲取<一】
1、很多已經(jīng)買不到的絕版電子書
2、安全大廠內(nèi)部的培訓(xùn)資料
3、全套工具包
4、100份src源碼技術(shù)文檔
5、網(wǎng)絡(luò)安全基礎(chǔ)入門、Linux、web安全、攻防方面的視頻
6、應(yīng)急響應(yīng)筆記 7、 網(wǎng)絡(luò)安全學(xué)習(xí)路線
8、ctf奪旗賽解析
9、WEB安全入門筆記
2.3 查看CVE具體信息
2.3.1 在cvedetails查看CVE具體信息
2.3.2 在mitre查看CVE具體信息
2.4 通過CVE查找EXP
2.4.1 在上邊的cve details或m itre結(jié)果中拉到后邊的Refer ences For CVE-xxx參考區(qū)里邊有可能有exp鏈接
在上邊已經(jīng)可看到CVE-2017-12617對應(yīng)的exploit-db和metasploit中的exp鏈接
2.4.2 在上邊的cvedetails中直接點擊搜索twitter/youtube/google
2.4.3 到metasploit數(shù)據(jù)庫查找exp(msfconsole中search可能需要更新)
2.4.4 到exploit數(shù)據(jù)庫查找exp(不爬墻驗證碼一般出不來,那只能kali中searc hsploit了)
2.4.6 openvas等系統(tǒng)漏洞掃描器
三、滲透web系統(tǒng)(功能觸發(fā)式檢測法)
web系統(tǒng)也可以利用現(xiàn)成的漏洞,如各類CMS的漏洞(比如ecshop)、各類插件的漏洞(比如wordpress的各類插件漏洞)、各類框架的漏洞(比如struts反序列化)、各類中間件漏洞(比如weblogic反序列化),這類漏洞在確認(rèn)web系統(tǒng)使用了該CMS、該插件、該框架、該中間件之后和操作系統(tǒng)類漏洞一樣到各漏洞庫去找利用方式即可。web滲透更多地是自己去挖掘出其存在的漏洞。
web漏洞我個個喜歡分為業(yè)務(wù)邏輯漏洞和技術(shù)性漏洞兩類,業(yè)務(wù)邏輯漏洞的定性是每套系統(tǒng)都有自己實現(xiàn)無統(tǒng)一的漏洞簽名無法使用通用掃描器發(fā)現(xiàn)的漏洞,技術(shù)型漏洞的定性是因一致的實現(xiàn)或使用一致的第三方組件導(dǎo)致有相對統(tǒng)一的漏洞簽名可以使用通用掃描器發(fā)現(xiàn)的漏洞(其實看下也沒分得那么清還沒想得很清楚)。
很多教程都是東一榔頭西一棒槌講各類漏洞也講得挺清楚,但要去滲透時總感覺一是給定一類漏洞不知道可以去哪些位置找二是給定一個位置又不知道可能會存在哪些漏洞。結(jié)合自己的經(jīng)驗我覺得可以自己構(gòu)建一個“功能----功能對應(yīng)檢測點”的表,以后自己去滲透只要看到web系統(tǒng)有某個功能就去檢測其對應(yīng)檢測點即可。這里暫且稱之為“功能觸發(fā)式檢測法”。
3.1 信息收集(信收集的目地是鎖定可用手段的范圍)
|
|
網(wǎng)站真實IP | 站長、nslookup、dig、www.cz88.net、tcroute |
操作系統(tǒng) | TTL、index.PHP、訪問不存在頁面 |
網(wǎng)站語言 | index等一眾頁面的后綴、res pone包頭 |
服務(wù)器 | 訪問不存在頁面、res pone包頭、wha tweb |
數(shù)據(jù)庫 | 注入報錯、telnet端口 |
主機(jī)端口 | Nm ap、arp_sw wep、po rtscan |
子域名查詢 | subdo main.ch axun.la |
網(wǎng)站CMS | Power By、site+“CMS”;百度”xxx CMS漏洞“ |
攻擊面解析 | awvs等爬蟲式發(fā)現(xiàn)頁面、御劍/dirb等爆破式發(fā)現(xiàn)隱藏頁面、如果是某種標(biāo)準(zhǔn)協(xié)議則查看協(xié)議查找隱藏接口或隱藏參數(shù) |
3.2 業(yè)務(wù)漏洞檢測(各項業(yè)務(wù)都可攻擊)
階段 | 功能 | 功能對應(yīng)檢測點 |
身份認(rèn)證 | 用戶注冊 | 是否可以重復(fù)注冊 |
身份認(rèn)證 | 密碼修改 | 修改密碼邏輯是否有問題 |
身份認(rèn)證 | 密碼重置 | 重置密碼邏輯是否有問題 |
身份認(rèn)證 | 短信驗證碼 | 短信炸彈 |
身份認(rèn)證 | 短信驗證碼 | 短信驗證碼是否可爆破 |
身份認(rèn)證 | 圖片驗證碼 | 驗證碼是否可以重復(fù)使用 |
身份認(rèn)證 | 登錄 | 登錄邏輯是否有問題 |
身份認(rèn)證 | 用戶憑證存儲 | 登錄憑證是否存在localStore或sessionStore中 |
會話管理 | 登錄 | 會話ID生成機(jī)制是否有問題 |
會話管理 | 登錄 | 是否有自動退出機(jī)制 |
會話管理 | 退出 | 退出后會話ID是否真的失效 |
訪問控制 | 用戶信息查看 | 是否可以水平越權(quán)訪問其他用戶頁面 |
訪問控制 | 具有管理員界面 | 是否可以垂直越權(quán)訪問管理員頁面 |
訪問控制 | 具有管理員接口 | 普通用戶直接發(fā)包是否也會響應(yīng) |
業(yè)務(wù)邏輯 | 購買 | 修改價格后端是否會再次校驗 |
業(yè)務(wù)邏輯 | 多步功能 | 能否跳過其中某些步 |
業(yè)務(wù)邏輯 | 請求次數(shù)限制 | 服務(wù)端如何限制是否可以繞過 |
業(yè)務(wù)邏輯 | 好友查詢類 | 查詢自己好友是否把好友的密碼等都返回來 |
3.3 技術(shù)型漏洞檢測
功能 | 功能對應(yīng)檢測點 | 測試基本代碼 | 相關(guān)工具 |
從數(shù)據(jù)庫讀取數(shù)據(jù) | 是否存在sql注入 | and ‘1’ ='1 | sqlmap |
用戶輸入被返回前端頁面 | 是否存在xss |
| awvs等 |
功能使用的是請求/響應(yīng)模式 | 是否存在csrf |
| awvs等 |
文件上傳 | 是否有文件類型、大小限制 |
|
|
文件下載 | 是否存在目錄遍歷 | …/etc/passwd |
|
文件瀏覽 | 是否存在目錄遍歷 | …/etc/passwd |
|
調(diào)用系統(tǒng)命令 | 是否存在命令注入 | ;cat /etc/passwd |
|
重定向 | 是否存在重定向注入 |
|
|
參數(shù) | 參數(shù)超長是否會導(dǎo)致溢出 | 01234567890123456789 |
|
參數(shù) | 參數(shù)有特殊字符是否會導(dǎo)致程序報錯 |
|
|
參數(shù) | 參數(shù)缺失是否會導(dǎo)致程序報錯 |
|
|
四、其他類型滲透
4.1 客戶端攻擊
原理:利用軟件的解析錯誤溢出執(zhí)行裝于文件中的exp
browser_autopwd模塊構(gòu)造網(wǎng)頁自勸溢出攻擊瀏覽器
ms10_087模塊配置生成畸型文件弄到靶機(jī)打開
adobe_cooltype_sing生成畸型pdf攻擊adobe
4.2 社會工程學(xué)
利用msfvenom生成各平臺的包含了payload的木馬
利用setoolkit制作鉤魚網(wǎng)站或有畸形文件的郵件
UitraISO+Hacksaw制作木馬啟動盤
拿著姓名/手機(jī)/郵箱等到各網(wǎng)站搜一圈看注冊信息
4.5 無線安全
aircrack-ng破解wifi密碼
Airmom-ng假冒ap,并利用karma架設(shè)假冒服務(wù)
4.6 后滲透攻擊
所謂后滲透就是拿到主機(jī)shell后,提權(quán)/清除日志/增加更穩(wěn)定后門/內(nèi)網(wǎng)滲透等工作
Meterpreter可以理解為是windows的cmd,linux的shell
日志–C:\Windows\System32\winevt\Logs、/var/log