EmailHarvester

Body

EmailHarvester es una herramienta para obtener direcciones de correo electrónico utilizando motores de búsqueda. Este proyecto se inspiró de otros proyectos como theHarvester y search_email_collector. Entre sus principales características se tienen:

  • Obtener direcciones de correo electrónico de un domino utilizando motores de búsqueda, redes sociales y otras fuentes; como yahoo,reddit, google,github, ask, exalead, bing, twitter, youtube, linkedin,baidu, googleplus,instagram, y digpile.
  • Exporta los resultados hacia archivos txt y xml
  • Limita los resultados de búsqueda
  • Permite definir un agente de usuario propio
  • Permite utilizar un servidor proxy
  • Sistema de plugins

Se procede a ejecutar la herramienta utilizando la opción “-h”, lo cual muestra un resumen de sus principales opciones.

$ emailharvester -h

Para obtener un listado de todos los plugins disponibles se utiliza la opción “--list-plugins”

$ emailharvester --list-plugins

La opción “-d” define el dominio sobre el cual se realizará la búsqueda.

La opción “-l” limita el número de resultados

La opción “-e” define el plugin correspondiente al motor de búsqueda a utilizar

Para los dos primeros procesos se define una búsqueda utilizando Google y Bing

$ emailharvester -d congreso.gob.pe -l 100 -e googles
$ emailharvester -d congreso.gob.pe -l 100 -e bing

Se obtienen potencialmente seis direcciones de correo electrónico, los cuales requieren una comprobación manual, para corroborar su validez.

Para el siguiente proceso se define el plugin de LinkedIn.

$ emailharvester -d congreso.gob.pe -l 100 -e linkedin

Como se puede visualizar; la búsqueda en LinkedIn se realiza en combinación con motores de búsqueda como Yahoo, Bing, Google, Baidu, y Exalead. Encontrando tres direcciones de correo electrónico.

Fuentes:

https://github.com/maldevel/EmailHarvester
https://github.com/laramies/theHarvester
https://github.com/rapid7/metasploit-framework/blob/master/modules/auxi…

arpaname

Body

arpaname traduce las direcciones IP; ya sea IPv4 e IPv6; hacia sus correspondientes nombres IN-ADDR.ARPA (mapear direciones IPv4 hacia sus nombres de dominio en Internet) o IP6.ARPA (mapear direcciones IPv6 hacia sus nombres de dominio en Internet).

El dominio .arpa es el dominio de"Área de Parámetros para Dirección y Encaminamiento", y está designado para ser utilizado exclusivamente con fines de infraestructura de Internet. IANA administra el dominio en cooperación con la comunidad técnica de Internet, a través de la guía de la Junta para Arquitectura en Internet. Para conocer las pautas de administración y los requisitos operativos del dominio .arpa, consultar RFC 3172.

Se procede a ejecutar arpaname definiendo una dirección “ipv4.txt”.

$ arpaname 238. x. 162. y

Se tiene un archivo de nombre “ipv4” conteniendo varias direcciones IPv4. Se utiliza un bucle en la shell de linux para ejecutar arpaname con cada una de las direcciones IPv4, incluidas en el archivo.

$ for ip in $(cat /tmp/ipv4.txt); do arpaname $ip; done

El mismo procedimiento puede ser utilizado para direcciones IPv6.

Fuentes:

https://linux.die.net/man/1/arpaname
https://www.rfc-editor.org/rfc/rfc3172.html

arp-fingerprint

Body

arp-fingerprint obtiene huellas (fingerprint) del host destino especificado utilizando el protocolo ARP.

Envía varios tipos diferentes de peticiones ARP, para luego registrar a cuales tipos responde el host. Desde esto construye una cadena de huellas constituidos de "1" donde el host respondió, y de "0" donde no lo hizo. Un ejemplo de cadena de huellas es 01000100000. Esta cadena de huellas se utiliza luego para buscar el sistema operativo probable.

Muchas de las cadenas sobre huellas son compartidas por varios sistemas operativos, por lo cual no siempre existe un mapeo uno a uno entre las cadenas de huellas y los sistemas operativos. Además el hecho de la huella de un sistema coincida con un determinado sistema operativo (o una lista de sistemas operativos), no significa necesariamente el sistema desde el cual se está obteniendo la huella sea ese sistema operativo, aunque es bastante probable. Esto se debe a la lista de sistemas operativos no es exhaustiva; siendo es probable existan sistemas operativos que no incluidos en lista.

La huella ARP de un sistema es generalmente una función de su kernel(aunque es posible la función ARP se implemente en el espacio del usuario, aunque casi nunca lo es).

