Clonar un Sitio Web con HTTrack

Body

HTTrack es un programa de software libre, y una utilidad fácil de usar para realizar una navegación fuera de linea (off-line). Este programa permite descargar un sitio web desde Internet a un directorio local, construyendo recursivamente todos los directorios, obteniendo HTML, imágenes y otros archivos desde el servidor hacía una computadora. HTTrack arregla la estructura de enlaces relativa al sitio original. Simplemente abrir una página del sitio web "replicado" en el navegador, y se puede navegar el sitio web de enlace a enlace, como si se estuviese visualizándolo en línea (on-line). HTTrack también actualiza un sitio existente replicado, y reanuda una descarga interrumpida. HTTrack es completamente configurable, y tiene un sistema de ayuda integrado.

Para la siguiente práctica se utilizará una máquina virtual ejecutando BadStore.

Utilizar HTTrack para clonar un sitio web. La opción “--mirror” permite realizar la réplica de un sitio web. Se han incluido dos opciones de Spidering, la opción “bN” acepta las cookies en cookies.txt, y la opción “sN” sigue al archivo robots.txt y etiquetas meta de robots. La opción “-O” define un directorio donde se almacenarán los archivos y carpetas del sitio web objetivo.

$ httrack --mirror -bN -sN http://192.168.0.31/ -O /tmp/sitioweb/

Listar los archivos y directorios que han sido creados y descargados desde el sitio web objetivo.

Abrir un navegador web como Firefox, y escribir en la barra de direcciones la carpeta indicada en el comando HTTrack, donde se han descargado todos los archivos del sitio web.

En una Prueba de Penetración, el clonar o hacer una réplica de un sitio web permite analizar el contenido completo de un sitio web, todas sus páginas y archivos fuera de linea (off-line). Con esta información se pueden buscar y extraer cadenas o palabras claves, crear listas de palabras que podrán ser luego utilizadas como posibles contraseñas contra algún mecanismo de autenticación. También se puede utilizar estas réplicas de un sitio web para desplegar sitios web de phishing, o en ataques de Ingeniería Social.

Fuentes:

http://www.httrack.com/
http://www.badstore.net/

Web Robots

Body

Web Robots; o Robots de la Web, también conocidos como Web Wanderes, Crawlers, o Spiders; son programas que atraviesan la web de manera automática. Los motores de búsqueda como Google los utiliza para indexar contenido web, los spammers lo utilizan para escanear direcciones de correo electrónico, y tienen otros usos variados.

Archivo /robots.txt

Los propietarios de sitios webs utilizan el archivo /robots.txt para dar instrucciones sobre sus sitios web a los robots; esto es llamado El Protocolo de Exclusión de Robots.

Utilizar cualquier navegador para acceder al archivo robots.txt.

Esto funciona de la siguiente manera, un robot desea visitar el sitio web http : // abcdef . com/ index .html Antes de hacer esto, primero verifica el archivo robots.txt.

“User-agent: *” significa que esta sección se aplica a todos los robots. “Disallow: /directorio” le indica al robot que este directorio no debe ser visitado en el sitio.

Existen dos importantes consideraciones cuando se utilice el archivo /robots.txt

  • Los robots pueden ignorar el archivo /robots.txt. Especialmente robots de malware que escanean la web por vulnerabilidades, y cosechadores de direcciones de correo electrónico utilizados por los spammers.
  • El archivo robots.txt es un archivo disponible públicamente. Cualquiera puede visualizar cuales son las secciones del servidor que no se desea que los robots utilicen. Así es que este archivo no se debe ser utilizarlo para ocultar información.

Se utiliza la herramienta wget para obtener un nuevo archivo robots.txt. En el archivo se indica en su primera sección que todos los robots están permitidos de visitar todo el sitio web. Y en la segunda sección se le indica explícitamente al robot de Google que puede visitar todo el sitio web.

En una Prueba de Penetración este archivo puede exponer información sobre rutas de carpetas o directorios. De esta manera se empieza a conocer la estructura de una aplicación web. Sin un conocimiento profundo sobre la disposición de una aplicación web, es poco probable que se pueda realizar una prueba óptima.

