Determinar el Sistema Operativo utilizando Censys

Body

Censys crea y mantiene conjuntos de datos altamente indexados con la capacidad de ser buscados, el cual está dirigido a profesionales en seguridad. El inventario sobre hosts públicos, hosts virtuales, y certificados, ayudan en los esfuerzos de hacer los sistemas de cara hacia Intenet, y el Internet en general más seguro y protegido.

Al momento de realizar la presente publicación no es necesario registrarse en Censys para poder realizar esta búsqueda. Aunque se sugiere registrarse para aprovechar otras funcionalidades.

En la página principal de Censys ingresar el dominio a consultar. Asegurarse “Hosts” esté definido. Para luego hacer clic en el botón de nombre “Search”, para realizar la búsqueda.

Si Censys ha registrado previamente información sobre el host buscado, se presentará un resumen de la información recopilada sobre el host, como su dirección IP; proveedor de servicio, ciudad y país, puertos, abiertos, servicio, certificado digital, etc.

Al hacer clic sobre la dirección IP. Censys presentará toda la información recopilada sobre el Host buscado.

Es importante resaltar la fecha de última actualización de los datos. La cual se muestra en la parte inferior de la dirección IP del host.

En la pestaña “Summary” o Resumen, se detalla información básica, como el Sistema Operativo, Red, Encaminamiento, y Protocolos.

Según Censys el Sistema Operativo subyacente del host es Microsoft Windows.

Adicionalmente donde se ubica la información del puerto 443/TCP, se puede obtener información adicional para corroborar el sistema operativo. Este puerto ejecuta un servicio HTTPS, a través del cual se expone la siguiente información sobre el software, Microsoft IIS 10.0. Microsoft Windows, y Microsoft ASP.NET.

En base a la información obtenida desde la documentación oficial en el sitio web de Microsoft. IIS 10.0 es la más reciente versión de IIS, el cual se entrega con Windows 10 y Windows Server 2016.

Consecuentemente se puede inferir, la versión del sistema operativo subyacente del host es Windows Server 2016 o una versión posterior.

Como en todo proyecto de Hacking Ético o Prueba de Penetración, esta información sobre el sistema operativo debe ser corroborada desde diversas fuentes, utilizando otras técnicas y herramientas, con el propósito de obtener la información más precisa, para continuar con etapas posteriores.

Fuente:

https://support.censys.io/hc/en-us
https://docs.microsoft.com/en-us/iis/get-started/whats-new-in-iis-10/ne…

Instalar el Navegador Tor en Kali Linux

Body

El propósito del encaminamiento cebolla era tener una forma de utilizar Internet con la mayor privacidad posible, y la idea era encaminar el tráfico a través de múltiples servidores, además de encriptarlo en cada paso del camino. Esta es la explicación sencilla de cómo funciona Tor en la actualidad.

Desde su nacimiento en los años noventa, el encaminamiento cebolla fue concebido para basarse en una red descentralizada. La red necesitaba ser operada por entidades con intereses y suposiciones de confianza, además el software necesitaba ser libre y abierto para maximizar la transparencia y descentralización.

Primero se procede a actualizar la información sobre los paquetes en Kali Linux.

$ sudo apt update

Primero se necesita instalar el “Lanzador del Navegador Tor”, utilizado el gestor de paquetes de Kali Linux.

$ sudo apt tor torbrowser-launcher

Luego se ejecuta el “Lanzador de Navegador Tor”. Su propósito es facilitar la instalación y uso del Navegador Tor para los usuarios de Linux.

$ torbrowser-launcher

El “Lanzador de Navegador Tor” manejará todo lo siguiente:

  • Descarga e instala la más reciente versión del Navegador Tor en su lenguaje, y para la arquitectura de la computador, o lanza el Navegador Tor si ya ha sido instalado (El Navegador Tor será actualizado automáticamente)
  • Verifica la firma del Navegador Tor, para asegurar la versión descargada fue firmada criptográficamente por los desarrolladores de Tor, y no ha sido manipulada
  • Añade el “Navegador Tor” y los “Ajustes para Lanzador del Navegador Tor” hacia el menú del entorno de escritorio
  • Incluye perfiles AppArmor para hacer el compromiso del Navegador Tor no sea tan malo
  • Opcionalmente reproduce un sonido de módem cuando se apertura el Navegador Tor (Debido a Tor es tan lento)

Automáticamente se abrirá el Navegador Tor para conectarse hacia la Tor. Simplemente hacer clic en el botón de nombre “Connect”.

