# Kali Linux

Kali Linux es una distribución basada en Debian GNU/Linux diseñada principalmente para la auditoría y seguridad informática en general. Fue fundada y es mantenida por Offensive Security Ltd. Mati Aharoni y Devon Kearns, ambos pertenecientes al equipo de Offensive Security, desarrollaron la distribución a partir de la reescritura de BackTrack, que se podría denominar como la antecesora de Kali Linux.

## Desarrollo

Kali Linux trae preinstalados más de 600 programas incluyendo Nmap (un escáner de puertos), Wireshark (un sniffer), John the Ripper (un descifrador de contraseñas) y la suite Aircrack-ng (software para pruebas de seguridad en redes inalámbricas). Kali puede ser usado desde un live CD, live USB y también puede ser instalada como sistema operativo principal.
Kali es desarrollado en un entorno seguro; el equipo de Kali está compuesto por un grupo pequeño de personas de confianza quienes son los que tienen permitido modificar paquetes e interactuar con los repositorios oficiales. Todos los paquetes de Kali están firmados por cada desarrollador que lo compiló y publicó. A su vez, los encargados de mantener los repositorios también firman posteriormente los paquetes utilizando GNU Privacy Guard.
Kali se distribuye en imágenes ISO compiladas para diferentes arquitecturas (32/64 bits y ARM).

## Instalación

Permite la instalación sobre arquitecturas i386, amd64 y ARM (armel y armhf). Para la arquitectura i386, a la imagen de Kali, trae un kernel PAE por defecto, por lo que se puede ejecutar en sistemas de más de 4GB de RAM. La imagen se puede instalar desde un DVD o utilizar una distribución Live desde USB. También permite la instalación vía red y brinda imágenes para la descarga de máquinas virtuales prefabricadas con las herramientas instaladas de VMWare.
Dado que los sistemas basados en la arquitectura ARM son cada vez más frecuentes y de bajo costo, Kali Linux tiene repositorios ARM integrados con la línea principal de distribución de modo que las herramientas para ARM son actualizadas junto con el resto de la distribución. Kali está disponible para los siguientes dispositivos ARM:
* rk3306 mk/ss808
* Raspberry Pi
* ODROID U2/X2
* MK802/MK802 II
* Samsung Chromebook
* Samsung Galaxy Note 10.1
* CuBox
* Efika MX
* BeagleBone Black

### Requerimientos para la versión (1.1.0)

* 8GB de espacio en disco.
* Para arquitecturas i386 y amd64 un mínimo de 1GB de RAM.

### Requerimientos para instalación en dispositivos Android

* Un dispositivo con Android 2.1 o superior, con privilegios de root.
* Al menos 5 GB de espacio en disco o almacenamiento externo.
* Conexión a Internet o a la nube.

## Usos generales
### Metasploit Framework

Dado que sigue una política llamada Kali Linux Network Services Policy, no tiene servicios de red, incluyendo servicios de bases de datos, corriendo desde la instalación del sistema. Entonces. se deben seguir un par de pasos para hacer funcionar Metasploit con soporte de base de datos.
* Iniciar el servicio de Kali PostgreSQL. Metasploit usa como base de datos PostgreSQL por lo tanto debe ser iniciado el servicio de esta base de datos antes de empezar la ejecución de Metasploit. Para verificar que está iniciado el servicio se puede utilizar el comando ss-ant asegurándose que el puerto 5432 está a la escucha.
* Iniciar el servicio de Kali Metasploit. La primera vez que se ejecuta crea una base de datos msf3. También inicia Metasploit RPC y los Web servers que requiera. Se puede ejecutar msfconsole para verificar la conectividad con la base de datos con el comando db status.
Se puede configurar el sistema para que ejecute Metasploit en el inicio.

### Forensics Mode en Kali Linux