Fuentes:

http://www.robotstxt.org/
https://www.owasp.org/index.php/Testing:_Review_Webserver_Metafiles_for…
https://github.com/cmlh/rockspider

Traceroute

Body

Traceroute es una herramienta que permite rastrear la ruta que los paquetes siguen desde una dirección IP de red en su camino a un host determinado. Utiliza el campo (Time to live - TTL) "Tiempo de vida" del protocolo IP, intenta generar una respuesta ICMP TIME_EXCEEDED desde cada pasarela en la ruta hacia el host objetivo.

Es decir, este programa intenta trazar la ruta que un paquete IP podría seguir hacia algún host en Internet lanzando paquetes de prueba con un TTL (Time To Live) pequeño, luego escuchando por una repuesta ICMP “Time Exceeded” desde una pasarela. Se inicia la prueba con un TTL de uno e incrementando por uno hasta que se obtenga un ICMP “Port Unreacheable” o (TCP Reset), lo cual significa que se ha llegado al “host” objetivo, o alcanzado el máximo del saltos (por defecto son 30 saltos). Son enviadas tres pruebas (por defecto) con cada TTL y se imprime una línea mostrando el TTL, dirección de la pasarela y tiempo de ida y vuelta de cada prueba. La dirección IP puede ser seguida por información adicional. Si la respuesta de la prueba viene desde diferentes pasarelas, las direcciones de cada sistema respondiendo serán impresas. Si no hay respuesta en 5.0 segundos (por defecto), un “*” asterisco será impreso para la prueba.

En la siguiente práctica se utiliza la herramienta traceroute para realizar el trazado hacia un host objetivo. La opción “-q” define el número de paquetes de prueba a enviar por cada salto. Por defecto está definido a 3. La opción “-N” define el número de paquetes de pruebas a enviar de manera simultanea. Por defecto el valor es de 16.

Wireshark es un analizador de protocolos de red. El cual permite capturar y navegar de manera interactiva el tráfico fluyendo en una red de computadoras. Esta herramienta está en funcionamiento mientras se ejecuta la herramienta traceroute.

Con la herramienta Wireshark se obtiene información detallada del procedimiento realizado por traceroute. Como por ejemplo que en GNU/Linux se utilizan paquetes UDP. El primer paquete enviado tiene un TTL (Time to live) en 1. La respuestas devuelva por las pasarelas (Time to live exceeded), entre otra información valiosa.

En esta práctica en particular no se ha realizado la traza de la ruta completa hacia el objetivo de evaluación, pues solo se ha llegado hasta el salto número 13. El hecho de que a partir del salto número 14 se muestren “*” asteriscos, implica que no se obtiene respuesta a los paquetes enviados.

En una Prueba de Penetración se debe investigar cada una de las direcciones IP o nombres de dominio que revela el trazado de la ruta realizando consultas Whois. De esta manera se puede conocer cuales son los sistemas relacionados directamente o pertenecientes a la red objetivo e iniciar ataques a estos sistemas, asumiendo que se tiene el permiso adecuado. También se deben realizar escaneos de puertos contra estas direcciones IP o dominios, lo cual permitiría identificar si se tratan de un router, switch, balanceador de carga, firewall, etc.

Fuentes:

http://tools.ietf.org/html/rfc1393
http://en.wikipedia.org/wiki/Traceroute
http://www.wireshark.org/
http://www.loriotpro.com/Products/On-line_Documentation_V5/LoriotProDoc…

Enumerar Usuarios mediante Finger

Body

Finger es un programa que proporciona reportes de estados sobre un sistema de cómputo en particular o una persona en un sitio de red. Este programa fue creado para resolver la necesidad de usuarios quienes deseaban información sobre otros usuarios de la red. La información sobre quien estaba “logueado” era útil para verificar la disponibilidad de la persona.

En las siguientes prácticas se utilizará una Máquina Virtual Vulnerable de nombre "Hackerdemia".

