Fundamentos de Linux para hackers, 2.ª edición - OccupyTheWeb - E-Book

Fundamentos de Linux para hackers, 2.ª edición E-Book

OccupyTheWeb

0,0
19,99 €

-100%
Sammeln Sie Punkte in unserem Gutscheinprogramm und kaufen Sie E-Books und Hörbücher mit bis zu 100% Rabatt.

Mehr erfahren.
Beschreibung

Si desea iniciarse en el mundo del hacking ético, la ciberseguridad y las pruebas de intrusión, este libro le ofrece una base sólida y práctica. Fundamentos de Linux para Hackers le enseñará a desenvolverse con fluidez en Kali Linux, el sistema operativo de referencia para análisis forense digital y pruebas de intrusión. Aprenderá a instalar Kali en una máquina virtual y dominará los fundamentos del sistema operativo Linux, incluyendo la manipulación de texto, la gestión de permisos y directorios, y el uso de variables de entorno. A lo largo de sus páginas, encontrará explicaciones claras y ejercicios que le guiarán en la adquisición de competencias clave en seguridad informática, anonimato en red y automatización mediante scripting en Bash y Python. Mediante casos prácticos y simulaciones reales, aprenderá a: -Ocultar su rastro modificando configuraciones de red y utilizando herramientas como journalctl -Escribir utilidades propias para escanear conexiones y monitorizar redes inalámbricas -Navegar por Internet de forma anónima mediante Tor, VPNs, servidores proxy y correo electrónico cifrado -Escribir un script de bash para encontrar posibles objetivos de ataque sobre un rango de direcciones IP -Usar y explotar servicios como MySQL, el servidor web Apache y OpenSSH -Desarrollar sus propias herramientas de hacking, como cámaras espía remotas o descifradores de contraseñas Novedades de esta edición: Incluye actualizaciones adaptadas a las nuevas versiones de Kali y Linux, un enfoque más seguro del uso de privilegios de superusuario, mejoras en los sistemas de registro de Bluetooth y un nuevo capítulo sobre el uso de inteligencia artificial en ciberseguridad. Iniciarse en el hacking puede parecer una tarea compleja, con múltiples enfoques y herramientas disponibles. Este libro le ofrece el camino más accesible y eficaz para comenzar con paso firme. ¿Por qué no empezar por aquí? Sobre el autor OccupyTheWeb es consultor en ciberseguridad, formador e investigador forense con más de dos décadas de experiencia. Fundador del sitio Hackers Arise, ha formado a miembros del ejército estadounidense, contratistas del Departamento de Defensa y funcionarios federales en hacking ético y seguridad de la información.

Sie lesen das E-Book in den Legimi-Apps auf:

Android
iOS
von Legimi
zertifizierten E-Readern

Seitenzahl: 323

Veröffentlichungsjahr: 2025

Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



ELOGIOS PARAFUNDAMENTOS DE LINUX PARA HACKERS

«Si acaba de empezar o está en camino de alcanzar un nivel experto, hacerse con un ejemplar de este libro puede ser una de las mejores decisiones para desarrollar sus habilidades en ciberseguridad».

— Sandra Henry-Stocker,Network World

«La información que ofrece puede ayudar incluso a un usuario general a sentirse más cómodo con el sistema operativo Linux sin verse abrumado por temas más complejos relacionados con la seguridad. Aunque todos deberíamos prestar más atención a la seguridad, Fundamentos de Linux para hackers bien podría inspirar a la próxima generación de jóvenes entusiastas tecnológicos a convertirse en las estrellas de la seguridad del mañana».

— Tim Everson,The Ethical Hacker Network

«Fundamentos de Linux para hackers es básicamente práctico. Su enfoque rápido y directo para explorar y utilizar un sistema Linux fue muy bien recibido».

— Jesse Smith,DistroWatch Weekly

«Una introducción clara, bien escrita y sumamente eficaz a Linux para futuros pentesters y analistas de SOC... Un libro ideal para iniciarse en Linux para cualquier aspirante a formar parte de un equipo red o blue, cuya lectura merece mucho la pena».

— Cybrary

«Si está empezando en informática y quiere familiarizarse rápidamente con Linux y otros sistemas operativos tipo Unix, trabajar con este libro le situará muy por delante de sus compañeros de estudio, y en poco tiempo».

— Greg Laden,Greg Laden’s Blog

 

Copyright © 2025 by OccupyTheWeb. Title of English language original: Linux Basics for Hackers: Getting Started with Networking, Scripting, and Security in Kali, 2nd Edition, ISBN 9781718503540, published by No Starch Press Inc. 245 8th Street, San Francisco, California United States 94103. The Spanish-language 2nd edition Copyright © 2025 by Marcombo, S.L. under license by No Starch Press Inc. All rights reserved.

Segunda edición original publicada en inglés por No Starch Press Inc. con el título Linux Basics for Hackers: Getting Started with Networking, Scripting, and Security in Kali, 2nd Edition, ISBN 9781718503540 © OccupyTheWeb, 2025.

Título de la edición en español:

Fundamentos de Linux para hackers

Segunda edición en español, 2026

© 2026 MARCOMBO, S.L. www.marcombo.com

Gran Via de les Corts Catalanes 594, 08007 Barcelona

Contacto: [email protected]

Ilustración de portada: Josh Ellingson

Diseño del interior: Octopod Studios

Revisor técnico: Artur Zielinski

Traducción: Sonia Llena

Corrección: Anna Alberola

Directora de producción: M.a Rosa Castillo

