Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
So You Want To Build A Nethunter Kernel — Guía paso a paso para compilar kernels personalizados de Kali NetHunter para Android: obtención del código fuente, selección de la cadena de herramientas, compilación cruzada y flasheo. | Kitploit
Herramientas/GitLabGitLab/akabulous/so_you_want_to_build_a_nethunter_kernel
Seguridad AndroidSeguridad de Sistemas EmbebidosPruebas de PenetraciónSeguridad MóvilAprendizaje y EducaciónRutas de Aprendizaje y Cursos
GitLabakabulous/so_you_want_to_build_a_nethunter_kernel

So You Want To Build A Nethunter Kernel

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Guía paso a paso para compilar kernels personalizados de Kali NetHunter para Android: obtención del código fuente, selección de la cadena de herramientas, compilación cruzada y flasheo.

Ver RepositorioSitio web
338hace 3 mesesAún no revisado

Así Que Quieres Compilar un Kernel de Nethunter

Introducción

El mayor obstáculo para la mayoría de las personas que quieren configurar un dispositivo Nethunter es el requisito del kernel. A menos que tu dispositivo ya tenga un kernel precompilado (y mantenido), te dirán que compiles uno tú mismo. Ya hay mucha documentación sobre este proceso, pero en mi experiencia puede ser difícil saber qué aplica en tu caso y qué no.

Este problema se ve agravado por gilipollas personas que escriben guías con títulos clickbait como “¡Compila un kernel de Nethunter para CUALQUIER dispositivo Android!” o con falsas promesas como “¡Aprende a compilar un kernel de Nethunter en diez minutos!” También es una desafortunada realidad de internet en 2025 que muchas idiotas personas piensen que ChatGPT u otros modelos de lenguaje grandes tienen respuestas autoritativas a sus preguntas, cuando todo lo que esos modelos realmente tienen es información que extrajeron de los mencionados gilipollas.

Escribo esta guía de la manera más exhaustiva y honesta que puedo. Sin embargo, no pretende ser el único documento que necesitarás leer para este proceso – seguramente tendrás preguntas que este documento no puede responder. Me gustaría animarte a buscar respuestas a estas preguntas en la documentación de software relevante, y NO en YouTube ni en ChatGPT.

Requisitos

Antes de comenzar CUALQUIER parte de este proceso, ya deberías tener:

  • Desbloqueado el bootloader de tu dispositivo
  • Instalada una ROM basada en AOSP (Android Open-Source Project) (LineageOS, crDroid, etc.) (opcional: instalado un recovery personalizado)
  • Rooteado tu teléfono con Magisk 28.1 + Zygisk habilitado (EDIT: con las versiones más recientes de NHTerm, ahora puedes actualizar Magisk de forma segura a la versión más nueva , pero si encuentras problemas al abrir NHTerm, vuelve a la 28.1)
  • Flasheado el kali-nethunter-2025.4-generic-arm64-minimal.zip en Magisk (el más reciente al momento de escribir esto)
  • Comprobado que la app de Nethunter + la app de Nethunter Terminal funcionan
  • Actualizados todos los paquetes instalados con apt update && apt upgrade -y (opcional: añadidos metapaquetes)
  • Flasheado el módulo Magisk de firmware inalámbrico para Nethunter

Para completar este proceso, necesitarás:

  • Una computadora de escritorio/portátil con arquitectura de procesador x86_64 (Intel/AMD) con GNU/Linux instalado - (sí, puedes usar una máquina virtual o una instancia de Docker si es necesario, pero no puedo orientarte sobre el uso de tales cosas, ya que simplemente ejecuto GNU/Linux en “hardware real” y te recomendaría hacer lo mismo por razones de rendimiento)
  • Al menos 8GB de RAM + 20GB de espacio libre en disco
  • Una buena conexión a internet - (semi-opcional: una cuenta en GitHub o GitLab. Esto te facilitará el seguimiento de tus cambios, y también distribuir tu kernel si logras compilarlo. Si no creas una cuenta, no esperes compartir tu kernel con nadie más: ¡a nadie le interesa una imagen de kernel que no cumple con la GPL y que no viene con código fuente!)
  • Conocimientos básicos de navegación en la línea de comandos de Linux (cd, rm, ls, mkdir, find, diff, grep, etc.)
  • Conocimientos básicos de uso de un editor basado en línea de comandos (vim para los más guays, o si no nano)
  • Conocimientos básicos de lenguaje de programación C/sintaxis de Makefile
  • El metapaquete build-from-source de tu distribución instalado (build-devel en distros basadas en Arch, build-essential en las basadas en Debian) – también recomendaría instalar Perl + Python3, ya que algunos makefiles del kernel los requieren