Escanear los puertos TCP del objetivo para encontrar el puerto TCP 79 abierto donde se ejecuta el demonio finger.

Utilizar la herramienta nmap para obtener más información sobre la huella del servicio y la versión.

finger-user-enum

Esta herramienta para enumerar cuentas de usuarios a nivel del Sistema Operativo. Este programa podría no funcionan con todos los demonios dado que no hay un formato definido para los datos devueltos por el servicio finger

Descargar "finger-user-enum" y descomprimir el archivo.

Utilizar perl para ejecutar la herramienta.

Ejecutar finger-user-enum definiendo los parámetros pertinentes. La opción “-U” define el uso de un archivo conteniendo un listado de los usuarios que se verificarán a través del servicio finger. El archivo de nombre “unix_users.txt” está incluido en Metasploit Framework.

# perl finger-user-enum.pl -U /opt/metasploit/apps/pro/msf3/data/wordlists/unix_users.txt -t 192.168.0.123

Metasploit Framework tiene el módulo “Finger Service User Enumerator”, el cual identifica usuarios válidos a través del servicio finger utilizando una diversidad de trucos.

Aunque es inusual encontrar el servicio finger en funcionamiento durante una Prueba de Penetración. Este servicio proporciona una gran cantidad de información sobre los usuarios existentes en el objetivo de evaluación. Estos usuarios válidos pueden ser utilizados luego para realizar ataques por fuerza bruta contra algún mecanismo de autenticación, o para realizar ataques de ingeniería social.

Fuentes:

http://en.wikipedia.org/wiki/Finger_protocol
http://tools.ietf.org/html/rfc1288
http://pentestmonkey.net/tools/user-enumeration/finger-user-enum
http://www.rapid7.com/db/modules/auxiliary/scanner/finger/finger_users
http://sourceforge.net/projects/virtualhacking/files/os/hackerdemia/

Enumerar Usuarios mediante SMTP

Body

SMTP (Simple Mail Transfer Protocol) o por su traducción al Español Protocolo Simple para la Transferencia de Correo, es un estándar de Internet para la transmisión de correo electrónico de manera confiable y eficiente..

Mientras los servidores de correo electrónico y otros agentes de transferencia de correo utilizan SMTP para enviar y recibir mensajes de correo, las aplicaciones cliente a nivel del usuario de correo típicamente utilizan SMTP solo para enviar mensajes a un servidor de correo para ser retransmitidos.

Estructura Básica del Modelo SMTP

Cuando un cliente SMTP tiene un mensaje a transmitir, este establece un canal bidireccional de transmisión hacia un servidor SMTP. La responsabilidad de un cliente SMTP es transmitir mensajes de correo a uno o más servidores SMTP.

Un servidor SMTP puede ser ya sea el último destino o un retransmisor intermedio (esto es, que puede asumir el rol de un cliente SMTP después de recibir el mensaje) o pasarela (esto es, este puede transportar el mensaje más lejos utilizando algún otro protocolo diferente que SMTP).

Transacciones de Correo

Existen tres pasos para las transacciones de correo SMTP.

  • MAIL: La transacción inicia con un comando MAIL el cual proporciona la identificación del remitente.
  • RCPT: Proporciona la ruta de adelante identificando a un receptor.
  • DATA: Si es aceptada, el SMTP de recepción devuelve una respuesta intermedia 354 y considera todas las líneas siguientes como un mensaje de texto.

Comandos de Depuración

  • VRFY: Permite verificar el nombre de un usuario, la respuesta puede incluir el nombre completo del usuario y debe incluir el buzón de correo del usuario.
  • EXPN: Permite consultar una lista de correo, y la respuesta constituida de varias líneas puede incluir el nombre completo de los usuarios y debe proporcionar los buzones de correo de la lista de correo.

Se utilizará la herramienta netcat, para establecer una conexión al puerto 25 del objetivo

# nc -nvv 192.168.0.17 25

Realizada y establecida la conexión con el servidor, se procede a utilizar el comando HELO y EHLO.