Utilizando el Navegador Tor es factible tener la experiencia de navegación más privada a nivel mundial.

Fuente:

https://www.torproject.org/
https://www.kali.org/docs/tools/tor/
https://github.com/micahflee/torbrowser-launcher

Recopilar Información desde el Motor de Búsqueda Baidu utilizando theharvester

Body

theHarvester es una herramienta simple de utilizar, poderosa, y efectiva, diseñada para ser utilizada en las etapas previas de una prueba de penetración o evaluaciones de equipo rojo. Utiliza recopilación de inteligencia desde fuentes abiertas, para ayudar a determinar la superficie de amenaza externa de la compañía en Internet. La herramienta obtiene correos electrónicos, nombres, subdominios, direcciones IPs, y URLs, utilizando múltiples fuentes de datos públicos.

Se ejecuta theHarvester con la opción “-h”, lo cual muestra un mensaje de ayuda.

$ theHarvester - h

Ahora se ejecuta la herramienta para obtener información sobre un dominio desde el motor de búsqueda Baidu.

La opción “-d” define el nombre de la compañía o dominio a buscar.

La opción “-l” lista el número de los resultados producto de la búsqueda, por defecto es de 500.

La opción “-d” define la fuente donde se realizará la búsqueda. Para propósitos de la presente demostración se define “baidu”, es decir el motor de búsqueda Baidu.


$ theHarvester -d thomson reuters. com -l 100 -b baidu

En este ejemplo no ha sido factible obtener direcciones IP, pero sí se han obtenido direcciones de correo electrónico correspondientes al dominio buscado.

Así mismo ha sido factible encontrar nombres de hosts o nombres de dominios y subdominios, en base al dominio buscado, desde baidu.

Anotación: Se pueden especificar diferentes fuentes de datos, como bing, dogpile, google, linkeding, twitter, virustotal, etc. Consultar la documentación oficial de theHarvester para obtener un listado completo de las fuentes.

Estos mismos dominios pueden ser obtenidos directamente desde Baidu, utilizando la directiva “site:thomson reuters. com”.

Fuentes:

https://github.com/laramies/theHarvester
http://www.baidu.com/

Descargar Archivos desde Youtube utilizando youtube-dl

Body

youtube-dl es un programa en linea de comando para descargar videos desde Youtube, además de algunos sitios más. Requiere el interprete Python versión 2.6, 2.7, o 3.2+, no siendo específico de plataforma. Puede funcionar en una Unix (Distribuciones GNU/Linux), sobre Windows o en macOS. Se publica para dominio público, lo cual significa puede modificarse, redistribuirse, o utilizarlo como se requiera.

Se ejecuta youtube-dl con la opción “-h”, lo cual muestra una ayuda.

$ youtube-dl -h

A continuación se muestran algunas opciones de Simulación.

La opción “-e” obtiene el título.

$ youtube-dl -e URL_Video

La opción “--get-id” obtiene el ID

$ youtube-dl --get-id URL_Video

La opción “--get-thumbnail” obtiene la URL de una miniatura

$ youtube-dl --get-thumbnail URL_Video

Se apertura la URL de la miniatura en el navegador web.

La opción “--get-description” obtiene la descripción del video

$ youtube-dl --get-description URL_Video

La opción “--get-duration” obtiene la longitud del video

$ youtube-dl --get-duration URL_Video

La opción “--get-format” obtiene el formato

$ youtube-dl --get-format URL_Video

Para descargar el video únicamente se debe definir la URL.

$ youtube-dl URL_Video

Finalizada la descarga del archivo en formato MP4, luego se descarga en formato m4a. Los dos formatos se fusionan en el formato MP4. Luego de lo cual se borran los archivos originales. Para mantener los videos utilizar la opción "-k".

Luego de descargado el video este puede ser visualizado con cualquier reproductor de video, o analizado para cualquier otro requerimiento.

Fuentes:

https://youtube-dl.org/
https://github.com/ytdl-org/youtube-dl/

Filtro de Paquetes Berkeley (BPF)

Body

Herramientas como tcpdump, Windump, y Wireshark, utilizan expresiones BPF para especificar aquello lo cual debe o no debe ser recolectado. Si no se especifica ningún filtro BPF, entonces las herramientas recolectarán todo el tráfico por defecto.

