Sei sulla pagina 1di 16

UNIVERSIDAD NACIONAL DE LA MATANZA

Departamento de Ingeniería e Investigaciones Tecnológicas

Ingeniería en Informática

Ingeniería en Informática

Practica TP 2- KALI2019.1
Recolección pasiva y Activa

Jefe de Cátedra: Mg. Jorge Eterovic

Profesor JTP: Anibal Pose

Profesor Ayudante: Martín Zeballos

Profesor Ayudante: Martin Deuteris


Contents
Recolección de Información de Manera Pasiva ........................... 3
Identificando subdominios: .......................................... 4
Identificando archivos: ............................................. 4
Metadata análisis: .................................................. 6
Instalacion de metagoofil: .......................................... 6
Email Harvesting .................................................... 8
Recolección de Información de Manera Activa .......................... 11
Enumeración de DNS. ................................................ 11
Enumeración DNS Utilizando Dnsrecon ................................ 13
Recolección de Información de Manera Pasiva
Fecha de entrega 26/09/19 a los correos

anibalpose@yahoo.com.ar --- zeballos@gmail.com --- mdeute@unlam.edu.ar

El título del mail debe llevar nombre y apellido, el archivo PFD a enviar debe
llamarse pratica2-nombre-y-apellido.pdf
Comencemos con la primera fase de pentesting, information gathering,
es considerada una de las etapas más importantes, ya que aquí es donde
dimensionamos el target a analizar.

Durante éste proceso se identifican los recursos disponibles para el


acceso externo, se busca información sensible expuesta, correos,
puertos abiertos, servicios, etc.

Dividiremos este módulo en dos, aquí veremos la recolección de


información de manera pasiva y en el próximo módulo la activa. Esta
separación se debe a que en la recolección pasiva buscamos información
expuesta a la cual podemos acceder mediante un simple buscador, en
cambio, en la recolección activa necesitamos dialogar con los
servicios y puertos expuestos para realizar la identificación.

Por cada ejemplo que se da en este práctico el alumno debe usar evidenciar todas las
salidas en un documento para entregarlo.

Passive information gathering:

 Openweb
 Email Harvesting
 Otros recursos
 Recon-ng
Uno de los primeros pasos recomendables una vez que ya conocemos el
nombre de la empresa que debemos analizar, es ingresar a su sitio web
para identificar información posiblemente provechosa como mails de
contacto, teléfonos, estructura de la compañía si es que está
expuesta, hasta el código fuente puede sernos útil.

Una vez que hemos analizado el sitio web de la entidad como primer
instancia, podemos recolectar más data utilizando buscadores como
herramienta. Veamos entonces la forma de aprovechar las cualidades de
por ejemplo google.
Identificando subdominios:

Para descubrir los subdominios de un target podemos realizar el


siguiente dork
Esto nos permite ver desde un dominio raíz todos los subdominios de un
sitio.
Ejecutamos en google lo siguiente:

1 site:NombreDeDominio -site:DominioRaiz

Nos dara un listado de los subdominios.

Evidenciar

Identificando archivos:

Para descubrir archivos expuestos a indexación, podemos utilizar el


siguiente dork
Con esta comando vemos los archivos dentro del dominio definido por
nosotros.
1 site:NombreDeDominio -filetype:Extención

Realicemos una búsqueda específicas, apuntando a no solo a los


subdominios, sino también a extensiones y nombres de archivos
especificos.

Evidenciar
Metadata análisis:

En kali tenemos una herramienta llamada metagoolfil que nos puede ser
de gran utilidad para encontrar usuarios de dominios, nombres de
equipos y personas, sistema operativo, software con el cual realizaron
el archivo, entre otros.
En la versión 2017 de Kali esta herramienta no viene instalada Por lo
que van a tener que hacerlo.

Instalacion de metagoofil:
Ejecutar la siguiente linea

root@kali:~# apt-get install metagoofil

Desde la línea de comando ejecutar matagoofil


Desde el inicio tiene un ejemplo con apple.com pero utilizar el que de
IBM en la línea debajo.

metagoofil options:

-d: domain to search

-t: filetype to download (pdf,doc,xls,ppt,odp,ods,docx,xlsx,pptx)

-l: limit of results to search (default 200)

-h: work with documents in directory (use "yes" for local analysis)

-n: limit of files to download

-o: working directory (location to save downloaded files)

-f: output file

metagoofil -d ibm.com -t doc,pdf -l 25 -n 25 -o /root/Home -f test.html


Vamos a a generar una salida con mucha informacion.

Si no funciona este ejemplo deben aplicar el workaround del linlk


debajo.

http://www.elmalodebatman.com/2017/04/metagoofil-no-funciona-en-kali-
linux.html

En el archivo de búsqueda por defecto cambiar www.google.com por


www.google.com.ar

Evidenciar.

Email Harvesting

Es una técnica utilizada para el descubrimiento de email expuestos,


comprender cómo se conforman los correos del target

Ejemplos:

nombre.apellido = martin.zeballos@nombrededominio.com
primer letra del nombre más el apellido =
mzeballos@nombrededominio.com