El comando “HELO” cuando se abre un canal de transmisión, se realiza un intercambio para asegurar que los hosts están comunicándose con los hosts adecuados.. El comando “EHLO” es enviado al servidor para indicar la identidad del cliente. Además de abrir la sesión, el uso de “EHLO” indica que el cliente es capaz de procesar las extensiones de servicio y solicita que el servidor proporcione una lista de las extensiones que soporta.

Utilizar el comando VRFY para verificar la existencia de dos usuarios, para esta práctica un usuario inexistente en el sistema y un segundo usuario el cual si existe en el sistema.

Notar el mensaje de respuesta devuelta por el servidor, lo cual nos permitiría realizar un ataque más elaborado y automático con la ayuda de una herramienta.

smtp-user-enum

Es una herramienta orientada principalmente a adivinar nombres de usuario contra un servicio SMTP. Utilizando los comando, EXPN, VRFY o RCPT.

Para la siguiente práctica se utilizará esta herramienta y una de las listas de palabras que incluye Kali Linux en el directorio (/usr/share/metasploit-framework/data/wordlists)

# smtp-user-enum -M VRFY -U /usr/share/metasploit-framework/data/wordlists/unix_users.txt -t 192.168.0.17

En una Prueba de Penetración, si nuestro objetivo de evaluación tiene un servidor de correo que permite la enumeración de usuarios, se puede crear una lista de usuarios existentes en el sistema. Esta lista de usuarios puede ser muy valiosa en cualquier ataque por fuerza bruta, intentos de login, o utilizar estos datos para realizar ingeniería social.

Fuentes:

http://www.ietf.org/rfc/rfc2821.txt
http://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol
http://pentestmonkey.net/tools/user-enumeration/smtp-user-enum
http://nmap.org/nsedoc/scripts/smtp-enum-users.html

Determinar la versión de BIND

Body

BIND es un software open source que implementa los protocolos dell Sistema de Nombres de Dominio (DNS) para Internet. Es una implementación de referencia de estos protocolos, pero también es un software adecuado para ser usado en aplicaciones con alto volumen de tráfico y con una alta fiabilidad.

Desde hace algún tiempo, las implementaciones BIND han soportado una manera de identificar a un servidor particular mediante el uso de estándares compatibles, aunque con una consulta DNS un tanto inusual. Específicamente, una consulta en el servidor BIND para el registro de recurso TXT en clase 3 (CHAOS) para el nombre de dominio “HOSTNAME.BIND”, retornará una cadena que puede ser configurada por el administrador del servidor de nombres para proporcionar un identificador único para el servidor respondiendo. Este mecanismo, el cual es una extensión de la convención BIND de utilizar consultas RR TXT de la clase CHAOS a subdominios del dominio “BIND.” por la información de la versión, ha sido copiado por varios proveedores.

Un refinamiento al mecanismo basado en BIND, el cual deja la etiqueta de implementación específica, reemplaza “BIND.” con “SERVER.”. Así, la etiqueta para conocer el nombre único de un servidor aparecerá como “ID.SERVER.”

Para referencia, el otro nombre “bien-conocido” utilizado por versiones recientes de BIND dentro del dominio de la clase CHAOS “BIND.” es “VERSION.BIND.” Una consulta por el RR TXT CHAOS para este nombre retornará una cadena definida administrativamente, el cual por defecto es la versión del software del servidor respondiendo. Esto sin embargo, no es generalmente implementado por otros proveedores.

Utilizar la herramienta dig para realizar esta consulta.

# dig version.bind TXT CHAOS @192.168.0.17

Utilizar la herramienta nslookup en modo interactivo para realizar la misma consulta. Esto requiere definir ciertas opciones.

# nslookup
> server 192.168.0.17
> set type=txt
> set class=chaos
> version.bind

El comando “set” utilizada en la herramienta nslookup permite cambiar la información de estado que afecta las consultas, como por ejemplo “class” el cual cambia la clase de consulta, para el caso de la práctica a “CHAOS”, y “type” el cual cambia el tipo de la consulta de información, en este caso a “TXT”.

