Página Web de Rafael Ausejo Prieto
[OSSTMM]
    NOTA: esta página será reorganizada y actualizada en breve.
  1. La metodología OSSTMM [Actualizado el 14 de diciembre de 2003]

    La Metodología OSSTMM

    El Manual de la Metodología Abierta de Comprobación de la Seguridad (OSSTMM, Open Source Security Testing Methodology Manual) es uno de los estándares profesionales más completos y comúnmente utilizados en Auditorías de Seguridad para revisar la Seguridad de los Sistemas desde Internet. Incluye un marco de trabajo que describe las fases que habría que realizar para la ejecución de la auditoría. Se ha logrado gracias a un consenso entre más de 150 expertos internacionales sobre el tema, que colaboran entre sí mediante Internet. Se encuentra en constante evolución y actualmente se compone de las siguientes fases:

    Sección A -Seguridad de la Información

    1. Revisión de la Inteligencia Competitiva
    2. Revision de Privacidad
    3. Recolección de Documentos

    Sección B - Seguridad de los Procesos

    1. Testeo de Solicitud
    2. Testeo de Sugerencia Dirigida
    3. Testeo de las Personas Confiables

    Sección C - Seguridad en las tecnologías de Internet

    1. Logística y Controles
    2. Exploración de Red
    3. Identificación de los Servicios del Sistema
    4. Búsqueda de Información Competitiva
    5. Revisión de Privacidad
    6. Obtención de Documentos
    7. Búsqueda y Verificación de Vulnerabilidades
    8. Testeo de Aplicaciones de Internet
    9. Enrutamiento
    10. Testeo de Sistemas Confiados
    11. Testeo de Control de Acceso
    12. Testeo de Sistema de Detección de Intrusos
    13. Testeo de Medidas de Contingencia
    14. Descifrado de Contraseñas
    15. Testeo de Denegación de Servicios
    16. Evaluación de Políticas de Seguridad

    Sección D - Seguridad en las Comunicaciones

    1. Testeo de PBX
    2. Testeo del Correo de Voz
    3. Revisión del FAX
    4. Testeo del Modem

    Sección E - Seguridad Inalámbrica

    1. Verificación de Radiación Electromagnética (EMR)
    2. Verificación de Redes Inalámbricas [802.11]
    3. Verificación de Redes Bluetooth
    4. Verificación de Dispositivos de Entrada Inalámbricos
    5. Verificación de Dispositivos de Mano Inalámbricos
    6. Verificación de Comunicaciones sin Cable
    7. Verificación de Dispositivos de Vigilancia Inalámbricos
    8. Verificación de Dispositivos de Transacción Inalámbricos
    9. Verficación de RFID
    10. Verificación de Sistemas Infrarrojos
    11. Revisión de Privacidad

    Sección F - Seguridad Física

    1. Revisión de Perímetro
    2. Revisión de monitoreo
    3. Evaluación de Controles de Acceso
    4. Revisión de Respuesta de Alarmas
    5. Revisión de Ubicación
    6. Revisión de Entorno
  2. Calendario de Entrevistas [Actualizado el 14 de diciembre de 2003]

    En el calendario de entrevistas se aclaran los puntos relacionados con la Auditoría de Seguridad, antes de realizarse:

    Dependiendo del tipo de Auditoría, es posible que se requiera cierta información para facilitar el trabajo de Auditoría y no sobreutilizar recursos para obtener información que ya se posee; sobre todo en Auditorías que incluyen un proceso de revisión interna de los Sistemas de Información:

  3. Exploración de red [Actualizado el 14 de diciembre de 2003]

    Puede realizarse búsquedas por DNS mediante los comandos del sistema nslookup o el más moderno dig; ambas utilidades originales del servidor de DNS bind. Las búsquedas pueden realizarse también desde Internet mediante un interfaz web: interfaz web para nslookup e interfaz web para dig. dnsdigger es un script en perl, diseñado para obtener el máximo posible de información de un servidor de DNS. Con NetCraft es posible realizar búsquedas de nombres de dominio similares, al igual que con Whois Source.

    El método más convencional es realizar las consultas desde web a las empresas de registro: Network Solutions para dominios internacionales, RIPE para Europa y NIC.es para España; así como interfaces Web de Whois como SamSpade.

    Para la búsqueda de la ruta IP se utiliza traceroute o una interfaz visual como como Visual Route o NeoTrace. IP-to-Country permite averiguar el País a partir de la dirección IP, así como GeoBytes localiza el ISP.

    Un buen truco se basa en registrar el idioma mediante la respuesta al comando Accept-Language de una solicitud GET / HTTP/1.0.

  4. Identificación de Servicios y Sistemas [Actualizado el 14 de diciembre de 2003]

    Adquisión de blancos

    Una de las partes más costosas en tiempo para redes grandes es determinar los hosts que están vivos dentro del direccionamientos IP de tipo clases C o clases B. En estos casos se suele utilizar el nmap como un "bulk scanner", comprobando si un host está vivo o no mediante su respuesta a una solicitud icmp, o a una solicitud TCP por defecto al puerto 80 o a otros puertos.

    Sin embargo este tipo de escenarios no son tan fáciles: lo normal es que se trate de servidores con puertos abiertos en números de puerto no usuales, protegidos con un cortafuegos, con las respuestas de ICMP filtradas por las ACLs de los routers de acceso y con los accesos registrados IDS con posibilidades de bloqueo dinamico de IPs.

    La herramienta más utilizada en este entorno es nmap, cuya próxima versión 3.49 está próxima a liberarse. En este caso hay que optimizar los parámetros de nmap, para que evite la detección (envíos SYN) y se ajusten los puertos a comprobar; pues un escaneo completo de todos los puertos TCP y UDP puede llevar varias horas para una única máquina. Por ejemplo:

    	   # nmap www.dvc.es -sS -SU -sV -O -p1-65535 -v -P0 -T4 -oN nmap-www.dvc.es
    	     Total:	14350 segundos
    
    	   # nmap www.ausejo.net -sS -SU -sV -O -p1-65535 -v -P0 -T4 -oN nmap-www.ausejo.net
    	     Sólo TCP:	 1666 segundos
    	     Total:	74509 segundos
    	

    Mark Wolfgang, autor de Host Discovery with nmap, (PPs) ha perfeccionado la técnica de la automatización mediante su famoso script en perl discover.pl, que ha evolucionado al nuevo script pads.pl. También son interesantes los script targen.pl, últil cuando se quiere pasar como parámetro de entrada una red de clase B con determinadas exclusiones y Nmap::Scanner, un módulo en PERL que parsea la salida de nmap. Mad Hat también ha hecho públicos varios scripts en perl sobre la automatización de salidas del nmap. ndiff y nmap audit permiten escaneos diferenciales.

    Identificación de Sistemas Operativos

    Las técnicas de detección remota de sistemas operativos se basan en analizar cómo ante determinadas solicitudes de red, documentadas o no en los estándares del protocolo, el sistema responde con una serie de características, frecuentemente valores en los campos del protocolo de red. La idea original surgió de un artículo del número 51 de la revista Phrack titulado The Art of Port Scanning, fruto del cual surgió la herramienta nmap, que utiliza esta técnica, según su artículo Remote OS detection via TCP/IP Stack FingerPrinting.

    Posteriormente, Ofir Arkin y Fyodor Yarochkin escribieron un artículo en el número 57 de la citada revista Prack, denominado ICMP based remote OS TCP/IP stack fingerprinting techniques, que fueron la base de su programa Xprobe. La versión más reciente, XProbe2, se basa en técnicas de Lógica Difusa y adivinación probabilística. En su web pueden encontrarse varias presentaciones en PowerPoint sobre el tema.

    Otras herramientas que realizan detección remota de sistemas son hping2, la española SING (de Alfredo de Andrés), el reciente OSFP - Operating System Fingerprinting Project y Cron-OS (PPTs)

    Pueden encontrarse ejemplos de utilización de las herramientas anteriores en el artículo , en la conferencia de Honoriak) titulada "Análisis remoto de sistemas" y publicada en el número 24 de la revista SET Magazine y en una noticia de BULMA.

    También existen herramientas de detección remota para Windows. Entre las más conocidas se encuentran MingSweepr (que necesita modificar el parámetro TCP DisableUserTOSSetting), Winfingerprint y osfinger. SuperScanner v4.0 es un escaneador pequeño y sencillo de usar bajo Windows.

    Actualmente, unad e las herramientas más modernas es SYnscan, presentada en el CanSecWest 2004, que se basa en la firma de todos y cada uno de los campos de la pila TCP/IP de las respuestas de red recibidas. Se ejecuta bajo linux y necesita de las librerías libdnet, libevent y libpcap. El whitepaper SYNSCAN: Towards Complete TCP/IP Fingerprinting muestra las técnicas en las que se basa.

    Identificación Pasiva de Sistemas

    Existe otra técnica denominada Passive OS Fingerprinting, basada en determinar el Sistema Operativo en base a la captura no intrusiva de paquetes. Esta técnica está detallada en el artículo Passive OS Fingerprinting: Details and Techniques y su segunda parte. Dentro de las herramientas de detección pasiva de Sistemas se encuentran NeVO, RNA, Ettercap, ARCHAEOPTERYX, Prelude, pfprintd, la española K9, DISCO (IP DIsCOvery) y la recién lanzada p0f 2.0 (también portada a Windows). Pueden encontrarse más herramientas para detección remota de Sistemas en SecurityFocus.

    Identificación de Sistemas de Red

    Existen algunos trucos para identificar las versiones antiguas de routers Cisco o cortafuegos Check Point FireWall-1 y Altavista Firewall 97.

    Escaneo de Puertos

    Existen multitud de escaneadores de puertos, siendo sin duda Nmap el escaneador Open Source por excelencia. Dispone de múltiples opciones, además de implementar el escaneo de tipo idle mediante una máquina zombie. También existe una versión para Windows y una modificación nmapsql que permite almacenar en base de datos para poder realizar escaneos distribuidos.

    El libro Building Open Source Network Security Tools: Components and Techniques permite escribir varias herramientas de este tipo. Angry IP Scanner es un escaneador interno para Windows que detecta la dirección MAC, el nombre del grupo y del usuario activo en ese momento.

    Steven M. Bellovin ha publicado un documento denominado A Technique for Counting NATted Hosts donde se describen técnicas para enumerar servidores internos protegidos por NAT.

    Hay que tener en cuenta el cache-proxy de puertos abiertos cuando se realizan escaneos con routers ADSL, que puede generar falsos positivos; sobre todo en los puertos 80 (HTTP), 1755 (Streaming de Microsoft Windows Media) y 554 (Streaming de Real Networks y Quicktime).

    Identificación de Servicios

    Respecto a la identificación de servicios, lo normal es que el dispositivo a auditar esté atendiendo solicitudes de conexión en los puertos estándar, que aparecen listados en el directorio /etc/services en sistemas Unix o en C:\WINDOWS\system32\drivers\etc\services en sistemas Windows, en formato < nombre de servicio > < tabulador > < número de puerto > / < protocolo > < [alias] > < [#comentario] >. Se recomienda actualizar dicho fichero, incluso sobreescribirlo, con la última versión del fichero de asignaciones de números de puerto oficiales de la IANA

    amap

    También es posible que existan servicios con puertos abiertos escuchando con numeración no estándar. En este caso es muy útil la herramienta unix THC-Amap 4.5, que comprueba servicios y aplicaciones independientemente de su número de puerto e identifica a qué servicio corresponde en base a la respuesta de una simulación de solicitudes. Funciona con servicios no ASCII (telnet, smtp, pop3, etc.) al basarse en triggers. Incluye la utilidad amapcrap para identificar servicios que no muestran ninguna salida aparente, mediante el envío de solicitudes aleatorias no estándares. Aunque no existe una versión Windows de AMAP y en el readme aparece que lo hará en fecha lejana, la versión 2.7 (la anterior a la 4.0) podía compilarse con Cygwin. La sintaxis es

    	   # amap [Parámetros] IPOBJETIVO PUERTOINICIAL [-PUERTOFINAL] 
    	
    aunque pueden automatizarse las tareas de amap mediante ficheros de entrada de nmap:
    	   # nmap -sS -oM entrada.nmap -p 1-65535 IPOBJETIVO
    	   # amap -i entrada.nmap -o salida.amap -m
    	

    Algunos de los posibles parámetros son:

    	-u: comprueba sockets UDP (por defecto comprueba TCP)
    	-1: agiliza la ejecución de amap (recomendado)
    	-b: muestra el banner de aquellos servicios con salida ASCII
    	-q: no muestra los mensajes relativos a puertos cerrados
    	-v: el "famoso modo verboso" ;-) 
    	-t y -T para opciones de timeout
    	

    En la documentación se sugiere que amap también puede utilizarse como un escaneador y capturador de banners, perdiendo sus ventajas de identificación de aplicaciones; algo muy útil para los scripts de escaneos bulk de grandes redes que tengan filtrado de icmp y se quiera saber cuales son los hosts existentes antes de pasar a identificar los servicios.

    	   # amap -qbp http TARGET 1-65535
    	

    nmap

    nmap ha incluido en sus últimas versiones la identificación de servicios. Un ejemplo sacado de su web:

    	# nmap -A -T4 -F www.insecure.org
    
    	Starting nmap 3.40PVT16 ( http://www.insecure.org/nmap/ ) at 2003-09-06 19:49 PDT
    	Interesting ports on www.insecure.org (205.217.153.53):
    	(The 1206 ports scanned but not shown below are in state: filtered)
    	PORT    STATE  SERVICE VERSION
    	22/tcp  open   ssh     OpenSSH 3.1p1 (protocol 1.99)
    	25/tcp  open   smtp    Qmail smtpd
    	53/tcp  open   domain  ISC Bind 9.2.1
    	80/tcp  open   http    Apache httpd 2.0.39 ((Unix) mod_perl/1.99_07-dev Perl/v5.6.1)
    	113/tcp closed auth
    	Device type: general purpose
    	Running: Linux 2.4.X|2.5.X
    	OS details: Linux Kernel 2.4.0 - 2.5.20
    	Uptime 108.307 days (since Wed May 21 12:27:44 2003)
    
    	Nmap run completed -- 1 IP address (1 host up) scanned in 34.962 seconds
    	

    Un ejemplo a lo bruto de escaneo bulk de todos los puertos TCP y UDP para comprobar las versiones:

    	# nmap -sS -sV -P0 -v -p 1,65535 -n 192.168.1.1
    	# nmap -sU -sV -P0 -v -p 1,65535 -n 192.168.1.1
    	

    Identificación manual

    Por último, hablando de ejemplos a lo bruto, siempre nos queda la opción de identificar los servicios a mano, uno a uno: ;-)

    	# nc -v -n 192.168.1.1 80
    	# nc -u -v -n 192.168.1.1 53
    	# telnet 192.168.1.1 25
    	# telnet 192.168.1.1 110
    	

    Identificación de Servicios Web

    Jeremiah Grossman y Bill Pennington mantienen varios artículos y conferencias sobre la identificación remota de servidores web. La herramienta netcat es muy útil en este sentido:

    	# nc -v -n 192.168.1.1 80
    	

    aunque existen herramientas que detectan la versión del servidor web a través de su banner como WotWeb, hmap y la reciente (diciembre 2003) httprint v200, con un whitepaper sobre HTTP Fingerprinting.

    En caso de que la conexión sea http; pueden comprobarse solicitudes HTTP mediante OpenSSL:

    	# $ openssl s_client -connect localhost:443 -state -debug GET / HTTP/1.0
    	

    Es posible utilizar el interfaz web de navegación SamSpade para recopilar datos desde un direccionamiento seguro.

    NetCraft realiza periódicamente un estudio de los sistemas utilizados en Servidores Web, tanto para http como para https mediante detección remota.

    DNS

    Un truco para identificar la versión de DNS es:

    	# nslookup -q=txt -class=chaos version.bind ns0.example.com
    	# dig CHAOS TXT version.bind @IP.ADD.RE.SS
    	
    Aunque una de las técnicas más completas de identificación remota de DNSs es la de D. J. Bernstein

    SMTP

    Enviando un email modificado puede obtenerse en la cabecera de la respuesta la información correspondiente al servidor SMTP

    IKE

    Ike-scan es una herramienta de comprobación para dispositivos que permitan abrir túneles VPN. Permite identificar el producto de forma remota.

  5. Análisis de y verificación de vulnerabilidades [Actualizado el 20 de junio de 2003]
  6. Comprobación de bases de datos [Actualizado el 16 de diciembre de 2003]

    Scanners: MetaCoretex, A Simple Oracle Host-Based Scanner. Best Practices Analyzer Tool for Microsoft SQL Server 2000 1.0

    Ataques de diccionario: Forcesql 2.0, SQLdict, Oracle Password Cracker v1.6

    Artículos: Introduction to Simple Oracle Auditing, Conducting a Security Audit of an Oracle Database SQL Security,

    PGADMIN3 para PostgreSQL windows

  7. Comprobación de aplicaciones [Actualizado el 18 de junio de 2003]
  8. Test de Intrusión [Actualizado el 18 de junio de 2003]
  9. Denegación de Servicio (DoS) [Actualizado el 24 de julio de 2003]
  10. Inyección de paquetes

    La inyección de tramas puede ser muy compleja dependiendo de lo que se quiera hacer (léase el artículo Strange Attractors and TCP/IP Sequence Number Analysis). El portal más conocido en este entorno es PacketFactory, que aloja los proyectos Nemesis (una herramienta para la inyección de paquetes desde línea de comandos o desde un script, recientemente portada a Win32); ISIC (IP Stack Integrity Checker, que comprueba la integridad de una pila IP) y PackIt (una herramienta para auditoría de red); además de la API Libnet.

    packETH es una herramienta reciente basado en un GUI de Linux que genera paquetes IP en una LAN, útil para simular ataques DoS locales.

    Otras APIS para contruir tramas de red, además de Libnet son Net::RawIP en PERL e Impacket, de de Core Security, en lenguaje Python.

    Derivado de Nemesis y basado en libnet para Win32 se encuentra Engage Packet Builder

    Hping también puede ser utilizado para lo que se denomina Packet Crafting

    ARP0c Connection Interceptor permiten ataques de tipo Man-in-the-middle mediante la inyección de respuestas falsas de arp spoofing en un entorno de switching

    Algo que tengo curiosidad de probar es Scapy. Según su web, debe ser impresionante: "Scapy is a powerful interactive packet manipulation tool, packet generator, network scanner, network discovery, packet sniffer, etc. It can for the moment replace hping, 85% of nmap, arpspoof, arp-sk, arping, tcpdump, tethereal, p0f, .... "

  11. Evasión de Firewalls e IDSs

    Datatpipe permite encapsular a través de un proxy cualquier conexión que permita connect(). Se pueden encontrar algunos ejemplos de su uso en la presentación HTTP Fingerprinting and Advanced Assessment Techniques. Otro método de saltarse un cortafuegos es mediante un SOCKS Proxy local, como por ejemplo hopster o httptunnel.

  12. Foros de Seguridad

    Las listas de discusión, los foros y portales más conocidos muestras las últimas tendencias y noticias del sector. En este sentido destacan SecurityFocus e Infosyssec). En Español, Hispasec, con su servicio de noticias Una-al-dia; el Boletín de Kriptópolis; el Boletín del Criptonomicón, de Gonzalo Álvarez Marañón; el Centro de Alerta Antivirus, la Campaña de Seguridad en Internet de la Asociación de Internautas; la lista de hacking de Argo, moderada por Jesús Cea y la lista de Fido-Hack. Otros foros interesantes son el PenTest Group y Security Forums. Recientemente se realizó una encuesta entre los usuarios de nmap para determinar cuales eran las webs más visitadas por los hackers.

    Los e-Zines son recopilaciones periódicas de artículos, a modo de revista que suelen publicarse gratuitamente en Internet. Phrack, es el E-zine por excelencia, en Inglés, con artículos míticos. Otros magazines, en Español son Raregazz, NetSearch Ezine y el CyberNotes, del National Infrastructure Protection Center.

    Entre los retos o concursos de Hacking (los denominados Hacker Games) se encuentran el Forensic Challenge, los RSA Cryptographic Challenges, OpenHack, Battlehack, Hack21, Ferrari 360, Boinas Negras, Izhal, el King of Fighters 2001 del HackersLab y los diversos juegos de PullthePlug.

    De forma anual suelen realizarse varios congresos y conferencias, generalmente por las mismas fechas, por ejemplo:

    • Los Black Hat Briefings tienen varias ediciones a lo largo del 2004: Black Hat Windows Security en Seattle a finales de enero,Black Hat Europe en Amsterdam a finales de mayo, Black Hat USA en Las Vegas a finales de Julio, además de Black Hat Federal en USA y Black Hat Asia.
    • Mundo Internet 2004 abre sus puertas en el Palacio de Congresos de Madrid, del 11 al 13 de febrero de 2004
    • Varios fabricantes celebran sus respectivas conferencias de forma anual, como la RSA Conference 2004 del 23 al 27 de febrero en el Moscone Center de San Francisco
    • CanSecWest/core04; 21-23 de abril de 2004 en Vancouver (Canadá)
    • Infosecurity Europe 2004; 27-29 de abril de 2004 en Londres (Olympia Center)
    • Securmática 2004; 20-22 de abril de 2004 en Madrid (Novotel, Campo de las Naciones)
    • El Hackmeeting original italiano, suelen ser tres días de Junio, el del 2003 fue en Turín.
    • DEF CON 2004; a primeros de agosto de 2004 en Las Vegas (Alexis Park Hotel); donde se celebrará la cuarta WorldWideWarDrive
    • El SANS Spain se realizó en Madrid del 8 al 13 de Septiebre de 2003 en el hotel HUSA Princesa. ¿Se repetirá en el 2004?
    • La VIII RECSI (Reunión Española sobre Criptología y Seguridad de la Información) se celebrará en Septiembre, del 22 al 24 de 2004, como cada dos años, en alguna de las universidades españolas. Esta vez, en la Universidad Carlos III de Madrid.
    • El último HackMeeting se celebró del 24 al 26 de Octubre en Iruña (Pamplona). El Hackmeeting 2004 ¿será en Pamplona o en Sevilla?
    • Hivercon 4-5 de noviembre de 2004 en Dublín (Irlanda, Hotel Davenport)
    • Entre Noviembre y Diciembre de cada año se celebra en Méjico el DISC, Día Internacional de la Seguridad en Cómputo
    • A finales de Diciembre, se celebra en Alemania el mítico Chaos Communication Congress del Chaos Computer Club. El último fue del 27 al 29 de diciembre de 2003 en Berlín.
    • En general, en SecurityFocus aparecen los eventos más destacados del año, aunque no suelen aparecer los españoles
    • Por último, además de los eventos anteriores; se suelen encontrar otros más genéricos, como la Campus Party, la Euskal Party y demás eventos similares, que pueden encontrase en Party Spain 2004

  13. Hacking

    La temática hacker se ha llevado al mundo del cine en varias ocasiones, entre ellas

    En un artículo denominado De monigotes desocupados a genios del mal: los hackers según Hollywood se comentan varias películas de temática hacker.

    Respecto a los libros, destaca The Hackers Crackdown

    Entre los hackers (construyen sistemas) y crackers (los revientan) más conocidos se encuentran:

    Pueden encontrarse fotografías y más datos en Hacker's Hall of Fame y Living internet

    Otros nombre conocidos, a nivel mundial son:

    En España es interesante mencionar a ciertas personas que tienen mucho que decir en lo relativo a Seguridad de la Información, entre ellos:

Valid XHTML 1.0!

Copyright © 2003 Rafael Ausejo Prieto. Valid CSS!