Sunteți pe pagina 1din 13

Pentesting con Kali I -

Conociendo Kali Linux


Contribuciones      14
COMMENTS     BASH   CONTRIBUCIONES   HACKING   KALI   LINUX  
PENTESTING

Esta es la primera de las 18 cápsulas en


las que trataremos sobre Penetration With
Kali Linux, la estructura será similar a
la de la certificación OSCP de OffSec.

A lo largo de las entradas veremos


básicamente las cinco fases de un
penetration testing, adicionando el
manejo de algunas tools esenciales como
metasploit, nmap, wireshark, ncat, etc.
Veremos también algo de web explotation y
crearemos nuestro propio laboratorio para
realizar las prácticas. (Para abordar
sobre la terminologia y demas pasos de un
Pentesting seguir el siguiente post -
Pentesting con Kali Taller #1)

Aclaración: Por una cuestión de gusto,


comodidad y performance, la distro a
utilizar será la Kali 1.1.0a  lanzada el
13 de Mayo de 2015, sin embargo, quien
guste utilizar la 2.0 puede hacerlo
tranquilamente ya que las tools que
veremos están en ambas y el resto es
técnica. Con ésto, quiero decir que no es
fundamental la distro a utilizar, pueden
seguir las entradas con Parrot, BackBox,
Cyborg o la que quieran, todas están
basadas en linux, tal vez cambie un poco
la estructura de directorios pero en
esencia es lo mismo.

No vamos a detallar el proceso de


descarga e instalación, solo mencionar
que la ISO la pueden descargar desde acá y
la documentación de Instalación. (Si
desean ver algun video sigan el siguiente
post - Pentesting con Kali #2 Instalación y
conociendo el entorno )

Para las cápsulas utilizaremos una


máquina virtual sobre VMWare, pueden
hacerlo también con Virtual Box. No hace
falta que instalen la iso, pueden
correrla en LiveCD, pero hay que tener en
cuenta que si guardas o instalas cosas y
luego apagas la máquina virtual vas a
perder los cambios realizados, en mi caso
la dejo en pausa.
Por las dudas, las credenciales por
defecto son root-toor.
Una vez levantado el Kali, el primer paso
que nos conviene dar, es abrir una
consola y lanzar los siguientes comandos:

apt-get dist-upgrade       - Instala actualizaciones y


dependencias.

updatedb                                           - Actualiza una base de datos


y archivos del sistema.

apt-get update                         - Actualizar los repositorios y


listado de paquetes.

apt-get upgrade                   - Actualización del sistema


operativo y aplicaciones.

Bien, si hasta aquí sigue todo


funcionando y no nos arrojó ningún kernel
panic vamos bien.

Esquema:
1- Conociendo Kali Linux
1.1 Familiarizándonos con la distro.
1.2 Manejo de servicios.
1.3 Entorno Bash & shell scripting.
1.1 Familiarizándonos con la distro.

Comenzaremos viendo la estructura de Kali. Como todo


Linux, tiene un root y debajo los 15 directorios:
Los recursos más importantes de Kali es
el siguiente:
Veamos la forma de localizar archivos: 

Find: Si queremos buscar un archivo por


nombre, entonces usaremos find de la
siguiente manera: find -name
NombreDeArchivo 

Locate: este comando es más rápido que


find y puede buscar en todo el sistema de
archivos con facilidad. Este comando no
va a funcionar si no realizamos el
updatedb anterior:
locate NombredeArchivo 

Which: nos sirve para averiguar dónde se


encuentra instalado un determinado
programa:
which NombreDeArchivo 
Todos poseen parámetros para filtrar las
búsquedas, como son nociones muy básicas
de linux nosotros sólo las mencionaremos.
Si no conocías estos comandos, estás
invitado a profundizar.

1.2 Manejo de servicios.


Kali Linux trae la mayoría de los
servicios como MySql, ssh, etc apagados
por defecto. Por lo tanto, si queremos
utilizar servicios como por ejemplo
apache, debemos levantarlo primero. 

 Para inicializar un servicio debemos


utilizar la siguiente sintaxis:
#service nombre-del-servicio start

Si queremos hacer que el servicio se


inicialice al bootear nuestro Kali:
#update-rc.d nombre-del-servicio enable

Para finalizar o para un servicio:


#service nombre-del-servicio stop

Comencemos manejando ssh para poder


conectarnos a nuestro Kali con una
comunicación cifrada bajo protocolo
seguro.
Inicializamos ssh de la siguiente manera:

#service ssh start


Para corroborar que el servicio ha sido
inicializado podemos ejecutar el
siguiente comando:

#netstat -antp|grep sshd

De ésta manera validamos que SSH está


funcionando y corriendo en el puerto TCP
22 mediante el uso del comando netstat y
canalizando el resultado en el comando
grep para filtrar la salida para sshd. En
el caso de que nos sea útil tener el
servicio ssh inicializado al bootear
nuestro Kali, deberíamos llamar al
archivo update-rc.d que está ubicado en /
usr/sbin/ para decirle que ssh debe estar
habilitado.

#update-rc.d ssh enable

1.3 Entorno Bash & Shell Scripting

Bash proporciona un potente entorno para


trabajar, y un motor de secuencias de
comandos para hacer uso de la
automatización de los procedimientos
mediante un script bash. Supongamos que
queremos identificar los subdominios y
sus correspondientes direcciones ip
pertenecientes a un sitio, si lo hacemos
de manera manual sería largo y tedioso,
con una herramienta automatizada
podríamos hacerlo más rápido, pero tal
vez no es exactamente lo que buscamos, en
cambio si lo hacemos con un script
podemos manejar de manera granular lo que
estamos buscando

$wget www.cisco.com

Aquí hemos descargado el index de


cisco.com, para poder verlo podemos hacer
un cat o para abrirlo en un editor
podemos usar nano o vi

cat index.html o nano index.html


(Es recomendable investigar un poco más sobre
estos comandos si se desconocen).
Para buscar los hipervínculos podemos
usar grep, si tiramos un grep de todos
los href= veremos algo molesto de
entender.
Si nos ayudamos de otros comandos para
parsear el contenido como lo es cut,
podremos visualizar el contenido de
manera algo más amigable.

grep "href=" index.html | cut -d "/" -f3

Aquí usamos grep (para buscar) + string a


buscar + archivo en el cual buscar |
(para concatenar comandos) + cut (para
extraer segmentos) + -d (carácter
delimitador) + "/" (como carácter
delimitador) + -f (para seleccionar rango
del tabulador) + 3 (rango tabulado). 

De esta forma obtendremos todos los


hipervínculos del sitio. 
Bien, ahora supongamos que queremos
eliminar los repetidos y también
ordenarlos alfabéticamente para verlos de
manera má ordenada.

grep "href=" index.html | cut -d "/" -f3


| grep "\." | cut -d '"' -f1 | sort -u

El nuevo comando que hemos agregado es


sort con el parámetro -u , el primero
ordena la lista dada y el segundo hace
que el orden sea único.

Hasta aquí ya tenemos nuestro listado de


urls únicas que hemos extraído del sitio,
ahora obtengamos las direcciones ip de
cada uno. 

Podríamos hacerlo con tools como nmap


pasándole la lista, pero no es la idea,
buscamos aprender el proceso que las
herramientas automatizan, vamos a hacer
un script que nos liste las direcciones
ip de cada url. 

Primero tenemos que guardar nuestro


listado, para ello:

grep "href=" index.html | cut -d "/" -f3


| grep "\." | cut -d '"' -f1 | sort -u >
list.txt
Podemos hacer un cat de list.txt para
corroborar si es lo mismo que hemos visto
en pantalla.

for url in $(cat list.txt); do host $url;


done | grep "has address" | cut -d " " -
f4 | sort -u

Aquí decimos que a la variable url se le


asignan los valores de cada una de las
urls que tenemos en nuestro list.txt,
obtenga el host y luego parseamos con los
comandos que ya conocemos.

Entonces obtenemos el siguiente listado


de direcciones ip únicas: 

A este ejemplo le podemos adicionar


parámetros al comando host para descubrir
servicios activos entre otras cosas. 
 Hasta aquí el primer post sobre
penetration with kali, es totalmente
introductorio, si ya conocían lo expuesto
espero que les haya servido para
refrescar un poco, en caso de no conocer,
les recomiendo busquen algun manual de
linux básico para familiarizarse con el
entorno y capacidades del sistema
operativo linux independientemente de la
distro. 

S-ar putea să vă placă și