La herramienta nmap tiene también un NSE (Nmap Scripting Engine) de nombre “dns-nsid”, el cual obtiene información sobre servidor de nombres DNS.

# nmap -sU -p53 192.168.0.17 --script=dns.nsid

En una Prueba de Penetración, el conocer el número de versión del servidor BIND del objetivo de evaluación, puede ser de mucha utilidad. Con esta información se puede iniciar una búsqueda Internet para determinar la existencia de alguna vulnerabilidad conocida y exploit.

Fuentes:

https://www.isc.org/downloads/bind/
http://www.oreillynet.com/pub/a/network/excerpt/dnsbindcook_ch07/
http://www.ietf.org/rfc/rfc4892.txt
http://support.microsoft.com/kb/314780
http://nmap.org/nsedoc/scripts/dns-nsid.html
http://www.cvedetails.com

Consultas DNS

Body

DNS (Domain Name System) o por su traducción al español Sistema de Nombres de Dominio es un sistema de nombramiento distribuido y jerárquico para computadoras, servicios, o cualquier recurso conectado a Internet o una red privada. Asocia diversa información con nombres de dominio asignado a cada una de las entidades participantes. Este sistema traduce nombres de dominio fácilmente memorizables a direcciones IP numéricas necesarias para el propósito de ubicar servicios dispositivos y servicios de computadoras alrededor del mundo. El Sistema de Nombre de Dominio es un componente esencial para el funcionamiento de Internet.

Espacio de Nombre de Dominio

El espacio de nombre de dominio consiste de un árbol de nombres de dominios. Cada nodo u hoja en el árbol tienen cero o más registros de recursos, los cuales manejan información asociada con el nombre de dominio. El árbol se sub divide en zonas iniciando en la zona raíz. Una zona DNS puede consistir de solo un dominio, o puede consistir de varios dominios y subdominios, dependiendo de la autoridad administrativa delegada al manejador.

Mecanismo de Resolución de Direcciones

Los resolvedores de los nombres de dominio determinan el servidor de nombre de dominio apropiado responsable del nombre de dominio en consulta, mediante una secuencia de consultas iniciando con la etiqueta del dominio más a la derecha (nivel superior).

El proceso es el siguiente:

  • Un host de red es configurado con un cache inicial (llamados indicios) de direcciones conocidas de los servidores de nombre raíces. Tal archivo de indicios es actualizado periódicamente por el administrador desde una fuente confiable.
  • Se consulta a uno de los servidores raíces para encontrar el servidor autorizado para el dominio de nivel superior.
  • Se realiza una consulta al servidor TLD obtenido por la dirección de un servidor DNS autorizado para el dominio de segundo nivel.
  • Se repite el paso anterior para procesar cada etiqueta del nombre de dominio en secuencia, hasta el paso final, el cual devuelve la dirección IP de buscada.

Esta lista proporciona un resumen de los tipos de registros de recursos (registros de base de datos) almacenados en los archivos raíz del Sistema de Nombres de Dominio (DNS). Diferentes tipos de registro sobre utilizados para diferentes propósitos.

Para obtener la lista detallada consultar: en.wikipedia.org/wiki/List_of_DNS_record_types

Algunos de estos registros son:

  • A: Devuelve un dirección IPv4 de 32 bits, utilizada comúnmente para mapear nombres de dominio a direcciones IP del host.
  • CNAME: Es un alias de un nombre a otro: la consulta DNS continuará intentando la consulta con el nuevo nombre.
  • NS: Delega una zona DNS para utilizar un servidor de nombre autorizado dado.
  • MX: Mapea un nombre de dominio una lista de agentes de transferencia de mensajes para el dominio.
  • PTR: Puntero a nombre canónico. A diferencia de un CNAME, el procesamiento DNS no procede, solo se devuelve el nombre. El uso más común es para implementar consultas DNS inversas.
  • SOA: Especifica información de autoritaria sobre una zona DNS, incluyendo el servidor de nombre primario, el correo electrónico del administrador del dominio, el número de serie del dominio, y varios temporizadores relacionados al refresco de la zona.
  • TXT: Originalmente para texto arbitrario en el registro DNS. Sin embargo este registro lleva algunas veces datos de computadora, como SPF, DKIM, etc.
  • AXFR: Transfiere el archivo completo de la zona desde el servidor de nombres maestros al servidor de nombres secundario.

