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

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

       找回密碼
       注冊

      QQ登錄

      只需一步,快速開始

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

      [復(fù)制鏈接]
      1#
      發(fā)表于 2011-1-13 17:02:16 | 只看該作者 |倒序瀏覽 |閱讀模式
      在網(wǎng)上,大家最關(guān)心的事情之一就是木馬:最近出了新的木馬嗎?木馬究竟能實現(xiàn)哪些功能?木馬如何防治?木馬究竟是如何工作的?本文試圖以我國最著名的木馬之一 冰河為例,向大家剖析木馬的基本原理,為大家揭開木馬的神秘面紗。9 ^3 M/ E6 E/ {0 `/ Q7 W. F$ w
      / v/ Z- P7 z& \# t
        木馬冰河是用C++Builder寫的,為了便于大家理解,我將用相對比較簡單的VB來說明它,其中涉及到一些WinSock編程和Windows API的知識,如果你不是很了解的話,請去查閱相關(guān)的資料。4 a/ ]8 l. [1 Y
      . @/ V4 ]2 U" R- a5 V7 |& [7 W
                         一、基礎(chǔ)篇(揭開木馬的神秘面紗)
      ' r: j; o. W7 R
        H/ h  d- t) z9 ]  無論大家把木馬看得多神秘,也無論木馬能實現(xiàn)多么強大的功能,木馬,其實質(zhì)只是一個網(wǎng)絡(luò)客戶/服務(wù)程序。那么,就讓我們從網(wǎng)絡(luò)客戶/服務(wù)程序的編寫開始。
      3 U% B  Q& H. V  1.基本概念:8 S3 T, \9 L0 m8 p
         網(wǎng)絡(luò)客戶/服務(wù)模式的原理是一臺主機提供服務(wù)(服務(wù)器),另一臺主機接受服務(wù)(客戶機)。作為服務(wù)器的主機一般會打開一個默認的端口并進行監(jiān)聽(Listen), 如果有客戶機向服務(wù)器的這一端口提出連接請求(Connect Request), 服務(wù)器上的相應(yīng)程序就會自動運行,來應(yīng)答客戶機的請求,這個程序我們稱為守護進程(UNIX的術(shù)語,不過已經(jīng)被移植到了MS系統(tǒng)上)。對于冰河,被控制端就成為一臺服務(wù)器,控制端則是一臺客戶機,G_server.exe是守護進程, G_client是客戶端應(yīng)用程序。(這一點經(jīng)常有人混淆,而且往往會給自己種了木馬!甚至還有人跟我爭得面紅耳赤,昏倒!!)4 {/ ]0 A" f' u6 F% Q% u  w  Z- I# E
         
      1 \3 [4 `$ K9 h6 o: q7 S# P! p1 o  2.程序?qū)崿F(xiàn):- Z* r# I) E" I# u3 N) F* T& g) w
         在VB中,可以使用Winsock控件來編寫網(wǎng)絡(luò)客戶/服務(wù)程序, 實現(xiàn)方法如下:
      1 i2 p# m5 E/ [$ D% g4 Z   (其中,G_Server和G_Client均為Winsock控件). g  J% |5 E4 z, ~6 f
         服務(wù)端:4 ~( ~+ J( w8 U' m" ]
         G_Server.LocalPort=7626(冰河的默認端口,可以改為別的值)
      ; U. p8 v7 M+ ~) }# `. a7 a   G_Server.Listen(等待連接)
      ' Q) l  e1 a2 `   
      / H! L0 G6 N& R# t& p! ]/ l   客戶端:4 G+ N% o  K( F% Y. p) E( [! S
         G_Client.RemoteHost=ServerIP(設(shè)遠端地址為服務(wù)器地址)
      * D; k2 w. s3 x# i0 C0 X4 T   G_Client.RemotePort=7626  (設(shè)遠程端口為冰河的默認端口,呵呵,知道嗎?這是冰河的生日哦)
      ( D5 c! g: g  s1 L! o, Y   (在這里可以分配一個本地端口給G_Client, 如果不分配, 計算機將會自動分配一個, 建議讓計算機自動分配)
      6 Q1 t  ?! [8 \0 i3 b   G_Client.Connect      (調(diào)用Winsock控件的連接方法)
      ; P5 p% {( g5 j& E& K/ K   : t$ ^5 s- |& c  K
         一旦服務(wù)端接到客戶端的連接請求ConnectionRequest,就接受連接: d1 Y: D" B# ^9 _! |
         Private Sub G_Server_ConnectionRequest(ByVal requestID As Long)4 h, R3 ?  v5 P; B2 j! ^
             G_Server.Accept requestID* E/ [3 g/ h# B8 h8 ~# k" E
         End Sub5 ^6 |4 w* B# e) T( j+ `
         % b( p; R8 N' r
         客戶機端用G_Client.SendData發(fā)送命令,而服務(wù)器在G_Server_DateArrive事件中接受并執(zhí)行命令(幾乎所有的木馬功能都在這個事件處理程序中實現(xiàn))
      3 S  w  D6 }: Y/ P* f/ }7 K" [: H  y7 A% m/ a* W
         如果客戶斷開連接,則關(guān)閉連接并重新監(jiān)聽端口   
      # e" e7 G. X! H3 Y+ P2 y   Private Sub G_Server_Close()/ ~2 ]' n% X+ T
             G_Server.Close  (關(guān)閉連接)# L8 b7 f0 r& }2 o
             G_Server.Listen (再次監(jiān)聽)
      " [2 K( o; |9 _; Y   End Sub& X8 a' ?7 D$ d. g4 I9 Z

      6 P9 a* W: ~$ [- }# Y   其他的部分可以用命令傳遞來進行,客戶端上傳一個命令,服務(wù)端解釋并執(zhí)行命令......
      4 m. n5 y) {( a, W* g, p; O3 h    ; z" y( Z) x, h* v9 ^* c' H1 F: t+ q
      , i5 W6 n+ K' L
      您需要登錄后才可以回帖 登錄 | 注冊

      本版積分規(guī)則

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

      GMT+8, 2025-8-10 05:06

      Powered by Discuz! X3.5

      © 2001-2025 Discuz! Team.

      快速回復(fù) 返回頂部 返回列表