BPF es una tecnología utilizada en ciertos sistemas operativos de computadoras, para programas los cuales necesitan entre otras cosas, analizar tráfico de red (eBPF es una máquina virtual extendida BPF JIT en el kernel de Linux). Proporciona una interfaz en bruto para las capas de enlace, permitiendo a los paquetes en bruto de la capa de enlace ser enviados y recibidos. BPF está disponible en la mayoría de sistemas operativos tipo UNIX, y eBPF para Linux y Microsoft Windows. Adicionalmente, si el controlador para la interfaz de red soporta el modo promiscuo, permite la interfaz sea puesta en un modo en el cual todos los paquetes sobre la red pueden ser recibidos, incluso aquellos destinados hacia otros hosts.

BPF soporta el filtrado de paquetes, permitiendo un proceso del espacio de usuario suministre un programa para filtrado, el cual especifique cuales paquetes requiere recibir. Por ejemplo, un proceso Tcpdump puede requerir recibir únicamente los paquetes iniciando una conexión TCP. BPF retornará únicamente paquetes los cuales pasen el filtro suministrado por el proceso. Esto evita la copia de paquetes no requeridos desde el kernel del sistema operativo hacia el proceso, mejorando en gran medida el desempeño.

BPF es algunas veces utilizado para referirse únicamente al mecanismo para filtrado, en lugar de una interfaz completa. Algunos sistemas como Linux y Tru64 UNIX, proporcionan una interfaz en bruto hacia la capa de enlace de datos distinta de la interfaz en bruto BPF, pero utiliza los mecanismos de filtrado BPF para esta interfaz en bruto.

Fuentes:

https://en.wikipedia.org/wiki/Berkeley_Packet_Filter
https://www.tcpdump.org/
https://www.winpcap.org/windump/
https://www.wireshark.org/
http://alumni.cs.ucr.edu/~marios/ethereal-tcpdump.pdf

Controlar el Resultado Generado con Tcpdump

Body

Tcpdump es un programa para analizar paquetes de datos en red, el cual se ejecuta bajo una interfaz en linea de comandos. Permite al usuario mostrar paquetes TCP/IP y otros tipos de paquetes siendo transmitidas o recibidas sobre la red, en la cual la computadora está conectada. Tcpdump funciona en la mayoría de sistemas operativos tipo UNIX. Adicionalmente existe una versión para Windows de nombre WinDump.

Las siguientes son algunas de las opciones más comúnmente utilizadas para controlar los resultados generados con Tcpdump.

-c Esta opción únicamente obtiene X número de paquetes.

$ sudo tcpdump -c 20

-w archivo Esta opción escribe los resultados hacia “archivo”. Esto también podría ser realizado por la redirección de Entrada/Salida en la línea de comando. Sin embargo, la opción “-w” permite utilizar varias opciones afectando la manera en la cual los datos son emitidos.

$ sudo tcpdump -w /tmp/captura

-C tamañoarchivo Esta opción es similar a “-c”, excepto es gobernada por el “tamañoarchivo” en millones de bytes, en lugar del número de paquetes. Este parámetro funciona con el parámetro “-w”. Si el número de paquetes hace el archivo sean mayor a “tamañoarchivo”, entonces un nuevo archivo es creado utilizando el nombre en la opción “-w”, con un número iniciando con 1, e incrementándose hacia arriba.

$ sudo tcpdump -C 1 -w /tmp/captura2

-G segundos_rotar Esta opción rota el archivo de volcado especificado con la opción “-w” cada “segundos_rotar” segundos. Los archivos guardados tendrán el nombre especificado con “-w”, el cual incluye el formato del tiempo definido por strtime. Sino se especifica el formato del tiempo, cada nuevo archivo sobrescribirá el anterior. Si es utilizado en conjunción con la opción “-C”, los nombres del archivo serán tomarán la forma de “archivo(cuenta)”

$ sudo tcpdump -G 30 -w /tmp/captura3

-W Esta opción, cuando es utilizado con la opción “-C”, limitará el número de archivos, e iniciará a sobrescribir archivos desde el principio, creando un buffer “rotativo”. Cuando se utiliza en conjunción con la opción “-G”, limitará el número de archivos volcados rotados a crearse, saliendo cuando se alcance el límite.

$ sudo tcpdump -W 3 -C 2 -w /tmp/captura4

Fuentes:

https://www.tcpdump.org/

Resolver Números en Nombres o No Resolverlos utilizando Tcpdump

Body

Tcpdump imprime una descripción del contenido de los paquetes sobre una interfaz de red, coincidiendo con una expresión booleana; la descripción por defecto es precedida por una marca de tiempo, impresa en horas, minutos, segundos y fracciones de segundo desde la media noche.