Algunas veces un sistema operativo puede dar diferentes huellas dependiendo de la configuración. Un ejemplo es Linux, el cual responderá a una dirección IP de origen no local, si esa IP se encamina a través de la interfaz la cual se está probando. Esto es bueno y malo; por un lado hace la tarea de obtener huellas sea más compleja; pero de otro lado puede permitir determinar algunos aspectos sobre la configuración del sistema.

Algunas veces el hecho de dos sistemas operativos diferentes compartan una cadena de huellas ARP comunes, apunta hacia una reutilización del código de red. Un ejemplo de esto es Windows NT y FreeBSD.

arp-fingerprint utiliza arp-scan para enviar las peticiones ARP y recibir las respuestas.

Se ejecuta arp-fingerprint sin ningún parámetro, lo cual muestra un resumen de sus opciones.

$ arp-fingetprint

La opción -l intentará obtener una huella de todos los hosts sobre la red local.

$ sudo arp-fingerprint -l

Finalizado el escaneo, se presenta la información obtenida en tres columnas, la primera corresponde a la dirección IP, la segunda corresponde a la huella, y la tercera corresponde a una categorización de potenciales sistemas operativos obtenidos, con sus correspondientes variantes o versiones.

Fuentes:

https://linux.die.net/man/1/arp-fingerprint
https://linux.die.net/man/1/arp-scan
https://www.reydes.com/d/?q=arp-scan

Obtener Información Técnica desde Archivos de Audio y Video utilizando Mediainfo

Body

MediaInfo es una utilidad en linea de comando, para mostrar información sobre archivos de audio y video.

MediaInfo proporciona información técnica y de etiquetas desde un archivo de audio o video.

¿Cual información se puede obtener desde MediaInfo?

  • General: título, autor, director, álbum, número de pista, fecha, duración ...
  • Video: códec, aspecto, fps, tasa de bits ...
  • Audio: códec, tasa de muestreo, canales, lenguaje, tasa de bits ...
  • Texto: Lenguaje del subtítulo
  • Capítulos: número de capítulos, lista de capítulos

¿Cuales formato admite MediaInfo?

  • Vídeo: MKV, OGM, AVI, DivX, WMV, QuickTime, Real, MPEG-1, MPEG-2, MPEG-4, DVD (VOB) ...
  • Códecs de Video: DivX, XviD, MSMPEG4, ASP, H.264, AVC ...
  • Audio: OGG, MP3, WAV, RA, AC3, DTS, AAC, M4A, AU, AIFF ...
  • Subtítulos: SRT, SSA, ASS, SAMI ...

¿Qué es factible de realizar con MediInfo?

  • Leer muchos formatos de archivos de video y audio
  • Diferentes métodos para visualización de información (texto, hoja de árbol, HTML ...)
  • Personalizar formatos para visualización
  • Exportar información como texto, CSV, HTML ...
  • Integración con la shell de Windows (arrastrar y soltar; Menú contextual)
  • Internacionalización: cualquier idioma de visualización en cualquier versión de su sistema operativo

Se procede a ejecuta la herramienta MediaInfo con la opción “-h”, para visualizar un resumen de sus opciones.


$ mediainfo -h

Se ejecuta la herramienta definiendo un archivo en formato MP3 (Un tema musical).


$ mediainfo Downloads/New Rules.mp3

Se muestra información muy detallada sobre el archivo de audio en formato MP3.

Ahora se ejecuta la herramienta definiendo un archivo en formato MP4 (Un video musical).


$ mediainfo Downloads/Bey once.mp4

Se obtiene también información muy detallada del archivo de video en formato MP4, tanto en lo referente al audio cuanto al video.

Es factible ejecutar MediaInfo sobre un archivo de subtítulos en formato SRT.


$ mediainfo Downloads/TOS.srt

También es factible utilizar la opción “-f” para mostrar la información completa (todas las etiquetas internas)

Finalmente MediaInfo incluye una Interfaz Gráfica para el Usuario (GUI).


$ mediainfo-gui

La información presentada a través de la Interfaz Gráfica para el Usuario de MediaInfo, es la misma la cual es factible de ser obtenida en linea de comando.

Fuentes:

https://mediaarea.net/es/MediaInfo
https://github.com/MediaArea/MediaInfo

Capturar Direcciones de Correo Electrónico utilizando Photon

Body

Photon es un rastreador (crawler) increíblemente rápido diseñado para OSINT o Inteligencia desde Fuentes Abiertas.

Entre sus características clave se enumeran:

Extracción de Datos

