我的博客經(jīng)常被師傅們用各種掃描器掃,每天都想盡辦法來(lái)釣我魚(yú)。雖然這是一種示好方式,但是久了,老是不給回禮就顯得不禮貌了。所以我就稍微改造了一下博客。
這篇文章將會(huì)是一個(gè)系列,會(huì)告訴大家我是怎么和師傅們斗智斗勇(互相傷害)的。
首先,在滲透的時(shí)候,第一步大家基本都是開(kāi)各種掃描器收集一波信息,在國(guó)內(nèi)用的最多最平常的掃描器應(yīng)該是AWVS系列。
這篇文章是教大家如何利用AWVS的特性,拿到對(duì)方內(nèi)網(wǎng)的脆弱設(shè)備SHELL,給入侵我們的黑客一個(gè)驚喜。
流程

首先,我們先搭建一個(gè)實(shí)驗(yàn)環(huán)境。
分部為攻擊機(jī)A,只需要安裝有AWVS即可。
其次是內(nèi)網(wǎng)的脆弱設(shè)備,基本路由器都是脆弱設(shè)備,所以拿自己家的路由器就可以了。
最后一個(gè)博客的demo,我會(huì)只給demo的代碼,具體利用代碼因?yàn)椴豢擅枋龅脑虿惶峁,但是我相信你們能?xiě)出來(lái)的。
解答部分疑問(wèn)
如何區(qū)分是真人還是awvs在掃描你的網(wǎng)站?難道要專(zhuān)門(mén)搭建一個(gè)蜜罐然后各種算法來(lái)區(qū)分機(jī)器和人?
當(dāng)然不用這么復(fù)雜。AWVS在掃描目標(biāo)網(wǎng)站的時(shí)候,首先會(huì)爬取目標(biāo)網(wǎng)站的所有鏈接,包括被注釋掉的瀏覽器不顯示的鏈接。
我們可以利用這一點(diǎn),來(lái)區(qū)分是真人訪(fǎng)問(wèn)還是瀏覽器掃描。
畢竟真人是看不見(jiàn)被注釋掉的鏈接的。
我瀏覽網(wǎng)站有F12的習(xí)慣。
首先,鏈接我不會(huì)放在博客的首頁(yè),是一大堆文章里面某個(gè)不起眼的文章里面。除非你看完我每一篇文章且都拿F12慢慢找。就算你毅力非凡閑的無(wú)聊找到了被注釋的鏈接,點(diǎn)進(jìn)去,也只覺(jué)得是一個(gè)普通的坑人的鏈接,相信我,我在我的博客上用這招拿了不少師傅的路由器shell,至今沒(méi)被發(fā)現(xiàn)。也只有敬業(yè)的掃描器會(huì)全部頁(yè)面找一遍了。
為什么不直接做CSRF?
因?yàn)槲覀冃枰M(jìn)行POST的請(qǐng)求。大部分的EXP都需要POST來(lái)觸發(fā)。而因?yàn)闉g覽器的跨域限制,AJAX的POST只能在同域名下的。如果強(qiáng)行POST請(qǐng)求,將會(huì)整個(gè)頁(yè)面都會(huì)跳轉(zhuǎn)過(guò)去。就算是一個(gè)普通用戶(hù),發(fā)現(xiàn)頁(yè)面突然跳轉(zhuǎn)到自己路由器的管理頁(yè)面,都會(huì)發(fā)現(xiàn)不對(duì),何況師傅們。
為什么要用AWVS來(lái)完成這個(gè)CSRF?
AWVS是典型的掃描器,大部分的掃描器都是通過(guò)內(nèi)置瀏覽器,來(lái)請(qǐng)求目標(biāo)網(wǎng)站,然后各種發(fā)POC各種爬鏈接。掃描器不像人那樣會(huì)變通,如果掃描器遇到上面我說(shuō)的情況,它會(huì)內(nèi)心毫無(wú)波動(dòng)的繼續(xù)掃描。所以利用掃描器來(lái)完成我們的攻擊更有價(jià)值。
你的博客地址是?
死心吧,我不會(huì)暴露自己的,別問(wèn)了,如果師傅們發(fā)現(xiàn),我可能就被打死了….
AWVS的掃描范圍我記得是用戶(hù)自己勾選的啊,不會(huì)給其他不在范圍內(nèi)的域名或者網(wǎng)站發(fā)任何請(qǐng)求的啊
當(dāng)然,AWVS不會(huì)對(duì)不在掃描范圍內(nèi)的網(wǎng)站或者ip進(jìn)行測(cè)試,當(dāng)然,只是不測(cè)試而已,它可能是因?yàn)榛趦?nèi)置瀏覽器的緣故,有一些有趣的小特性,來(lái)幫助我們完成這次攻擊。算是一個(gè)有趣的邏輯漏洞?
為什么不用GET類(lèi)的EXP來(lái)做CSRF,這樣既可以攻擊到……還可以……
停,二狗子你閉嘴。GET類(lèi)型的可以拿SHELL的EXP我好像就沒(méi)見(jiàn)到過(guò)幾個(gè),其次,這篇文章是教怎么利用AWVS拿路由器的SHELL,是用POST的EXP。我相信大家手上的基本都是POST類(lèi)型的0DAY。如果直接用GET的exp這篇文章兩句就可以結(jié)束了。
還有,二狗子我看你不順眼好久了,你跑過(guò)來(lái)問(wèn)東問(wèn)西什么意思,想砸我場(chǎng)子么?滾滾滾
原理