¿Esto será posible para mi dispositivo?

El kernel de Linux está licenciado bajo la GNU General Public License 2.0, que es una licencia copyleft. Esto significa que el código fuente del kernel de Linux se distribuye libremente y puedes modificar el código fuente como desees (como ha hecho cada fabricante de Android), SIN EMBARGO, tu código fuente resultante TAMBIÉN debe distribuirse libremente.

Para sorpresa de absolutamente nadie, muchas de las gigantescas corporaciones que usan código con licencia GPL hacen caso omiso de los términos de esta licencia. O se niegan a distribuir su código fuente o solo publican parte de él (generalmente roto, desactualizado y con blobs binarios incrustados). Si no hay código fuente disponible para el kernel de tu dispositivo, entonces no hay forma de crear un kernel de Nethunter para él.

Tu capacidad de desbloquear el bootloader e instalar una ROM personalizada también depende en gran medida de los caprichos del fabricante de tu dispositivo. Incluso si permiten desbloquear el bootloader y has podido rootear tu teléfono con Magisk, si no publican device trees, probablemente no haya ROMs personalizadas para tu dispositivo. En este caso, es extremadamente dudoso que el código fuente del kernel que publicaron (si lo hay) haya recibido mantenimiento desde su publicación, o que compile incluso sin modificaciones. Si no ves a nadie más manteniendo nada (kernels, ROMs, recoveries) para tu dispositivo, entonces será difícil, si no imposible, convertir ese dispositivo en un Nethunter completo.

Una Nota Sobre las Versiones del Kernel

Imaginemos que hay ROMs/kernels/recoveries personalizados actualizados y mantenidos regularmente para tu dispositivo, pero simplemente no hay kernel de Nethunter. En este caso, deberías poder completar este proceso, pero el proceso variará según la versión del kernel de Linux que use tu dispositivo.

La información en esta guía se basa en mi experiencia modificando kernels 4.14.x. Hay guías más antiguas que hablan sobre el uso de toolchains GCC (en lugar de LLVM/clang, como usaremos nosotros) que se aplican a kernels 3.x. Si tu dispositivo usa una versión 5.x/6.x del kernel de Linux, entonces la información de esta guía no será suficiente para completar este proceso. El método de compilación de Android cambia todo el tiempo, y deberías buscar una guía que cubra los kernels GKI y el uso de Bazel/Kleaf.

Primeros Pasos: Código Fuente, Toolchain y Configuración

Una buena forma de encontrar repositorios que contengan el código fuente del kernel de tu dispositivo es usar su codename. Todo Android tiene uno, aunque algunos fabricantes (p. ej. OnePlus) se divierten un poco más con esto que otros (p. ej. Samsung). El codename de mi Xiaomi Poco X3 NFC es "surya", mientras que el codename de mi Samsung A51 es "SM-A515F". Normalmente, los repositorios de código fuente del kernel siguen la convención de nomenclatura

android_kernel_MANUFACTURER_CODENAME

donde el fabricante es la empresa matriz, es decir, android_kernel_xiaomi_surya, no android_kernel_poco_surya.

Sin embargo, también puede haber repositorios basados en el SoC (system-on-a-chip) de tu dispositivo, a veces “unificados” para incluir archivos fuente de otros dispositivos con el mismo SoC. Este es el caso del Samsung que mencioné, cuyo repositorio fuente se llama android_kernel_samsung_exynos9611. Echa un vistazo por github/gitlab y mira lo que puedes encontrar.

Para los propósitos de esta guía, usaré la última LineageOS 22.2 (compilada el 2025-08-04) en surya, por lo tanto, querré clonar el código fuente del kernel desde el repositorio de LineageOS. Pero antes de hacer eso, quiero copiar dos archivos desde mi dispositivo a la computadora que usaré para compilar el kernel: /proc/config.gz y /proc/version.

Descargar herramienta