Cuaderno de Trabajo para El Curso de Kali Linux

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 20

Curso de introducción

KALI LINUX
PARA HACKERS ÉTICOS

www.rinku.tech
Introducción

¡Bienvenidos a todos los aspirantes a hackers y profesionales de la ciberseguridad!

Este curso está diseñado especialmente para aquellos que desean


adentrarse en el mundo del hacking ético y ciberseguridad utilizando Kali Linux.

Si estás aquí, es probable que quieras convertirte en un hacker o pentester.


Y estamos aquí para guiarte en este emocionante viaje.

En este curso gratuito, nos enfocaremos en enseñar Kali Linux desde cero.
Es ideal para aquellos que nunca han utilizado Linux o Kali Linux y están dando sus
primeros pasos en este sistema operativo.
Este curso básico está estructurado para personas sin experiencia previa,
así que no te preocupes si eres principiante en este mundo.

A continuación te dejo un acceso directo al curso y al diccionario del hacking ético:

Ir al curso Ir al diccionario

Qué vas a encontrar en esta guía:


Términos básicos de Linux
Instalación y uso de las herramientas necesarias
Comandos utilizados durante el curso
Uso de herramientas de hacking
Recursos, páginas web y laboratorios para practicar

1
01 Por qué utilizar Linux para hacking ético

1. Control y código abierto


Linux ofrece un nivel de control sin precedentes gracias a su naturaleza de código abierto.
A diferencia de Windows, el código fuente de Linux está disponible para su manipulación,
permitiendo una personalización extensa.

2. Transparencia y conocimiento del sistema


Linux es transparente, lo que significa que se puede visualizar y manipular cada parte
interna del sistema. Esto contrasta con Windows, donde esta visibilidad es limitada. La
efectividad en el hacking requiere un profundo conocimiento del sistema operativo, y Linux
facilita este entendimiento.

3. Control granular
Linux proporciona un control granular, permitiendo un manejo casi ilimitado del sistema. A
diferencia de Windows, donde las acciones están restringidas, en Linux, todo puede ser
controlado a través de la terminal, simplificando la creación efectiva de scripts en cualquier
lenguaje.

4. Dominio en herramientas de hacking


Más del 90% de todas las herramientas de hacking están diseñadas para Linux. Aunque
algunas herramientas se adaptan para Windows, su funcionalidad puede ser limitada. Este
dominio en herramientas hace de Linux la elección evidente para los hackers éticos.

5. Perspectiva de futuro
Se plantea la perspectiva de que el futuro de la tecnología pertenece a los sistemas Linux.
A medida que el crecimiento de Microsoft se desacelera, Linux se ha convertido en el
sistema operativo preferido para servidores web, routers, switches y dispositivos móviles.

2
02 Términos básicos de Kali Linux

Root
Cuenta de administrador o superusuario en Linux. Permite realizar tareas de configuración
y ejerce control total sobre el sistema.

Directorio
Archivos o carpetas que representan listas de otros archivos. Organiza y estructura el
sistema de archivos.

Binarios
Archivos ejecutables, análogos a los ejecutables en Windows.

Script
Conjunto de comandos o código almacenado en un documento. Muchas herramientas de
hacking se componen simplemente de scripts.

Shell
Programa que interpreta comandos ingresados por el usuario y los ejecuta en el sistema
operativo.

Terminal
Interfaz de línea de comandos (CLI) que permite a los usuarios interactuar con el sistema
mediante comandos de texto.

Sudo
Comando que permite a los usuarios ejecutar programas con privilegios de otro usuario,
generalmente el superusuario o administrador del sistema (root).

Máquina virtual
Entorno informático emulado que actúa como un ordenador dentro de otro ordenador.

3
03 Instalación de VirtualBox y Kali Linux

Paso 1: Descargar e instalar VirtualBox