Una de las herramientas que posee kali para ésta técnica es


theharvester.
Los parámetros para utilizar theharvester son los siguientes
1- Obtengamos los los correos de cisco

1 harvester -d cisco.com -l 10 -b google > nombre-output.txt


2- Para visualizar el resultado realizamos un cat sobre el archivo.
Extra de ésta herramienta, nos resuelve todo lo que esté asociado al
nombre de dominio que hemos seteado.
Recolección de Información de Manera Activa

Una vez realizada la fase de information gathering pasiva, podemos


pasar a la fase activa para identificar servicios más específicos. En
el siguiente módulo veremos técnicas de recolección de información
disponibles en en kali linux y algunos scripts personalizados para tal
fin.

Enumeración de DNS.
La enumeración de DNS nos puede proveer de mucha información valiosa,
alguna pública, otra no tanto, servidores con su SO, direcciones IP,
funcionalidades de los servidores, etc.

Identifiquemos entonces los name servers (ns) y los servidores de mail


(mx) del target que venimos trabajando.

1- Identificamos los ns.


host -t -ns NombreDeDominio

Analicemos los comandos y parámetros ejecutados.

host: ya lo vimos en la primer entrada


-t: tipo de identificación que debe hacer host
ns: parámetro que lee -t, en éste caso es para que host identifique
los name servers.

2- Identificamos los mx:


host -t mx NombreDeDominio

Analicemos el nuevo parámetro.

mx: parámetro que lee -t, en éste caso es para que host identifique los mail servers.
3- Si queremos identificar los dos al mismo tiempo juntamos las
ejecuciones con &&
host -t ns NombreDeDominio && host -t mx NombreDeDominio

4- Para identificar si existe un web server anteponemos www al nombre


de dominio.
host www.NombreDeDominio

5- Si deseamos identificar la presencia de un a ftp server.


host ftp.NombreDeDominio

En el caso de que queramos buscar si hay un web server, ftp, owa,


proxy, router tenemos la opción de utilizar && entre cada servicio a
identificar o realizar un script que nos automatice la tarea.

Generemos un txt con los nombres de los servicios, para ésto podemos
usar nano, vi o lo que deseen.
En éste ejemplo incluimos en el txt la siguiente lista: www, ftp,
mail, owa, proxy, router

for ip in $(cat list.txt); do host $ip.megacorpone.com; done


Ya que tenemos esta información, intentemos realizar una transferencia
de zona, este proceso incluye la copia del archivo de zona desde un
servidor DNS principal a un esclavo, esto se produce por una mala
configuración de los servidores, exponiendo nombres direcciones y
funciones de los servidores internos. Si podemos llevar a cabo una
transferencia de zona, lograremos entender el diseño de la red. Veamos
la forma de llevarlo a cabo.

1- Transferimos el dominio a un name server.


host -l NombreDeDominio ns.NombreDeDominio

Intentemos la transferencia de zona con el ns1.

Falló, les quedará como tarea corroborar si con alguno de los otros ns
logran realizarla.
Comenten que otros ns identificaron y con cuál de ellos fue exitosa la
transferencia.

En kali, tenemos herramientas para automatizar este proceso que hemos


visto de forma manual.

Enumeración DNS Utilizando Dnsrecon

DNSRecon es una herramienta de escaneo y enumeración DNS escrita en


Python, la cual permite realizar diferentes tareas, como enumeración de
registros estándar para un dominio definido (A, NS, SOA y MX).
Expansión de dominio de nivel superior para un dominio definido.
Transferencia de zona contra todos los registros NS para un dominio
definido. Consulta reversa contra un rango de direcciones IP,
proporcionando una dirección IP inicial y final.

La manera mas simple de utilizar dnsrecon es definiendo el dominio del


objetivo de evaluación utilizando la opción “-d”. Si no se especifica
la opción “-n” o servidor de nombres a utilizar, se utilizará el SOA
del objetivo.
# dnsrecon –d megacorpone.com

Obtenidos los servidores de nombres, se procede a realizar una


enumeración por fuerza bruta. La opción “-n” define el servidor de
dominio a utilizar. La opción “-D” define el archivo Diccionario de
sudominios o nombres de host a utilizar para la fuerza bruta. La opción
“-t brt” especifica el tipo de enumeración a realizar, “brt” es para
realizar fuerza bruta de dominios y host utilizando un diccionario
definido.

namelist.txt
# dnsrecon -d xxxxx .com -n dns1. xxxxx. com -D namelist.txt -t brt
Es factible utilizar el motor de búsqueda Google para realizar una
búsqueda de subdominios y hosts. Para esto se utiliza la opción “-t
goo”

# dnsrecon -d xxxxx .com -n dns1. xxxxx .com -t goo


Para la siguiente demostración se utiliza el dominio, zonetransfer.me
cuyos servidores de nombres permiten realizar transferencias de zona
satisfactorias.

# dnsrecon -d zonetransfer.me -t axfr

Potrebbero piacerti anche