Cualquier forma de reproducción, distribución, comunicación pública o transformación de esta obra solo puede ser realizada con la autorización de sus titulares, salvo excepción prevista por la ley. La presente publicación contiene la opinión del autor y tiene el objetivo de informar de forma precisa y concisa. La elaboración del contenido, aunque se ha trabajado de forma escrupulosa, no puede comportar una responsabilidad específica para el autor ni el editor de los posibles errores o imprecisiones que pudiera contener la presente obra.

ISBN del libro en papel: 978-84-267-4061-8

ISBN del libro electrónico: 978-84-267-4153-0

Producción del ePub: booqlab

 

 

A mis tres increíbles hijas.

Sois todo mi mundo.

Y a los hombres y mujeres guerreros y ciberguerreros valientes de Ucrania, que han resistido con fuerza ante uno de los ejércitos más grandes del mundo durante más de tres años. Vuestra destreza y vuestro coraje son inspiración para todos nosotros.

Sobre el autor

OccupyTheWeb (OTW) es el pseudónimo del fundador y escritor principal del sitio web para hackers y formación en pruebas de intrusión https://www.hackers-arise.com. Ha sido profesor universitario y tiene más de 20 años de experiencia en la industria de la tecnología y la información. Ha formado a hackers por todos los Estados Unidos, incluso en diferentes ramas de las fuerzas armadas norteamericanas (Ejército, Fuerzas Aéreas y Armada) y en la comunidad de inteligencia norteamericana (CIA, NSA y DNI), y ha jugado un papel primordial en la resistencia de la comunidad de hackers en la invasión rusa a Ucrania. Además, es un apasionado de la bicicleta de montaña y del snowboard.

Sobre el revisor técnico

Artur Zielinski es un pentester que se dedica principalmente a la seguridad ofensiva (pruebas de intrusión, hacking ético, equipos rojos, OSINT, hacking de ICS/SCADA y biohacking). Zielinski también dirige actividades relacionadas con la ciberseguridad para niños en escuelas (un día en la vida de un hacker ético, torneos de ciberseguridad y escape rooms) y es padre de tres niños fantásticos.

RESUMEN DEL CONTENIDO

Cubierta

Título

Créditos

RESUMEN DEL CONTENIDO

Contenido Detallado

Prefacio

Reconocimientos

Introducción

Capítulo 1: Empezar con lo básico

Capítulo 2: Manipulación de textos

Capítulo 3: Análisis y gestión de redes

Capítulo 4: Añadir y eliminar

software

Capítulo 5: Control de permisos de archivos y directorios

Capítulo 6: Gestión de procesos

Capítulo 7: Gestión de las variables de entorno de usuario

Capítulo 8: Secuencias de comandos Bash

Capítulo 9: Comprimir y archivar

Capítulo 10: Gestión de sistemas de archivos y dispositivos de almacenamiento

Capítulo 11: El sistema de registro

Capítulo 12: Uso y abuso de servicios

Capítulo 13: Seguridad y anonimato

Capítulo 14: Conocer e inspeccionar redes inalámbricas

Capítulo 15: Gestión del kernel de Linux y módulos cargables del kernel

Capítulo 16: Automatización de tareas con programación

Capítulo 17: Conceptos básicos de

scripting

en Python para

hackers

Capítulo 18: Inteligencia artificial para

hackers

Guide

Cubierta

Título

Start

CONTENIDO DETALLADO

PREFACIO

RECONOCIMIENTOS

INTRODUCCIÓN

Qué encontrará en este libro

Qué es el

hacking

ético

Pruebas de intrusión

Ejército y espionaje

Por qué los

hackers

usan Linux

Linux es de código abierto

Linux es transparente

Linux ofrece control granular

La mayoría de las herramientas de

hacking

están escritas para Linux

El futuro es de Linux/Unix

Descargar Kali Linux

Máquinas virtuales

Instalar VirtualBox

Configurar la máquina virtual

Instalar Kali en la VM

Configurar Kali

Instalar Kali en el subsistema de Windows para Linux

1.

EMPEZAR CON LO BÁSICO

Términos y conceptos introductorios

Un recorrido por Kali

La terminal

El sistema de archivos de Linux

Comandos básicos en Linux

Ubicarse con pwd

Comprobar el inicio de sesión con whoami

Navegar por el sistema de archivos de Linux

Obtener ayuda

Acceder a páginas de manual con man

Encontrar otras cosas

Buscar con locate

Buscar binarios con whereis

Buscar binarios en la variable PATH con which

Realizar búsquedas más potentes con find

Filtrar con grep

Modificar archivos y directorios

Crear archivos

Crear un directorio

Copiar un archivo

Renombrar un archivo

Eliminar un archivo

Eliminar un directorio

¡A jugar!

Ejercicios

2.

MANIPULACIÓN DE TEXTOS

Visualizar archivos

Encontrar el inicio

Encontrar el final

Numerar las líneas

Filtrar texto con grep

Buscar y reemplazar con sed

Visualizar archivos con more y less

Controlar la pantalla con more

Mostrar y filtrar con less

Resumen

Ejercicios

3.

ANÁLISIS Y GESTIÓN DE REDES

Análisis de redes con ifconfig

Estadísticas de red con netstat y ss

Comprobar dispositivos de red inalámbricos con iwconfig

Cambiar la información de red

Asignar una nueva dirección IP

Cambiar la máscara de red y la dirección de difusión

Suplantar la dirección MAC

Asignar nuevas direcciones IP desde el servidor DHCP

Manipular el sistema de nombres de dominio

Examinar el DNS con dig

Cambiar el servidor DNS

Asignación propia de direcciones IP

Resumen

Ejercicios

4.