Photon puede extraer los siguientes datos mientras rastrea:

  • URL (dentro del alcance y fuera del alcance)
  • URL con parámetros (example.com/gallery.php?id=2)
  • Intel (correos electrónicos, cuentas de redes sociales, buckets de Amazon, etc.)
  • Archivos (pdf, png, xml, etc.)
  • Claves secretas (claves de autenticación/API y hashes)
  • Archivos JavaScript y Endpoints presentes en estos
  • Cadenas coincidentes con patrón de expresión regular personalizado
  • Subdominios y datos relacionados con DNS

La información extraída se guarda de forma organizada o se puede exportar como json.

Flexible

Controlar el tiempo de espera, el retraso, agregar semillas, excluir URL coincidientes con un patrón de expresiones regulares, y otras cosas interesantes. La amplia gama de opciones proporcionadas por Photon permite rastrear la web exactamente de la forma requerida.

Genio

La gestión inteligente de subprocesos y la lógica refinada de Photon propociona un rendimiento de primer nivel.

Aún así, el rastreo puede requerir muchos recursos, pero Photon tiene algunos trucos bajo la manga. Puede obtener las URL archivadas por archive.org, para utilizarlas como semillas usando la opción “--wayback”.

Complementos

  • wayback
  • dnsdumpster
  • exporter

Se ejecuta Photon con la opción “-h” para visualizar un resumen de sus opciones.


$ photon -h

La herramienta permite obtener direcciones de correo electrónico y llaves desde un sitio web. Para lograr esto se utiliza la opción “--keys”


$ photon -u https:// www. congreso. gob. pe --keys

Los resultados son guardados en un directorio con el mismo nombre del dominio en evaluación.

Para visualizar las direcciones de correo electrónico capturadas se visualiza el archivo de nombre “intel.txt”.


$ cat www. congreso. gob. pe/intel.txt

En caso algunas direcciones de correo electrónico no estén relacionadas con el dominio en evaluación, es debido a se han rastreado sitios no relacionados. Para esto se puede revisar o configurar la profundidad de las URLs a rastrear.

Nota: Al momento de realizar la presente publicación, la opción "--dns" no funciona correctamente, esto debido a un inconveniente con el sitio "spyse. com".

Fuentes:

https://github.com/s0md3v/Photon
https://github.com/s0md3v/Photon/issues/186

mmdbresolve

Body

mmdbresolve lee direcciones IPv4 y direcciones IPv6 sobre la entrada estándar (stdin), para luego imprimir información sobre su geolocalización IP hacia la salida estándar (stdout). Cada línea de entrada debe contener exactamente una dirección. La salida está en formato INI, con un delimitador de sección con el nombre de la dirección en consulta ,seguido de un conjunto de pares "clave: valor". A cada sección se le añade un comentario que comienza por "# End".

Al inicio se imprime una sección "[init]" el cual muestra el estado de cada base de datos y de mmdbresolve.

Previamente se deben descargar y configurar las bases de datos GeoIP2 y GeoLite2. Para esto se debe proceder con el registro utilizando una dirección de correo electrónico.

Se procede a ejecutar la herramienta mmdbresolve para obtener información sobre dos direcciones IPv4.



$ echo 66.22.13.14 | mmdbresolve -f /opt/GeoLite2/GeoLite2-City_20230328/GeoLite2-City.mmdb

La opción -f define la base de datos a utilizar para realizar la consulta. En este caso se utiliza la de ciudades.

Entre la información obtenida se enumera; código iso del país, nombre del país, latitud, longitud, y radio de precisión para la localización.



$ echo 66.22.13.14 | mmdbresolve -f /opt/GeoLite2/GeoLite2-Country_20230328/GeoLite2-Country.mmdb

En este caso se utiliza la base de datos de países.

Entre la información obtenida se enumera; código iso del país y nombre del país.

Adicionalmente se puede obtener información sobre ASN.

Fuentes:

https://www.wireshark.org/docs/man-pages/mmdbresolve.html
https://www.wireshark.org
https://dev.maxmind.com

captype

Body

Captype es un programa el cual abre uno o más archivo de captura, e imprime el tipo de archivo de captura para cada archivo de entrada.

Captype es capaz de detectar y leer los mismos archivos de captura soportados por Wireshark. Los archivos de entrada no necesitan una extensión específica para el nombre de archivo; el formato del archivo y una compresión opcional gzip, zstd, o lz4 será automáticamente detectada. .

Se procede a ejecutar captype con la opción “--help”, lo cual muestra sus dos opciones.



$ captype --help

En un directorio de nombre “/trafico/” se almacenan diversos archivos conteniendo capturas de tráfico en diferentes formatos.

Se ejecuta la herramienta definiendo la ruta donde se encuentran los archivos.



$ captype trafico/captura*

