tag:blogger.com,1999:blog-14181585606807229302024-03-14T05:08:19.147+01:00NoSecNoFunUn blog cuyo objetivo es presentar, instruir, divulgar y, por qué no, concienciar sobre todo aquello relacionado con la seguridad informática. En este blog participaremos un grupo de personas todas ellas relacionadas de una u otra forma con la seguridad.
@nosecnofunUnknownnoreply@blogger.comBlogger14125tag:blogger.com,1999:blog-1418158560680722930.post-15818357666987773842012-03-08T17:33:00.048+01:002012-10-20T12:08:20.127+02:00Cargando tu dispositivo... y divirtiéndote<div style="text-align: center;">
<br /></div>
Al hilo de mi anterior post, <a href="http://www.nosecnofun.com/2012/03/cargar-tu-dispositvo-de-forma-segura.html">Cargar tu dispositivo de forma segura</a>, estuvimos comentando el otro día de rizar más el rizo.<br />
<br />
En el post, yo explico cómo crearte un "prolongador" que anule las líneas de datos del conector, para evitar que te roben los contenidos de tu tarjeta flash del móvil. Pero ¿Y si me apetece fastidiar un poco a los listillos que quieren apoderarse de mis ficheros? ¿Y si me apetece que se lleven fotos, sí, pero <a href="https://www.google.es/search?q=carmen+de+mairen&hl=es&prmd=imvns&tbm=isch&tbo=u&source=univ&sa=X&ei=beVYT_-jGLHS4QSq_7mpDw&ved=0CCUQsAQ&biw=1527&bih=862">las que yo quiero</a>, para fastidiarles un poco? Fácil, fácil ;) Cogemos un pendrive de esos que tenemos tirados por ahí de 1Gb, lo desmontamos y le quitamos el conector USB, que nos quede sólo la placa con los chips. Ahora, soldamos al conector hembra de nuestro prolongador (el que va al conector macho del cargador) los 4 pines, para que tenga alimentación y datos. <br />
<br />
<br />
<img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDIZsxit9JgO_Z0T_3_7GyseYri28kOqd49X7gGzo8cA00CYmzN9wX0xKfSS1Elwe_9cEfVlq6jhdmptVsYVS9tEkmdJ-5-Zb3yVzuecm4D4wXLtWh5KiCqJnCPP8Iva0-5MKX5eAXORM/s320/Prolongador+iPone%252BUSB.png" /><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFRjGUy3DZotxnphad07r1yXwIkWQbKwaQ9cVWVTvuR5k81pK3ekyPpHd-4QmG5GIm4eISAoSq6b_CCoKMFw3wPXS0CS2F-svdQs3OlHgmO-QLrQtsHde0v3tZNiLmsYBjy69FapKp-Fk/s320/Prolongador+USB%252BUSB.png" /><br />
<br />
De esta manera, la tensión sigue pasando hasta nuestro dispositivo para cargar la batería, pero cuando pida datos, va a ir al pendrive que hemos acoplado al conector. Así, cualquier script de copia, se llevará los datos del pendrive y podremos regodearnos pensando en la cara que pondrán al ver las burradas que hemos podido prepararles.<br />
<br />
Pero, si tenemos ese típico día en que la <a href="http://buscon.rae.es/draeI/SrvltConsulta?TIPO_BUS=3&LEMA=filantrop%EDa">filantropía </a>invade nuestro cerebro y nuestra alma (vamos, que consigue ejecutarse en<a href="http://proyecto-2501.blogspot.com/2010/04/ring-zero.html"> ring 0</a> en nuestra cabeza) y a nuestra maltrecha neurona le da por parafrasear a Kennedy con aquello de "No preguntes qué puede hacer la humanidad por tí. Pregunta qué puedes hacer tú por la humanidad", podemos llegar a pensar que sí, que hemos fastidiado a los chicos malos con nuestra colección de bizarradas varias, pero cualquier otra persona que pique les puede proporcionar material bueno con el que divertirse.<br />
<br />
Dejando al margen troyanos, xploits, virus y demás que podemos meter en el pendrive para intentar inutilizar el sistema, que dependen del sistema operativo y de varios factores más, podemos intentar jugar más sucio y [Modo Chuck Norris ON] ¡¡¡dejarles sin espacio en el disco duro del equipo!!! [Modo Chuck Norris OFF]<br />
<br />
Pongamos que han metido un disco de 500Gb en el equipo que rastrea los teléfonos y queremos llenarlo. Es cuando sacamos los 500 pendrives de un giga, los metemos en un hub USB gigante, dentro de una mochila, y los ponemos en el cargador. ¡¡Toma ya, copiad basura a vuestro disco y llenadlo!! Pero no, creo que no va a ser esa la solución. Mejor comprarnos un pendrive de 1Tb de los que se acaban de presentar en sociedad hace 2 meses (buscad por Google) y nos gastamos una pasta en un pendrive sólo para jugar y no aprovecharlo. No, todavía no soy millonario. Habrá que pensar en otra solución.<br />
<br />
Entonces me acuerdo de los<a href="http://es.wikipedia.org/wiki/Archivo_disperso"> ficheros dispersos</a>, que, como casi todo, suena mal en castellano y son mas conocidos como sparse files.<br />
<br />
Este tipo de ficheros son muy utilizados en la virtualización, para indicar que tienen un tamaño de XXX gigas cuando en realidad sólo ocupan XXX megas. El típico caso de ficheros vmdk de VMWare al crear máquinas virtuales. Realmente el archivo ocupa 2 Gb en disco, pero a la máquina le hace creer que tiene 10 Gb disponibles.<br />
<br />
Como explica la Wikipedia:<br />
<br />
Esto se consigue escribiendo una breve información (<a href="http://es.wikipedia.org/wiki/Metadato">metadatos</a>) representando los bloques vacíos en el disco en vez del actual espacio "vacío" que constituye el bloque, utilizando así menos espacio en disco. El tamaño del bloque completo se escribe en el disco como el tamaño real sólo cuando el bloque contiene "datos reales" (no vacíos). Al leer los archivos dispersos, el sistema de archivos de forma transparente convierte los metadatos que representan los bloques vacíos en bloques llenos de bytes ceros en tiempo de ejecución, por lo que la aplicación no es consciente de esta conversión.<br />
<br />
¿Y cómo creamos este tipo de ficheros? ¿Cómo modificamos el contador de espacio para que engañe a la hora de copiarlo? Usando la herramienta <a href="http://colinux.wikia.com/wiki/MkFile">mkFile.exe</a>, de la gente de <a href="http://www.colinux.org/">Colinux</a>, y que se puede descargar de <a href="http://www.henrynestler.com/colinux/tools/file-utils-mingw-bin-stripped.zip">aquí</a>.<br />
<br />
Partimos de un fichero creado con el notepad, prueba.txt, que contiene únicamente una línea de texto: "Esto es una prueba"<br />
<br />
<img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjO7hO-1e7_LqdnrGO72_PHh-lPSg9nNeYeqkNXBwXJFyPGdBapWrgnVhT9DTd4O9_d5YZgFkAGdmTY0EmFlI-qjncYunrhmWOtieOf2j1wo_dZtZynS7czKiFgVHOX67OKNXjTqTvbAi4/s320/ContenidoPrueba.png" /><br />
<br />
Mirando sus propiedades, vemos que ocupa 18 bytes, aunque su espacio en disco es de 4Kb, por el tamaño de la unidad de asignación del disco.<br />
<br />
<img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGq-o1gLpDhgA_D6wXlrRPTsucGoB48INCIgJX27VzY_dM-ADl4gkFaTbMFyWZGas_hJB7p4AjJR3r0OiT3gzyPWlKGPjuEMyFIEr5ONXVRv_aFTX8MgfJrmv5JA2w9kTsM9UkOp9W0Jc/s320/PropiedadesPrueba.png" /><br />
<br />
Entonces es cuando hacemos magia con el mkFile. Primero, vemos su menú de opciones:<br />
<br />
Usage: mkFile.exe [-s] [-r] [-k] [-m] [-g] filename filesize<br />
where filename is the name of the file to create<br />
filesize if the size of the file.<br />
-s means create a sparse file ( only supported on ntfs 5 or greater )<br />
-r means resize an existing file<br />
-k -m -g means the size is in KB, MB, or GB<br />
<br />
Entonces, si queremos convertir nuestro fichero de texto en una mole de 1Gb, tendríamos que teclear el siguiente comando:<br />
<br />
mkFile.exe -s -r -g prueba.txt 1<br />
<br />
Así, le indicamos que queremos crear un fichero sparse (-s), que queremos redimensionar uno ya existente (-r), que queremos darle el tamaño final en Gb (-g), el nombre del fichero a redimensionar (prueba.txt) y el tamaño final en Gb (1).<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiK7i_c2Ksdtpt9KkqL_D4FMFfCdQ-KuCsSyjScQknjEt_rbIZH3_9mFY860gzQzNoeikwy8pDDyodk5CHhfTTpiCIQdK8Vzus-gWQ2MW_YY4gRJWMjn79AhAvja1rGneY6q16o5mYqTEo/s1600/mkfile.png"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiK7i_c2Ksdtpt9KkqL_D4FMFfCdQ-KuCsSyjScQknjEt_rbIZH3_9mFY860gzQzNoeikwy8pDDyodk5CHhfTTpiCIQdK8Vzus-gWQ2MW_YY4gRJWMjn79AhAvja1rGneY6q16o5mYqTEo/s320/mkfile.png" /></a><br />
<br />
De nuevo, miramos las propiedades del fichero, a ver cómo ha cambiado.<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvjiYfurXcd8Jr2qkbf3INMTQV663MiKKGXu-fdDgioV04a5aYYbdVrJy9pI-mJyhSB9gLbGLW1WUZqrxmC4ScCbcooNdHSw9KyiDj4eVDsh5cPAi5AgOL0cGNGcYLUHTHcKdtNVGP6yQ/s1600/PropiedadesPruebaModificado.png"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvjiYfurXcd8Jr2qkbf3INMTQV663MiKKGXu-fdDgioV04a5aYYbdVrJy9pI-mJyhSB9gLbGLW1WUZqrxmC4ScCbcooNdHSw9KyiDj4eVDsh5cPAi5AgOL0cGNGcYLUHTHcKdtNVGP6yQ/s320/PropiedadesPruebaModificado.png" /></a><br />
<br />
Vemos que ahora el fichero ocupa en disco 64Kb, pero el tamaño que dice que tiene es de 1Gb. Comprobemos si es verdad que va a darnos todo el giga de datos si intentamos copiarlo. Hacemos un copy de toda la vida y vemos que tarda bastante más de lo que debería si fuesen 64Kb.<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-1l99OWJ3Hr38ohln8nP4MUulOFcy4tNoTGUg2keRgAxcR-xzgz19VzE-YZQWhRIhVjRSRUTS-uj4aIDkgU9VWT2IYEQZvUxf-IvjmO_Qc0151PNTw46KiDBfhxnhmIRzLuVqYoQjGWE/s1600/CopiaPrueba.png"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-1l99OWJ3Hr38ohln8nP4MUulOFcy4tNoTGUg2keRgAxcR-xzgz19VzE-YZQWhRIhVjRSRUTS-uj4aIDkgU9VWT2IYEQZvUxf-IvjmO_Qc0151PNTw46KiDBfhxnhmIRzLuVqYoQjGWE/s320/CopiaPrueba.png" /></a><br />
<br />
Tenemos un nuevo fichero llamado pruebamodificada.txt Pedimos propiedades de ese fichero y ¡¡voilá!! tenemos que el tamaño es de 1Gb como antes pero que esta vez el fichero SÍ ocupa 1Gb en disco.<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQbmKhyphenhyphentebiQwzMHiCcAAr002reGRsFCDjDA29gXANgLAKTRcElCN0iyxJ1LSoRqDancmFj5XAaUYa6RFjEPwFMaAV3g9zAP7rTRpaHvFXc5yxWP3tcRW_jQxhQ2hg1JJzt2H4RsWEmi0/s1600/PropiedadesPruebaModificadoCopiado.png"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQbmKhyphenhyphentebiQwzMHiCcAAr002reGRsFCDjDA29gXANgLAKTRcElCN0iyxJ1LSoRqDancmFj5XAaUYa6RFjEPwFMaAV3g9zAP7rTRpaHvFXc5yxWP3tcRW_jQxhQ2hg1JJzt2H4RsWEmi0/s320/PropiedadesPruebaModificadoCopiado.png" /></a><br />
<br />
Hemos conseguido que, ocupando el fichero de origen 64Kb, el de destino ocupe 1Gb, es decir, 16384 veces el fichero de origen.<br />
<br />
Ahora, en lugar de con un fichero, que queda muy bien pero no sirve para llenar un disco entero, lo hacemos con un grupo de ellos. Supongamos que tenemos unas fotos del Gran Chuck Norris. Todas son jpg, y ocupan 59K (Venga, me habéis pillado, es la misma renombrada...). Nos hacemos un script en un momento en batch (sí, con dos cojo...) para que coja todos los ficheros jpg del directorio y los pase por el mkfile.<br />
<br />
@echo off<br />
for %%G in (c:\nosecnofun\*.jpg) do (<br />
mkfile -s -r -m %%G 60<br />
)<br />
<br />
Y lo ejecutamos. Aquí tenemos el antes:<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTBMJF-gh1hgPqunxrenMZVIVDOX41VtYV61mALfLkWjDVGpbFF-pl9yDWS2X4yuhV8xhUem_ZJ6-ZcOytsqNihuRAbnEjJGHtQ2Y3MqM9YweO1ihoiuDOKX_qxj_wEf7bXtONJKhOq0g/s1600/GoChuckGoPrevio.png"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTBMJF-gh1hgPqunxrenMZVIVDOX41VtYV61mALfLkWjDVGpbFF-pl9yDWS2X4yuhV8xhUem_ZJ6-ZcOytsqNihuRAbnEjJGHtQ2Y3MqM9YweO1ihoiuDOKX_qxj_wEf7bXtONJKhOq0g/s320/GoChuckGoPrevio.png" /></a><br />
<br />
y aquí el después.<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqivWWnfAj-o_OP8P0GCVTCPQ4uH52uoBZviMo95wOxgSSq_RbdWqT6158Ry_ho-54K6QThZPUyv5pv59naw9UUzlDN4wdhR-W399fhVvcyHZUtWceqAa_uHIDZBjroQYziMw6u43lMlk/s1600/GoChuckGoFinal.png"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqivWWnfAj-o_OP8P0GCVTCPQ4uH52uoBZviMo95wOxgSSq_RbdWqT6158Ry_ho-54K6QThZPUyv5pv59naw9UUzlDN4wdhR-W399fhVvcyHZUtWceqAa_uHIDZBjroQYziMw6u43lMlk/s320/GoChuckGoFinal.png" /></a><br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHI3LIn8M4SLG2hNkLzpdr7jM30xf-F84fv3DA44qThybapkuEB3nYwJ998mNUdNJcWZt7yk4W3MrNXocv_hVHB3xwIy9c0MYQ06GOspXCVwFd8r-FccRZNTZv_OKv58ceOkVBlW7b_aA/s1600/Imagen+final.png"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHI3LIn8M4SLG2hNkLzpdr7jM30xf-F84fv3DA44qThybapkuEB3nYwJ998mNUdNJcWZt7yk4W3MrNXocv_hVHB3xwIy9c0MYQ06GOspXCVwFd8r-FccRZNTZv_OKv58ceOkVBlW7b_aA/s320/Imagen+final.png" /></a><br />
<br />
Ahora, imaginad esto en un pendrive de 2Gb, metiendo 2000 ficheros de 64K y subiendo cada fichero a 1Gb o más... disco lleno. <br />
<br />
Ah, y lo más divertido del tema, que el fichero, pese al tamaño, sigue siendo igual que el original, por lo que se puede abrir y ver el contenido, en esta ocasión, a nuestro querido Chuck.<br />
<br />
Gracias a Apocalipsis por refrescarme la memoria con el mkfile, que la edad y el castigo a las neuronas no perdona :)Ositohttp://www.blogger.com/profile/10136352114666299859noreply@blogger.com0tag:blogger.com,1999:blog-1418158560680722930.post-66584036767854493482012-03-05T16:20:00.016+01:002012-03-06T12:23:36.414+01:00Cargar tu dispositvo de forma segura<div style="text-align: center;"><br /></div><span>La semana pasada estuvimos en la </span><span>Rooted Con en Madrid y hubo una cosa bastante graciosa. Un armarito ofrecía cargar el móvil gratis (como las maquinitas del aeropuerto o estaciones de tren) y, como la gente tiene demasiado vicio con el Twitter, el Facebook, el Tuenti, Gmail y el estar conectado todo el día en general, ya sea por juegos o por navegar, hubo bastante gente que utilizó el servicio.</span><div><br /></div><div><span>Hasta aquí, todo co</span>rrecto y agradecidos del servicio que ofrecían a la gente, que así no necesitaban pasar el "síndrome de abstinencia" por tener el otro síndrome, el de la "Bandeja de entrada vacía". Pero ¿Sólo cargaban el móvil o había algo más? Justo me comentaban eso el jueves en uno de los descansos, hablando con un compañero.</div><div><span><br /></span></div><div><span>El sábado, justo antes del cierre de la Ro</span><span>oted, subió un p</span><span>articipa</span>nte, a poner unas diapositivas sorpresa (todavía no están disponibles). En ellas, informaba del número de terminales Android, iPhone y Blackberry que se habían conectado, cómo habían creado un script de obtención de datos de cada uno de ellos cada 5 minutos y lo que habían podido sacar.</div><div><br /></div><div><span>En el caso de las Blackberry </span>y Android, copias completas de sus carpetas de Dropbox, Evernote y fotografías de la tarjeta. Con los iPhone, el sistema es diferente y no permite acceder a los datos de usuario, pero ofrece información del IMEI y cosas que también deberían ser confidenciales.</div><div><br /></div><div><span>La pregunta es ¿Cómo evitarlo? La respuesta es clara: No conectan</span><span style="font-family: Georgia, serif; ">do tu móvil al primer cargador que ves. Así de sencillo. Pero c</span><span>laro, por circunstancias propias de cada</span> uno, puede que no sea posible (comercial en el aeropuerto que se queda sin batería y le queda todavía un día de llamadas y trabajo, por ejemplo). Ahí la solución es conectarlo, pero apagado. ¿Y si rizando el rizo, necesitas cargar la batería pero no puedes apagar el móvil porque estás esperando una llamada muy importante de un cliente o de tu jefe?. Ahí es más complicado, porque, como contaba al principio, dejas totalmente expuesto tu teléfono.</div><div><br /></div><div><span>Desconozco si hay manera de cortar toda la comunicación de datos mediante software, ya que no tengo ninguno de los 3 tipos de terminales que menciono (sí, sigo</span> con un Nokia de toda la vida), pero podemos "hackear" el sistema físico para evitar este problema.</div><div><br /></div><div><span>Lo primero, reconocer el terreno. Tenemos que los iPhone se cargan con sus conectores específicos, típicos de todos los dispositiv</span><span>os Apple. Android y Blackberry tiran más de estándares, </span>y usan sistemas <a href="http://es.wikipedia.org/wiki/Universal_Serial_Bus">USB</a>, de los de toda la vida.</div><div><br /></div><div><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKQ7rFfhriN6Q1m1W8U9wRlTbg9yxei2UxeyQztDgMq4sAg6-VxuTVgsM_BFOO-54ptJFOpDP0vFUxICBCZSsNwT5hlsESsaE4RxJCCjhx3su_lM_UKoa_oEdbb0oyEExBE9TyEyNGOfU/s320/ConnectoriPhone.jpg" border="0" alt="" id="Conector iPhone" style="cursor: pointer; width: 200px; height: 200px; " /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsfNAzu63H7KDdGDo_btIbcLe3cypZBeTz15W9qsBMnT4ka18l5l_1LLT73Afk9dBQunpvTvnB8bNNcUAE5MyA2ibVR8oFyhKmqJQEmSmyLFKRDHbjiPfauUNknPxMT75doM9ePkQF7Wk/s1600/mini-micro-usb-connector.jpg"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsfNAzu63H7KDdGDo_btIbcLe3cypZBeTz15W9qsBMnT4ka18l5l_1LLT73Afk9dBQunpvTvnB8bNNcUAE5MyA2ibVR8oFyhKmqJQEmSmyLFKRDHbjiPfauUNknPxMT75doM9ePkQF7Wk/s320/mini-micro-usb-connector.jpg" border="0" alt="" id="Conectores USB" style="cursor: pointer; width: 247px; height: 250px; " /></a></div><div><br /></div><div>Lo siguiente, es saber qué hace cada una de esas patitas, para saber cuales hay que descartar y cuales no. Para ello, hay una página de referencia muy buena en donde tenemos información de casi cualquier conector del que busquemos su patillaje <a href="http://pinouts.ru/">www.pinouts.ru</a> De ahí, sacamos el <i>"pinout" </i>de <a href="http://pinouts.ru/PortableDevices/ipod_pinout.shtml">iPhone </a>y el de <a href="http://pinouts.ru/Slots/USB_pinout.shtml">USB</a>, aunque este último, también aparece en la Wikipedia. También alguno de Blackberry que no utiliza conectores estándar sino <a href="http://pinouts.ru/PDA/blackberry_headset_pinout.shtml">una especie de minijack</a>. </div><div><br /></div><div>Lo siguiente, es comprar un conector macho y otro hembra del modelo que necesitamos para nuestro terminal y cable para conectarlos. Eso, en vuestra tienda de electrónica favorita, seguro que encontráis (bueno, los de Apple seguramente no, o no serán tan baratos).</div><div><br /></div><div>Ahora, toca invocar a las habilidades que cada uno tenga con el soldador. Son componentes pequeñitos, por lo que recomiendo soldador de 11W, no el típico de 35W y que, si no eres muy manitas con él, pidas ayuda a alguien. </div><div><br /></div><div><b>Caso iPhone</b></div><div>Mirando el esquema del enlace anterior, sacamos que las patillas 1, 2, 15, 16, 29 y 30 son GND, por lo que en teoría pueden ir juntas. Por si acaso, y para no jugárnosla, no las vamos a juntar (salvo 29 y 30 que vienen juntas en el esquema)</div><div>Para alimentación, tenemos 18, 19-20 y 23. Deduzco que la alimentación la cogerá de USB, tal y como hacen los cargadores de ordenador para los teléfonos y los iPods, por lo que la patilla importante será la 23. Si queremos cubrirnos las espaldas, conectamos todas (sin juntarlas, porque esto si que puede suponer cortocircuitar la placa y provocar daños tanto al teléfono como al equipo).</div><div><br /></div><div>Así, tenemos el esquema siguiente de soldaduras</div><div><br /></div><div><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZ5SlPRqqRRtrVz3YU4TkaGsDNXuEdIU-TQImfVHolA_eZ8OIck0D1EWd6o0roN-By16vXqgG6btNe0coDTshWb8KQO6KwWtDT596ke9e8g4U74MnYiEFFRdOqZXDRzdAytfnZiqcefpU/s320/Prolongador+iPone.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5716464597822532594" style="cursor: pointer; width: 273px; height: 184px; " /></div><div><br /></div><div><b>Caso Android / Blackberry / móvil por USB</b></div><div>En este caso, es más fácil que en el caso de Apple, ya que el USB únicamente lleva 4 cables. Vcc, GND, D+ y D- Aquí el truco está en conectar únicamente la alimentación, pines 1 y 4.</div><div><br /></div><div><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMGDUu4kEXrGiY3FkA5wzli0ycvkIYk2ryiTNfncfcVq2semxRgUHgDKLO5-BDSpFDYIoxZ9okBL7QuLSO-cqMv83d3zIj7b3fkwxs2HJUXSsiTkTD3qur2XoMlg29RicMbZAH5qiuXVg/s320/Prolongador+USB.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5716466428735194946" style="cursor: pointer; width: 262px; height: 118px; " /></div><div><br /></div><div>De ambas maneras, lo que conseguimos es una especie de prolongador de la parte de alimentación (Vcc y GND) evitando la conexión de datos, por lo que nuestro dispositivo será totalmente sordo a instrucciones que le puedan mandar y mudo, porque cualquier cosa que intente enviar, no llegará a ninguna parte. En resumidas cuentas, cortamos la transmisión de datos.</div><div><br /></div><div>Siendo un poco mañoso, un <i>"adaptador" </i>de este tipo puede medir 4~5 cm, o incluso menos, por lo que es muy cómodo de llevar en cualquier lado, incluso en la propia funda del teléfono o en la cartera. Pocos <i>"firewalls por hardware"</i> pueden decir lo mismo ;)</div><div><br /></div><div>Como siempre, estos esquemas llevan licencia "Cañaware", es decir, si te ha sido útil, págate unas cañas ;) Y si montas una nueva linea de productos en tu empresa para venderlos, acuérdate de nosotros.</div><div><br /></div>Ositohttp://www.blogger.com/profile/10136352114666299859noreply@blogger.com2tag:blogger.com,1999:blog-1418158560680722930.post-33553337386828780862012-02-22T18:17:00.002+01:002012-02-22T18:17:42.847+01:00Descuidos de seguridad, accesos no autorizados<div style="text-align: justify; "><span style="text-align: left; "><br class="Apple-interchange-newline">He estado dos días en Madrid, haciendo un curso con la empresa. El domingo llegué a mi hotel y como buen adicto a mi mail que soy, abro el portátil, me conecto al wifi del hotel y ¡Oh, sorpresa!, me sale un portal cautivo. Mirando en la típica documentación que hay en todas las habitaciones descubro que cobran ¡¡¡3 euros la hora de internet!!! y ¡¡¡10 euros el día!!! Como soy alérgico a los atracos, desisto de la wifi del hotel y reviso más en la lista de las encontradas. Y hay otra abierta, XXXX_Guest a ver que nos depara...</span></div><div><br /></div><div><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7H2hA4m0TdluzynFxx0jBvJfs029ZcF-ZGNZ3v8LOLC_zzEr4IZbY4EmY0-A1TYn9_6mLWLQR_neLew8tzko03OMiwcdqNX9-P3k2OO-CSIyoV0Yn8r9xOz-ce9xz822LoKSVTh_MJrBP/s320/redeswifi.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5711977787782006018" style="color: rgb(0, 0, 238); text-decoration: underline; display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 242px; height: 320px; " /></div><div><br /></div><div>Conecto con la red, y veo que me da una IP privada</div><div><br /></div><div><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgIBbodg9ON6JjW_WRQ4_GI12TG0aLUe8qNtYk0rUPgdUk8GjfYLG1joEXCLwTzGUxKg22B6mvaNRtGQh8WRIM-8VjMR7a0dDVbekYu_ZEsJzdbeu-qCwvF7mzIldL69CtXApLgwU0VVGC/s1600/conectadoconip.png" style="font-family: 'Times New Roman'; font-size: medium; "><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgIBbodg9ON6JjW_WRQ4_GI12TG0aLUe8qNtYk0rUPgdUk8GjfYLG1joEXCLwTzGUxKg22B6mvaNRtGQh8WRIM-8VjMR7a0dDVbekYu_ZEsJzdbeu-qCwvF7mzIldL69CtXApLgwU0VVGC/s320/conectadoconip.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5711979365970327314" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 320px; height: 222px; " /></a></div><div><div><br /></div></div><div style="text-align: justify; "><span style="text-align: left; ">Abro navegador y ¡zas, en toda la boca! certificado digital no válido, en la IP 1.1.1.1 Un momento, esa IP me suena de algún adaptador virtual por defecto.</span></div><div style="text-align: justify; "><span style="text-align: left; "><br /></span></div><div style="text-align: justify; "><span style="text-align: left; "><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3h_dtK7ZUKPQOMqCbxz8h6KGA7tyvzbfat2ypnnhM80I_tJr7Z4afclhC9VQnFtmyPe1FlM5gb63mi2u5VrfGB3X87TfgNImPhLWdIeb3_LCnpS29D1DJKsFV-MR8MKoyLGmQIbMB4ZyF/s1600/Cert.png" style="font-family: 'Times New Roman'; font-size: medium; "><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3h_dtK7ZUKPQOMqCbxz8h6KGA7tyvzbfat2ypnnhM80I_tJr7Z4afclhC9VQnFtmyPe1FlM5gb63mi2u5VrfGB3X87TfgNImPhLWdIeb3_LCnpS29D1DJKsFV-MR8MKoyLGmQIbMB4ZyF/s320/Cert.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5711979789353914930" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 320px; height: 106px; " /></a><br class="Apple-interchange-newline"></span></div><div style="text-align: justify; "><span style="text-align: left; ">Bueno, miro el certificado, no veo nada raro y como me gusta el riesgo, lo acepto</span></div><div style="text-align: justify; "><span style="text-align: left; "><br /></span></div><div style="text-align: justify; "><span style="text-align: left; "><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXFc3-0N612XWgNQsnnT_o17ykdKY8seB6VVFxbV0GCNAvIpiTxaztYQVKw5i1bN9sbFnnpjt0XwMVc-Q_Cq5P3YhxIXPMFYFieQei4Z6oNriHXle5EIJmkQcT08JMjpp05z6_lcMEf_Q8/s1600/credentials.png" style="font-family: 'Times New Roman'; font-size: medium; "><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXFc3-0N612XWgNQsnnT_o17ykdKY8seB6VVFxbV0GCNAvIpiTxaztYQVKw5i1bN9sbFnnpjt0XwMVc-Q_Cq5P3YhxIXPMFYFieQei4Z6oNriHXle5EIJmkQcT08JMjpp05z6_lcMEf_Q8/s320/credentials.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5711980013792616658" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 320px; height: 242px; " /></a></span></div><div><br /></div><div>Curioso, otra pantalla de login. Esos colores me recuerdan <a href="http://www.cisco.com/en/US/i/100001-200000/150001-160000/155001-156000/155945.jpg" target="blank">algo</a>. Así que, venga, vamos a probar, por si suena la flauta, las credenciales por defecto que traen esos aparatos. Usuario <i>cisco </i>y password <i>cisco</i></div><div><i><br /></i></div><div>De repente se abre otra pestaña del navegador, con la web de un fabricante japonés de coches. Miro la pestaña anterior, en la que he metido las credenciales.</div><div><i><br /></i></div><div><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-rQgGsKOPvIVWwbI-Jb01VFBzNfn4ne3EQ5eaVvk9Oj5Sjut81mAlw-h-ouLFokXkFae7o-3gBs4e2VQVI1oPoo80lu65S7KR8FffluNt9tk3mAudh9FJLFQSSjYHfxnijHWoZA-JRdDI/s1600/salir.png" style="font-family: 'Times New Roman'; font-size: medium; "><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-rQgGsKOPvIVWwbI-Jb01VFBzNfn4ne3EQ5eaVvk9Oj5Sjut81mAlw-h-ouLFokXkFae7o-3gBs4e2VQVI1oPoo80lu65S7KR8FffluNt9tk3mAudh9FJLFQSSjYHfxnijHWoZA-JRdDI/s320/salir.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5711980184971532370" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 320px; height: 76px; " /></a><br class="Apple-interchange-newline"></div><div><i><br /></i></div><div><i>¿¿Login successful??</i> ¿Pero qué clase de técnico ha instalado esto que no ha quitado las credenciales por defecto? Bueno, será que estoy en una red cerrada, que sólo puedo acceder a la web que me ha dejado, como suele montar algún banco en sus oficinas para que la gente haga transacciones online, pero filtrando todo lo que no sean sus propias webs. También deduzco eso de la palabra <i>Guest </i>en el SSID. Abro Google, y entra. Miro las webs de los principales periódicos y entran bien. Entonces, entro en una de mis cuentas de correo de pega (para registrarme en foros dudosos) y entra perfectamente, sin que salte ningún certificado no válido ni en Gmail ni en Hotmail. Así que descartado <a href="http://es.wikipedia.org/wiki/Ataque_Man-in-the-middle" target="blank">mitm</a>, entro en mi correo por la puerta grande y me pongo a navegar por varias webs que tenía que consultar, sin ningún tipo de problema en la navegación. Y durante 2 días :)</div><div><br /></div><div>Cuando ya he acabado de leer mis cosas, lanzo un escaneo de red, simplemente para ver qué hay por ahí y me empieza a devolver varios nombres de servidores. Ahí apago, yo sólo quiero navegar, no quiero reventar nada ni problemas.</div><div><br /></div><div>En resumen, tenemos una empresa que se ha gastado una pasta en un punto de acceso, en una instalación y en unos sistemas que se supone que son seguros. Y lo son, hasta que al técnico que lo ha puesto, se le olvida quitar credenciales por defecto. Desconozco si esa red inalámbrica tiene como fin que los visitantes se conecten mientras esperan o si es de empresa. La palabra <i>Guest </i>en el SSID no hace pensar que sea de empresa, sino para invitados. Dejando al margen las credenciales, no es nada seguro que una persona que va a visitar tu empresa (en este caso comprar un coche) pueda ver los servidores de la empresa mientras navega en internet). Lo lógico es que, en estos tiempos que corren en que <a href="http://tecnyo.com/lo-que-faltaba-el-cepillo-de-dientes-con-asistente-inalambrico-el-oral-b-triumph/" target="blank">hasta los cepillos de dientes tienen wifi</a>, desde muchas empresas ofrezcan a los clientes o visitantes un acceso wifi para que puedan leer su correo, navegar o lo que necesiten. A mi me ha tocado montar lo mismo en algún cliente. Pero ese servicio añadido no debe poner en riesgo la seguridad de la empresa, por lo que es recomendable que funcione en una VLAN diferente.</div><div><br /></div><div>Recapitulando:</div><div>-<span><span> <span>BIEN</span></span> </span>por la empresa que quiere dar un servicio añadido a los clientes</div><div>- <span>BIEN</span> por querer controlar esos accesos con usuario y password, para evitar que cualquiera se cuele a la conexión y navegue sin autorización</div><div>- <b><span><span><span>MAL</span> </span>que el técnico haya dejado las credenciales por defecto</span></b>. Suele ser bastante habitual que se olviden de eliminarlas o cambiar el password por defecto, y si no, jugar un rato con Google o con <a href="http://www.shodanhq.com/" target="blank">Shodan </a>puede dar <a href="http://www.nosecnofun.com/2011/06/vamos-con-otro-post-de-tarde-dominguera.html" target="blank">grandes momentos de diversión</a>.</div><div>-<span> </span><b><span><span>MAL, MUY MAL</span>, que ese wifi no esté aislado del resto de la empresa</span></b><span>, dejando que cualquier persona con acceso (por muy visitante o cliente que sea) pueda ver los servidores y los equipos de la gente que trabaja ahí. <a href="http://es.wikipedia.org/wiki/Sniffer" target="blank">Sniffers </a>hay para todo tipo de plataformas, así que en un momento dado, ese "<i>señor tan majo que está leyendo su correo</i>" puede estar capturando tráfico o lanzando ataques contra nuestra empresa.</span></div><div><br /></div><div>Lo lógico en estos casos, es montar una VLAN independiente, con salida directa a internet, que aisle al visitante del resto de la red corporativa. Esto lo permiten todos los switches y routers, por lo que no es excusa no haberlo hecho. Si se puede y el presupuesto lo permite, lo ideal sería utilizar un firewall por hardware, utilizando una de las bocas de zonas para conectar esa red inalámbrica y gestionar el ancho de banda y la navegación. Si un cliente está esperando a ser atendido, no me importa que lea su correo o las ultimas noticias, pero no es muy lógico que pueda ver pornografía o descargar con el emule.</div><div><br /></div><div>Evidentemente, puede que la ciudad no haya sido Madrid, que la empresa no vendiera coches e incluso que no estuviera en un hotel ;)</div><div><br /></div>Ositohttp://www.blogger.com/profile/10136352114666299859noreply@blogger.com2tag:blogger.com,1999:blog-1418158560680722930.post-23643739901661138192011-12-20T19:33:00.000+01:002011-12-20T19:34:51.804+01:00<h3 class="post-title entry-title"> Creando utilidades para los módulos ADAM6050 de Advantech </h3> <div class="post-header"> </div> <span style="font-size:100%;"><b style="">1.- LUCES,...</b></span> <p class="MsoNormal" style="font-family:arial;"><span style="font-size:100%;">Primero quiero presentar brevemente lo que son estos módulos, para qué se usan y porqué he investigado esta capacidad que el fabricante no me ha sabido|querido|ha pasado de proporcionar.</span></p> <p class="MsoNormal" style="font-family:arial;"><span style="font-size:100%;">Los módulos ADAM6050 son módulos controladores que tienen entradas para elementos de detección y salidas para activación de relés.</span><span style="font-size:100%;"> </span><span style="font-size:100%;">¿Qué quiere decir esto? Básicamente que puedo incorporarle detectores (De presencia, interruptores,…) y quitar o suministrar electricidad a componentes concretos (Telecontrol de luces, persianas automáticas,…)</span></p> <p class="MsoNormal" style="font-family:arial;"><span style="font-size:100%;">Esto, sumado a la API que nos da el fabricante, lo convierten en una solución rápida para temas de inmótica, domótica, etc.</span></p><p class="MsoNormal" style="font-family:arial;"><span style="font-size:100%;">Mi intención es vincular una luz (salida 1) al controlador que se encienda en base a un interruptor (entrada 1) y que, a su vez, pueda telecontrolar desde una aplicación.<br /></span></p> <p class="MsoNormal" style="font-family:arial;"><span style="font-size:100%;">Al grano. Cuando programamos uno de estos aparatos, podemos hacerlo de dos maneras:</span></p> <p class="MsoNormal" style="font-family:arial;"><span style="font-size:100%;">1.- Utilizar la API para conectarnos mediante TCP/IP al ADAM6050 para preguntar los estados y activar las salidas (Tipo: ¿Cuál es el estado del interruptor de la entrada 1?) o encender/apagar una luz (incorporando relés de 12V, claro),…</span></p> <p class="MsoNormal" style="font-family:arial;"><span style="font-size:100%;">2.- Meter en la memoria del ADAM6050 (<a href="http://es.wikipedia.org/wiki/Lenguaje_de_Comandos_Guardados"><b style=""><u>GCL</u></b></a>) un esquema de lo que tiene que hacer automáticamente en función del estado de sus entradas/salidas. </span></p> <p class="MsoNormal" style="font-family:arial;"><span style="font-size:100%;">Problemas. <u>Si aplicas GCL a una salida, no puedes im</u><u>plementar un telecontrol desde la API a esa salida a la vez</u>.</span></p> <p class="MsoNormal" style="font-family:arial;"><span style="font-size:100%;">Ejemplo. Programamos con GCL lo siguiente: Si te activan la entrada1, activa la salida1 (Básicamente, la entrada1 podría ser un interruptor y la salida1 una luz)</span></p> <p class="MsoNormal" style="font-family:arial;"><span style="font-size:100%;">Dada esta afirmación, mediante las APIs no podríamos activar la salida1 (Luz) directamente porque depende exclusivamente de la entrada1 (Interruptor)</span></p> <p class="MsoNormal" style="font-family:arial;"><span style="font-size:100%;"><b style="">2.- CAMARA,...</b></span></p> <p class="MsoNormal" style="font-family:arial;"><span style="font-size:100%;">Bueno, mi objetivo es que, además de que la luz se manipule mediante un interruptor, que yo pueda también telecontrolar esa luz mediante órdenes TCP/IP, </span>sin la necesidad de cambiar el estado del dispositivo de entrada<span style="font-size:100%;">.</span></p> <p class="MsoNormal" style="font-family:arial;"><span style="font-size:100%;">¿Cómo puedo hacerlo? Dado que tengo que incorporar el GCL obligatoriamente, me voy a centrar en <u>cambiar el estado <span style=""> </span>de la entrada1</u>. </span></p> <p class="MsoNormal" style="font-family:arial;"><span style="font-size:100%;"><u>Realmente no puedo cambiar el estado de la entr</u><u>ada1</u> porque se activa/desactiva mediante la pulsación del interruptor <u>pero si puedo</u>, mediante el software del fabricante, <u>cambiar su “estado por defecto”</u> (Apagado o encendido por defecto) de manera que cambiaría el estado de la entrada y a la vez, afectaría a la salida. Me voy a focalizar en esa opción "</span><span style="font-style: italic;font-size:100%;">Invert signal</span><span style="font-size:100%;">":</span></p><span style=";font-family:arial;font-size:85%;"> </span><p class="MsoNormal" style="font-family:arial;"><span style="font-size:85%;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhLcv4IOYEZen_jpdRJs55rRtgHbROR4DgEGAIpZUBy_SV0Q_kdm4MmYcAvKbikU6PMrNpsA61gpFp0OtPxzjwU_vt1WOzzDQB6ce3mOptEoykP05-u0OiP8w2JocDo1RtOJcV438o-C9j/s1600/Estado_defecto.JPG"><img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 256px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhLcv4IOYEZen_jpdRJs55rRtgHbROR4DgEGAIpZUBy_SV0Q_kdm4MmYcAvKbikU6PMrNpsA61gpFp0OtPxzjwU_vt1WOzzDQB6ce3mOptEoykP05-u0OiP8w2JocDo1RtOJcV438o-C9j/s400/Estado_defecto.JPG" alt="" id="BLOGGER_PHOTO_ID_5687091977388267058" border="0" /></a></span></p><p class="MsoNormal" style="font-family:arial;"> </p> <p class="MsoNormal" style="font-family:arial;"><span style=""><br /></span></p> <p class="MsoNormal" style="font-family:arial;"><span style="font-size:100%;">Me repasé toda la API y me di cuenta que el fabricante no había introducido esta posibilidad en la API.<br /></span></p><p class="MsoNormal" style="font-family:arial;"><span style="font-size:100%;">Entonces realicé la consulta al fabricante…</span></p> <p class="MsoNormal" style="font-family:arial;"><span style="font-size:100%;">Sólo decir que si no me hubiese afeitado desde entonces, el día de Reyes iría en camello.</span></p> <p class="MsoNormal" style="font-family:arial;"><span style="font-size:85%;"><span style="font-size:100%;">Vaya, ¿El fabricante tiene un programa que lo hace a través de TCP/IP y yo no puedo? Frustrante… </span> </span></p><p class="MsoNormal" style="font-family:arial;"><span style="font-size:100%;"><b style="">3.- ¡ACCION!</b></span></p> <p class="MsoNormal" style="font-family:arial;"><span style="font-size:100%;">Primero vamos a analizar qué es lo que manda el programa al módulo 6050 cuando le damos a “Invert signal”, que es la característica que queremos desarrollar. Con la aplicación abierta, usamos el wireshark para mirar qué es lo que va pasando (filtrando por la IP del ADAM6050). Vemos 3 cosas:</span></p> <p class="MsoNormal" style="font-family:arial;"><span style="font-size:85%;"><u><span style="text-decoration: none;"> </span></u></span></p><span style=";font-family:arial;font-size:85%;"><br /></span><p class="MsoNormal" style="font-family:arial;"><span style="font-size:85%;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEjXaJr6w2BFmRzjMWc3P9aIaY9pzkOqxN5yihtYbx_8xddc4vMCB9XWHYOLBsGTFkW6EwvjXNfUYk7sifW_gBqOUbQbSCrEbHBOi_mf9C5I6PkbBFFsiBQmW29rnCzp-vWzza5dJA4c-e/s1600/Traza_Wireshark.JPG"><img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 394px; height: 400px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEjXaJr6w2BFmRzjMWc3P9aIaY9pzkOqxN5yihtYbx_8xddc4vMCB9XWHYOLBsGTFkW6EwvjXNfUYk7sifW_gBqOUbQbSCrEbHBOi_mf9C5I6PkbBFFsiBQmW29rnCzp-vWzza5dJA4c-e/s400/Traza_Wireshark.JPG" alt="" id="BLOGGER_PHOTO_ID_5687091985827024738" border="0" /></a></span></p><p class="MsoNormal" style="font-family:arial;"><span style="font-size:100%;">1.- Vemos que el programa usa el protocolo Modbus, que es un protocolo estándar para la comunicación con controladores (Dicho mal y pronto) Realiza queries de estados y recibe responses con los mismos.</span></p> <p class="MsoNormal" style="font-family:arial;"><span style="font-size:100%;">3.- Aquí se puede comprobar cómo está leyendo el estado de referencia 0 (entrada 0) y lee un solo estado (bit count) Se podría pedir con un “bit count” de 5 y nos devolvería los estados de la entrada 0 a la 4.</span></p> <p class="MsoNormal" style="font-family:arial;"><span style="font-size:100%;">2.- Bueno, éste es el que nos interesa. Es un intercambio de paquetes UDP que se intercambian justo cuando aplico la opción “Invert signal”… El puerto “blackjack” es el 1025. Entiendo que debo seguir por aquí. Advantech 0 - Trosman 1</span></p> <p class="MsoNormal" style="font-family:arial;"><span style="font-size:100%;">En el wireshark, señalo los paquetes UDP -> Follow UDP Stream… -> Convierto esta conversación con la opción “Hex dump”, de manera que ya tengo todo en binario:</span></p><p class="MsoNormal" style="font-family:arial;"><span style="font-size:85%;"><b style=""><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_ZPDYBgOMwJzcG-tIkp4Suc_9I28U3s-0ibTE4wLLSnj4jbx3r_-ChC5FEk-kiManSzAV7Ff6i7FYt5oeSXHJqSfoX8wxTewh4HoQILca4xONBzd03QXb5aJOaor8ROM7k6H6UzAa5Qju/s1600/HexDump.JPG"><img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 279px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_ZPDYBgOMwJzcG-tIkp4Suc_9I28U3s-0ibTE4wLLSnj4jbx3r_-ChC5FEk-kiManSzAV7Ff6i7FYt5oeSXHJqSfoX8wxTewh4HoQILca4xONBzd03QXb5aJOaor8ROM7k6H6UzAa5Qju/s400/HexDump.JPG" alt="" id="BLOGGER_PHOTO_ID_5687091980354371634" border="0" /></a></b></span></p><span style=";font-family:arial;font-size:85%;"> </span><p class="MsoNormal" style="font-family:arial;"><span style="font-size:85%;"><br /></span></p> <p class="MsoNormal" style="font-family:arial;"><span style="font-size:100%;">Bueno, el siguiente paso lógico sería desactivar</span><span style="font-size:100%;"> </span><span style="font-size:100%;">“Invert signal” y ver cómo cambia esta traza UDP. Incluso también realizarlo con otra entrada y revisar la traza para ver los cambios. </span></p> <p class="MsoNormal" style="font-family:arial;"><span style="font-size:100%;">Como suele decir</span><span style="font-size:100%;"> </span><span style="font-size:100%;">un compañero mío, “<i style="">a veces la informática es una ciencia infusa”</i> y, bueno, este es el mejor ejemplo, ya que la traza resultante es </span><span style="font-size:100%;">igual a la anterior. Advantech 1 - Trosman 1.</span></p> <p class="MsoNormal" style="font-family:arial;"><span style="font-size:100%;">Bueno, voy a intentar copiar esa comunicación y hacer pruebas. Para ello, primero me voy a crear una herramienta que me genere esa trama de comunicación UDP. </span></p> <p class="MsoNormal" style="font-family:arial;"><span style="font-size:100%;">Entiendo que, como es UDP, no voy a necesitar establecer la conexión y se la voy a poder “meter doblá”. </span><span style="font-size:100%;"> </span><span style="font-size:100%;">Para ello, voy a utilizar C#, la clase UDPClient</span><span style="font-size:100%;"> </span><span style="font-size:100%;">en concreto. ¿Por qué? Porque es lo que tengo más a mano.<br /></span></p><p class="MsoNormal" style="font-family:arial;"> </p><p class="MsoNormal"><span style="font-size:100%;">Después de un rato columpiándome con la conversión de bytes, termino el programita (todo en el main, para que sea cortito):</span></p><br /><span style="font-size:78%;">--------<br /><br /></span><span style=";font-family:";font-size:78%;color:blue;" lang="EN-US">const</span><span style=";font-family:";font-size:78%;" lang="EN-US"> <span style="color:blue;">string</span> IP = <span style="color: rgb(163, 21, 21);">"192.168.1.40"</span>;</span> <p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;font-family:arial;"><span style="" lang="EN-US"><span style="color:blue;">const</span> <span style="color:blue;">int</span> PORT = 1025;</span></p> <p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;font-family:arial;"><span style="" lang="EN-US"> </span></p> <p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;font-family:arial;"><span style="" lang="EN-US"><span style=""> </span></span></p> <p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;font-family:arial;"><span style="">// Genero los objetos de conexión</span></p> <p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;font-family:arial;"><span style=""><span style=""> </span><span style="color: rgb(43, 145, 175);">IPAddress</span> ip = <span style="color: rgb(43, 145, 175);">IPAddress</span>.Parse(IP);</span></p> <p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;font-family:arial;"><span style=""><span style=""> </span></span><span style="" lang="EN-US">IPEndPoint</span><span style="" lang="EN-US"> endPoint = <span style="color:blue;">new</span> <span style="color: rgb(43, 145, 175);">IPEndPoint</span>(ip, PORT);</span></p> <p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;font-family:arial;"><span style="" lang="EN-US"><span style=""> </span></span><span style="">UdpClient</span><span style=""> cliente = <span style="color:blue;">new</span> <span style="color: rgb(43, 145, 175);">UdpClient</span>();</span></p> <p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;font-family:arial;"><span style=""> </span></p> <p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;font-family:arial;"><span style=""><span style=""> </span><span style="color:green;">// Genero los bytes de los paquetes</span></span></p> <p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;font-family:arial;"><span style=""><span style=""> </span><span style="color:blue;">byte</span>[] paquete1 = { 36, 48, 49, 67, <span style="color:red;">56</span>,</span></p> <p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;font-family:arial;"><span style=""><span style=""> </span>48, 56, 48, 48, 48, 48, 48, 48, 48, 48,</span></p> <p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;font-family:arial;"><span style=""><span style=""> </span>48, 48, 48, 48, 48, 48, 48, 48, 48, 48,</span></p> <p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;font-family:arial;"><span style=""><span style=""> </span>48, 48, 48, 48, 48, 48, 48, 48, 48, 48,</span></p> <p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;font-family:arial;"><span style=""><span style=""> </span>48, 48, 48, 48, 48, 13</span></p> <p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;font-family:arial;"><span style=""><span style=""> </span>};</span></p> <p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;font-family:arial;"><span style=""><span style=""> </span><span style="color:blue;">byte</span>[] paquete2 = { 36, 48, 49, 67, 13 };</span></p> <p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;font-family:arial;"><span style=""><span style=""> </span><span style="color:blue;">byte</span>[] paquete3 = { 36, 48, 49, 70, 13 };</span></p> <p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;font-family:arial;"><span style=""><span style=""> </span><span style=""> </span><span style="color:blue;">byte</span>[] paquete4 = { 36, 48, 49, 48, 13 };</span></p> <p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;font-family:arial;"><span style=""> </span></p> <p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;font-family:arial;"><span style=""><span style=""> </span></span></p> <p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;font-family:arial;"><span style=""><span style=""> </span><span style="color:green;">// Comienzo la conversación</span></span></p> <p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;font-family:arial;"><span style=""><span style=""> </span>cliente.Connect(endPoint);</span></p> <p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;font-family:arial;"><span style=""><span style=""> </span>cliente.Send(paquete1, paquete1.Length);</span></p> <p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;font-family:arial;"><span style=""><span style=""> </span></span><span style="" lang="EN-US">cliente.Receive(<span style="color:blue;">ref</span> endPoint);</span></p> <p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;font-family:arial;"><span style="" lang="EN-US"><span style=""> </span>cliente.Send(paquete2, paquete2.Length);</span></p> <p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;font-family:arial;"><span style="" lang="EN-US"><span style=""> </span>cliente.Receive(<span style="color:blue;">ref</span> endPoint);</span></p> <p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;font-family:arial;"><span style="" lang="EN-US"><span style=""> </span>cliente.Send(paquete3, paquete3.Length);</span></p> <p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;font-family:arial;"><span style="" lang="EN-US"><span style=""> </span>cliente.Receive(<span style="color:blue;">ref</span> endPoint);</span></p> <p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;font-family:arial;"><span style="" lang="EN-US"><span style=""> </span>cliente.Send(paquete4, paquete4.Length);</span></p> <p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;font-family:arial;"><span style="" lang="EN-US"><span style=""> </span></span><span style="">cliente.Receive(<span style="color:blue;">ref</span> endPoint);</span></p> <p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;font-family:arial;"><span style=""> </span></p> <p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;font-family:arial;"><span style=""><span style=""> </span>cliente.Close();<span style=""> </span><span style="color:green;">// Cerramos la conexión</span></span></p> <p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;font-family:arial;"><span style=""> </span></p> <p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;font-family:arial;"><span style=""><span style=""> </span><span style="color:green;">// Avisamos</span></span></p> <p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;font-family:arial;"><span style=""><span style=""> </span><span style="color: rgb(43, 145, 175);">Console</span>.WriteLine(<span style="color: rgb(163, 21, 21);">"Trama enviada!"</span>);</span></p> <p class="MsoNormal" style="font-family:arial;"><span style="line-height: 115%;"><span style=""> </span><span style="color: rgb(43, 145, 175);">Console</span>.ReadKey();</span></p><span style="font-size:78%;"> </span><p class="MsoNormal" style="font-family:arial;"><span style="font-size:85%;"><span style="font-size:78%;">-------</span><br /></span></p><p class="MsoNormal" style="font-family:arial;"><span style="font-size:100%;">Allá vamos. Comienzo enviando esta conversación al Adam y veo… que algo he hecho, pues he activado el “Invert signal” de la entrada0. Empecé a fijarme en el byte marcado en rojo en el código y me di cuenta que es… un flag! 56 ON – 48 OFF.</span></p> <p class="MsoNormal" style="font-family:arial;"><span style="font-size:100%;">Exactamente, teníamos el primer invertsignal! El orden de bytes del primer mensaje funcionaría así:</span></p> <p class="MsoNormal" style="font-family:arial;"><span style="font-size:100%;"><b style=""><span style="" lang="EN-US">[0] [1] [2] [3] [Invert0] [Reset0] [Invert1] [Reset1] [Invert2] [Reset2] [Invert3] [Reset3]</span></b></span><span style="font-size:100%;" lang="EN-US">…</span></p> <p class="MsoNormal" style="font-family:arial;"><span style="font-size:100%;">Los reset servirían para resetear el modo de las entradas digitales.</span></p> <p class="MsoNormal" style="font-family:arial;"><span style="font-size:100%;">Después de crear un GCL y realizar la prueba, fue bastante satisfactoria. Pude encender y apagar las luces con el GCL en marcha.</span></p> <p class="MsoNormal" face="arial"><span style="font-size:100%;">Con esta información y revisando algo más por si cambia algo en la trama entra diferentes dispositivos, se puede crear la librería de rigor. Esto a gusto de consumidor.</span></p> <p class="MsoNormal" style="font-family:arial;"><span style="font-size:100%;"><b style="">Comentario sobre seguridad</b>: Estos aparatos pueden modificar su comportamiento con paquetes UDP, esto es tremendamente peligroso por lo que aconsejo mantener como mínimo en subredes diferentes (Y si puede ser en otra VLAN o en otro switch a parte del de producción, mucho mejor)</span></p> <p class="MsoNormal" style="font-family:arial;"><span style="font-size:100%;">Recordad que si tardas unos meses en desarrollar un SCADA con este tipo de elementos, cualquier investigador de seguridad podría sacar fallos muy gordos en poco tiempo… Por eso conviene, desde mi punto de vista, reforzar el acceso desde</span><span style="font-size:100%;"> </span><span style="font-size:100%;">la red.</span></p> <p class="MsoNormal" face="arial"><span style="font-size:100%;">Espero que os haya gustado, si tenéis cualquier comentario o pregunta, dejadme un comentario. (Críticas no por favor, ando bajo de autoestima XDDDD)</span></p>Trosmanhttp://www.blogger.com/profile/07032102632178230703noreply@blogger.com0tag:blogger.com,1999:blog-1418158560680722930.post-39205616888714816272011-11-19T21:03:00.006+01:002011-11-19T21:21:48.013+01:00Charla: Scapy. Generación y manipulación básica de paquetes de red.Otra charla más que subo al blog. Ésta la he dado en la<a href="http://es.arroutada.info/"> LAN Party Arroutada 18</a>, en A Coruña. La verdad es que no tenía intención de hacer ninguna, pero me comentaron el viernes si quería dar una charla y como le estoy cogiendoel gustillo a esto de dar charlas, en un par de horitas me preparé estas diapositivas.<br /><br />Son bastante básicas sobre el funcionamiento de Scapy, comandos principales y manejo de ficheros. Por lo menos dan una idea generalizada de cómo se usa y qué se puede hacer con éste script, que es imprescindible para jugar con las redes y la seguridad.<br /><br />El índice es el siguiente:<br /><span style="font-weight: bold;">- ¿Qué es Scapy?: </span>Explicación de qué es y para qué sirve Scapy<br /><span style="font-weight: bold;">- Protocolos:</span> Los protocolos que soporta<br /><span style="font-weight: bold;">- Comandos:</span> Manera de sacar los comandos básicos<br /><span style="font-weight: bold;">- Generación de paquetes:</span> En capa2 y capa 3<br /><span style="font-weight: bold;">- Apilado de capas:</span> Cómo fusionar paquetes de diferentes capas para generar un único paquete<br /><span style="font-weight: bold;">- Visualización:</span> Ver los paquetes en memoria<br /><span style="font-weight: bold;">- Envío:</span> Cómo enviarlos, una o varias veces<br /><span style="font-weight: bold;">- Manipulación de ficheros:</span> Cómo cargar y guardar ficheros y cómo hacer <span style="font-style: italic;">sniffing </span>directamente<br /><span style="font-weight: bold;">- Edición de paquetes capturados: </span>Editar los paquetes y las capturas directamente, sin tener que volcar a otros paquetes.<br /><br /><div style="width:425px" id="__ss_10235583"> <strong style="display:block;margin:12px 0 4px"></strong><iframe src="http://www.slideshare.net/slideshow/embed_code/10235583" marginwidth="0" marginheight="0" frameborder="0" height="355" scrolling="no" width="425"></iframe> <div style="padding:5px 0 12px"><br /><a href="http://www.slideshare.net/ositobio" target="_blank"></a> </div> </div><br /><br />Espero que os guste y os sea de utilidad. Cualquier duda o sugerencia, dejadla en los comentariosOsitohttp://www.blogger.com/profile/10136352114666299859noreply@blogger.com5tag:blogger.com,1999:blog-1418158560680722930.post-86630623314069755272011-11-16T12:03:00.002+01:002011-11-16T12:06:32.466+01:00La red de la Cantabria Net al descubierto<span style="display: block; margin-top: 12px; margin-right: 0px; margin-bottom: 4px; margin-left: 0px; ">Esta es la charla que impartí dentro de la <a href="http://www.juventudcantabria.net/">LAN Party Juventud Cantabria Net 2011</a>, donde soy responsable de comunicaciones.</span><span style="display: block; margin-top: 12px; margin-right: 0px; margin-bottom: 4px; margin-left: 0px; "><span class="Apple-style-span">Está estructurada en:</span></span><span style="display: block; margin-top: 12px; margin-right: 0px; margin-bottom: 4px; margin-left: 0px; "><b>- Montaje:</b><span class="Apple-style-span"> Pequeña explicación del hardware que los patrocinadores nos prestan para el desarrollo de la party</span></span><span style="display: block; margin-top: 12px; margin-right: 0px; margin-bottom: 4px; margin-left: 0px; "><span style="font-weight: bold; display: inline !important; margin-top: 12px; margin-right: 0px; margin-bottom: 4px; margin-left: 0px; ">- Esquemas de red:</span><span style="display: inline !important; margin-top: 12px; margin-right: 0px; margin-bottom: 4px; margin-left: 0px; "> Topología, Diagrama General, Diagrama de Flujo y diseño del Centro de Comunicaciones</span></span><span style="display: block; margin-top: 12px; margin-right: 0px; margin-bottom: 4px; margin-left: 0px; "><span style="font-weight: bold; display: inline !important; margin-top: 12px; margin-right: 0px; margin-bottom: 4px; margin-left: 0px; ">- Funcionamiento de una red:</span><span style="display: inline !important; margin-top: 12px; margin-right: 0px; margin-bottom: 4px; margin-left: 0px; "> Breve explicación de una red LAN</span></span><span style="display: block; margin-top: 12px; margin-right: 0px; margin-bottom: 4px; margin-left: 0px; "><span style="font-weight: bold; display: inline !important; margin-top: 12px; margin-right: 0px; margin-bottom: 4px; margin-left: 0px; ">- Funcionamiento de un switch:</span><span style="display: inline !important; margin-top: 12px; margin-right: 0px; margin-bottom: 4px; margin-left: 0px; "> Cómo funciona un switch y las tablas ARP</span></span><span style="display: block; margin-top: 12px; margin-right: 0px; margin-bottom: 4px; margin-left: 0px; "><span style="font-weight: bold; display: inline !important; margin-top: 12px; margin-right: 0px; margin-bottom: 4px; margin-left: 0px; ">- Seguridad y control:</span><span style="display: inline !important; margin-top: 12px; margin-right: 0px; margin-bottom: 4px; margin-left: 0px; "> Explicación de cómo controlar el flujo de datos y detección temprana de problemas</span></span><span style="display: block; margin-top: 12px; margin-right: 0px; margin-bottom: 4px; margin-left: 0px; "><span style="font-weight: bold; display: inline !important; margin-top: 12px; margin-right: 0px; margin-bottom: 4px; margin-left: 0px; ">- Portal cautivo:</span><span style="display: inline !important; margin-top: 12px; margin-right: 0px; margin-bottom: 4px; margin-left: 0px; "> Desarrollo del portal cautivo para validar a los usuarios y su funcionamiento e implementación</span></span><span style="display: block; margin-top: 12px; margin-right: 0px; margin-bottom: 4px; margin-left: 0px; "><b>- Problema CantabriaNet 2010: </b><span class="Apple-style-span">Exposición del problema que en la edición de 2010 estuvo durante casi 15 horas ralentizando la red</span></span><strong style="display: block; margin-top: 12px; margin-right: 0px; margin-bottom: 4px; margin-left: 0px; "><br /></strong><strong style="display: block; margin-top: 12px; margin-right: 0px; margin-bottom: 4px; margin-left: 0px; "><span class="Apple-style-span"><iframe src="http://www.slideshare.net/slideshow/embed_code/10160301" width="425" height="355" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe></span></strong><div style="padding-top: 5px; padding-right: 0px; padding-bottom: 12px; padding-left: 0px; "><br /></div><div style="padding-top: 5px; padding-right: 0px; padding-bottom: 12px; padding-left: 0px; ">He modificado la presentación original corrigiendo algunos errores. También he eliminado las animaciones, ya que dan problemas a la hora de subirse a internet o pasarla a formato pdf. Por último, he añadido una diapositiva con un glosario de términos, en formato pdf y odt, extraído de la <a href="http://es.wikipedia.org/wiki/Wikipedia:Portada">Wikipedia</a>, con su herramienta de generación de libros.</div><div style="padding-top: 5px; padding-right: 0px; padding-bottom: 12px; padding-left: 0px; ">Cuando saque tiempo, explicaré en profundidad algunos de los problemas que nos ha dado el portal cautivo y el modo de resolverlos.</div><div><br /></div>Ositohttp://www.blogger.com/profile/10136352114666299859noreply@blogger.com1tag:blogger.com,1999:blog-1418158560680722930.post-40609219059726130902011-10-27T20:09:00.001+02:002011-10-27T20:11:05.010+02:00Charla en la Gumiparty 007Esta es la presentación de una charla que di a los alumnos de primero y segundo del Ciclo Formativo de Grado Medio de "Sistemas microinformáticos y redes" del <a href="http://iesvallejertecn.juntaextremadura.net/">I.E.S Valle del Jerte</a>, dentro del montaje de la <a href="http://www.megagumi.com/web2/">Gumiparty 007</a><div><br /></div><div><b><br /></b></div><div><div style="width:425px" id="__ss_9557918"> <iframe src="http://www.slideshare.net/slideshow/embed_code/9557918" marginwidth="0" marginheight="0" frameborder="0" height="355" scrolling="no" width="425"></iframe> <div style="padding:5px 0 12px"><br /></div><div style="padding:5px 0 12px">No es una maravilla y no entra en demasiada profundidad en los temas, debido a que la mitad de los asistentes llevaban una semana de curso y todavía no tenían conocimientos suficientes para entrar en la materia de manera más profunda, pero da una idea de lo que es la seguridad en una red y problemas básicos que pueden encontrarse y cómo solucionarlos.<br /><br />Más adelante, iré haciendo algún artículo sobre el tema, focalizándome en cada uno de los problemas típicos de red y entrando en profundidad para analizarlos tanto en sus causas como en sus soluciones.<br /></div><div style="padding:5px 0 12px"><br /></div> </div></div>Ositohttp://www.blogger.com/profile/10136352114666299859noreply@blogger.com2tag:blogger.com,1999:blog-1418158560680722930.post-71382996661972549932011-09-19T20:55:00.007+02:002011-09-22T15:04:16.973+02:00Claves WPA para WLAN_XXXX y JAZZTEL_XXXX<font style="font-style: italic;">El siguiente script no es nada especial, solo me he dedicado a escribir en Python los datos que he ido recopilando de la red. No he descubierto nada nuevo, si no que he 'mejorado?' lo que ya habia.</font><br /><br />Hace tiempo, estuve buscando informacion sobre la seguridad en las redes wireless y especialmente me centre en investigar las redes WLAN.<br />Movistar (antigua Telefonica) siempre ha estado en el punto de mira de los investigadores de seguridad. Una compañia sin piedad que llena titulares tan escandalosos como el <a href="http://www.movilonia.com/movistar-amplia-su-ere-hasta-8-500-trabajadores/">ERE de 8500 empleados</a> habiendo obtenido unos beneficios records de un 31% sobre el ejercicio anterior durante un periodo de crisis economica brutal.<br /><br />Pero, como diria <a href="http://www.youtube.com/watch?v=-1cTIUc7cJc">Francisco Umbral</a>, yo he venido aqui a hablar de mi libro y mas exactamente de como se puede romper la seguridad en las redes WLAN_XXXX y JAZZTEL_XXXX y su clave WPA.<br /><br />La gente de SeguridadWireless fueron los primeros en dar la primicia que acababan de descubrir el algoritmo de encriptacion para las claves por defecto de los router Comtrend. Optaron por no liberar el codigo e intentar sacar beneficio a traves de AdSense posteando en su web un formulario. Algo que personalmente me parece muy feo.<br /><br />La comunidad, ante esta agresión, trabajó para descubrirlo y demostraron el método de encriptacion, basado en cifrar a MD5 una cadena generada mediante el ESSID y el BSSID del router. Esta proeza la consiguio <a href="http://elvecinoo.wordpress.com/">elvecinoo</a> dumpeando la memoria del router y buscando cadenas. Simplemente estaba ahi escrita, esperando a ser encontrada.<br />El <a href="http://lampiweb.com/foro/index.php/topic,5595.msg34539.html#msg34539">hilo</a> se siguió de cerca desde lampiweb.<br /><br />Dejando a un lado la historia, voy a la parte tecnica que es la que nos gusta a todos.<br /><br />Primero hay que quitar los <font style="font-weight: bold;">:</font> al BSSID. Solo estorban ;-)<br />El ESSID normalmente se genera restando 3 a el ultimo bloque del BSSID, pero hay que tener en mente que el usuario ha podido cambiar el ESSID a su router.<br /><br />Coge papel y boli que empezamos.<br /><br />La clave se obtiene de la cadena compuesta por:<br />bcgbghgg + 8 primeros caracteres del BSSID + 4 ultimos caracteres del ESSID + BSSID completo<br />La cadena resultante, se encripta a MD5 y se acorta a los 20 primeros caracteres.<br /><br />En el caso de que se haya cambiado el ESSID la clave se sacaria de esta manera:<br />bcgbghgg + los 10 primeros caracteres del BSSID + resta 3 a los dos ultimos caracteres del BSSID + BSSID<br />Igual que antes, solo nos quedamos con los 20 primeros caracteres del MD5.<br /><br />Esto queda mas claro con este ejemplo:<br />Mi red es WLAN_B2B0 y el BSSID es 64:68:0C:B1:B2:B3<br />La cadena que me resulta es:<br />bcgbghgg + 8 primeros caracteres del BSSID + 4 ultimos caracteres del ESSID + BSSID completo<br /><font style="font-style:italic;">bcgbghgg + 64680CB1 + B2B0 + 64680CB1B2B3 = </font><i><b>bcgbghgg64680CB1B2B064680CB1B2B3</b></i><div><i><br /></i>Convertido a MD5 es <font style="font-style:italic;">20fbc01c79ee84a8bdde311e15aebb91</font> y me quedo con los 20 primeros caracteres.<br />El pass de la red es <font style="font-weight:bold;">20fbc01c79ee84a8bdde</font><br /><br /><font style="font-weight: bold;">Bonus:</font><br />La clave de los router Zyxel es mas sencilla. Estos router tienen como BSSID 00:1f:a4:XX:YY:ZZ.<br />Se crea una cadena con los 8 primeros digitos del BSSID + 4 ultimos digitos del ESSID<br />Al igual que con los Comtrend se convierte a MD5 y se acorta ese MD5 a los 20 primeros caracteres.<br /><br />De nuevo lo explico con un ejemplo:<br />Mi red tiene como BSSID 00:1f:a4:b1:b2:b3 y esta identificada mediante el ESSID WLAN_B2B0<br />Creo la cadena:<br />8 primeros digitos del BSSID + 4 ultimos digitos del ESSID<br /><font style="font-style: italic;">001fa4b1 + b2b0 = </font><span class="Apple-style-span" style="font-style: italic; "><b>001fa4b1b2b0</b></span></div><div><b><i><br /></i></b>Lo convierto a MD5 y queda <font style="font-style: italic;">9689bde42d0f3aec317fc7d1a70a4bee </font><br />Me quedo solo con los 20 caracteres y el resultado es la contraseña<br />El password de la red es <font style="font-weight: bold;">9689BDE42D0F3AEC317F<br /><br />URL SVN: </font><a href="https://www.assembla.com/code/PynTester/subversion/nodes/trunk/WJ4x/WJ4x_BBDD.py">https://www.assembla.com/code/PynTester/subversion/nodes/trunk/WJ4x/WJ4x_BBDD.py</a></div>Anonymousnoreply@blogger.com5tag:blogger.com,1999:blog-1418158560680722930.post-6997437610067054092011-09-19T17:40:00.000+02:002011-09-19T17:51:12.412+02:00Creando un plugin para immunity debuggerMuchas veces, cuando estamos depurando una aplicación con el immunity debugger, siempre pensamos que hay algo que debería tener pero que no tiene. Incluso perdemos el tiempo repitiendo tareas que podríamos evitar tener que hacer mil veces si hubiera un plugin que lo hiciese. Pues bien, en este post voy a hacer una pequeña introducción a como realizar un plugin para el immunity, para que os sirva de introducción, y podáis haceros luego vuestros propios plugins.<br />
<br />
El plugin que vamos a realizar es muy sencillo, simplemente buscará unas instrucciones en ensamblador por todo el programa que estemos depurando (incluso sus librerías), y nos mostrará por pantalla donde se encuentra dichas instrucciones. Para realizarlo, lo vamos a hacer con Python, un lenguaje que se lleva muy bien con Immunity y con el que además vamos a programar el plugin muy rápido.<br />
<br />
Todas los plugins de immunity se encuentran en el directorio "PyCommands" del directorio de instalación de Immunity (No confundir con el directorio "PyPlugins"). Con lo cual vamos a crear un fichero en esa carpeta llamado "buscador.py". Para hacer una prueba y ver como funciona esto de los plugins, vamos a hacer primero el típico "hola mundo". Para ello abrimos el fichero "buscador.py" y escribimos lo siguiente:<br />
<br />
<pre class="brush: python">def main(args):
return "Hola mundo!"
</pre>
<br />
Una vez guardado, abrimos el immunity cargando cualquier programa (yo he cargado en notepad) y en la parte inferior de la ventana tecleamos lo siguiente:<br />
<br />
<pre class="brush: python;">!hola </pre>
<br />
Después de eso veremos con se muestra justo debajo de donde hemos escrito el mensaje "hola mundo!", como podemos ver en la imagen.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhO8zhVExoKTysrhox5K7Fkl7zJAWlLt38C3wSY6tnv4SEj8SNbUOnx_WX9ueBKmGM33UJKDKhdYekhv4iuTaesF1volA2Ry8Kh2LK00AZp6OAzX4y02wQkpzSXTwL06MtE8rn4-RGOu9ev/s1600/holaMundo.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="172" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhO8zhVExoKTysrhox5K7Fkl7zJAWlLt38C3wSY6tnv4SEj8SNbUOnx_WX9ueBKmGM33UJKDKhdYekhv4iuTaesF1volA2Ry8Kh2LK00AZp6OAzX4y02wQkpzSXTwL06MtE8rn4-RGOu9ev/s320/holaMundo.jpg" width="320" /></a></div>
<br />
<br />
Con esto ya nos podemos hacer un poco a la idea de como van los plugins de immunity. Así que ahora vamos a explicar como hacer más cosas.<br />
<br />
La librería que nos trae immunity para hacer plugins se llama "immlib", y es en lo que nos vamos a basar para hacer cualquier plugin ya que con esta libreria podemos hacer casi de todo con immunity. El propio immunity trae en el menú una parte dedicada a "immlib" y si extendemos el menú veremos que tenemos ayuda sobre immlib y su API. Aunque la mejor ayuda esta en el directorio "documentation/ref" del la carpeta principal de immunity. Si hacemos doble click sobre index.html veremos la documentación completa de immlib y esta sí que es muy buena, si perdemos un poco de tiempo echándole un vistazo podemos hacer cosas bastante chulas (hooks, breakpoints, etc..)<br />
<br />
Para hacer el plugin vamos a utilizar alguna de las funciones que nos ofrece immlib. Para ello lo primero que deberemos de hacer es importar "immlib" e instanciar la clase "debugger" que es la que vamos a usar en nuestro plugin. Los métodos que vamos a usar para el plugin van a ser solo tres:<br />
<ul>
<li>log - Con el cual vamos a escribir en la ventana de log.</li>
<li> searchCommands - El cual buscará las instrucciones en ensamblador que le pasemos.</li>
<li>getMemoryPageByAddress - Como el nombre indica devuelve una página de memoria, desde una dirección que devuelve "searchCommands"</li>
</ul>
Buenos ahora que ya sabemos los tres comandos que vamos a necesitar voy a mostrar el código completo del plugin y lo vamos comentando:<br />
<br />
<code>
from immlib import *<br />
<br />
def main(args):</code><br />
<code> imm = Debugger()<br /> if not args:<br />
imm.log("!prueba [asm]")<br />
imm.log("Ejemplo: !prueba pop r32|pop r32|ret")<br />
return "[*] No se ha usado correctamente. Vea la ventana de logs"<br />
<br /> codigo = " ".join(args).replace("|","\n")<br />
res = imm.searchCommands(codigo.upper())<br />
<br />
for aux in res:<br />
memoria = imm.getMemoryPageByAddress( aux[0] )<br />
permisos = memoria.getAccess(human = True)<br />
if "execute" in permisos.lower():<br />
imm.log("[*] Coincidencia: %s (0x%08x) en %s" % (codigo.replace("\n","|"),aux[0], aux[2]))<br /> </code><br />
<code> return "[*] Ejecutado sin errores. Consulte la ventana de logs para ver los resultados"</code>
<br />
<br />
Como se puede ver el código no es complicado, en las primeras lineas lo único que hago es instanciar la clase Debugger, y si el usuario introduce mal los argumentos mostrarle como debe hacerlo.<br />
<br />
En la segunda parte, sustituyo las tuberías (que hago que el usuario introduzca para separar comandos) por un salto de linea (necesario para que "searchCommands" funcione correctamente) y hago que "searchCommands" busque las instrucciones.<br />
<br />
En la ultima parte, con cada resultado devuelto, uso getMemoryPageByAddress para saber que permisos tiene dicha región de memoria, y en el caso de que esa región sea ejecutable la muestro por pantalla. Muchos os preguntareis, ¿Por qué ejecutable? Pues bien, este plugin lo hice con la intención de buscar pop/pop/ret para los exploits, por lo cual necesitaba que la región donde se encuentren estas instrucciones fuera ejecutable. Así que si no os interesa esta parte simplemente la podéis comentar y solo mostrar los resultados de la busqueda con "searchCommands", o si os vale con que la memoria sea de lectura pues podéis poner "read", esto ya os lo dejo a vuestra imaginación.<br />
<br />
Si queréis probar el plugin, ya sabéis como hacerlo, copiáis el codigo en un fichero (para los vagos os lo podéis bajar de <a href="http://www.megaupload.com/?d=FZWQ3J11">aquí</a>) y luego lo ponéis en la carpeta "PyCommands". Abrir el immunity debugger con alguna aplicación y en la parte baja de la ventana, el nombre que le hayáis puesto al fichero más la cadena a buscar. Por ejemplo, si al fichero lo habéis llamado buscador y queréis buscar la famosa cadena pop/pop/ret, podéis poner lo siguiente:<br />
<br />
<pre class="brush: python;">!buscador pop eax|pop ebx|ret </pre>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6JUenQrNwjjzkdUlyN6AppFFk4ts7atc6zRY5NvGYYtNQmiE7IA-hkz0X6JB_yph909suz6Ct0HXdUkaokUIRMCL7nq1nkY2KjoXsmrLfl7xML2zRncrn8ClXGCWn1FLsz0bko4rT0eYw/s1600/buscador.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="172" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6JUenQrNwjjzkdUlyN6AppFFk4ts7atc6zRY5NvGYYtNQmiE7IA-hkz0X6JB_yph909suz6Ct0HXdUkaokUIRMCL7nq1nkY2KjoXsmrLfl7xML2zRncrn8ClXGCWn1FLsz0bko4rT0eYw/s320/buscador.jpg" width="320" /></a></div>
<br />
<br />
y buscará todas las instrucciones que se correspondan con esa cadena y las mostrará en la ventana de logs. Sencillo, no?<br />
<br />Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-1418158560680722930.post-86342010892897450752011-06-15T23:19:00.026+02:002011-06-16T00:03:00.997+02:00Post Dominguero: Si es que van provocando...<div style="text-align: left;">Vamos con otro post de tarde dominguera...</div><div style="text-align: center;"><div style="text-align: left;"><div style="text-align: center;"><br /></div><div>Hoy vamos a hacer algo rapidito y para toda la familia. Seguro que todos hemos oído aquello de que hay que cambiar las claves por defecto y tal. Bueno, pues hoy vamos a ver por qué...</div><div style="text-align: center; "><br /></div><div>Ante la dura imagen de otro lunes que se acerca, a uno le entran unas ganas locas de darse al noble arte de la cata de licores variados, o de, directamente, putear a alguien. Lanzamos nuestro dado de 20 caras para buscar un objetivo aleatorio y, ¡zas!, aparece el término "webcam"...</div><div style="text-align: center; "><br /></div><div>Y es que no sólo de bases de datos vive el cracker (si no que se lo digan a los de Inteco), sino que cualquier dispositivo conectado a una red es susceptible de estar expuesto a miradas indiscretas...</div><div style="text-align: center;"><br /></div><div style="text-align: center; "><img src="http://2.bp.blogspot.com/-NLBFbG6bH9w/Te549ydKnbI/AAAAAAAAACw/kmn350W_gk8/s320/pdpic20100527231039.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5615558788289043890" style="float: right; margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 10px; cursor: pointer; width: 320px; height: 240px; " /></div><div>Sí amiguitos, hoy día casi todo está conectado a la red (he visto hasta cafeteras que twittean los cafés que sirven), por lo que no está demás tener un poco de cuidado. Una sencilla búsqueda en Google nos puede proporcionar numerosos modelos de webcams que incorporan un simple servidor web para mostrar al mundo su particular visión del ídem. Cogeremos un modelo al azar, por ejemplo, el modelo "Wit-Eye" de Softwell Technology. ¿Por qué no? Buscando una imagen de la cámara, encontramos que este modelo en concreto no se trata de una webcam como tal, sino de una controladora con varias entradas de señal que se usa para administrar varias cámaras a la vez.</div><div style="text-align: center; "><br /></div><div style="text-align: left; ">Ahora buscaremos lo que los que saben de esto llaman "vector de ataque", que básicamente viene a ser por dónde le vamos a meter mano al tema. ¿Buscaremos un exploit conocido para el servidor web? ¿Buscaremos datos para un ataque de ingeniería social? ¿Intentaremos romper la clave de acceso por fuerza bruta, diccionario,etc? ¿O por el contrario utilizaremos una complicada pero brillante inyección SQL?</div><div style="text-align: center; "><br /></div><div>Bueno, no sé si he dicho que es domingo, estoy vago y en Ferrari la han vuelto a liar... Pues no, nada de complicaciones. Lo primero es probar lo más fácil, que en este caso es usar las credenciales por defecto de este dispositivo (ah... pensamiento lateral, lo llaman). Otra búsqueda en Google y, vaya..., debería haberlo supuesto, admin:admin... ¡glorioso!</div><div style="text-align: center; "><br /></div><div>¿Qué nos queda? Pues un conejillo de indias con el que comprobar el nivel de seguridad medio de un usuario de este tipo de cámaras. ¿Cómo lo encontramos? Bueno, pues creo que este tema lo iba a tratar uno de los compañeros del blog, pero ya que estamos, este post os puede servir de introducción de lo que se llama "Google Hacking" (mola el término, eh?). Todos los buscadores permiten afinar sus búsquedas mediante el uso de ciertas palabras clave. ¿Nunca habéis visto en el cine cómo desde el navegador sacan hasta las multas de tráfico de alguien? Pues no es tan complicado, creedme... En este ejemplo voy a usar la siguiente búsqueda en Google:</div><div style="text-align: center; "><br /></div><div><span class="Apple-style-span"><blockquote>allintitle:"dvr login"</blockquote></span><div style="text-align: center;"><br /></div></div><div>¿Qué creéis que me devolverá? Exacto, todas las páginas que tengan en su título la cadena exacta "DVR Login", que viene a ser el panel de acceso. Ahora simplemente iremos cogiendo los resultados y meteremos las credenciales por defecto... A mí me ha costado exactamente cuatro intentos (no es coña) encontrar un resultado en el que no las haya cambiado, lo que significa, según este riguroso estudio, que al 25% de los usuarios de estas webcams les importa bastante poco su privacidad.</div><div style="text-align: center;"><br /></div><div><img src="http://1.bp.blogspot.com/-PeHysqE4qlc/TfkrAZCkELI/AAAAAAAAAEg/XTCSSBRMOww/s400/login.jpg" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 283px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5618569295843037362" /></div><div style="text-align: center;"><br /></div><div>Una vez dentro, ¡¡¡ que empiece la fiesta !!! A ver qué tenemos...</div><div style="text-align: center;"><br /></div><div><div style="text-align: center;"><img src="http://1.bp.blogspot.com/-D5c2f7DzkqA/TfkqunafZlI/AAAAAAAAAEY/vvQYYLgUfGk/s400/admin.jpg" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 283px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5618568990463845970" /></div><div style="text-align: center; "><br /></div></div><div>Este es el panel de control del dispositivo. Desde él podemos controlar hasta 16 cámaras al mismo tiempo (ideal para negocios, empresas, bancos, jeje)... Una de las primeras cosas que se me ocurren es cambiar el pass del dispositivo, pero como eso está muy mal visto hoy en día, podría crearme una nueva cuenta de administrador, por ejemplo.</div><div><br /></div><div><div style="text-align: center;"><img src="http://4.bp.blogspot.com/-t12wINpT9cA/TfkqXOUgGBI/AAAAAAAAAEQ/WvfUegBe68g/s400/account.jpg" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 301px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5618568588590848018" /></div><div style="text-align: left; ">Como podéis ver, tengo acceso a todo el sistema, puedo ver todo lo que las cámaras muestran, podría activarlas y desactivarlas a mi antojo, etc... Vamos, una maravilla...</div></div><div style="text-align: left; "><br /></div><div><div style="text-align: center;"><img src="http://3.bp.blogspot.com/-OReFyJFGha0/Tfkp_4A0c-I/AAAAAAAAAEI/0azwrbhz9ew/s400/alarmlog.jpg" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 312px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5618568187465724898" /></div><div style="text-align: left; ">Hay un apartado muy interesante que es "Alarm Log". En él se guarda un registro de ciertos eventos que han sucedido, como cambios de configuración, determinados fallos, etc... Como podemos observar, parece ser que la configuración ha sido modificada el pasado 01/06/2011, tras varios fallos de disco.</div></div><div style="text-align: left; "><br /></div><div><img src="http://4.bp.blogspot.com/-EvgbKfWW6hw/TfkpufUvaOI/AAAAAAAAAEA/aGbIGQ-VPtQ/s400/loginlog.jpg" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 312px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5618567888780617954" /></div><div style="text-align: center; "><br /></div><div>Cómo no, el apartado "Login Logs" nos mostrará todos los accesos al sistema e incluso podremos exportar estos datos. Esto es interesante si quisiéramos continuar realizando otro tipo de ataques. Por ejemplo, aparecen numerosos accesos como admin desde las mismas IPs, lo cual significa que esas son las IPs desde las que se administra este sistema (¿y quizás otros?). La opción de "Exportar" es especialmente útil en este caso, jeje... Además, desde aquí podremos borrar nuestras huellas eliminando aquellas entradas en las que aparecemos. No nos gustaría recibir la visita del cartero con un sobre certificado...</div><div style="text-align: center; "><br /></div><div>Por último, y por mera curiosidad, vamos a ver a dónde nos estamos conectando. Una visita a GeoIP, metemos la IP del sitio y ...</div><div><br /></div><div style="text-align: center; "><img src="http://4.bp.blogspot.com/-SLwH6ZO_Ul0/TfkpVpYO4EI/AAAAAAAAAD4/w0XoZa9eURQ/s400/geoip.jpg" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 144px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5618567461982888002" /></div><div>Bueno, por lo visto se trata de una empresa de comunicaciones de EE.UU, con sede en Virginia... Con todos estos datos casi podríamos meternos hasta la cocina, pero creo que ya es suficiente por hoy, ¿no?. La moraleja de todo esto es que SIEMPRE debemos cambiar las contraseñas que vienen por defecto.</div><div style="text-align: center; "><br /></div><div>Como dije en el título de la entrada, es que hay algunos que van provocando...</div></div></div>Anonymousnoreply@blogger.com0tag:blogger.com,1999:blog-1418158560680722930.post-47267713468313121722011-06-06T17:42:00.011+02:002011-06-06T21:09:19.688+02:00Post Dominguero: Haciéndonos un crawler básicoDesde NoSecNoFun inauguramos una nueva sección llamada "Post Dominguero", donde recogeremos esas cosillas que puedes hacer una tarde de domingo sin partidos de liga, después de ver ganar a Nadal (otra vez) Rolland Garros...<div><br /></div><div>Uno de los primeros pasos que se dan a la hora de meterle mano a una web es revisar el código de la página en busca de datos que nos permitan hacernos una idea de la composición del sitio, de la tecnología que utiliza, etc. Buscar direcciones de correo en el código, revisar los comentarios, buscar campos ocultos, la estructura de carpetas, etc, puede ser algo bastante aburrido y, sobre todo, tedioso si el sitio es un poco grande. Para ello existen los crawlers, que son programitas que se encargan de hacer este trabajo por nosotros y ahorrarnos un montón de tiempo. También son muy utilizados por los motores de búsqueda para indexar las webs y mostrarlas en los resultados de las búsquedas, pero lo que buscan estos últimos es muy diferente de lo que vamos a buscar nosotros.</div><div><br /></div><div>El camino fácil es coger un crawler conocido como BlackWidow, Sam Spade o Teleport y dejarle que haga el trabajo sucio pero, como lo que nos mola es aprender cómo funcionan las cosas, vamos a hacernos uno sencillito, con un simple script para la consola. En este caso he elegido hacerlo para Linux, pero si se quiere hacer para Windows simplemente cambiaremos grep por findstr (o similares).</div><div><br /></div><div>Lo primero que necesitamos es hacernos una copia local del sitio en nuestra máquina (por aquello de la velocidad y tal...). Podemos currarnos un programita que recorra todas las páginas de un sitio y las copie en el disco duro pero, es domingo, tengo resaca y conozco un programa que ya lo hace: <a href="http://www.gnu.org/software/wget/" target="blank">WGET</a>. Además hay versión tanto para Windows como para Linux, así que, p'alante!</div><div><br /></div><div>Supogo que sabemos cómo funciona wget (y si no, nos leemos la ayuda, que es muy fácil, jeje), así que el comando que necesitaríamos para descargarnos una web sería el siguiente:</div><div><br /></div><div><span class="Apple-style-span"><blockquote>wget -r -m -nv http://www.unawebcualquiera.com</blockquote></span></div><div><br /></div><div>Este comando nos va a generar una carpeta con el nombre de la web y nos va a dejar dentro todos los ficheros de la misma respetando la estructura de carpetas (esto es importante, ya que así podremos hacernos una idea de cómo se estructura el sitio, qué tipo de aplicaciones alberga y qué tecnologías utiliza).</div><div><br /></div><div>Una vez que ha acabado de copiar (puede tardar bastante si el sitio es un poco grande), necesitamos filtrar cada uno de los ficheros y buscar lo que queremos. ¿Qué usaremos para filtrar? a mí me mola <a href="http://es.wikipedia.org/wiki/Grep" target="blank">grep</a> para linux y <a href="http://technet.microsoft.com/es-es/library/cc755405(WS.10).aspx" target="blank">findstr</a> para windows, pero es una cuestión de gustos. Ahora viene lo importante: ¿Qué queremos buscar? Bueno, en este ejemplo sencillo, buscaremos lo más básico, que viene a ser:</div><div><ol><li><b>Comentarios:</b> Os sorprendería ver lo que nos podemos encontrar comentado en cualquier código, desde credenciales de acceso, hasta referencias a ficheros de configuración, logs, etc, que nos pueden ayudar muchísimo a la hora de buscarle las cosquillas al asunto. Los comentarios en html empiezan con la misma cadena, <span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px; "><!-- , </span> así que ya sabemos cómo sacarlos... </li><li><b>Enlaces:</b> Por supuesto, cualquier link que venga en el código. Podemos encontrar referencias a scripts, ficheros, carpetas, etc. Yo buscaré cadenas HREF (podemos buscar también por ACTION, pero estoy vago...).</li><li><b>Direcciones de correo:</b> Fundamental. Tanto para hacer ingeniería social como para su posible uso como usuario, ¿Cuántas webs conoces en las que el usuario es una dirección de correo? Pues eso, a buscar @...</li><li><b>Campos ocultos:</b> ¿Por qué se oculta un campo en una web? Porque seguro que es importante. Así que, al saco todo aquello que ponga type=hidden</li><li><b>Meta Tags:</b> Estas etiquetas que se añaden al código pueden contener direcciones, teléfonos, nombres, etc. Son una buena fuente de información para ataques de ingeniería social, así que, si pone meta...</li><li><b>Scripts:</b> Por supuesto, si hay algún script, lo quiero ver.</li></ol><div>Podríamos seguir añadiendo cosas para buscar, pero para el ejemplo, creo que es más que suficiente.</div></div><div><br /></div><div>¿Cómo sería el comando para aplicar una de estas búsquedas? Por ejemplo, para sacar los enlaces sería muy sencillo:</div><div><span class="Apple-style-span"><blockquote>cat ./www.unawebcualquiera.com/index.html | grep -i -F 'href'</blockquote></span></div><div>Nos sacaría por pantalla todas las líneas que contuvieran la cadena indicada. Lo que tendríamos que hacer es ir cambiando el patrón de búsqueda según el tipo, y sacarlo todo a un fichero de texto. Para ello, me he hecho un script en bash al que le paso dos parámetros: la carpeta con la web descargada y el fichero con los resultados.</div><div><blockquote><div><span class="Apple-style-span">#!/bin/bash</span></div><div><span class="Apple-style-span"><br /></span></div><div><span class="Apple-style-span">#para cada fichero de la carpeta de entrada, lo parseamos...</span></div><div><span class="Apple-style-span">for i in $(find $1/)</span></div><div><span class="Apple-style-span">do</span></div><div><span class="Apple-style-span"><span class="Apple-tab-span" style="white-space: pre; "> </span>echo "Parseando " $i</span></div><div><span class="Apple-style-span"><span class="Apple-tab-span" style="white-space: pre; "> </span>if [ -f $i ];</span></div><div><span class="Apple-style-span"><span class="Apple-tab-span" style="white-space: pre; "> </span>then</span></div><div><span class="Apple-style-span"><span class="Apple-tab-span" style="white-space: pre; "> </span>echo "[" $i "]" >> $2</span></div><div><span class="Apple-style-span"><span class="Apple-tab-span" style="white-space: pre; "> </span>#Buscamos comentarios "<span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px; "><!--</span>"</span></div><div><span class="Apple-style-span"><span class="Apple-tab-span" style="white-space: pre; "> </span>echo "Comments" >> $2</span></div><div><span class="Apple-style-span"><span class="Apple-tab-span" style="white-space: pre; "> </span>echo "" >> $2</span></div><div><span class="Apple-style-span"><span class="Apple-tab-span" style="white-space: pre; "> </span>cat $i | grep -i -F '<span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px; "><!--</span>' >> $2</span></div><div><span class="Apple-style-span"><span class="Apple-tab-span" style="white-space: pre; "> </span>echo "-----------------------------------------------------------------" >> $2</span></div><div><span class="Apple-style-span"><span class="Apple-tab-span" style="white-space: pre; "> </span>#Buscamos correos "@"</span></div><div><span class="Apple-style-span"><span class="Apple-tab-span" style="white-space: pre; "> </span>echo "Emails" >> $2</span></div><div><span class="Apple-style-span"><span class="Apple-tab-span" style="white-space: pre; "> </span>echo "" >> $2</span></div><div><span class="Apple-style-span"><span class="Apple-tab-span" style="white-space: pre; "> </span>cat $i | grep -i -F '@' >> $2</span></div><div><span class="Apple-style-span"><span class="Apple-tab-span" style="white-space: pre; "> </span>echo "-----------------------------------------------------------------" >> $2</span></div><div><span class="Apple-style-span"><span class="Apple-tab-span" style="white-space: pre; "> </span>#Buscamos campos ocultos "hidden"</span></div><div><span class="Apple-style-span"><span class="Apple-tab-span" style="white-space: pre; "> </span>echo "Hidden Fields" >> $2</span></div><div><span class="Apple-style-span"><span class="Apple-tab-span" style="white-space: pre; "> </span>echo "" >> $2</span></div><div><span class="Apple-style-span"><span class="Apple-tab-span" style="white-space: pre; "> </span>cat $i | grep -i -F 'type=hidden' >> $2</span></div><div><span class="Apple-style-span"><span class="Apple-tab-span" style="white-space: pre; "> </span>echo "-----------------------------------------------------------------" >> $2</span></div><div><span class="Apple-style-span"><span class="Apple-tab-span" style="white-space: pre; "> </span>#Buscamos Links "href"</span></div><div><span class="Apple-style-span"><span class="Apple-tab-span" style="white-space: pre; "> </span>echo "Links" >> $2</span></div><div><span class="Apple-style-span"><span class="Apple-tab-span" style="white-space: pre; "> </span>echo "" >> crawl</span></div><div><span class="Apple-style-span"><span class="Apple-tab-span" style="white-space: pre; "> </span>cat $i | grep -i -F 'href=' >> $2</span></div><div><span class="Apple-style-span"><span class="Apple-tab-span" style="white-space: pre; "> </span>echo "-----------------------------------------------------------------" >> $2</span></div><div><span class="Apple-style-span"><span class="Apple-tab-span" style="white-space: pre; "> </span>#Buscamos Meta "Meta"</span></div><div><span class="Apple-style-span"><span class="Apple-tab-span" style="white-space: pre; "> </span>echo "Meta Tags" >> $2</span></div><div><span class="Apple-style-span"><span class="Apple-tab-span" style="white-space: pre; "> </span>echo "" >> $2</span></div><div><span class="Apple-style-span"><span class="Apple-tab-span" style="white-space: pre; "> </span>cat $i | grep -i -F 'meta' >> $2</span></div><div><span class="Apple-style-span"><span class="Apple-tab-span" style="white-space: pre; "> </span>echo "-----------------------------------------------------------------" >> $2</span></div><div><span class="Apple-style-span"><span class="Apple-tab-span" style="white-space: pre; "> </span>echo "" >> $2</span></div><div><span class="Apple-style-span"><div><span class="Apple-style-span"><span class="Apple-tab-span" style="white-space: pre; "> </span>echo "-----------------------------------------------------------------" >> $2</span></div><div><span class="Apple-style-span"><span class="Apple-tab-span" style="white-space: pre; "> </span>#Buscamos scripts "script"</span></div><div><span class="Apple-style-span"><span class="Apple-tab-span" style="white-space: pre; "> </span>echo "SCRIPTS" >> $2</span></div><div><span class="Apple-style-span"><span class="Apple-tab-span" style="white-space: pre; "> </span>echo "" >> $2</span></div><div><span class="Apple-style-span"><span class="Apple-tab-span" style="white-space: pre; "> </span>cat $i | grep -i -F 'script'>>; $2</span></div><div><span class="Apple-style-span"><span class="Apple-tab-span" style="white-space: pre; "> </span>echo "-----------------------------------------------------------------" >> $2</span></div><div><span class="Apple-style-span"><span class="Apple-tab-span" style="white-space: pre; "> </span>echo "" >> $2</span></div></span></div><div><span class="Apple-style-span"><span class="Apple-tab-span" style="white-space: pre; "> </span>echo "********************************************************" >> $2</span></div><div><span class="Apple-style-span"><span class="Apple-tab-span" style="white-space: pre; "> </span>echo "********************************************************" >> $2</span></div><div><span class="Apple-style-span"><span class="Apple-tab-span" style="white-space: pre; "> </span>echo "" >> $2</span></div><div><span class="Apple-style-span"><span class="Apple-tab-span" style="white-space: pre; "> </span>fi</span></div><div><span class="Apple-style-span">done</span></div><div><span class="Apple-style-span">echo "FIN!"</span></div></blockquote><div></div></div><div>En este ejemplo, el fichero de resultado podría salir algo tosco si la web en cuestión no sigue una indentación correcta, pero como ejemplo nos sirve más que de sobra. Una forma de mejorar esto sería mediante el uso de <a href="http://es.wikipedia.org/wiki/Expresi%C3%B3n_regular" target="blank">expresiones regulares</a>. Como no me quiero meter con ello en este post, simplemente os dejo un ejemplo de cómo se filtrarían las direcciones de correo mediante el uso de expresiones regulares:</div><div><blockquote><span class="Apple-style-span">grep -o -e "[A-Za-z0-9\._-]*@<span class="Apple-style-span">[A-Za-z0-9\._-]*\.[a-zA-Z]\{2,4\}" $i</span><span class="Apple-style-span"> >> $2</span></span></blockquote><span class="Apple-style-span"></span></div><div>En este comando le estamos diciendo que sólo nos saque la cadena que coincida con el patrón que le indicamos (parámetro -o) y le indicamos el susodicho patrón (-e): una cadena de caracteres entre los que se pueden encontrar letras de la A a la Z (mayúsculas y minúsculas), números del 0 al 9 y los caracteres ".", "_","-", seguidos del carácter "@", y después otra cadena con el mismo patrón, seguida de un "." y otra cadena que sólo contenga las letras de la A a la Z mayúsculas o minúsculas, de un mínimo de dos caracteres y un máximo de cuatro... Un poco farragoso de leer, ¿no?, pero sin duda más amigable a la hora de presentar los resultados...</div><div><br /></div><div>Como ya he dicho antes, si lo queremos hacer para Windows, simplemente cambiaríamos el cat por el type (comando para ver el contenido de un fichero en Windows), y el grep por findstr o similares.</div><div><br /></div><div>Espero que os resulte útil.</div><div>CIAO!</div><div><br /></div><div>P.D.: Sí, sí, ya sé que con grep, si ponemos el parámetro -r, nos recorre recursivamente un directorio y aplica el filtro a todos los ficheros, pero me molaba más así...</div>Anonymousnoreply@blogger.com0tag:blogger.com,1999:blog-1418158560680722930.post-30532634559182363802011-05-19T22:29:00.021+02:002011-05-24T15:56:58.689+02:00¡¡Yo tengo el poder!!<p class="MsoNormal" style="margin-bottom: 12pt;"><span style="font-size:130%;"><span style="font-weight: bold;">Introducción</span></span><br /></p><p class="MsoNormal" style="margin-bottom: 12pt;">El otro día me llegó mi última compra en Ebay, dos Cisco 3550 de 48 puertos de segunda mano, para mi laboratorio Cisco de casa. Como cada vez que recibo equipos, en lugar de resetearlos y empezar a jugar con ellos, mi curiosidad me llevó a "jugar" con ellos.</p><p class="MsoNormal" style="margin-bottom: 12pt; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsLihqUMcTdSW-tXL954BFLbo24UTfTZYnT0elzn6CYr8sb49N_zWPcYuvXS7fMDSqkdN6wp5t5fOYEnwCcMzwDzZel2n4D2edePZxD4q21Oyk5loc-9hRY7u2XMIwj_QnEAvtzngd6Fs/s1600/cisco.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 128px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsLihqUMcTdSW-tXL954BFLbo24UTfTZYnT0elzn6CYr8sb49N_zWPcYuvXS7fMDSqkdN6wp5t5fOYEnwCcMzwDzZel2n4D2edePZxD4q21Oyk5loc-9hRY7u2XMIwj_QnEAvtzngd6Fs/s320/cisco.jpg" alt="" id="BLOGGER_PHOTO_ID_5608908240161037426" border="0" /></a><span style="font-style: italic;">Mi tesoroooooo</span></p><p class="MsoNormal" style="margin-bottom: 12pt;"><br />Conecto el primero y veo como va cargando el IOS y llega al prompt. Nombre "Switch", que es nombre que traen de fábrica. Este promete poco y así es. Cuando voy a intentar entrar en modo privilegiado (comando <b style="mso-bidi-font-weight:normal">enable</b>) me deja entrar sin problemas. Un <b style="mso-bidi-font-weight:normal">show running-config</b> me confirma que viene vacío, así que con este poco podemos hacer.<br /><br />Pasamos al siguiente. Ya para empezar, en el examen visual para ver si están en perfecto estado y demás, veo una pegatina que no viene de serie: "<i style="mso-bidi-font-style:normal">Property of HeMan's Castle Limited</i>" Me apunto el dato.<br /><br />Conectado a la consola, voy viendo como arranca. Llega al prompt y aparece un nombre de equipo <i style="mso-bidi-font-style:normal">Greyskull</i>. Eso significa que hay configuración de por medio. Este switch promete. Intento entrar en modo privilegiado y me pide password. Pruebo con los que trae Cisco de serie y nada. Bueno, habrá que recuperar contraseña.<br /></p><p class="MsoNormal" style="margin-bottom: 12pt;"><span style="font-size:130%;"><span style="font-weight: bold;">Comienza la diversión<br /></span></span></p><p class="MsoNormal" style="margin-bottom:12.0pt"><a href="http://www.cisco.com/en/US/products/hw/switches/ps628/products_password_recovery09186a0080094184.shtml">Protocolo de recuperación de contraseña de Cisco</a> sólo hasta el paso 12. Todavía no quiero tocar la configuración que trae. Hago un <span style="font-weight: bold;">show running-config</span> y el petróleo empieza a manar.</p> <div style="mso-element:para-border-div;border:solid windowtext 1.0pt; border-mso-border-alt:solid windowtext .5pt;padding:1.0pt 4.0pt 1.0pt 4.0pt; margin-left:18.0pt;margin-right:0cm;border-color:#d2d2d2;"> <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; border:none;border-mso-border-alt:solid windowtext .5pt;padding:0cm;mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt;"><i><span style="mso-ansi-language:EN-GB" lang="EN-GB">enable secret 5 $1$7oI7$s5Pi5XXX/f/6HxxXXK6Bn/</span></i></p> <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; border:none;border-color:gray;mso-border-alt:solid windowtext .5pt;padding:0cm;mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"><i>enable password PorElPoderDeGreyskull</i></p> </div> <p class="MsoNormal">Primeras líneas y quizás ya tengo el password de modo privilegiado. Alguien ha metido el password usando el comando <b style="mso-bidi-font-weight:normal">enable password</b> <password> y luego ha metido el secreto encriptado, usando <b style="mso-bidi-font-weight: normal">enable secret</b> <password>. La diferencia es el almacenamiento en texto plano o en un MD5 modificado. En caso de meter 2 passwords diferentes, prevalece el más seguro, así que vamos a verificar. Vuelvo a copiar su configuración por defecto y reinicio. Entrando en modo privilegiado, el password plano no sirve. Por aquí no sacamos más, porque no se puede desencriptar un password 5 de Cisco (y si alguien sabe como, que lo ponga en los comentarios, por favor)</password></password></p> <p class="MsoNormal"> </p> <p class="MsoNormal">Volvemos a recuperar contraseña y cambiamos el password por cisco, el que ponen por defecto, para evitar que al reiniciar tengamos que repetir el proceso.</p> <p class="MsoNormal"> </p> <p class="MsoNormal">Seguimos explorando la configuración. Vemos en los puertos 42, 46 y 48 que son de acceso a una <a href="http://es.wikipedia.org/wiki/VLAN">VLAN</a>, la 280.</p> <p class="MsoNormal"> </p> <div style="mso-element:para-border-div;border:solid windowtext 1.0pt; border-mso-border-alt:solid windowtext .5pt;padding:1.0pt 4.0pt 1.0pt 4.0pt;margin-right:0cm;border-color:#d2d2d2;"> <p class="MsoNormal" style="border:none;border-mso-border-alt:solid windowtext .5pt; padding:0cm;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt;"><i style="mso-bidi-font-style: normal"><span style="mso-ansi-language:EN-GB" lang="EN-GB">interface FastEthernet0/42</span></i></p> <p class="MsoNormal" style="border:none;border-mso-border-alt:solid windowtext .5pt; padding:0cm;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt;"><i style="mso-bidi-font-style: normal"><span style="mso-ansi-language:EN-GB" lang="EN-GB"><span style="mso-spacerun:yes"> </span>switchport access vlan 280</span></i></p> <p class="MsoNormal" style="border:none;border-mso-border-alt:solid windowtext .5pt; padding:0cm;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt;"><i style="mso-bidi-font-style: normal"><span style="mso-ansi-language:EN-GB" lang="EN-GB"><span style="mso-spacerun:yes"> </span>switchport mode access</span></i></p> <p class="MsoNormal" style="border:none;border-mso-border-alt:solid windowtext .5pt; padding:0cm;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt;"><i style="mso-bidi-font-style: normal">…</i></p> </div> <p class="MsoNormal"> </p> <p class="MsoNormal">También podemos observar que está en modo acceso. Eso significa que había algún equipo conectado a esos puertos. El resto están en modo dinámico, así que no podemos saber cual se usaba como troncal. Pero esa información nos confirma que hay VLANs en el switch. Pasaremos luego a ello. </p> <p class="MsoNormal"> </p> <p class="MsoNormal">Seguimos mirando la configuración y llega uno de los puntos que más información pude proporcionar: la comunidad <a href="http://es.wikipedia.org/wiki/SNMP">SNMP</a>.</p> <p class="MsoNormal"> </p> <div style="mso-element:para-border-div;border:solid windowtext 1.0pt; border-mso-border-alt:solid windowtext .5pt;padding:1.0pt 4.0pt 1.0pt 4.0pt;border-color:#d2d2d2;"> <p class="MsoNormal" style="border:none;border-mso-border-alt:solid windowtext .5pt; padding:0cm;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt;"><i style="mso-bidi-font-style: normal">snmp-server community MyCastle RO</i></p> <p class="MsoNormal" style="border:none;border-mso-border-alt:solid windowtext .5pt; padding:0cm;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt;"><i style="mso-bidi-font-style: normal">snmp-server location Greyskull Castle</i></p> <p class="MsoNormal" style="border:none;border-mso-border-alt:solid windowtext .5pt; padding:0cm;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt;"><i style="mso-bidi-font-style: normal">snmp-server contact ManAtArms</i></p> </div> <p class="MsoNormal"> </p> <p class="MsoNormal">El nombre de la comunidad no dice mucho, pero el campo location nos dice, en teoría, dónde ha estado ubicado. El campo contacto, da un nombre. Más datos, como decía Johnny 5.</p> <p class="MsoNormal"> </p> <p class="MsoNormal">Llegamos a la parte de líneas vty o acceso remoto.</p> <p class="MsoNormal"> </p> <div style="mso-element:para-border-div;border:solid windowtext 1.0pt; border-mso-border-alt:solid windowtext .5pt;padding:1.0pt 4.0pt 1.0pt 4.0pt;border-color:gray;"> <p class="MsoNormal" style="border:none;border-mso-border-alt:solid windowtext .5pt; padding:0cm;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt;"><i style="mso-bidi-font-style: normal"><span style="mso-ansi-language:EN-GB" lang="EN-GB">line con 0</span></i></p> <p class="MsoNormal" style="border:none;border-mso-border-alt:solid windowtext .5pt; padding:0cm;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt;"><i style="mso-bidi-font-style: normal"><span style="mso-ansi-language:EN-GB" lang="EN-GB">line vty 0 4</span></i></p> <p class="MsoNormal" style="border:none;border-mso-border-alt:solid windowtext .5pt; padding:0cm;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt;"><i style="mso-bidi-font-style: normal"><span style="mso-ansi-language:EN-GB" lang="EN-GB"><span style="mso-spacerun:yes"> </span>password YoTengoElPoder</span></i></p> <p class="MsoNormal" style="border:none;border-mso-border-alt:solid windowtext .5pt; padding:0cm;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt;"><i style="mso-bidi-font-style: normal"><span style="mso-ansi-language:EN-GB" lang="EN-GB"><span style="mso-spacerun:yes"> </span>login</span></i></p> <p class="MsoNormal" style="border:none;border-mso-border-alt:solid windowtext .5pt; padding:0cm;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt;"><i style="mso-bidi-font-style: normal"><span style="mso-ansi-language:EN-GB" lang="EN-GB">line vty 5 15</span></i></p> <p class="MsoNormal" style="border:none;border-mso-border-alt:solid windowtext .5pt; padding:0cm;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt;"><i style="mso-bidi-font-style: normal"><span style="mso-ansi-language:EN-GB" lang="EN-GB"><span style="mso-spacerun:yes"> </span>password YoTengoElPoder</span></i></p> <p class="MsoNormal" style="border:none;border-mso-border-alt:solid windowtext .5pt; padding:0cm;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0ptcolor:gray;"><i style="mso-bidi-font-style: normal"><span style="mso-ansi-language:EN-GB" lang="EN-GB"><span style="mso-spacerun:yes"> </span>login</span></i></p> </div> <p class="MsoNormal"><span style="mso-ansi-language:EN-GB" lang="EN-GB"> </span></p> <p class="MsoNormal">Lo que nos da los passwords de conexión. Ademas, la línea de login nos confirma que no está restringido a ssh, por lo que un telnet sería capaz de conectarse.</p> <p class="MsoNormal"> </p> <p class="MsoNormal">Por ahora de esta configuración no vamos a sacar nada. Pasamos a las VLANs.</p> <p class="MsoNormal"> </p> <p class="MsoNormal">Ejecutamos un show vlan y obtenemos esta salida (recortada para mostrar lo interesante)</p><br /><table class="MsoNormalTable" style="width:440.25pt;mso-cellspacing:0cm;border:solid silver 1.0pt; mso-border-alt:solid silver .5pt;mso-table-lspace:7.05pt;margin-left:4.8pt; mso-table-rspace:7.05pt;margin-right:4.8pt;mso-table-anchor-vertical:paragraph; mso-table-anchor-horizontal:column;mso-table-left:left;mso-padding-alt:0cm 0cm 0cm 0cm; mso-border-insideh:.5pt solid silver;mso-border-insidev:.5pt solid silver" width="587" align="left" border="1" cellpadding="0" cellspacing="0"> <tbody><tr style="mso-yfti-irow:0;mso-yfti-firstrow:yes"> <td style="width:50.4pt;border:solid silver 1.0pt; mso-border-alt:solid silver .5pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="67"> <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-element:frame;mso-element-frame-hspace:7.05pt;mso-element-wrap:around; mso-element-anchor-vertical:paragraph;mso-element-anchor-horizontal:column; mso-height-rule:exactly"><i style="mso-bidi-font-style:normal"><span style="mso-ansi-language:EN-GB" lang="EN-GB">VLAN</span></i></p> </td> <td style="width:99.0pt;border:solid silver 1.0pt; mso-border-alt:solid silver .5pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="132"> <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-element:frame;mso-element-frame-hspace:7.05pt;mso-element-wrap:around; mso-element-anchor-vertical:paragraph;mso-element-anchor-horizontal:column; mso-height-rule:exactly"><i style="mso-bidi-font-style:normal"><span style="mso-ansi-language:EN-GB" lang="EN-GB">Name</span></i></p> </td> <td style="width:54.0pt;border:solid silver 1.0pt; mso-border-alt:solid silver .5pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="72"> <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-element:frame;mso-element-frame-hspace:7.05pt;mso-element-wrap:around; mso-element-anchor-vertical:paragraph;mso-element-anchor-horizontal:column; mso-height-rule:exactly"><i style="mso-bidi-font-style:normal"><span style="mso-ansi-language:EN-GB" lang="EN-GB">Status</span></i></p> </td> <td style="width:135.0pt;border:solid silver 1.0pt; mso-border-alt:solid silver .5pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="180"> <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-element:frame;mso-element-frame-hspace:7.05pt;mso-element-wrap:around; mso-element-anchor-vertical:paragraph;mso-element-anchor-horizontal:column; mso-height-rule:exactly"><i style="mso-bidi-font-style:normal"><span style="mso-ansi-language:EN-GB" lang="EN-GB">Ports</span></i></p> </td> </tr> <tr style="mso-yfti-irow:1"> <td style="width:50.4pt;border:solid silver 1.0pt; mso-border-alt:solid silver .5pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="67"> <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-element:frame;mso-element-frame-hspace:7.05pt;mso-element-wrap:around; mso-element-anchor-vertical:paragraph;mso-element-anchor-horizontal:column; mso-height-rule:exactly"><i style="mso-bidi-font-style:normal"><span style="mso-ansi-language:EN-GB" lang="EN-GB">80</span></i></p> </td> <td style="width:99.0pt;border:solid silver 1.0pt; mso-border-alt:solid silver .5pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="132"> <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-element:frame;mso-element-frame-hspace:7.05pt;mso-element-wrap:around; mso-element-anchor-vertical:paragraph;mso-element-anchor-horizontal:column; mso-height-rule:exactly">ServerVlan</p> </td> <td style="width:54.0pt;border:solid silver 1.0pt; mso-border-alt:solid silver .5pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="72"> <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-element:frame;mso-element-frame-hspace:7.05pt;mso-element-wrap:around; mso-element-anchor-vertical:paragraph;mso-element-anchor-horizontal:column; mso-height-rule:exactly">active</p> </td> <td style="width:135.0pt;border:solid silver 1.0pt; mso-border-alt:solid silver .5pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="180"> <p class="MsoNormal" style="mso-element:frame;mso-element-frame-hspace:7.05pt; mso-element-wrap:around;mso-element-anchor-vertical:paragraph;mso-element-anchor-horizontal: column;mso-height-rule:exactly"> </p><br /></td> </tr> <tr style="mso-yfti-irow:2"> <td style="width:50.4pt;border:solid silver 1.0pt; mso-border-alt:solid silver .5pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="67"> <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-element:frame;mso-element-frame-hspace:7.05pt;mso-element-wrap:around; mso-element-anchor-vertical:paragraph;mso-element-anchor-horizontal:column; mso-height-rule:exactly">110</p> </td> <td style="width:99.0pt;border:solid silver 1.0pt; mso-border-alt:solid silver .5pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="132"> <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-element:frame;mso-element-frame-hspace:7.05pt;mso-element-wrap:around; mso-element-anchor-vertical:paragraph;mso-element-anchor-horizontal:column; mso-height-rule:exactly">DDBBVlan</p> </td> <td style="width:54.0pt;border:solid silver 1.0pt; mso-border-alt:solid silver .5pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="72"> <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-element:frame;mso-element-frame-hspace:7.05pt;mso-element-wrap:around; mso-element-anchor-vertical:paragraph;mso-element-anchor-horizontal:column; mso-height-rule:exactly">active</p> </td> <td style="width:135.0pt;border:solid silver 1.0pt; mso-border-alt:solid silver .5pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="180"> <p class="MsoNormal" style="mso-element:frame;mso-element-frame-hspace:7.05pt; mso-element-wrap:around;mso-element-anchor-vertical:paragraph;mso-element-anchor-horizontal: column;mso-height-rule:exactly"> </p><br /></td> </tr> <tr style="mso-yfti-irow:3"> <td style="width:50.4pt;border:solid silver 1.0pt; mso-border-alt:solid silver .5pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="67"> <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-element:frame;mso-element-frame-hspace:7.05pt;mso-element-wrap:around; mso-element-anchor-vertical:paragraph;mso-element-anchor-horizontal:column; mso-height-rule:exactly">210</p> </td> <td style="width:99.0pt;border:solid silver 1.0pt; mso-border-alt:solid silver .5pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="132"> <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-element:frame;mso-element-frame-hspace:7.05pt;mso-element-wrap:around; mso-element-anchor-vertical:paragraph;mso-element-anchor-horizontal:column; mso-height-rule:exactly">BckVlan</p> </td> <td style="width:54.0pt;border:solid silver 1.0pt; mso-border-alt:solid silver .5pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="72"> <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-element:frame;mso-element-frame-hspace:7.05pt;mso-element-wrap:around; mso-element-anchor-vertical:paragraph;mso-element-anchor-horizontal:column; mso-height-rule:exactly">active</p> </td> <td style="width:135.0pt;border:solid silver 1.0pt; mso-border-alt:solid silver .5pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="180"> <p class="MsoNormal" style="mso-element:frame;mso-element-frame-hspace:7.05pt; mso-element-wrap:around;mso-element-anchor-vertical:paragraph;mso-element-anchor-horizontal: column;mso-height-rule:exactly"> </p><br /></td> </tr> <tr style="mso-yfti-irow:4"> <td style="width:50.4pt;border:solid silver 1.0pt; mso-border-alt:solid silver .5pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="67"> <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-element:frame;mso-element-frame-hspace:7.05pt;mso-element-wrap:around; mso-element-anchor-vertical:paragraph;mso-element-anchor-horizontal:column; mso-height-rule:exactly">280</p> </td> <td style="width:99.0pt;border:solid silver 1.0pt; mso-border-alt:solid silver .5pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="132"> <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-element:frame;mso-element-frame-hspace:7.05pt;mso-element-wrap:around; mso-element-anchor-vertical:paragraph;mso-element-anchor-horizontal:column; mso-height-rule:exactly">DMZVlan</p> </td> <td style="width:54.0pt;border:solid silver 1.0pt; mso-border-alt:solid silver .5pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="72"> <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-element:frame;mso-element-frame-hspace:7.05pt;mso-element-wrap:around; mso-element-anchor-vertical:paragraph;mso-element-anchor-horizontal:column; mso-height-rule:exactly">active</p> </td> <td style="width:135.0pt;border:solid silver 1.0pt; mso-border-alt:solid silver .5pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="180"> <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-element:frame;mso-element-frame-hspace:7.05pt;mso-element-wrap:around; mso-element-anchor-vertical:paragraph;mso-element-anchor-horizontal:column; mso-height-rule:exactly"><i style="mso-bidi-font-style:normal"><span style="mso-ansi-language:EN-GB" lang="EN-GB">Fa0/42, Fa0/46, Fa0/48</span></i></p> </td> </tr> <tr style="mso-yfti-irow:5;mso-yfti-lastrow:yes"> <td style="width:50.4pt;border:solid silver 1.0pt; mso-border-alt:solid silver .5pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="67"> <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-element:frame;mso-element-frame-hspace:7.05pt;mso-element-wrap:around; mso-element-anchor-vertical:paragraph;mso-element-anchor-horizontal:column; mso-height-rule:exactly">666</p> </td> <td style="width:99.0pt;border:solid silver 1.0pt; mso-border-alt:solid silver .5pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="132"> <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-element:frame;mso-element-frame-hspace:7.05pt;mso-element-wrap:around; mso-element-anchor-vertical:paragraph;mso-element-anchor-horizontal:column; mso-height-rule:exactly">SatanIsMyFriend</p> </td> <td style="width:54.0pt;border:solid silver 1.0pt; mso-border-alt:solid silver .5pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="72"> <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-element:frame;mso-element-frame-hspace:7.05pt;mso-element-wrap:around; mso-element-anchor-vertical:paragraph;mso-element-anchor-horizontal:column; mso-height-rule:exactly">active</p> </td> <td style="width:135.0pt;border:solid silver 1.0pt; mso-border-alt:solid silver .5pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="180"> <p class="MsoNormal" style="mso-element:frame;mso-element-frame-hspace:7.05pt; mso-element-wrap:around;mso-element-anchor-vertical:paragraph;mso-element-anchor-horizontal: column;mso-height-rule:exactly"> </p><br /></td> </tr> </tbody></table> <p class="MsoNormal"><br /></p><p class="MsoNormal"><br /></p><p class="MsoNormal"><br /></p><p class="MsoNormal"><br /></p><p class="MsoNormal"><br /></p><p class="MsoNormal">Vemos que la VLAN a la que están mapeados los puertos 42, 46 y 48 es de una <a href="http://es.wikipedia.org/wiki/Zona_desmilitarizada_%28inform%C3%A1tica%29">DMZ</a>. Este switch se usaba para conectar equipos de DMZ. También sabemos que la VLAN 80 es donde están los servidores y la 110 donde están las bases de datos. En la configuración no hemos encontrado referencias a <a href="http://es.wikipedia.org/wiki/VTP">VTP</a> así que suponemos que, o bien antes ha estado en otra parte del CPD donde necesitaba esas VLANs, el administrador ha metido demasiada información donde no debía o antes sí estaba en un dominio VTP. También deducimos que el administrador de redes es un cachondo, viendo la VLAN 666 (es lo único que no he cambiado en todo el post, ese número de VLAN). Yo, personalmente, he usado ese número para la VLAN de aislamiento de puertos no utilizados, pero me ha hecho gracia encontrármelo en otra configuración.</p> <p class="MsoNormal"> </p> <p class="MsoNormal">Recapitulamos datos. Tenemos una pegatina que da un posible nombre de empresa. Una ubicación y un técnico. Además tengo un albarán de envío. <span style="mso-spacerun:yes"> </span>“Google is your friend”</p> <p class="MsoNormal"> </p> <p class="MsoNormal"><span style="font-size:130%;"><span style="font-weight: bold;">Dando el toque final<br /></span></span></p><p class="MsoNormal">Lo primero, buscar la dirección del remite (que viene con teléfono incluido) y es una empresa de equipos de red de segunda mano de un lejano país. Poco sacamos de aquí.</p> <p class="MsoNormal"> </p> <p class="MsoNormal">Buscamos el nombre del técnico y, curioso, el segundo resultado es un perfil de Linkedin de un tal <i style="mso-bidi-font-style: normal">ManAtArms. </i>Miremos el perfil. Anda, si pone que hace 4 años trabajó en una empresa llamada <i style="mso-bidi-font-style:normal">Skeletor Castle Ltd.</i> como la pegatina que lleva el switch. Buscamos la empresa en Google y resulta que está en <i style="mso-bidi-font-style:normal">Greyskull Castle</i>, localidad de al lado de la empresa que me lo ha enviado.</p> <p class="MsoNormal"> </p> <p class="MsoNormal">Y hasta aquí llego. Pero un atacante, puede empezar a buscar vulnerabilidades en la web y hacerse con un acceso. A partir de ahí, sabe las VLANs que hay en la empresa y tiene más fácil intentar hacer un <a href="http://en.wikipedia.org/wiki/VLAN_hopping">VLAN hopping</a> para un <a href="http://es.wikipedia.org/wiki/Ataque_de_denegaci%C3%B3n_de_servicio">DoS</a> o cualquier otro tipo de ataque en capa 2.</p> <p class="MsoNormal"> </p> <p class="MsoNormal"><span style="font-size:130%;"><span style="font-weight: bold;">Conclusión</span></span></p><p class="MsoNormal">En este caso, es un switch que no da demasiada información para un ataque en condiciones, pero aun así nos revela información importante de la empresa. En el caso de los routers suele ser más descarado (tengo un router que me vino lleno de usuarios, passwords e IPs públicas para VPNs de una importante empresa del norte de Europa y otro que me trajo hasta los teléfonos móviles de los técnicos). <span style="mso-spacerun:yes"> </span></p> <p class="MsoNormal"> </p> <p class="MsoNormal">Cuando una empresa retira equipos, suele ser habitual venderlos de segunda mano o regalarlos. En el caso de ordenadores, siempre está la conciencia de formatear el disco duro o poner uno nuevo.<span style="font-weight: bold;"> ¿Por qué en el caso de los equipos de red no?</span> Por desconocimiento, básicamente. Total, si esos bichos no tienen disco duro. Pues no, sí que tienen. Y pueden revelar información mucho más crítica que un ordenador en un momento dado que puede ser utilizada de manera “poco ética”.<br /></p><p class="MsoNormal">Por eso, <span style="font-weight: bold;">BORRAR SIEMPRE LAS CONFIGURACIONES</span>. Y por supuesto, todos los backups o archivos alternativos que pueda haber en la memoria flash, que también suele tener configuraciones olvidadas. Aparte del fichero vlan.dat que es el que guarda la información de las VLANs.</p> <p class="MsoNormal"> </p> <p class="MsoNormal"><span style="font-weight: bold;">Disclaimer:</span> Evidentemente, he cambiado nombres, lugares, passwords y números de VLAN para no relacionar personas ni empresas. Únicamente he dejado intacto el número de VLAN 666 como ya he comentado. Si coincide con algún otro equipo que alguien tenga, es fruto de la casualidad.</p><p class="MsoNormal"><br /></p><p class="MsoNormal">Ositohttp://www.blogger.com/profile/10136352114666299859noreply@blogger.com0tag:blogger.com,1999:blog-1418158560680722930.post-2236313573366433712011-05-17T10:52:00.021+02:002011-05-18T16:08:34.552+02:00BackTrack 5 Revolution<a href="http://1.bp.blogspot.com/-Ob5HMPaPrEw/TdI74UCrDSI/AAAAAAAAABY/NEwQUMQqCZw/s1600/images%2B%252824%2529.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5607610324668321058" src="http://1.bp.blogspot.com/-Ob5HMPaPrEw/TdI74UCrDSI/AAAAAAAAABY/NEwQUMQqCZw/s320/images%2B%252824%2529.jpg" style="cursor: hand; cursor: pointer; display: block; height: 123px; margin: 0px auto 10px; text-align: center; width: 320px;" /></a><br /><div><div class="MsoNormal">El pasado 10 de Mayo se lanzó la nueva versión de la conocida <a href="http://www.backtrack-linux.org/">BackTrack</a>. Para los que no la conozcan, se trata de una distribución Linux especialmente enfocada a todo lo relativo a la seguridad. Vamos, que si te gusta este rollo, lo primero que tienes que hacer es bajártela porque tiene de todo…</div><div class="MsoNormal"><br /></div><div class="MsoNormal"><span lang="ES-TRAD">Esta nueva versión es la BackTrack 5 “Revolution”. En esta ocasión, la distro ha sido totalmente renovada. Desde cero. La base es una Ubuntu Lucid con Kernel 2.6.38 y una de las novedades más importantes es la posibilidad de elegir la interfaz gráfica en KDE o GNOME (cosa que, personalmente, agradezco enormemente). También, además de las arquitecturas 32 y 64 bits,</span></div><div class="MsoNormal"><span lang="ES-TRAD"> hay disponible una versión para ARM, lo que significa que se puede correr sobre dispositivos Android (sí, has leído bien).<o:p></o:p></span></div><div class="MsoNormal"><span lang="ES-TRAD"><br /></span></div><div class="MsoNormal"><span lang="ES-TRAD"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5607609165379740770" src="http://3.bp.blogspot.com/-vhsNWFulWKI/TdI601WvJGI/AAAAAAAAABQ/23VqTcSwAEk/s320/bt5-g0.png" style="cursor: hand; cursor: pointer; float: right; height: 240px; margin: 0 0 10px 10px; width: 320px;" /></span></div><div class="MsoNormal"><span lang="ES-TRAD">Dentro de los cambios más importantes podemos destacar que se han incluido muchas mejoras</span></div><div class="MsoNormal"><span lang="ES-TRAD"> para la auditoría de redes wifi, que era hasta ahora uno de sus puntos “débiles”. Se ha habilitado</span></div><div class="MsoNormal"><span lang="ES-TRAD">un modo de arranque especial para análisis forense llamado “Forensic Mode” (sólo para </span>versiones 32 y 64 bits) y un modo “Stealth” que no genera tráfico de red.</div><div class="MsoNormal"><span lang="ES-TRAD">Entre las nuevas herramientas que trae esta versión, vemos que se han mejorado notablemente los apartados de VoIP, así como el de Análisis Forense. Por supuesto, se ha incluido la nueva versión de Metasploit. Éste es un resumen de las aplicaciones que trae:<o:p></o:p></span></div><div class="MsoNormal"><span lang="ES-TRAD"><br /></span></div><div class="MsoListParagraphCxSpFirst" style="mso-list: l0 level1 lfo1; text-indent: -18.0pt;"><span lang="ES-TRAD" style="font-family: Symbol;">·<span style="font: 7pt 'Times New Roman';"> </span></span><b style="mso-bidi-font-weight: normal;"><span lang="ES-TRAD">Obtención de Información:<o:p></o:p></span></b></div><div class="MsoListParagraphCxSpMiddle" style="margin-left: 72.0pt; mso-add-space: auto; mso-list: l0 level2 lfo1; text-indent: -18.0pt;"><span lang="ES-TRAD" style="font-family: 'Courier New';">o<span style="font: 7pt 'Times New Roman';"> </span></span><span lang="ES-TRAD"><a href="http://www.paterva.com/web5/">Maltego</a><o:p></o:p></span></div><div class="MsoListParagraphCxSpMiddle" style="margin-left: 72.0pt; mso-add-space: auto; mso-list: l0 level2 lfo1; text-indent: -18.0pt;"><span lang="ES-TRAD" style="font-family: 'Courier New';">o<span style="font: 7pt 'Times New Roman';"> </span></span><span lang="ES-TRAD"><a href="http://nmap.org/zenmap/">Zenmap</a><o:p></o:p></span></div><div class="MsoListParagraphCxSpMiddle" style="margin-left: 72.0pt; mso-add-space: auto; mso-list: l0 level2 lfo1; text-indent: -18.0pt;"><span lang="ES-TRAD" style="font-family: 'Courier New';">o<span style="font: 7pt 'Times New Roman';"> </span></span><span lang="ES-TRAD"><a href="http://www.wireshark.org/">WireShark</a><o:p></o:p></span></div><div class="MsoListParagraphCxSpMiddle" style="margin-left: 72.0pt; mso-add-space: auto; mso-list: l0 level2 lfo1; text-indent: -18.0pt;"><span lang="ES-TRAD" style="font-family: 'Courier New';">o<span style="font: 7pt 'Times New Roman';"> </span></span><span lang="ES-TRAD">Airodump-ng<o:p></o:p></span></div><div class="MsoListParagraphCxSpMiddle" style="margin-left: 72.0pt; mso-add-space: auto; mso-list: l0 level2 lfo1; text-indent: -18.0pt;"><span lang="ES-TRAD" style="font-family: 'Courier New';">o<span style="font: 7pt 'Times New Roman';"> </span></span><span lang="ES-TRAD">Kismet<o:p></o:p></span></div><div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-indent: -18.0pt;"><span lang="ES-TRAD" style="font-family: Symbol;">·<span style="font: 7pt 'Times New Roman';"> </span></span><b style="mso-bidi-font-weight: normal;"><span lang="ES-TRAD">Detección de Vulnerabilidades:<o:p></o:p></span></b></div><div class="MsoListParagraphCxSpMiddle" style="margin-left: 72.0pt; mso-add-space: auto; mso-list: l0 level2 lfo1; text-indent: -18.0pt;"><span lang="ES-TRAD" style="font-family: 'Courier New';">o<span style="font: 7pt 'Times New Roman';"> </span></span><span lang="ES-TRAD">Cisco Auditing Tool<o:p></o:p></span></div><div class="MsoListParagraphCxSpMiddle" style="margin-left: 72.0pt; mso-add-space: auto; mso-list: l0 level2 lfo1; text-indent: -18.0pt;"><span lang="ES-TRAD" style="font-family: 'Courier New';">o<span style="font: 7pt 'Times New Roman';"> </span></span><span lang="ES-TRAD">Mantra<o:p></o:p></span></div><div class="MsoListParagraphCxSpMiddle" style="margin-left: 72.0pt; mso-add-space: auto; mso-list: l0 level2 lfo1; text-indent: -18.0pt;"><span lang="ES-TRAD" style="font-family: 'Courier New';">o<span style="font: 7pt 'Times New Roman';"> </span></span><span lang="ES-TRAD"><a href="http://www.tenable.com/products/nessus">Nessus</a><o:p></o:p></span></div><div class="MsoListParagraphCxSpMiddle" style="margin-left: 72.0pt; mso-add-space: auto; mso-list: l0 level2 lfo1; text-indent: -18.0pt;"><span lang="ES-TRAD" style="font-family: 'Courier New';">o<span style="font: 7pt 'Times New Roman';"> </span></span><span lang="ES-TRAD">Nikto<o:p></o:p></span></div><div class="MsoListParagraphCxSpMiddle" style="margin-left: 72.0pt; mso-add-space: auto; mso-list: l0 level2 lfo1; text-indent: -18.0pt;"><span lang="ES-TRAD" style="font-family: 'Courier New';">o<span style="font: 7pt 'Times New Roman';"> </span></span><span lang="ES-TRAD">SQLMap<o:p></o:p></span></div><div class="MsoListParagraphCxSpMiddle" style="margin-left: 72.0pt; mso-add-space: auto; mso-list: l0 level2 lfo1; text-indent: -18.0pt;"><span lang="ES-TRAD" style="font-family: 'Courier New';">o<span style="font: 7pt 'Times New Roman';"> </span></span><span lang="ES-TRAD">W3af<o:p></o:p></span></div><div class="MsoListParagraphCxSpMiddle" style="margin-left: 72.0pt; mso-add-space: auto; mso-list: l0 level2 lfo1; text-indent: -18.0pt;"><span lang="ES-TRAD" style="font-family: 'Courier New';">o<span style="font: 7pt 'Times New Roman';"> </span></span><span lang="ES-TRAD"><a href="http://www.shodanhq.com/">Shodan</a><o:p></o:p></span></div><div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-indent: -18.0pt;"><span lang="ES-TRAD" style="font-family: Symbol;">·<span style="font: 7pt 'Times New Roman';"> </span></span><b style="mso-bidi-font-weight: normal;"><span lang="ES-TRAD">Herramientas de Exploiting:<o:p></o:p></span></b></div><div class="MsoListParagraphCxSpMiddle" style="margin-left: 72.0pt; mso-add-space: auto; mso-list: l0 level2 lfo1; text-indent: -18.0pt;"><span lang="ES-TRAD" style="font-family: 'Courier New';">o<span style="font: 7pt 'Times New Roman';"> </span></span><span lang="ES-TRAD">Cisco Global Exploiter<o:p></o:p></span></div><div class="MsoListParagraphCxSpMiddle" style="margin-left: 72.0pt; mso-add-space: auto; mso-list: l0 level2 lfo1; text-indent: -18.0pt;"><span lang="ES-TRAD" style="font-family: 'Courier New';">o<span style="font: 7pt 'Times New Roman';"> </span></span><span lang="ES-TRAD">FastTrack<o:p></o:p></span></div><div class="MsoListParagraphCxSpMiddle" style="margin-left: 72.0pt; mso-add-space: auto; mso-list: l0 level2 lfo1; text-indent: -18.0pt;"><span lang="ES-TRAD" style="font-family: 'Courier New';">o<span style="font: 7pt 'Times New Roman';"> </span></span><span lang="ES-TRAD"><a href="http://www.blogger.com/www.metasploit.org">Metasploit</a><o:p></o:p></span></div><div class="MsoListParagraphCxSpMiddle" style="margin-left: 72.0pt; mso-add-space: auto; mso-list: l0 level2 lfo1; text-indent: -18.0pt;"><span lang="ES-TRAD" style="font-family: 'Courier New';">o<span style="font: 7pt 'Times New Roman';"> </span></span><span lang="ES-TRAD">Sapyto<o:p></o:p></span></div><div class="MsoListParagraphCxSpMiddle" style="margin-left: 72.0pt; mso-add-space: auto; mso-list: l0 level2 lfo1; text-indent: -18.0pt;"><span lang="ES-TRAD" style="font-family: 'Courier New';">o<span style="font: 7pt 'Times New Roman';"> </span></span><span lang="ES-TRAD">Beef<o:p></o:p></span></div><div class="MsoListParagraphCxSpMiddle" style="margin-left: 72.0pt; mso-add-space: auto; mso-list: l0 level2 lfo1; text-indent: -18.0pt;"><span lang="ES-TRAD" style="font-family: 'Courier New';">o<span style="font: 7pt 'Times New Roman';"> </span></span><span lang="ES-TRAD">Social Engineering Toolkit<o:p></o:p></span></div><div class="MsoListParagraphCxSpMiddle" style="margin-left: 72.0pt; mso-add-space: auto; mso-list: l0 level2 lfo1; text-indent: -18.0pt;"><span lang="ES-TRAD" style="font-family: 'Courier New';">o<span style="font: 7pt 'Times New Roman';"> </span></span><span lang="ES-TRAD">Aircrack, Airmon, Airodump, etc…<o:p></o:p></span></div><div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-indent: -18.0pt;"><span lang="ES-TRAD" style="font-family: Symbol;">·<span style="font: 7pt 'Times New Roman';"> </span></span><b style="mso-bidi-font-weight: normal;"><span lang="ES-TRAD">Escalada de Privilegios:<o:p></o:p></span></b></div><div class="MsoListParagraphCxSpMiddle" style="margin-left: 72.0pt; mso-add-space: auto; mso-list: l0 level2 lfo1; text-indent: -18.0pt;"><span lang="ES-TRAD" style="font-family: 'Courier New';">o<span style="font: 7pt 'Times New Roman';"> </span></span><span lang="ES-TRAD">Cowpatty<o:p></o:p></span></div><div class="MsoListParagraphCxSpMiddle" style="margin-left: 72.0pt; mso-add-space: auto; mso-list: l0 level2 lfo1; text-indent: -18.0pt;"><span lang="ES-TRAD" style="font-family: 'Courier New';">o<span style="font: 7pt 'Times New Roman';"> </span></span><span lang="ES-TRAD">John The Ripper<o:p></o:p></span></div><div class="MsoListParagraphCxSpMiddle" style="margin-left: 72.0pt; mso-add-space: auto; mso-list: l0 level2 lfo1; text-indent: -18.0pt;"><span lang="ES-TRAD" style="font-family: 'Courier New';">o<span style="font: 7pt 'Times New Roman';"> </span></span><span lang="ES-TRAD"><a href="http://www.thc.org/thc-hydra/">Hydra</a><o:p></o:p></span></div><div class="MsoListParagraphCxSpMiddle" style="margin-left: 72.0pt; mso-add-space: auto; mso-list: l0 level2 lfo1; text-indent: -18.0pt;"><span lang="ES-TRAD" style="font-family: 'Courier New';">o<span style="font: 7pt 'Times New Roman';"> </span></span><span lang="ES-TRAD">Medusa<o:p></o:p></span></div><div class="MsoListParagraphCxSpMiddle" style="margin-left: 72.0pt; mso-add-space: auto; mso-list: l0 level2 lfo1; text-indent: -18.0pt;"><span lang="ES-TRAD" style="font-family: 'Courier New';">o<span style="font: 7pt 'Times New Roman';"> </span></span><span lang="ES-TRAD">Videojak<o:p></o:p></span></div><div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-indent: -18.0pt;"><span lang="ES-TRAD" style="font-family: Symbol;">·<span style="font: 7pt 'Times New Roman';"> </span></span><b style="mso-bidi-font-weight: normal;"><span lang="ES-TRAD">Mantenimiento de Acceso:<o:p></o:p></span></b></div><div class="MsoListParagraphCxSpMiddle" style="margin-left: 72.0pt; mso-add-space: auto; mso-list: l0 level2 lfo1; text-indent: -18.0pt;"><span lang="ES-TRAD" style="font-family: 'Courier New';">o<span style="font: 7pt 'Times New Roman';"> </span></span><span lang="ES-TRAD">ProxyChains<o:p></o:p></span></div><div class="MsoListParagraphCxSpMiddle" style="margin-left: 72.0pt; mso-add-space: auto; mso-list: l0 level2 lfo1; text-indent: -18.0pt;"><span lang="ES-TRAD" style="font-family: 'Courier New';">o<span style="font: 7pt 'Times New Roman';"> </span></span><span lang="ES-TRAD">WebShell<o:p></o:p></span></div><div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-indent: -18.0pt;"><span lang="ES-TRAD" style="font-family: Symbol;">·<span style="font: 7pt 'Times New Roman';"> </span></span><b style="mso-bidi-font-weight: normal;"><span lang="ES-TRAD">Ingeniería Inversa:<o:p></o:p></span></b></div><div class="MsoListParagraphCxSpMiddle" style="margin-left: 72.0pt; mso-add-space: auto; mso-list: l0 level2 lfo1; text-indent: -18.0pt;"><span lang="ES-TRAD" style="font-family: 'Courier New';">o<span style="font: 7pt 'Times New Roman';"> </span></span><span lang="ES-TRAD">GDB<o:p></o:p></span></div><div class="MsoListParagraphCxSpMiddle" style="margin-left: 72.0pt; mso-add-space: auto; mso-list: l0 level2 lfo1; text-indent: -18.0pt;"><span lang="ES-TRAD" style="font-family: 'Courier New';">o<span style="font: 7pt 'Times New Roman';"> </span></span><span lang="ES-TRAD"><a href="http://www.hex-rays.com/idapro/">IDA Pro</a><o:p></o:p></span></div><div class="MsoListParagraphCxSpMiddle" style="margin-left: 72.0pt; mso-add-space: auto; mso-list: l0 level2 lfo1; text-indent: -18.0pt;"><span lang="ES-TRAD" style="font-family: 'Courier New';">o<span style="font: 7pt 'Times New Roman';"> </span></span><span lang="ES-TRAD">OllyDBG<o:p></o:p></span></div><div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-indent: -18.0pt;"><span lang="ES-TRAD" style="font-family: Symbol;">·<span style="font: 7pt 'Times New Roman';"> </span></span><b style="mso-bidi-font-weight: normal;"><span lang="ES-TRAD">Herramientas RFID<o:p></o:p></span></b></div><div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-indent: -18.0pt;"><span lang="ES-TRAD" style="font-family: Symbol;">·<span style="font: 7pt 'Times New Roman';"> </span></span><b style="mso-bidi-font-weight: normal;"><span lang="ES-TRAD">Stress Testing:<o:p></o:p></span></b></div><div class="MsoListParagraphCxSpMiddle" style="margin-left: 72.0pt; mso-add-space: auto; mso-list: l0 level2 lfo1; text-indent: -18.0pt;"><span lang="ES-TRAD" style="font-family: 'Courier New';">o<span style="font: 7pt 'Times New Roman';"> </span></span><span lang="ES-TRAD">Siege<o:p></o:p></span></div><div class="MsoListParagraphCxSpMiddle" style="margin-left: 72.0pt; mso-add-space: auto; mso-list: l0 level2 lfo1; text-indent: -18.0pt;"><span lang="ES-TRAD" style="font-family: 'Courier New';">o<span style="font: 7pt 'Times New Roman';"> </span></span><span lang="ES-TRAD">MKD3<o:p></o:p></span></div><div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-indent: -18.0pt;"><span lang="ES-TRAD" style="font-family: Symbol;">·<span style="font: 7pt 'Times New Roman';"> </span></span><b style="mso-bidi-font-weight: normal;"><span lang="ES-TRAD">Forense:<o:p></o:p></span></b></div><div class="MsoListParagraphCxSpMiddle" style="margin-left: 72.0pt; mso-add-space: auto; mso-list: l0 level2 lfo1; text-indent: -18.0pt;"><span lang="ES-TRAD" style="font-family: 'Courier New';">o<span style="font: 7pt 'Times New Roman';"> </span></span><span lang="ES-TRAD"><a href="http://www.blogger.com/www.truecrypt.org/">TrueCrypt</a><o:p></o:p></span></div><div class="MsoListParagraphCxSpMiddle" style="margin-left: 72.0pt; mso-add-space: auto; mso-list: l0 level2 lfo1; text-indent: -18.0pt;"><span lang="ES-TRAD" style="font-family: 'Courier New';">o<span style="font: 7pt 'Times New Roman';"> </span></span><span lang="ES-TRAD">Bulk Extractor<o:p></o:p></span></div><div class="MsoListParagraphCxSpMiddle" style="margin-left: 72.0pt; mso-add-space: auto; mso-list: l0 level2 lfo1; text-indent: -18.0pt;"><span lang="ES-TRAD" style="font-family: 'Courier New';">o<span style="font: 7pt 'Times New Roman';"> </span></span><span lang="ES-TRAD">Foremost<o:p></o:p></span></div><div class="MsoListParagraphCxSpMiddle" style="margin-left: 72.0pt; mso-add-space: auto; mso-list: l0 level2 lfo1; text-indent: -18.0pt;"><span lang="ES-TRAD" style="font-family: 'Courier New';">o<span style="font: 7pt 'Times New Roman';"> </span></span><span lang="ES-TRAD">Scalpel<o:p></o:p></span></div><div class="MsoListParagraphCxSpMiddle" style="margin-left: 72.0pt; mso-add-space: auto; mso-list: l0 level2 lfo1; text-indent: -18.0pt;"><span lang="ES-TRAD" style="font-family: 'Courier New';">o<span style="font: 7pt 'Times New Roman';"> </span></span><span lang="ES-TRAD">MD5Deep<o:p></o:p></span></div><div class="MsoListParagraphCxSpMiddle" style="margin-left: 72.0pt; mso-add-space: auto; mso-list: l0 level2 lfo1; text-indent: -18.0pt;"><span lang="ES-TRAD" style="font-family: 'Courier New';">o<span style="font: 7pt 'Times New Roman';"> </span></span><span lang="ES-TRAD">Ddrescue<o:p></o:p></span></div><div class="MsoListParagraphCxSpMiddle" style="margin-left: 72.0pt; mso-add-space: auto; mso-list: l0 level2 lfo1; text-indent: -18.0pt;"><span lang="ES-TRAD" style="font-family: 'Courier New';">o<span style="font: 7pt 'Times New Roman';"> </span></span><span lang="ES-TRAD">PTK<o:p></o:p></span></div><div class="MsoListParagraphCxSpMiddle" style="margin-left: 72.0pt; mso-add-space: auto; mso-list: l0 level2 lfo1; text-indent: -18.0pt;"><span lang="ES-TRAD" style="font-family: 'Courier New';">o<span style="font: 7pt 'Times New Roman';"><a href="http://www.blogger.com/www.xplico.org"> </a></span></span><span lang="ES-TRAD"><a href="http://www.blogger.com/www.xplico.org">Xplico</a><o:p></o:p></span></div><div class="MsoListParagraphCxSpMiddle" style="margin-left: 72.0pt; mso-add-space: auto; mso-list: l0 level2 lfo1; text-indent: -18.0pt;"><span lang="ES-TRAD" style="font-family: 'Courier New';">o<span style="font: 7pt 'Times New Roman';"> </span></span><span lang="ES-TRAD">Samdump<o:p></o:p></span></div><div class="MsoListParagraphCxSpMiddle" style="margin-left: 72.0pt; mso-add-space: auto; mso-list: l0 level2 lfo1; text-indent: -18.0pt;"><span lang="ES-TRAD" style="font-family: 'Courier New';">o<span style="font: 7pt 'Times New Roman';"> </span></span><span lang="ES-TRAD">PeepPDF<o:p></o:p></span></div><div class="MsoListParagraphCxSpMiddle" style="margin-left: 72.0pt; mso-add-space: auto; mso-list: l0 level2 lfo1; text-indent: -18.0pt;"><span lang="ES-TRAD" style="font-family: 'Courier New';">o<span style="font: 7pt 'Times New Roman';"> </span></span><span lang="ES-TRAD">Volatile<o:p></o:p></span></div><div class="MsoListParagraphCxSpLast" style="mso-list: l0 level1 lfo1; text-indent: -18.0pt;"><span lang="ES-TRAD" style="font-family: Symbol;">·<span style="font: 7pt 'Times New Roman';"> </span></span><b style="mso-bidi-font-weight: normal;"><span lang="ES-TRAD">Herramientas de Reporte<o:p></o:p></span></b></div><div class="MsoListParagraphCxSpLast" style="mso-list: l0 level1 lfo1; text-indent: -18.0pt;"><b style="mso-bidi-font-weight: normal;"><span lang="ES-TRAD"><br /></span></b></div><div class="MsoNormal"><span lang="ES-TRAD">En definitiva, todas las herramientas que necesitas y algunas más. Como siempre, se puede correr desde un Live CD, con lo que no necesitas instalar nada en tu equipo. También lo puedes instalar en un pendrive y llevarlo siempre contigo.<o:p></o:p></span></div><div class="MsoNormal"><span lang="ES-TRAD"><br /></span></div><div class="MsoNormal"><span lang="ES-TRAD">En artículos posteriores tendrás ocasión de ver esta joya y sus utilidades en acción, así que, os dejamos el enlace para descargarla<o:p></o:p></span></div><div class="MsoNormal"><span lang="ES-TRAD"><br /></span></div><div class="MsoNormal"><span lang="ES-TRAD"><a href="http://www.backtrack-linux.org/downloads/">Descarga BT5!</a></span></div><div class="MsoNormal"><br /></div><div class="MsoNormal">Saludos!</div><br /><iframe frameborder="0" height="225" src="http://player.vimeo.com/video/23347352?title=0&byline=0&portrait=0&color=ff9933" width="400"></iframe><br /><a href="http://vimeo.com/23347352">BackTrack 5 - Penetration Testing Distribution</a> from <a href="http://vimeo.com/offsec">Offensive Security</a> on <a href="http://vimeo.com/">Vimeo</a>.<br /><br /><div class="MsoNormal"><br /></div></div>Anonymousnoreply@blogger.com3tag:blogger.com,1999:blog-1418158560680722930.post-77412265539001048202011-05-04T22:38:00.004+02:002011-05-06T00:08:13.633+02:00Presentación y bienvenida<a href="http://2.bp.blogspot.com/-lBLBAOQfpMY/TcG72BNOGfI/AAAAAAAAAAw/x-2VI6AWsJg/s1600/images%2B%252812%2529.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 249px; height: 202px;" src="http://2.bp.blogspot.com/-lBLBAOQfpMY/TcG72BNOGfI/AAAAAAAAAAw/x-2VI6AWsJg/s320/images%2B%252812%2529.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5602965948136823282" /></a><br /><div>Aquí nace NoSecNoFun, un blog cuyo objetivo es presentar, instruir, divulgar y, por qué no, concienciar sobre todo aquello relacionado con la seguridad informática. En este blog participaremos un grupo de personas todas ellas relacionadas de una u otra forma con la seguridad. </div><div><br /></div><div>Os presentaremos tecnologías, amenazas, vulnerabilidades, herramientas y procesos desde diferentes puntos de vista, aquellos que nos aportan nuestros años de dedicación a este apasionante mundo. Habrá artículos de opinión, review de utilidades, os explicaremos las diferentes amenazas y os enseñaremos las mejores formas de protegeros ante las mismas. </div><div><br /></div><div>Os enseñaremos las herramientas y procesos necesarios para realizar auditorías de seguridad de vuestros sistemas para que podáis conocer vuestros niveles de seguridad e intentaremos hacerlo de la manera más clara y práctica posible. </div><div><br /></div><div>Os mostraremos cómo descubrir vulnerabilidades, reversing, exploiting y todo lo necesario para llevarlo a cabo. En definitiva, transmitir todo lo que hemos aprendido de la manera más cercana, clara y divertida posible.</div><div><br /></div><div>Pero, por encima de todo, lo que nos anima a abrir este blog es nuestra necesidad de seguir aprendiendo cosas nuevas cada día, de seguir investigando, de superar nuevos retos y de compartirlos con la comunidad. Sentíos libres de comunicaros con nosotros a través de nosecnofun@nosecnofun.com <dirección de="" correo="" a="" convenir="">.</dirección></div><div><br /></div><div>Bienvenidos tod@s!</div>Anonymousnoreply@blogger.com0