Las siguientes son algunas de las opciones más comúnmente utilizadas para definir o no la resolución o no de números en nombres.

-n Esta opción le indica a tcpdump suprimir la resolución de una dirección IP. Resolver nombres genera más tráfico y requiere más tiempo. Aunque este ajuste puede incrementar el desempeño de tcpdump. Si se falla en obtener el nombre del host al mismo tiempo el tráfico de red, puede ser significativo si el host está utilizando tácticas como dns “fast flux”.

$ sudo tcpdump -n

“fast flux” de DNS es una técnica consistente en asociar múltiples direcciones IP hacia un único nombre de dominio y cambiarlas rápidamente. En ocasiones se utilizan cientos o incluso miles de direcciones IP. Los atacantes utilizan lo utilizan para sus propiedades web sigan funcionando, para ocultar el verdadero origen de su actividad maliciosa, y para evitar los equipos de seguridad bloqueen su dirección IP. Esta técnica la suelen utilizar botnets.

-nn En algunas implementaciones este parámetro puede ser utilizado para indicar a tcpdump a no resolver direcciones IP en nombres de host, o números de puerto en nombres de puerto. Si una aplicación creando el tráfico utiliza puertos no estándares, entonces tcpdump lo etiquetará incorrectamente.

$ sudo tcpdump -nn

-f Imprime la dirección IP para todas las direcciones foráneas, foránea significa direcciones no locales. Han existido algunos problemas utilizando este parámetro en implementaciones Linux cuando la captura es realizada utilizando la interfaz “any”. Esta interfaz captura el tráfico desde múltiples interfaces en una sesión de captura.

$ sudo tcpdump -f

Fuentes:

https://www.tcpdump.org
https://www.tcpdump.org/manpages/tcpdump.1.html
https://en.wikipedia.org/wiki/Fast_flux
https://www.cloudflare.com/es-es/learning/dns/dns-fast-flux/

Seleccionar una Interfaz de Red para Capturar Tráfico utilizando Tcpdump

Body

Tcpdump imprime una descripción del contenido de los paquetes sobre una interfaz de red, coincidiendo con una expresión booleana; la descripción es precedida por una marca de tiempo, impresa por defecto en horas, minutos, segundos y fracciones de segundo desde la media noche.

Las siguientes son algunas de las opciones más comúnmente utilizadas para seleccionar una interfaz de red, y de esta manera realizar la captura del tráfico de red.

-i any Utilizar este parámetro para escuchar en todas las interfaces, así mismo para verificar si se está visualizando cualquier tráfico.

$ sudo tcpdump -i any

-D Utilizar este parámetro para listar las interfaces de red disponibles. Esto imprimirá un numero y el nombre de la interfaz, posiblemente seguido por una descripción textual de la interfaz para cada interfaz de red.

$ sudo tcpdump -D

-i [interfaz] Utilizar este parámetro para especificar la interfaz utilizando un nombre de interfaz resultante del comando anteriormente ejecutado “-D”, cuyo tráfico es requerido de capturar (sudo tcpdump -i enp0s17). Se puede también utilizar el número de la interfaz de red correspondiente a la interfaz desde la cual se requiere capturar tráfico (sudo tcpdump -i 1), donde 1 es el número de interfaz asignado a enp0s17.

$ sudo tcpdump -i enp0s17

Fuentes:

https://www.tcpdump.org
https://www.tcpdump.org/manpages/tcpdump.1.html

bing-ip2hosts

Body

bing-ip2hosts es un recopilador web de bing. com, el cual descubre nombres de hosts por dirección IP. Bing es el principal motor de búsqueda de Microsoft, el cual antes era conocido como MSN Search y Live Search.

Proporciona una característica única para los motores de búsqueda; permite buscar por dirección IP. Bing-ip2hosts utiliza esta funcionalidad.

Puede ser utilizado para descubrir subdominios y otros dominios relacionados. También ayuda a identificar sitios web hospedados en un entorno de hospedaje compartido. Esta técnica sigue las mejores prácticas durante la etapa de reconocimiento para una prueba de penetración o caza de fallas, para expandir la superficie de ataque del objetivo.

A diferencia de muchas otras herramientas para reconocimiento recopilando la web de Bing, esta herramienta tiene un comportamiento de recopilado inteligente para maximizar el descubrimiento de nombres de host.