Captype ha identificado correctamente todos los tipos de archivos, como pcapng, pcap, erf, nettl, 5views, k12text, netmon2, modpcap, y ngwsniffer_1_1.

Fuentes:

https://www.wireshark.org/docs/man-pages/captype.html
https://www.wireshark.org/docs/man-pages/wireshark.html

html2dic

Body

html2dic extrae todas las palabras desde una página HTML, generando un diccionario de todas las páginas encontradas, una por línea. El resultados en impreso a través de las salida estándar.

El diccionario generado luego puede ser utilizado para un ataque por diccionario. Este ataque implica intentar todas las posibles cadenas de un listado previamente establecida. Estos ataques originalmente utilizaban las palabras encontradas en un diccionario, sin embargo ahora existen listas mucho más grandes disponibles en Internet, conteniendo cientos de millones de contraseñas recuperadas de filtraciones expuestas.

Se procede a descargar un archivo html.



$ wget con greso. gob. pe

Se utiliza la herramienta html2dic para volcar un diccionario de palabras desde un archivo html de entrada. El resultado se redirecciona hacia el archivo de nombre “wordlist.txt”

$ html2dic index.html > wordlist.txt

Al archivo resultante se le aplican algunos filtros, como ordenar la lista de palabras utilizando comando “sort”, eliminar las lineas duplicadas utilizando el comando “uniq”. Luego se utiliza la herramienta pw-inspector para únicamente mostrar las palabras con una longitud mínima de 6 caracteres y una longitud máxima de 16 caracteres.



$ cat wordlist.txt | sort | uniq | pw-inspector -m 6 -M 16 | column

El contenido del archivo es mostrado en columnas, dado el hecho se está utilizando el comando “column”.

Fuentes:

https://dirb.sourceforge.net/
https://salsa.debian.org/pkg-security-team/dirb
https://github.com/vanhauser-thc/thc-hydra/blob/master/pw-inspector.c

dirb-gendict

Body

La herramientas dirb-gendict, permite generar un diccionario de manera incremental. Este diccionario posteriormente puede ser utilizado para realizar un ataque por diccionario. El cual puede definirse como un tipo de ataque por fuerza bruta, donde se intenta romper un sistema de seguridad protegida por contraseña, con una “lista diccionario” de palabras comunes y frases utilizadas por las empresas e individuos.

Se procede a ejecutar dirb-gendict con la opción “-h”, lo cual muestra un resumen de sus breves opciones.



$ dirb-gendict -h

El tipo puede ser numérico, carácter, carácter en mayúscula, hexadecimal, alfanumérico, y alfanumérico sensible a mayúsculas y minúsculas.

A continuación se ejecuta la herramienta para generar un diccionario constituido por la palabra "Password" seguida de dos dígitos.



$ dirb-gendict -n PasswordXX | column

El patrón debe ser una cadena ASCII en la cual cada carácter “X” comodín será reemplazado con el valor incremental.

Fuentes:

https://www.kali.org/tools/dirb/#dirb-gendict
https://dirb.sourceforge.net/
https://www.rapid7.com/fundamentals/brute-force-and-dictionary-attacks/

fab-cewl

Body

FAB (Files Already Bagged) o por su traducción al idioma español; Archivos ya Embolsados, proporcionado como un comando fab-cewl en Debian, extrae el contenido de los campos autor / creador, desde los metadatos de algunos archivos, para crear listas de posibles nombres de usuarios. Estos nombres de usuario pueden ser utilizados en asociación con la lista generada de contraseñas por cewl. FAB utiliza algunas de las técnicas para la extracción de metadatos incluidos en CeWL.

Actualmente , FAB procesa formatos Office previos a 2007, Office 2007 y formatos PDF.

Se procede a ejecutar fab-cewl con la opción “--help”, lo cual muestra un resumen de sus breves opciones.



$ fab-cewl --help

Previamente se han descargado varios archivos en formato DOC, en un directorio de nombre “/tmp/archivos/”

Se ejecuta la herramienta definiendo la ubicación del directorio conteniendo los archivos analizar. Luego de lo cual inicia el procesamiento de cada archivo, tal como lo muestra en un mensaje donde versa sobre estar generando un cache para los nombres de etiquetas ExifTool.



$ fab-cewl /tmp/archivos/*

Finalizado el proceso muestra un completo listado de todos los nombres de usuarios extraídos desde los metadatos contenidos en los archivos procesados. Adicionalmente muestra desde cual archivo extrajo los metadatos.

Tener en consideración el resultado puede se redireccionado hacia un archivo, así mismo anotar no filtra por nombres de usuarios duplicados.

Fuentes:

https://github.com/digininja/CeWL