1. Visita el sitio oficial de VirtualBox y haz clic en "Downloads".
2. Selecciona la versión adecuada para tu sistema operativo anfitrión (Windows, macOS,
Linux) y descarga el instalador.
3. Ejecuta el instalador descargado y sigue las instrucciones del asistente de instalación.

Paso 2: Crear una nueva máquina virtual (VM) en VirtualBox


1. Abre VirtualBox y haz clic en "Nuevo".
2. Asigna un nombre a tu VM (por ejemplo, "Kali-Linux").
3. Selecciona el tipo de sistema operativo como "Linux" y la versión como "Debian" si estás
instalando Kali Linux.
4. Asigna la cantidad de memoria RAM para la VM. Se recomiendan al menos 1 GB para un
rendimiento óptimo.
5. Elige "Crear un disco duro virtual ahora" y haz clic en "Crear".

Paso 3: Configurar el disco duro virtual


1. Selecciona el tipo de archivo del disco duro virtual. Por lo general, "VDI" funciona bien.
2. Elige la opción de asignación dinámica para el tamaño del disco y asigna al menos
20GB de espacio.
3. Haz clic en "Crear" para finalizar la configuración del disco duro virtual.

Paso 4: Montar la imagen ISO de Kali Linux


1. En la ventana principal de VirtualBox, selecciona tu nueva VM y haz clic en
"Configuración".
2. Navega a la pestaña "Almacenamiento" y en "Controlador: IDE", haz clic en el icono
del disco junto a "Controlador IDE Secundario".
3. Selecciona "Elegir un archivo de disco óptico" y elige la imagen ISO de Kali Linux
descargada. Puedes descargarla aquí

4
Paso 5: Instalar Kali Linux en la máquina virtual
1. Con la VM seleccionada, haz clic en "Iniciar".
2. Se abrirá una nueva ventana. Selecciona la opción de instalación gráfica de Kali Linux.
3. Sigue las instrucciones del asistente de instalación de Kali Linux para configurar el idioma,
ubicación y contraseña de root.

Paso 6: Finalizar la instalación


1. Una vez completada la instalación, la VM se reiniciará. Si Kali Linux no arranca, retira la
imagen ISO del disco duro virtual.

5
04 Estructura del sistema en Linux

La arquitectura de Linux se basa en una estructura de archivos jerárquica que organiza los
componentes del sistema de manera lógica y eficiente. Cada elemento, desde directorios
hasta archivos, desempeña un papel crucial en el funcionamiento del sistema operativo.

Ir al post

6
05 Comandos básicos de Linux

Empecemos explorando algunos comandos básicos que te ayudarán a ponerte


en marcha en Linux.

PWD
A diferencia de trabajar en un entorno gráfico como Windows o macOS, la línea de comandos
en Linux no siempre indica claramente en qué directorio te encuentras. Para navegar a un
nuevo directorio, generalmente necesitas saber dónde estás actualmente. El comando de
directorio de trabajo actual (o imprimir directorio de trabajo), pwd, te devuelve tu ubicación en
la estructura de directorios.

Escribe pwd en tu terminal para ver dónde estás:

kali > pwd


/home

En este caso, Linux retornó /home, indicándome que estoy en el directorio home. Si estás en
otro directorio, pwd mostrará ese directorio en su lugar.

WHOAMI
En Linux, el superusuario o administrador del sistema, a menudo llamado root, tiene todos los
privilegios necesarios para agregar usuarios, cambiar contraseñas, cambiar privilegios, etc. Si
has olvidado si has iniciado sesión como root u otro usuario, puedes usar el comando whoami
para verificar:

kali > whoami


root

Si hubiera iniciado sesión como otro usuario, whoami habría devuelto mi nombre de usuario en
su lugar.

7
CD
Moverte por el sistema de archivos desde la terminal es una habilidad esencial en Linux. Para
cambiar de directorio, utilizamos el comando cd. Por ejemplo, así es como cambiamos al
directorio /root:

kali > cd /root


kali:/root >