Características

  • Comportamiento inteligente de recopilación para maximizar el descubrimiento de nombres de host
  • Interfaz de usuario en consola mostrando el progreso de recopilación
  • Descubrimiento de subdominios y nombres de host por dirección IP
  • Puede buscar por nombres de host o direcciones IP
  • Resultado con o sin prefijo de URL
  • Resultados hacia un archivo, en lista o formato CSV
  • No se requiere una llave API Bing
  • Selecciona el lenguaje de búsqueda y mercado
  • Especifica los objetivos desde la linea de comandos o desde un archivo
  • Guion de shell bash ligero sin dependencia pesadas

Bing proporciona una funcionalidad única para los motores de búsqueda; permite buscar por dirección IP. Para intentar esto utilizar Bing.com y buscar por la dirección IP:20.112.52.29 . Esto mostrará resultados relacionados con microsoft. com. Si los resultados son vacíos entonces se añade un único punto.

Se ejecuta la herramienta bing-ip2hosts sin opciones, esto muestra un resumen de sus opciones.

$ bing-ip2hosts

Al momento de redactar la presente publicación, al ejecutar la herramienta bing-ip2hosts incluida en Kali Linux, no devuelve ningún resultado. Al analizar el código fuente del archivo, procedí a modificar la línea correspondiente a la estructura de la petición de búsqueda realizada hacia bing.

Esto generó un resultado exitoso, pues al ejecutar la herramienta con una dirección IP, se mostraron correctamente los resultados.

$ bing-ip2hosts 20.112.52.29

Entre los resultados obtenidos se encuentran los dominios y subdominios relacionados con microsoft.

Es importante anotar, al momento realizar una búsqueda por una dirección IP directamente en bing. com, esto podría no devolver ningún resultado. En este caso se debe añadir un punto al final. Así mismo bing-ip2hosts siempre añade un punto (%2e) en la consulta para evitar este inconveniente.

Fuentes:

https://github.com/urbanadventurer/bing-ip2hosts
https://www.bing.com

URLextractor

Body

URLextractor es una herramienta para realizar recopilación o captura de información, además de realizar un reconocimiento hacia un sitio web. Entre las funcionalidades de la herramienta se enumeran:

  • Información sobre hosting y direcciones IP, como ciudad y país (utilizando FreegeoIP)
  • Servidores DNS (utilizando dig)
  • ASN, rangos de red, nombre del ISP (utilizando RISwhois)
  • Pruebas para balanceo de carga
  • Whois para abuso de correo (utilizando Spamcop)
  • Archivo PAC (Proxy Auto Configuration)
  • Comparar hashes para diferenciar código
  • Robots.txt (recursivamente busca por cosas ocultas)
  • Código fuente (buscar por contraseñas y usuarios)
  • Enlaces externos (tramas desde otros sitios web)
  • FUZZ de directorios (como Dirbuster y Wfuzz – utilizando Dirbuster) listado de directorios
  • API URLvoid – verifica el rango de la página en Google, rango de Alexa y posible listas negras
  • Proporciona enlaces útiles en otros sitios web para correlacionar con IP/ASN
  • Opción para abrir TODOS los resultados en el navegador al final

Para visualizar todas las opciones se sugiere revisar el manual o utilizar la opción “--help all”

$ urlextractor --help all

La manera más simple de ejecutar urlextractor es definiendo la URL del sitio web a escanear.

$ urlextractor www.sitio web. com

La primera parte de los resultados exponen información sobre la dirección IP hacia la cual resuelve del dominio, servidores de nombres, servidor objetivo, país, código de región, nombre de la región, ciudad, ASN, prefijo BGP, ISP, información del certificado SSL/HTTPS. Luego se realiza una enumeración a nivel del DNS.

En los resultados también se exponen posibles direcciones de correo electrónico para abuso, así mismo se realiza fuzzing, y el descubrimiento de algunas carpetas web.

Se presenta también un listado de enlaces objetivos desde el sitio web y dirección IP obtenida de los procesos anteriormente realizados. Se intenta obtener información desde VirusTotal y Alexa.

Se expone también un listado de enlaces útiles para el sitio web y dirección IP del host en evaluación. Estos enlaces pueden ser visualizados directamente utilizando un navegador web

Fuentes:

https://github.com/eschultze/URLextractor
https://ipstack.com/
https://linux.die.net/man/1/dig
https://www.ripe.net/analyse/archived-projects/ris-tools-web-interfaces…
https://www.spamcop.net/
https://www.urlvoid.com/