這是這次demo的數(shù)據(jù)庫(kù)結(jié)構(gòu)。

上面是用來(lái)模擬藏在某個(gè)頁(yè)面的陷阱鏈接。

當(dāng)點(diǎn)擊上面的鏈接,就會(huì)跳到這個(gè)自動(dòng)發(fā)出post請(qǐng)求的頁(yè)面。然后向同目錄的hello.php發(fā)出一個(gè)測(cè)試請(qǐng)求。

接收上個(gè)頁(yè)面?zhèn)鬟f的post數(shù)據(jù),并且存入數(shù)據(jù)庫(kù)。
然后訪(fǎng)問(wèn)index.php就可以看到存入的數(shù)據(jù)。

上面是掃描結(jié)果,我們可以看到,因?yàn)槲以趆ello.php里面直接拼接字符串,導(dǎo)致了一個(gè)注入,但注入不是重點(diǎn)。重點(diǎn)是我們可以得知awvs測(cè)試了hello.php這個(gè)頁(yè)面。
這是掃描之前的頁(yè)面:

這是掃描之后的頁(yè)面

可以看到awvs先發(fā)送了本來(lái)預(yù)設(shè)的Hello和Word這兩個(gè)字符串,然后才開(kāi)始的測(cè)試,注意這個(gè)細(xì)節(jié)。

當(dāng)然,這只是awvs在掃描目標(biāo)站中的某個(gè)含有漏洞的頁(yè)面。我們?cè)囋嚢裵ost的目標(biāo)換為其他ip,在讓awvs掃描試試。192.168.1.5扮演同內(nèi)網(wǎng)下的脆弱設(shè)備?纯碼wvs這次會(huì)怎么樣。PS:這個(gè)在192.168.1.5上面的hello.php的代碼和上面的hello.php是一樣的。只是為了模擬不同的ip所以放在了另外一臺(tái)電腦上
當(dāng)然,再此之前,請(qǐng)執(zhí)行
DELETE FROM txt WHERE id>1;
這句sql語(yǔ)句,刪掉之前測(cè)試的內(nèi)容,恢復(fù)到掃描之前的狀態(tài),然后在開(kāi)始掃描。

這是第二次掃描結(jié)果,可以看到并沒(méi)有發(fā)現(xiàn)之前的sql注入漏洞,是不是代表awvs沒(méi)有訪(fǎng)問(wèn)在192.168.1.5上面的hello.php文件呢?

然而卻莫名其妙多了幾個(gè)hello word。
事實(shí)上,awvs確實(shí)不會(huì)對(duì)不在掃描范圍內(nèi)的域名或者ip進(jìn)行測(cè)試,所以沒(méi)有像之前那樣找到sql注入漏洞,但是經(jīng)過(guò)我的試驗(yàn),可能因?yàn)閮?nèi)置瀏覽器的原因,會(huì)去發(fā)送我們預(yù)定好的字符串。這個(gè)有趣的特性可以被我們利用,用來(lái)給師傅們一個(gè)驚喜….
實(shí)戰(zhàn)

某路由器的遠(yuǎn)程命令執(zhí)行漏洞。登陸后臺(tái)則是有回顯執(zhí)行,不登陸則無(wú)回顯執(zhí)行。
這個(gè)用做內(nèi)網(wǎng)脆弱設(shè)備,也就是我的路由器。明知有漏洞卻沒(méi)錢(qián)換新路由器…..(192.168.1.1)。
以及陷阱博客(192.168.1.8)。
還有攻擊機(jī)&被坑機(jī)來(lái)用awvs掃描博客(192.168.1.6)
一臺(tái)裝了msf的電腦,用來(lái)生成后門(mén)和監(jiān)聽(tīng)(192.168.1.5)

修改demo的代碼,加入exp。打碼部分為exp內(nèi)容。

awvs掃描完成(原諒我偷懶,但是結(jié)果是一樣的)
AWVS沒(méi)有任何異常,它耿直的沒(méi)有發(fā)現(xiàn)有任何不對(duì)并且順手幫我們拿到了shell。

無(wú)聲收割shell
總結(jié)
這篇文章用來(lái)給這個(gè)反擊系列開(kāi)頭,拋磚引玉一波,我相信很多人都對(duì)于單方面的防御已經(jīng)玩膩了。目前我的博客上面有幾十個(gè)這種陷阱,每個(gè)對(duì)應(yīng)一個(gè)exp。感覺(jué)類(lèi)似于xss盲打,大部分針對(duì)路由器,畢竟家用路由器的漏洞更好挖,安全性更差。實(shí)際上大部分的安全工具或多或少都有各種各樣的特性(邏輯漏洞)。仔細(xì)研究就可以用來(lái)懟師傅們和腳本小子。下個(gè)星期發(fā)下一篇。
|