天天爱天天做天天做天天吃中文|久久综合给久合久久综合|亚洲视频一区二区三区|亚洲国产综合精品2022

  • 
    
    <delect id="ixd07"></delect>

       找回密碼
       注冊

      QQ登錄

      只需一步,快速開始

      冰河淺析 - 揭開木馬的神秘面紗(上)

      [復制鏈接]
      1#
      發(fā)表于 2011-1-13 17:02:16 | 只看該作者 |倒序瀏覽 |閱讀模式
      在網(wǎng)上,大家最關心的事情之一就是木馬:最近出了新的木馬嗎?木馬究竟能實現(xiàn)哪些功能?木馬如何防治?木馬究竟是如何工作的?本文試圖以我國最著名的木馬之一 冰河為例,向大家剖析木馬的基本原理,為大家揭開木馬的神秘面紗。5 v2 D  M7 H0 J0 u, m$ v3 w- |
      0 W: q  V+ r5 V
        木馬冰河是用C++Builder寫的,為了便于大家理解,我將用相對比較簡單的VB來說明它,其中涉及到一些WinSock編程和Windows API的知識,如果你不是很了解的話,請去查閱相關的資料。
      . K4 Y$ D% [* r& T' I
      4 |, i+ z! E1 C                   一、基礎篇(揭開木馬的神秘面紗)0 B  p& i2 q0 S* S- t( p  F" T# r
      * D) C: w7 [9 _$ C4 [7 U
        無論大家把木馬看得多神秘,也無論木馬能實現(xiàn)多么強大的功能,木馬,其實質只是一個網(wǎng)絡客戶/服務程序。那么,就讓我們從網(wǎng)絡客戶/服務程序的編寫開始。
      $ S/ L; J' {; S, }5 d# e3 x  1.基本概念:
      3 R3 a1 d: e0 A   網(wǎng)絡客戶/服務模式的原理是一臺主機提供服務(服務器),另一臺主機接受服務(客戶機)。作為服務器的主機一般會打開一個默認的端口并進行監(jiān)聽(Listen), 如果有客戶機向服務器的這一端口提出連接請求(Connect Request), 服務器上的相應程序就會自動運行,來應答客戶機的請求,這個程序我們稱為守護進程(UNIX的術語,不過已經(jīng)被移植到了MS系統(tǒng)上)。對于冰河,被控制端就成為一臺服務器,控制端則是一臺客戶機,G_server.exe是守護進程, G_client是客戶端應用程序。(這一點經(jīng)常有人混淆,而且往往會給自己種了木馬!甚至還有人跟我爭得面紅耳赤,昏倒!!)) |* _" ^$ `2 `4 H: u
         
      " x% h8 Z% x' E" C! I  2.程序實現(xiàn):" X: d! H* N: k* _- x" T- K
         在VB中,可以使用Winsock控件來編寫網(wǎng)絡客戶/服務程序, 實現(xiàn)方法如下:! T: D7 _0 s, k' G  y$ B. O
         (其中,G_Server和G_Client均為Winsock控件)! P( H& s; a+ X6 x
         服務端:
      7 i+ q' i# U: B0 x+ T7 k; y   G_Server.LocalPort=7626(冰河的默認端口,可以改為別的值)$ w5 q% G; J& D9 A
         G_Server.Listen(等待連接)
      # v, c- T; F( ^8 Z1 U3 k  n   
      ) T. Q7 H& F+ a" \   客戶端:
      7 T1 w/ {# ?; N+ x8 V8 X$ c   G_Client.RemoteHost=ServerIP(設遠端地址為服務器地址)
      , e8 Y( t) r& x   G_Client.RemotePort=7626  (設遠程端口為冰河的默認端口,呵呵,知道嗎?這是冰河的生日哦)
      * i; u4 B6 E. P1 D6 q# D   (在這里可以分配一個本地端口給G_Client, 如果不分配, 計算機將會自動分配一個, 建議讓計算機自動分配)" z4 l$ w) q- {) k- y% X9 r# @" R, m
         G_Client.Connect      (調用Winsock控件的連接方法)7 r/ {3 W" w7 Q& R5 H  s
         
      2 y; c4 g; L  n/ l- D2 P9 z   一旦服務端接到客戶端的連接請求ConnectionRequest,就接受連接( p! [6 l% g! _0 a2 J
         Private Sub G_Server_ConnectionRequest(ByVal requestID As Long)9 C0 [2 A7 _) G/ m
             G_Server.Accept requestID
      3 U1 L3 s0 D% S/ k   End Sub
      ! d/ S/ ~, Z4 g" |   
      : i9 {6 j& J# k/ \+ p# V   客戶機端用G_Client.SendData發(fā)送命令,而服務器在G_Server_DateArrive事件中接受并執(zhí)行命令(幾乎所有的木馬功能都在這個事件處理程序中實現(xiàn))
      ! v4 i4 S$ }! k5 M
      3 Q  V' [& L9 E& Q2 [. c   如果客戶斷開連接,則關閉連接并重新監(jiān)聽端口   - z; X& j$ l6 ^5 d8 x
         Private Sub G_Server_Close()
      : |9 c5 |  q( Z  |& Q+ ]" C       G_Server.Close  (關閉連接). j+ q% ^5 s& A* C' L
             G_Server.Listen (再次監(jiān)聽)
      # M: z( p7 @/ H( H) q  D! u# g   End Sub
      1 q$ o6 J% A. e% H1 `+ k5 f9 M7 B* v
      & D$ S9 m. K( s0 D% ]# N+ a( T   其他的部分可以用命令傳遞來進行,客戶端上傳一個命令,服務端解釋并執(zhí)行命令......
      ; _4 M9 s7 g, \# B7 b1 N    
      . ]6 U8 {) \3 a3 G. m4 g
      4 x8 W( U: a) B) w$ g* Y
      您需要登錄后才可以回帖 登錄 | 注冊

      本版積分規(guī)則

      QQ|本地廣告聯(lián)系: QQ:905790666 TEL:13176190456|Archiver|手機版|小黑屋|汶上信息港 ( 魯ICP備19052200號-1 )

      GMT+8, 2025-8-9 22:14

      Powered by Discuz! X3.5

      © 2001-2025 Discuz! Team.

      快速回復 返回頂部 返回列表