AÑADIR Y ELIMINAR

SOFTWARE

Uso de apt para gestionar

software

Buscar un paquete

Añadir

software

Eliminar

software

Actualizar paquetes

Mejorar paquetes

Añadir repositorios al archivo sources.list

Utilizar un instalador basado en GUI

Instalar programas con git

Resumen

Ejercicios

5.

CONTROL DE PERMISOS DE ARCHIVOS Y DIRECTORIOS

Diferentes tipos de usuarios

Conceder permisos

Conceder la propiedad a un usuario individual

Conceder la propiedad a un grupo

Comprobar permisos

Cambiar permisos

Cambiar permisos con notación decimal

Cambiar permisos con UGO

Conceder permisos de ejecución de root a una nueva herramienta

Establecer permisos por defecto más seguros con máscaras

Permisos especiales

Conceder permisos de root temporales con SUID

Conceder permisos de grupo al usuario root SGID

El anticuado Sticky Bit

Permisos especiales, escalada de privilegios y

hackers

Resumen

Ejercicios

6.

GESTIÓN DE PROCESOS

Visualizar procesos

Filtrar por nombre de proceso

Buscar los procesos que más consumen con top

Gestionar procesos

Cambiar la prioridad de los procesos con nice

Matar procesos

Ejecutar procesos en segundo plano

Mover un proceso a primer plano

Programar procesos

Resumen

Ejercicios

7.

GESTIÓN DE LAS VARIABLES DE ENTORNO DE USUARIO

Cambiar el shell por defecto a Bash

Ver y modificar variables de entorno

Visualizar todas las variables de entorno

Filtrar por variables concretas

Modificar los valores de las variables de una sesión

Fijar los cambios en los valores de las variables

Modificar el prompt del shell

Cambiar la variable PATH

Añadir a la variable PATH

Cómo no añadir a la variable PATH

Crear una variable definida por el usuario

Resumen

Ejercicios

8.

SECUENCIAS DE COMANDOS BASH

Curso acelerado de Bash

Su primer

script

: “Hello, Hackers-Arise!”

Establecer permisos de ejecución

Ejecutar HelloHackersArise

Añadir funcionalidades con variables y entradas de usuario

Su primer

script

como

hacker

: Buscar puertos abiertos

Nuestro trabajo

Un escaneo sencillo

Cómo mejorar el escaneo MySQL

Comandos Bash comunes integrados

Resumen

Ejercicios

9.

COMPRIMIR Y ARCHIVAR

¿Qué es la compresión?

Combinar archivos con tar

Comprimir archivos

Comprimir con gzip

Comprimir con bzip2

Comprimir con compress

Crear copias físicas o bit a bit de dispositivos de almacenamiento

Resumen

Ejercicios

10.

GESTIÓN DE SISTEMAS DE ARCHIVOS Y DISPOSITIVOS DE ALMACENAMIENTO

El directorio de dispositivos /dev

Cómo representa Linux los dispositivos de almacenamiento

Particiones de unidades

Dispositivos de caracteres y bloques

Listar dispositivos de bloque e información con lsblk y lsusb

Montar y desmontar

Montaje manual de dispositivos de almacenamiento

Desmontar con umount

Supervisar sistemas de archivos

Obtener información sobre los discos montados

Comprobar errores

Resumen

Ejercicios

11.

EL SISTEMA DE REGISTRO

La utilidad journalctl

Prioridades e instalaciones de registro

Consultas journalctl

Cubrir las huellas con journalctl

Desactivar el registro

Resumen

Ejercicios

12.

USO Y ABUSO DE SERVICIOS

Iniciar, detener y reiniciar servicios

Crear un servidor HTTP con el servidor web Apache

Empezar con Apache

Editar el archivo index.html

Añadir algo de HTML

Veamos qué ocurre

OpenSSH y Raspberry Spy Pi

Configurar la Raspberry Pi

Construir la Raspberry Spy Pi

Configurar la cámara

Empezar a espiar

Extraer información de MySQL/MariaDB

Iniciar MySQL o MariaDB

Interactuar con SQL

Configurar una contraseña

Acceder a una base de datos remota

Conectarse a una base de datos

Explorar las tablas de una base de datos

Examinar los datos

Resumen

Ejercicios

13.

SEGURIDAD Y ANONIMATO

Cómo nos delata Internet

El sistema Onion Router

Cómo funciona Tor

Cuestiones de seguridad

Servidores Proxy

Configuración de proxies en el archivo de configuración

Configurar otras opciones interesantes

Acerca de la seguridad

Redes privadas virtuales

Correo electrónico cifrado

Resumen

Ejercicios

14.

CONOCER E INSPECCIONAR REDES INALÁMBRICAS

Redes wifi

Comandos inalámbricos básicos

Reconocimiento de wifi con aircrack-ng

Detección y conexión a Bluetooth

Cómo funciona Bluetooth

Escanear y reconocer Bluetooth

Resumen

Ejercicios

15.

GESTIÓN DEL KERNEL DE LINUX Y MÓDULOS CARGABLES DEL KERNEL

¿Qué es un módulo del kernel?

Comprobar la versión del kernel

Ajustar el kernel con sysctl

Gestión de los módulos del kernel

Más información con modinfo

Añadir y eliminar módulos con modprobe

Insertar y extraer un módulo del kernel

Resumen

Ejercicios

16.

AUTOMATIZACIÓN DE TAREAS CON PROGRAMACIÓN

Programar una tarea para que se ejecute automáticamente

Programar una tarea de copia de seguridad

Programar MySQLscanner con crontab

Atajos crontab

Uso de

scripts