A continuación se presentan prácticas sobre consultas DNS.

Consultas DNS utilizando la herramienta nslookup

Se utiliza la herramienta nslookup en forma interactiva. Primero se define el tipo de consulta:

> set type=ns

Se define el dominio que se consultará.

> dominio

Las respuesta devuelta no autoritaria, indica los servidores de nombres para el dominio consultado.

Se le indica a la herramienta nslookup a utilizar un servidor de nombres específico para realizar la consulta.


> server ns1.dominio

Se realiza una consulta tipo ANY; la cual devuelve todo los registros de recursos para el dominio; contra uno de los servidores de nombres.

> set type=any
> dominio

La consulta devuelve información de los registros A, MX, SOA y TXT

También se puede utilizar la herramienta host para realizar una consulta similar a la anterior.

# host -v -t ANY dominio servidor_dns

En una Prueba de Penetración el realizar consultas al DNS, proporciona información adicional sobre el servidor de correo electrónico, el SOA (Start Of Authority), entre otros datos valiosos. Se sugiere que estas consultas sean realizadas directamente al servidor DNS del objetivo de evaluación, pues el servidor DNS configurado por defecto podría contener información antigua.

Fuentes:

http://en.wikipedia.org/wiki/Domain_Name_System
http://en.wikipedia.org/wiki/List_of_DNS_record_types
http://cenkercetin.com/dns-kayitlari-kaynak-kayitlari/
http://anouar.adlani.com/2011/12/useful-dig-command-to-troubleshot-your…

DNSBL

Body

DNSBL (Domain Name System Blacklists) o por su traducción al español Listas Negras del Sistema de Nombres de Dominio, son listas de bloqueo de spam que permiten a un administrador de un sitio web bloquear mensajes desde sistemas específicos que tienen una historia de enviar spam. Como su nombre implica, las listas se basan en el Sistema de Nombres de Dominios de Internet, lo cual convierte direcciones IP complicadas como 140.239.191.10 en nombres de dominio como ejemplo.net , haciendo las listas mucho más fáciles de leer, utilizar y buscar. Si el mantenedor de una lista negra DNS recibió spam de cualquier tipo desde un nombre de dominio específico, este servidor podría ser listado y todos los mensajes enviados desde este podrían ser marcados o rechazados desde todos los sitios web que utilizan esta lista específica.

Visitar el sitio web de DNSBL.

En el recuadro “Quick DNSBL Check”, ingresar la dirección IP o nombre de dominio a consultar, para luego hacer clic en el botón “Check This IP”. Los resultados serán detallados a continuación.

Los íconos de colo verde indican que no está listado y los íconos de color rojo indican que está listado.

En una Prueba de Penetración es necesario investigar si el objetivo de evaluación se encuentra listado en una base de datos de spam. Pues si el objetivo estuviese listado en alguna de ellas, podría ser un indicador de que el servidor de correo electrónico ha sido comprometido en el pasado.

Más Información:

http://www.dnsbl.info/
http://en.wikipedia.org/wiki/DNSBL

Consultas Whois

Body

Whois es un protocolo de consulta y respuesta ampliamente utilizado para consultar bases de datos que almacenan los usuarios registrados o asignados a un recurso de Internet, como un nombre de dominio, un bloque de dirección IP, o un sistema autónomo, pero también es utilizado para otra amplia gama de información. El protocolo almacena y entrega contenido de la base de datos en un formato comprensible por humanos.

Base de Datos de Zona Raíz.