LS
Para ver el contenido de un directorio (archivos y subdirectorios), usamos el comando ls
(listar). Por ejemplo:

kali > ls
bin initrd.img media run var
boot initrd.img.old mnt sbin vmlinuz
dev lib opt srv vmlinuz.old
etc lib64 proc tmp
home lost+found root usr

Este comando enumera los archivos y directorios en el directorio actual. Puedes agregar el
atributo -l para obtener más información sobre los archivos, como sus permisos, propietario,
tamaño y fecha de última modificación:

kali > ls -l
total 84
drw-r--r-- 1 root root 4096 Dec 5 11:15 bin
drw-r--r-- 2 root root 4096 Dec 5 11:15 boot
drw-r--r-- 3 root root 4096 Dec 9 13:10 dev

HELP
Casi todos los comandos, aplicaciones o utilidades en Linux tienen un archivo de ayuda
dedicado que proporciona orientación sobre su uso. Puedes usar el comando --help o -h para
obtener ayuda. Por ejemplo:

kali > nmap --help

Otra forma de acceder a la ayuda es usando el comando man (manual). Por ejemplo:

kali > man nmap

8
LOCATE
La búsqueda de archivos se puede realizar con el comando locate. Por ejemplo, para buscar
nmap:

kali > locate nmap


/usr/bin/nmap

WHICH
El comando which es más específico y devuelve solo la ubicación de los binarios en la variable
PATH de Linux. Por ejemplo:

kali > which nmap


/usr/bin/nmap

FIND
find es el comando más concreto y flexible para buscar archivos. Puede buscar según varios
parámetros, como nombre, fecha, propietario, grupo, permisos y tamaño. El formato básico es:

find directorio opciones expresión

Por ejemplo, para buscar un archivo llamado user.txt en el directorio raíz:

kali > find / -type f -name user.txt

GREP
grep se utiliza para buscar palabras clave en la salida de otros comandos. Por ejemplo, para
encontrar procesos relacionados con apache2:

kali > ps aux | grep apache2

9
CP
El comando cp se utiliza para copiar archivos y directorios. La sintaxis básica es:

cp origen destino

Por ejemplo, para copiar un archivo llamado archivo.txt de tu directorio actual a un directorio
llamado respaldo:

kali > cp archivo.txt respaldo/

También puedes copiar directorios de manera recursiva utilizando el interruptor -r:

kali > cp -r carpeta_origen carpeta_destino

MV
El comando mv se utiliza para mover archivos o cambiar su nombre. Para mover un archivo:

kali > mv archivo.txt destino/

Para cambiar el nombre de un archivo:

kali > mv nombre_antiguo.txt nombre_nuevo.txt

RM
El comando rm se utiliza para eliminar archivos. Ten cuidado al usar este comando, ya que los
archivos eliminados no se envían a la papelera de reciclaje y no se pueden recuperar
fácilmente. Para eliminar un archivo:

kali > rm archivo.txt

Para eliminar un directorio y su contenido de manera recursiva:

kali > rm -r directorio

MKDIR
El comando mkdir se utiliza para crear directorios. Por ejemplo, para crear un nuevo directorio
llamado nuevo_directorio:

kali > mkdir nuevo_directorio

10
CAT
El comando cat se utiliza para mostrar el contenido de archivos. Por ejemplo:

kali > cat archivo.txt

NANO O VIM
Para editar archivos desde la línea de comandos, puedes usar editores de texto como nano o
vim. Por ejemplo:

kali > nano archivo.txt


o
kali > vim archivo.txt

Estos editores te permiten modificar el contenido del archivo directamente desde la terminal.

TAIL
El comando tail muestra las últimas líneas de un archivo. Por defecto, muestra las últimas 10
líneas, pero puedes especificar un número diferente con el interruptor -n. Por ejemplo:

kali > tail -n 20 archivo.log

Esto mostrará las últimas 20 líneas del archivo de registro.