rc para ejecutar trabajos al inicio

Niveles de ejecución de Linux

Añadir servicios a rc.d

Añadir servicios al inicio a través de una GUI

Resumen

Ejercicios

17.

CONCEPTOS BÁSICOS DE

SCRIPTING

EN PYTHON PARA

HACKERS

Añadir módulos de Python

Empezar a programar con Python

Variables

Comentarios

Funciones

Listas

Módulos

Programación orientada a objetos (POO)

Comunicaciones de red en Python

Crear un cliente TCP

Crear un receptor TCP

Diccionarios, sentencias de control y bucles

Diccionarios

Sentencias de control

Bucles

Mejorar nuestros

scripts

de

hacking

Excepciones y descifradores de contraseñas

Resumen

Ejercicios

18.

INTELIGENCIA ARTIFICIAL PARA

HACKERS

La colaboración es clave

Los principales protagonistas de la IA

Uso de la IA en ciberseguridad

Ataques de ingeniería social con IA

Utilizar la IA para escribir un

script

de Bash

Resumen

Ejercicios

PREFACIO

¡Bienvenidos a la nueva y actualizada segunda edición de Fundamentos de Linux para hackers!

Quiero empezar dando las gracias a todos mis lectores por haber hecho que la primera edición fuera un éxito clamoroso. Fundamentos de Linux para hackers no solo es el libro sobre Linux más vendido en Amazon, sino también el más vendido en Amazon de los libros sobre sistemas operativos, a mucha distancia de los que tratan sobre Windows 10 y 11. Estoy muy agradecido. Creo que a la gente le ha gustado.

La primera edición de Fundamentos de Linux para hackers la escribí en 2017 y se publicó en 2018. En general, han cambiado muchas cosas en Linux y, en especial, en Kali Linux. Con esta segunda edición, nuestro objetivo es traer este libro hasta el presente (2025) y mostrar nuevas herramientas y técnicas que permitan utilizar Linux con facilidad en un entorno de ciberseguridad.

Uno de los cambios principales que notará es el uso de sudo antes de los comandos que requieren privilegios de superusuario. En la primera edición, iniciábamos sesión en la cuenta de superusuario y operábamos desde allí. Como atacante, como suele ser el caso, pero también como aprendiz, debe evitar iniciar sesión en la cuenta de superusuario si no es estrictamente necesario. En esta edición, esta será una medida de seguridad para aquellos que están aprendiendo Linux con este libro y, por ello, cada comando que requiera privilegios de superusuario va precedido por un sudo.

Cada cierto tiempo, las utilidades de software en Linux cambian. Esto es lo que ha pasado durante estos años, cuando las utilidades systemd han sustituido a las utilidades SysV. Dichas utilidades controlan el sistema y el gestor de servicios en Linux y afectan la manera en que los servicios se inician y se detienen. Va a percibir cambios, por ejemplo, en cómo iniciamos un servicio pasando del comando service (SysV) al comando systemctl (systemd). Ambos funcionan, pero Linux está optando rápidamente por la segunda opción, mientras que la primera probablemente quedará obsoleta (o descatalogada) en un futuro próximo, por lo que lo mejor es adaptarse ahora al nuevo estilo.

Kali Linux ha convertido su shell predeterminado en un shell Z (zsh). Si usted es principiante, creo que debería quedarse con el shell bash (Bourne-again shell), pues casi todos los demás sistemas Linux lo utilizan en lugar del shell Z. Por suerte, los desarrolladores de Kali nos han dado una opción sencilla para cambiar al shell bash en sus aplicaciones GUI: kali-tweaks.

También hemos actualizado las secciones sobre Bluetooth y las funciones de registro de Linux, ya que ambas han cambiado de manera significativa durante este tiempo.

Por último, el Capítulo 18 trata sobre el futuro de la inteligencia artificial en nuestro sector. La inteligencia artificial no le dejará obsoleto, sino que le hará mejor. Acéptela y úsela. Aquellos que rechazan aprender a utilizarla se quedarán muy pronto obsoletos. Aquellos que acepten y utilicen la IA serán los futuros líderes en su campo.

Espero que este libro le guste incluso más que la primera edición.

RECONOCIMIENTOS

No podría haber escrito este libro sin la colaboración de personas que han sido clave.

En primer lugar, quiero mencionar a Bill Pollock, editor de No Starch Press, por creer en este libro y apoyarlo.

En segundo lugar, quiero mencionar el esfuerzo diligente de mi revisor técnico, Artur Zielinski, por asegurarse de que el contenido técnico de este libro sea preciso. Cualquier error u omisión es únicamente fallo mío.

Por último, quiero agradecer y mencionar a todos los profesionales de No Starch Press por sus esfuerzos por concluir este libro y comercializarlo. Gracias.

INTRODUCCIÓN

El hacking es la habilidad más importante del siglo XXI. Y no lo digo porque sí. En los últimos años, los titulares de cada mañana lo confirman. Las naciones se espían entre ellas para obtener secretos, los ciberdelincuentes roban miles de millones de dólares, los gusanos digitales exigen rescates a sus víctimas, los adversarios influyen en las elecciones de los demás y los combatientes se desmantelan mutuamente. Tomemos como ejemplo la ciberguerra entre Ucrania y Rusia. Todos estos hechos son obra de hackers, y apenas estamos empezando a entender su poder en un mundo cada vez más digital.