La Base de Datos de Zona Raíz representa los detalles para la delegación de los dominios de nivel superior, incluyendo los gTLDs como (.com) y los ccTLDs, como (.uk). Como gestor de la zona raíz DNS, IANA es responsable de coordinar estas delegaciones de acuerdo con las políticas y procedimientos. La mayoría de estos datos también están disponible mediante el protocolo Whois en whois.iana.org

En la siguiente práctica se realiza una consulta whois par ael dominio reydes.com, el cual es un gTLD (generic Top Level Domain), o por su traducción al español, dominio genérico de nivel superior.

# whois -h whois.iana.org .com

La opción ”-h” permite definir el host al cual se realizará la conexión para realizar la consulta.

En la respuesta obtenida, la línea “whois:” indica el servidor whois al cual se debe realizar la consulta para obtener información sobre un dominio .com.

Se procede a realizar una nueva consulta whois al servidor indicado en la anterior respuesta.

# whois -h whois.verisign-grs.com reydes.com

En la nueva respuesta obtenida se indica el servidor whois del registrador para el dominio reydes.com

Se procede entonces a realizar una consulta directamente al servidor whois del registrador para el dominio del objetivo. Esta es la información de “primera fuente” del dominio consultado.

# whois -h whois.godaddy.com reydes.com

En la siguiente práctica se realizará una consulta whois para un ccTLD (country code Top Level Domain), o por su traducción al español, dominio para código de país de nivel superior.
La información sobre el servidor whois al cual realizar la consulta de un ccTLD (.PE) “Peruano”, se obtiene en la siguiente página http://www.iana.org/domains/root/db/pe.html

Con esta información se procede a realizar la consulta whois respectiva sobre un dominio (.PE)



# whois -h kero.yachay.pe peru.gob.pe

Este mismo procedimiento puede ser aplicado para cualquier ccTLD, sencillamente ubicando el servidor Whois y realizando la consulta respectiva.

En una Prueba de Penetración las consultas Whois proporcionan información que podría ser utilizado en un ataque de Ingeniería social; como nombres, correos electrónicos, números telefónicos y otros datos de personas relacionadas al objetivo de evaluación. De igual manera se obtendrán los servidores de nombres (NS) asignados a un dominio, contra los cuales se realizarán consultas para obtener información sobre subdominios, factibilidad de realizar una transferencia de zona (AXFR), versión del servidor DNS entre otra información de interés.

Fuentes:

http://tools.ietf.org/html/rfc3912
http://en.wikipedia.org/wiki/Whois
http://www.iana.org/domains/root/db
http://www.internic.net/whois.html

Decodificar Archivos en Base64

Body

Base64 es un grupo de esquemas de codificación binario-a-texto similares que representan datos binarios en un formato de cadena ASCII, transformándolo en una representación base-64. El termino Base64 se origina de una codificación específica para la transferencia de contenido MIME.

El esquema de codificación Base64 es comúnmente utilizada cuando existe la necesidad de codificar datos binarios que necesitan ser almacenados o transferidos sobre medios diseñados para tratar con datos de texto. Esto es para asegurar que los datos permanezcan intactos sin modificación durante el transporte. Base64 es utilizado en varias aplicaciones incluyendo correo electrónico mediante MIME, y almacenamiento de datos complejos en XML.

En la práctica presentada a continuación, se decodificará un archivo de Microsoft Office Word enviando mediante correo electrónico.

Extraer desde la fuente del correo electrónico el contenido codificado en base64 a un archivo.

Utilizar la herramienta base64 para decodificar el archivo.

Se puede realizar un volcado en hexadecimal del contenido del archivo Word, con la herramienta xxd.

$ xxd /tmp/documento.doc

Resultaría también totalmente válida la acción de abrir el archivo con Microsoft Office Word.

Pero para propósitos forenses resulta tan atractivo el propio contenido del archivo, como los metadatos del archivo. Es por ello que se procede a extraer sus metadatos utilizando la herramienta exiftool.

$ exiftool /tmp/documento.doc

Fuentes:

http://en.wikipedia.org/wiki/Base64
http://digital-forensics.sans.org/community/downloads
http://www.sno.phy.queensu.ca/~phil/exiftool/