HEAD
El comando head muestra las primeras líneas de un archivo. Por defecto, muestra las primeras
10 líneas, pero también puedes especificar un número diferente con el interruptor -n. Por
ejemplo:

kali > head -n 5 archivo.txt

Esto mostrará las primeras 5 líneas del archivo.

11
LESS
El comando less permite ver archivos de texto de manera interactiva. Puedes desplazarte
hacia arriba y hacia abajo, buscar texto y más. Simplemente escribe:

kali > less archivo.txt

Presiona la tecla 'q' para salir de less.

TOUCH
El comando touch se utiliza para crear archivos vacíos. Por ejemplo:

kali > touch nuevo_archivo.txt

Esto creará un nuevo archivo llamado nuevo_archivo.txt en tu directorio actual.

HISTORY
El comando history muestra una lista de los comandos que has ejecutado recientemente en la
terminal.

kali > history

Esto mostrará el historial completo de comandos.

Aquí te dejo dos posts de


Instagram con una
recopilación de comandos
básicos que debes conocer:

Ir al post Ir al post

12
06 Trabajo con permisos y usuarios.

En el universo de Linux, la gestión de usuarios y permisos es un pilar fundamental para


garantizar la seguridad y la integridad del sistema operativo. En este entorno, cada usuario
tiene su propia identidad y conjunto de permisos que determinan qué acciones pueden realizar
en el sistema. Además, los archivos y directorios también tienen atributos de permisos que
regulan quién puede acceder, leer, escribir o ejecutarlos.

Usuarios en Linux
En Linux, los usuarios son entidades que interactúan con el sistema. Cada usuario tiene un
nombre único y se identifica mediante un identificador de usuario (UID). El usuario inicial con
privilegios elevados se llama "root" y tiene acceso a todas las funciones del sistema. La
gestión de usuarios incluye la capacidad de crear, modificar y eliminar cuentas.

Permisos de archivos y directorios


Los permisos de archivos y directorios se dividen en tres categorías principales: propietario
(dueño del archivo), grupo (usuarios que comparten ciertos permisos) y otros (cualquier otro
usuario en el sistema). Para cada categoría, se pueden asignar permisos específicos:

1. Lectura (r): Permite ver el contenido del archivo o directorio. representado por el número 4.
2. Escritura (w): Permite modificar o eliminar el archivo o directorio. representado por el
número 2.
3. Ejecución (x): Permite ejecutar un archivo o acceder a un directorio. Representado por el
número 1.

Notación numérica
Para simplificar la asignación de permisos, se utiliza una notación numérica. Imagina que
quieres dar permisos de lectura y escritura (4 + 2 = 6) al propietario, permisos de solo lectura
(4) al grupo y ningún permiso (0) a otros. La representación numérica sería 640.

13
Ejemplo práctico
Digamos que queremos cambiar los permisos de los archivos de Linux de
-rwxrw-rw- a -rwx-r-r-. Simplemente introduce esta línea:

chmod 744 [nombre del archivo]

Al ejecutar este comando, el propietario puede leer, escribir y ejecutar el archivo (rwx). Sin
embargo, el grupo y otros sólo pueden leer (r-).

Llegados a este punto, puede que te preguntes por qué utilizamos un número de tres dígitos
(744) después del comando chmod.

Este número determina los permisos del archivo. Leer, escribir y ejecutar están representados
por un valor numérico:

r (read) – 4
w (write) – 2
x (execute) – 1

Así que si quieres dar todos los permisos (rwx) a un usuario, tenemos que añadir leer (4),
escribir (2) y ejecutar (1). Por lo tanto, rwx es igual a 7.

Mientras tanto, como el grupo y otros sólo pueden leer el archivo, les asignamos 4.

Recuerda que los permisos del propietario siempre van primero, seguidos por los del grupo y
otros. Por eso introducimos 744.

14
CONSEJO PROFESIONAL
Si no quieres dar ningún permiso a un usuario, introduce 0 en el lugar correspondiente.
Aquí hay una lista de los permisos más comunes para los archivos:

Permisos comunes para directorios:

15
CAMBIAR LOS PROPIETARIOS DE ARCHIVOS Y CARPETAS
Para cambiar el propietario de un archivo y una carpeta en Linux, utilizaremos el comando
chown. Esta es la sintaxis básica:

chown [propietario/grupo propietario] [nombre del archivo]

Digamos que tenemos un archivo llamado miarchivo.txt. Si queremos que el propietario del
archivo sea kali, podemos utilizar este comando:

chown kali miarchivo.txt

Sin embargo, si queremos cambiar el grupo propietario del archivo a clientes, introduciremos
esta línea en su lugar:

chown :clientes miarchivo.txt

Observa que usamos dos puntos (:) antes de «clientes» para indicar que se trata de un grupo
propietario.

Ahora, para cambiar el propietario y el grupo al mismo tiempo, la sintaxis sería así:

chown kali:clientes miarchivo.txt

La regla principal es que el propietario debe ir antes del grupo propietario y tienen que estar
separados por dos puntos.

Ahora, te presento la infografía que resume de manera visual la gestión de usuarios y permisos
en Linux.

Ir al post

16
07 Herramientas de hacking para cada fase del
pentesting
En este apartado voy a dejarte una recopilación de herramientas para cada fase del
pentesting.

Ir al post

Considero que al ser contenido práctico es


recomendable que vayas directamente al
curso en YouTube. En el curso, utilizaremos
las herramientas más conocidas y
extendidas que utilizarás en los CTFs o
incluso en tu trabajo como hacker ético.

Ir al curso

Sí quieres conocer las fases del hacking te


invito a ir al diccionario del hacking ético
donde explico paso a paso en que consiste
cada fase.

Ir al diccionario

17
08 Tipos de ataques

Comprender los tipos de ataques es esencial para proteger y romper sistemas y datos.
En este curso nos centramos en los tipos de ciberataques más comunes en aplicaciones web
siguiendo el OWASP Top 10, que se basa en el análisis de datos de cientos de organizaciones y
miles de vulnerabilidades reportadas por expertos en ciberseguridad de todo el mundo.

El propósito del OWASP TOP 10 es concienciar a los desarrolladores, administradores,


auditores y usuarios sobre la importancia de aplicar medidas de seguridad en el diseño,
desarrollo, implementación y mantenimiento de las aplicaciones web.

Al ser práctico, te recomiendo que te


descargues la guía del OWASP TOP 10 o
directamente aprendas en el curso de
YouTube.

Recursos y páginas web para practicar hacking

Una vez que nos sentimos cómodos con Linux, es hora de poner en práctica en entornos
controlados lo aprendido, a continuación te facilito el acceso a diferentes páginas para que
puedas practicar hacking y ciberseguridad.

Recursos para practicar hacking

https://overthewire.org/wargames/
https://tryhackme.com/
https://affiliate.hackthebox.com/rinku
https://www.vulnhub.com/
https://vulnyx.com/

18
Espero que esta guía te haya ayudado a afianzar todo el conocimiento visto en el
curso de Kali Linux para hackers éticos.

La realidad es que ahora puede que te sientas abrumado y sin claridad sobre qué
hacer o cómo empezar a implementar lo aprendido.

Por un lado, mi recomendación es comenzar con


https://overthewire.org/wargames/
ya que te permitirá profesionalizar el uso de la terminal en Linux.
Y una vez que termines con todos los ejercicios, empezaría con
https://tryhackme.com/
para comenzar con el hacking ético.

Si quieres implementar de forma inteligente


todo el contenido de ciberseguridaden tu carrera profesional,
síguenos en nuestros canales de formación gratuita.

IG YT TT

Comparte esta guía en redes sociales


y etiquétame @rinkutech_ para así compartirlo
y llegar a más gente a la que poder ayudar.

También podría gustarte