Decidí escribir este libro después de trabajar con decenas de miles de aspirantes a hacker en Null-Byte, Hackers Arise (https://www.hackers-arise.com), y casi todas las ramas de las agencias de inteligencia y militares norteamericanas (entre ellas, NSA, DIA, CIA y FBI). Estas experiencias me enseñaron que muchos aspirantes a hackers tienen poca o ninguna experiencia con Linux, siendo esta la principal barrera que les impide iniciar el camino para convertirse en profesionales. Casi todas las mejores herramientas para hackers están escritas en Linux, por lo que necesitará unos conocimientos básicos como requisito previo para convertirse en un hacker experimentado y profesional. He escrito este libro para ayudarle a superar esta barrera.

El hacking es una profesión de élite dentro del campo de la informática y, como tal, requiere una comprensión amplia y detallada de sus conceptos y tecnologías. En el nivel más básico, Linux es un requisito. Le recomiendo encarecidamente que invierta tiempo y energía en conocerlo si quiere dedicarse profesionalmente al hacking y a la seguridad de la información.

Este libro no es para hackers experimentados o administradores de Linux, sino para aquellos que quieren iniciarse en el apasionante mundo del hacking, la ciberseguridad y las pruebas de intrusión. Tampoco pretende ser un tratado completo sobre Linux o hacking, sino más bien un punto de partida. Empieza con lo esencial de Linux y se extiende a algunos scripts básicos tanto en Bash como en Python. Cuando es necesario, utilizo ejemplos de hacking para enseñar estos principios de Linux.

En esta introducción, veremos el desarrollo del hacking ético en la seguridad de la información, y le llevaré a través del proceso de instalación de una máquina virtual para que pueda instalar Kali Linux en su sistema sin alterar el sistema operativo que ya está ejecutando.

Qué encontrará en este libro

En la primera serie de capítulos, vamos a familiarizarnos con los fundamentos de Linux. El Capítulo 1 le acercará al sistema de ficheros y al terminal, y le dará algunos comandos básicos. El Capítulo 2 le mostrará cómo manipular texto para encontrar, examinar y alterar software y archivos.

En el Capítulo 3, gestionará redes. Buscará redes, encontrará información sobre conexiones y se disfrazará enmascarando su información de red y DNS.

El Capítulo 4 le enseñará a añadir, eliminar y actualizar software, así como a mantener su sistema optimizado. En el Capítulo 5, manipulará permisos de archivos y directorios para controlar quién puede acceder a qué. También aprenderá algunas técnicas de escalada de privilegios.

El Capítulo 6 le enseñará a gestionar servicios, incluyendo el arranque y la parada de procesos y la asignación de recursos para darle un mayor control. En el Capítulo 7, gestionará las variables de entorno para un rendimiento óptimo, comodidad e incluso ocultación. Encontrará y filtrará variables, cambiará la variable PATH y creará nuevas variables de entorno.

El capítulo 8 le introducirá en la secuencia de comandos Bash, un elemento básico para cualquier hacker serio. Aprenderá los fundamentos de Bash y construirá un script para escanear puertos objetivo en los que más tarde podría infiltrarse.

Los capítulos 9 y 10 le proporcionarán algunas habilidades esenciales de gestión del sistema de archivos, mostrándole cómo comprimir y archivar archivos para mantener limpio su sistema, copiar dispositivos de almacenamiento completos y obtener información sobre archivos y discos conectados.

Los últimos capítulos profundizarán en temas de hacking. En el Capítulo 11, utilizará y manipulará el sistema de registro para obtener información sobre la actividad de un objetivo y cubrir su propio rastro. El Capítulo 12 mostrará cómo usar tres servicios centrales de Linux y cómo explotarlos: servidor web Apache, OpenSSH y MySQL. Creará un servidor web, construirá un espía de vídeo remoto y aprenderá sobre bases de datos y sus vulnerabilidades. El Capítulo 13 le mostrará cómo mantenerse seguro y anónimo con servidores proxy, la red Tor, redes privadas virtuales y correo electrónico cifrado.

El Capítulo 14 irá sobre redes inalámbricas. Aprenderá los comandos básicos de red, así como a descifrar puntos de acceso wifi, detectar señales Bluetooth y conectarse a ellas.

El Capítulo 15 profundizará en el propio Linux con una visión de alto nivel de cómo funciona el núcleo y cómo se pueden explotar sus controladores para distribuir software malicioso. En el Capítulo 16, aprenderá habilidades esenciales de programación para automatizar scripts de hacking. El Capítulo 17 le enseñará conceptos básicos de Python, y programará dos herramientas de hacking: un escáner para espiar conexiones TCP/IP y un simple descifrador de contraseñas. El Capítulo 18 explorará la intersección entre el hacking y la inteligencia artificial, introduciendo conceptos básicos y demostrando cómo la IA puede ayudar en la ciberseguridad.

Qué es el hacking ético

Con el crecimiento del campo de la seguridad de la información en los últimos años, también se ha producido un aumento considerable en el campo del hacking ético, también conocido como hacking de sombrero blanco. El hacking ético es la práctica de intentar infiltrarse y vulnerar un sistema para descubrir sus puntos débiles y protegerlo mejor. Yo divido el campo del hacking ético en dos componentes principales: las pruebas de intrusión para una empresa legítima de seguridad de la información y el trabajo para las agencias militares o de inteligencia de un país. Ambas son áreas en rápido crecimiento y con una fuerte demanda.

Pruebas de intrusión

A medida que las empresas adquieren una mayor conciencia de la seguridad y el coste de las brechas de seguridad aumenta exponencialmente, muchas grandes organizaciones empiezan a contratar servicios de seguridad. Uno de estos servicios es el de las pruebas de intrusión, que básicamente es un hacking legal por encargo para demostrar la vulnerabilidad de la red y de los sistemas de una empresa.

Generalmente, las empresas realizan primero una evaluación para encontrar posibles vulnerabilidades en sus redes, sistemas operativos y servicios. Hago hincapié en el posibles, ya que esta exploración de vulnerabilidades incluye un número significativo de falsos positivos (cosas identificadas como vulnerabilidades que realmente no lo son). Este es el papel del pentester: intentar hackear o entrar en estas vulnerabilidades. Solo así la empresa puede saber si la vulnerabilidad es real y decidir invertir tiempo y dinero para cerrarla.

Ejército y espionaje

Casi todas las naciones de la Tierra practican actualmente el ciberespionaje y la ciberguerra. La ciberguerra en Ucrania ha puesto este tipo de guerra en el primer plano de la conciencia de todos, ya que hackers de todo el mundo han apoyado los esfuerzos de Ucrania por seguir siendo libre. (Los hackers de https://www.hackers-arise.com han desempeñado un papel crucial en esta ciberguerra). En tiempos menos caldeados, basta con echar un vistazo a los titulares para ver que los gobiernos utilizan actividades cibernéticas para espiar, e incluso atacar, sistemas militares e industriales.

Con el tiempo, el impacto del hacking en actividades militares y de recopilación de información será cada vez mayor. Imaginemos una guerra del futuro en la que los hackers puedan acceder a los planes de su adversario y dejar fuera de combate su red eléctrica, sus refinerías de petróleo y sus sistemas de abastecimiento de agua. En un mundo así, el hacker se ha convertido en un componente clave de la defensa de una nación.

Por qué los hackers usan Linux

¿Y por qué los hackers utilizan Linux y no otros sistemas operativos? Pues sobre todo porque Linux ofrece un nivel de control mucho mayor mediante distintos métodos.

Linux es de código abierto

A diferencia de Windows, Linux es de código abierto, lo que significa que el código fuente del sistema operativo está disponible. Como tal, puede cambiarlo y manipularlo a su antojo. Si desea que un sistema funcione de una forma que no estaba prevista, poder manipular el código fuente es esencial.

Linux es transparente

Para hackear con eficacia, debe conocer y comprender su sistema operativo, así como el que está atacando. Linux es totalmente transparente, lo que significa que podemos ver y manipular todas sus partes operativas.

No ocurre lo mismo con Windows. Microsoft se esfuerza para que sea lo más difícil posible conocer el funcionamiento interno de sus sistemas operativos, por lo que nunca se sabe realmente lo que está pasando «bajo el capó», mientras que en Linux hay un foco que ilumina directamente todos y cada uno de los componentes del sistema operativo. Esto hace que trabajar con Linux sea más eficaz.

Linux ofrece control granular

Linux es granular. Esto significa que tenemos una cantidad casi infinita de control sobre el sistema. En Windows, solo puede controlar lo que Microsoft le permite controlar. En Linux, todo puede ser controlado por el terminal, al nivel más minúsculo o al nivel más macro. Además, Linux hace que el scripting en cualquiera de los lenguajes para ello sea sencillo y eficaz.

La mayoría de las herramientas de hacking están escritas para Linux

Más del 90 % de las herramientas de hacking están escritas para Linux. Hay excepciones, por supuesto, como Caín y Abel y Wikto, pero esas excepciones confirman la regla. Incluso cuando herramientas de hacking (como Metasploit o nmap) se portan para Windows, no todas las capacidades se transfieren de Linux.

El futuro es de Linux/Unix

Puede parecer una afirmación radical, pero creo firmemente que el futuro de la informática es de Linux y de los sistemas Unix. Microsoft tuvo su momento en los años 80 y 90, pero su crecimiento se está ralentizando.

Desde los inicios de Internet, Linux/Unix ha sido el sistema operativo elegido para los servidores web por su estabilidad, fiabilidad y robustez. Incluso hoy, se utiliza en dos tercios de los servidores web y domina el mercado. Los sistemas integrados en routers, conmutadores y otros dispositivos utilizan casi siempre un núcleo Linux, y el mundo de la virtualización está dominado por Linux, ya que tanto VMware como Citrix se basan en este núcleo.

Más del 80 % de los dispositivos móviles funcionan con Unix o Linux (iOS es Unix y Android es Linux), así que si cree que el futuro de la informática está en los dispositivos móviles, como tabletas y teléfonos (sería difícil argumentar lo contrario), entonces el futuro es de Linux/Unix. Microsoft Windows solo tiene el 7 % del mercado de dispositivos móviles. ¿Es ese el tren al que se quiere subir?

Descargar Kali Linux

Antes de empezar, deberá descargar e instalar Kali Linux en su ordenador. Esta es la distribución de Linux con la que trabajaremos en este libro. Linux fue desarrollado por Linus Torvalds en 1991 como una alternativa de código abierto a Unix. Como es de código abierto, desarrolladores voluntarios codifican el núcleo, las utilidades y las aplicaciones. Esto significa que no hay una entidad corporativa que supervise el desarrollo y, por ello, a menudo faltan convenciones y estandarización.

Kali Linux fue desarrollado por Offensive Security como un sistema operativo de hacking basado en una distribución de Linux llamada Debian. Hay muchas distribuciones de Linux, y Debian es una de las mejores. Probablemente conozcas Ubuntu, una popular distribución de Linux para escritorio. Pues Ubuntu también se basa en Debian. Otras distribuciones son Red Hat, CentOS, Mint, Arch y SUSE. Aunque todas comparten el mismo núcleo Linux (el corazón del sistema operativo que controla la CPU, la RAM, etc.), cada una tiene sus propias utilidades, aplicaciones e interfaz gráfica (GNOME, KDE y otras) para diferentes propósitos. Por ello, cada una de estas distribuciones es ligeramente diferente. Kali fue diseñado para pruebas de intrusión y hackers y viene con un complemento significativo de herramientas de hacking.

Le recomiendo encarecidamente que utilice Kali para este libro. Aunque puede usar otra distribución, probablemente tendrá que descargar e instalar manualmente las diversas herramientas que usaremos, lo que podría significar muchas horas de descarga e instalación de software. Además, si esa distribución no está construida sobre Debian, puede ser ligeramente distinta. Puede descargar e instalar Kali desde https://www.kali.org.

NOTA

Si prefiere instalar Kali a través del subsistema de Windows para Linux (WSL) en una máquina con Windows, salte a «Instalar Kali a través del subsistema de Windows para Linux», en la página xxxvii.

En la página de inicio, sitúese sobre el enlace Descargas en la parte superior de la página y haga clic en Descargar Kali Linux. Aparecerán varias opciones de descarga; es importante que elija la correcta. En la parte izquierda de la tabla, verá el nombre de la imagen, que es el nombre de la versión que descarga el enlace. Por ejemplo, puede ver el nombre Kali Linux 64Bit, lo que significa que es el Kali Linux completo y es adecuado para sistemas de 64 bits (la mayoría de los sistemas modernos utilizan una CPU Intel o AMD de 64 bits).

Para determinar qué tipo de CPU tiene su sistema, vaya a Control Panel ▸ System and Security ▸ System, donde podrá consultarlo. Si su sistema es de 64 bits, descargue e instale la versión de Kali completa (full) de 64 bits (no Light, Lxde ni ninguna de las otras alternativas). Si utiliza un ordenador antiguo con una CPU de 32 bits, deberá instalar la versión de 32 bits, que aparece más abajo en la página.

Puede descargar el archivo a través de HTTP o de Torrent. Si elige HTTP, Kali se descargará directamente en su sistema como cualquier descarga y se guardará en la carpeta Descargas. La descarga con Torrent es la descarga peer-to-peer utilizada en muchos sitios de intercambio de archivos. Necesitará una aplicación Torrents como BitTorrent para utilizar esta opción. El archivo Kali se descargará en la carpeta en la que la aplicación de Torrents almacene sus descargas.

Hay otras versiones para otros tipos de CPU, como la arquitectura ARM, que suele utilizarse en tantos dispositivos móviles. Si dispone de una Raspberry Pi, una tableta u otro dispositivo móvil, asegúrese de descargar e instalar la versión de Kali para arquitectura ARM desplazándose hacia abajo hasta Download ARM Images y haciendo clic en Kali ARM Images. Los usuarios de teléfonos probablemente preferirán Kali NetHunter.

Ya ha descargado Kali pero, antes de instalarlo, quiero hablar un poco sobre las máquinas virtuales. Generalmente, para cualquier principiante, instalar una imagen virtual de Kali y luego ejecutarla en una máquina virtual como VirtualBox o VMWare Workstation es la mejor solución para aprender y practicar.

Máquinas virtuales

La tecnología de máquina virtual (VM) permite ejecutar múltiples sistemas operativos desde un ordenador portátil o de sobremesa. Esto significa que puede seguir ejecutando el sistema operativo Windows o macOS con el que está familiarizado mientras ejecuta una VM de Kali Linux dentro de ese sistema operativo. No es necesario sobrescribir el sistema operativo existente para aprender Linux.

Existen numerosas aplicaciones de máquinas virtuales de VMware, Oracle, Microsoft y otros proveedores. Todas son excelentes, pero, en este caso, le mostraré cómo descargar e instalar VirtualBox, gratuita, de Oracle.

Instalar VirtualBox

Puede descargar VirtualBox desde https://www.virtualbox.org. Pulse en el enlace Descargar en la parte superior de la página y seleccione el paquete VirtualBox para el sistema operativo de su ordenador, que alojará VirtualBox VM. Asegúrese de descargar la última versión. Una vez completada la descarga, haga clic en el archivo de instalación y aparecerá el conocido asistente de instalación. Haga clic en Next para pasar a la pantalla de configuración personalizada, como puede ver en la Figura 1.

Figura 1.Cuadro de diálogo Custom Setup

NOTA

Estas instrucciones han sido escritas pensando en Windows. Si utiliza un Mac, el proceso puede ser ligeramente distinto, aunque podrá seguirlo sin problemas.

En esta ventana, simplemente pulse en Next. Siga pulsando en Next hasta llegar a la pantalla de aviso Network Interfaces, en la cual deberá pulsar en Yes.

Pulse en Install para que empiece el proceso. Durante dicho proceso, es probable que se le pregunte varias veces acerca de la instalación de software de dispositivo (device software). Estos son los dispositivos de red virtuales necesarios para que sus máquinas virtuales se comuniquen. Haga clic en Install para cada uno de ellos.

Una vez completada la instalación, haga clic en Finish.

Configurar la máquina virtual

Ahora empecemos con la VM. VirtualBox debería abrirse una vez terminada la instalación (si no, ábralo), y VirtualBox Manager debería darle la bienvenida, como puede ver en la Figura 2.

Figura 2.La pantalla VirtualBox Manager

Como vamos a crear una nueva VM con Kali Linux, haga clic en New, en la parte superior. Se abrirá el cuadro de diálogo Create Virtual Machine.

Asige un nombre a la máquina (puede ser cualquier nombre, aunque yo utilizo simplemente Kali) y seleccione Linux del menú desplegable Type. Por último, seleccione Debian (64-bit) del tercer menú desplegable (a menos que esté utilizando la versión de Debian de 32 bits). Haga clic en Next y verá una pantalla para seleccionar cuánta RAM utilizará para ubicar la nueva VM.

Como norma general, no recomiendo utilizar más del 25 % de la RAM total del sistema. Eso significa que, si ha instalado 4 GB en su sistema físico o host, seleccione solo 1 GB para la VM; y si tiene 16 GB en el sistema físico, seleccione 4 GB (o 4096 MB). Cuanta más RAM le dé a su máquina virtual, mejor y más rápido funcionará, pero también debe dejar suficiente para el sistema operativo host y cualquier otra máquina virtual que desee ejecutar simultáneamente. Las máquinas virtuales no utilizarán RAM cuando estén inactivas, pero sí espacio en el disco duro.

Haga clic en Next para acceder a la pantalla Hard Disk. Seleccione Create Virtual Hard Disk y haga clic en Create. Le preguntará que tipo de archivo de disco duro utilizar. Seleccione la opción predeterminada VDI.

En la siguiente pantalla, puede decidir si quiere que el disco duro que está creando se asigne dinámicamente o a un tamaño fijo. Le sugiero que elija Dynamically Allocated, pues el sistema no ocupará el tamaño máximo que asigne al disco duro virtual hasta que lo necesite, ahorrando más espacio de disco duro no utilizado para el sistema host.

Haga clic en Next y elija la cantidad de espacio de disco duro que desea asignar a la máquina virtual y la asignación de la misma (vea la Figura 3).

Figura 3.Asignación del espacio de disco duro

El valor por defecto es de 8 GB. Normalmente me parece poco, por lo que le recomiendo que asigne entre 20 GB y 25 GB como mínimo. Recuerde: si elige asignar dinámicamente espacio en el disco duro, no utilizará ese espacio hasta que lo necesite, y ampliar el disco duro después de que ya haya sido asignado puede ser complicado, así que mejor pecar por exceso.

Haga clic en Create y ¡ya lo tiene todo listo!

Instalar Kali en la VM

Llegados a este punto, debería ver una pantalla como la de la Figura 4. A continuación, deberá instalar Kali. Observe que, a la izquierda del VirtualBox Manager, aparece un indicador de que Kali VM está apagada. Haga clic en el botón Start (el icono con la flecha verde).

Figura 4.Ventana de bienvenida de VirtualBox

VirtualBox Manager le preguntará dónde encontrar el disco de arranque. Ya ha descargado una imagen de disco con la extensión .iso, que debería estar en la carpeta Descargas (si ha utilizado un torrent para descargar Kali, el archivo .isofile estará en la carpeta de descargas de la aplicación de torrenting). Haga clic en el icono de carpeta de la derecha, navegue hasta la carpeta Descargas y seleccione el archivo de imagen de Kali (vea la Figura 5).

Figura 5.Seleccione el disco de arranque

Haga clic en Start. ¡Enhorabuena! Acaba de instalar Kali en su máquina virtual.

Configurar Kali

Kali muestra una pantalla como la de la Figura 6, en la cual puede elegir entre varias opciones de arranque. Le sugiero usar la instalación gráfica para principiantes. Utilice las teclas del teclado para navegar por el menú.

Si se produce un error al instalar Kali en VirtualBox, quizás es que no tiene habilitada la virtualización en la BIOS de su sistema. Cada sistema y su BIOS son ligeramente diferentes, así que consulte con el fabricante o busque en Internet soluciones para su caso. Además, en los sistemas Windows, es probable que tenga que desactivar cualquier software de virtualización de la competencia, como Hyper-V. Busque en Internet y siga las instrucciones.

Figura 6.Seleccione el método de instalación

A continuación, deberá seleccionar el idioma. Elija el idioma con el que se sienta más cómodo y haga clic en Continue. Después, seleccione su ubicación, pulse en Continue y elija el diseño del teclado.

Al pulsar en Continue, VirtualBox iniciará un proceso de detección del hardware y de los adaptadores de red. Espere pacientemente mientras lo hace. Cuando termine, aparecerá una pantalla en la cual deberá configurar su red, como puede ver en la Figura 7.

Figura 7.Introduzca un nombre de administrador

Lo primero que le pide es el nombre de host. Puede ponerle el nombre que quiera, pero yo he dejado el predeterminado: kali.

A continuación, se le pedirá el nombre del dominio. Aquí, no es necesario introducir nada. Haga clic en Continue. La siguiente pantalla, que puede ver en la Figura 8, es muy importante. En ella, se le pide la contraseña que desea utilizar para el usuario root. A partir de Kali 2020 y versiones posteriores, Kali le proporciona un nombre de usuario y una contraseña configurados como kali.

Figura 8.Elija una contraseña

El usuario root en Linux es el todopoderoso administrador del sistema. En este caso, usted es un usuario normal: kali. Puede utilizar cualquier contraseña que considere segura. Si se tratara de un sistema físico en Internet, sería mejor que usara una contraseña muy larga y compleja para que no pudiera ser descifrada por un atacante. Pero como se trata de una máquina virtual a la que la gente no puede acceder sin pasar primero por el sistema operativo host, la autenticación de la contraseña es menos importante. Aun así, elija sabiamente.

Haga clic en Continue y configure la zona horaria del sistema. Hágalo y siga adelante.

La siguiente pantalla pregunta por las particiones de disco (una partición es exactamente lo que parece: una porción o segmento del disco duro). Elija Guided – use entire disk y Kali detectará los discos duros y configurará un particionador automáticamente.