BackTrack Linux introdujo la opción Forensics Boot al sistema operativo y se vio continuada en BackTrack 5, existe al día de hoy en Kali Linux. Sirve para poner a trabajar las herramientas de software libre más populares en materia forense de forma rápida y sencilla. Este modo es muy popular debido a que Kali está ampliamente disponible y es fácil de conseguir; muchos usuarios potenciales ya cuentan con una Imagen ISO o un Live USB con el sistema. A su vez, Kali cuenta con el software libre forense más popular instalado, es sencillo y rápido de bootear.
Se realizaron algunos cambios importantes:
* El disco duro no se utiliza en absoluto. Esto conlleva que, si existe una partición swap, no va a ser usada ni se monta automáticamente ningún disco interno.
* Se deshabilitó el automontado de medios extraíbles. Entonces, ni los pendrives ni los lectores de CD van a ser montados automáticamente.

## Políticas

A continuación se detallan algunas de las políticas de Kali Linux.

### Usuarios root

La mayoría de las distribuciones recomiendan que todos los usuarios utilicen los privilegios de un usuario regular mientras corren el sistema operativo. Sin embargo, Kali Linux es una plataforma de seguridad y auditoría, por lo que muchas herramientas deben ser ejecutadas con privilegios de root.

### Herramientas para pruebas de penetración

Hoy en día la cantidad de herramientas o scripts existentes, que realizan tareas similares, es inmenso.
Claramente ciertos casos pueden ser mejores que otros, o puede tratarse de preferencias personales, pero en si el universo de herramientas es enorme. Por lo tanto, mantener un repositorio, de herramientas para pruebas de penetración actualizado, puede llegar a ser una tarea sumamente difícil.
Por el motivo antes expuesto obliga al equipo de desarrollo de Kali a ser muy selectivo al momento de incorporar herramientas.
Algunos de los cuestionamientos planteados al momento de elegir una nueva herramienta son los siguientes: ¿Es útil la herramienta en un entorno de pruebas de penetración?, ¿Contiene la herramienta las mismas funciones de otras herramientas existentes?, ¿Está permitido la libre redistribución por la licencia de la herramienta?, ¿Cuántos recursos requiere la herramienta?, ¿Funcionará en un entorno “estándar”?, entre otros.

### Actualizaciones de seguridad

Kali Linux mantiene una relación estrecha con los repositorios de Debian GNU/Linux , por lo que recibe actualizaciones de seguridad tan frecuentemente como la distribución principal de Debian GNU/Linux para todos los paquetes que Kali no modificó.

### Código abierto

Kali Linux es una distribución que agrega miles de paquetes de software libre en su sección principal. Como derivado de Debian GNU/Linux, todo el software en si, cumple con las Guías de Software Libre de Debian GNU/Linux.
Como una excepción a lo anterior, Kali Linux no-libre contiene varias secciones con herramientas que no son de código abierto, pero que son permitidas para su distribución por Offensive Security a través de licencias específicas o determinadas en acuerdo con los vendedores.
Todos los desarrollos específicos de Kali hechos para su infraestructura o para integrar el software suministrado han sido puestos bajo la licencia GNU GPL.

### Servicios de red deshabilitados

Debido a que Kali puede ser potencialmente utilizado en entornos hostiles, los servicios de red se encuentran deshabilitados por defecto, con el objetivo de minimizar la exposición del usuario. Esto se logra mediante la utilización de hooks al SysVinit; es decir, se le agregan ciertas instrucciones a la inicialización normal del sistema las cuales deshabilitan los servicios de red.
En ciertas situaciones, el usuario podría requerir que ciertos servicios se mantengan habilitados a pesar de reiniciar el sistema. Para permitir esto, el usuario puede habilitar el servicio para que persista tras reiniciar el sistema utilizando el comando update-rc.d de la siguiente manera:
root@kali:~# update-rc.d apt-cacher-ng enable

## Referencias en la cultura popular

Kali Linux es la distribución de Linux elegida como sistema operativo principal por Elliot Alderson, personaje de ficción protagonista en la serie televisiva Mr. Robot. En dicha ficción, Alderson y el resto de hacktivistas de la serie aparecen usando con profusión esta distribución de Linux, así como diversas herramientas y software de la distribución, tanto en modo consola como en modo gráfico.