INTRO
** ADVERTENCIA: SUDO_KILLER es parte del proyecto KILLER. SUDO_KILLER todavía está en desarrollo y puede haber algunos problemas, cree un problema si encontró alguno. **
Descripción general
SUDO_KILLER es una herramienta que se puede utilizar para la escalada de privilegios en un entorno Linux al abusar de SUDO de varias maneras. La herramienta ayuda a identificar la configuración incorrecta dentro de las reglas de sudo, la vulnerabilidad dentro de la versión de sudo que se está utilizando (CVE y vulns) y el uso de binarios peligrosos, todo esto podría ser abusado para elevar el privilegio a ROOT.
SUDO_KILLER proporcionará una lista de comandos o exploits locales que podrían explotarse para elevar los privilegios. Vale la pena señalar que la herramienta no realiza ninguna explotación en su nombre, la explotación deberá realizarse manualmente y esto es lo que se pretende.
Caracteristicas
Algunas de las comprobaciones / funcionalidades que realiza la herramienta.
- Configuraciones erróneas
- Binarios peligrosos
- Versiones vulnerables de sudo – CVE
- Variables ambientales peligrosas
- Cosecha de credenciales
- Directorios grabables donde residen los scripts
- Binarios que pueden ser reemplazados
- Identificar guiones faltantes
Qué incluye la versión 2 de SK:
- Nuevas comprobaciones y / o escenarios
- CVE-2019-14287 – runas
- Aún no hay CVE – sudoedit – ruta absoluta
- CVE-2019-18634 – pwfeedback
- Suplantación de usuario
- lista de usuarios en el grupo sudo
- Rendimiento mejorado
- Errores corregidos (cheques, exportación, informe, …)
- Mejora continua de la forma en que se presenta la salida
- Pronto se agregarán nuevos videos
- Entrada de contraseña anónima eliminada varias veces
- Nueva funcionalidad: modo fuera de línea: capacidad de extraer la información requerida del sistema auditado y ejecutar SK en el host.
- Entorno de prueba: un acoplador para jugar con la herramienta y diferentes escenarios, también puedes entrenar en educación física.
Uso
Ejemplo de modo en línea
./sudo_killer.sh -c -e -r report.txt -p /tmp
Ejemplo de modo sin conexión
Ejecute extract.sh en el sistema que se va a auditar / máquina víctima. Copie el resultado de /tmp/sk_offline.txt en el sistema para ser auditado / máquina víctima a su host.
- Nota: faltan tres comprobaciones en el modo fuera de línea, todavía en desarrollo … próximamente …
Ejecute SK con el siguiente parámetro:
./sudo_killer.sh -c -i /path/sk_offline.txt
Argumentos opcionales
- -c: incluye comprobaciones CVE con respecto a la versión sudo
- -i: importar (modo fuera de línea) desde extract.sh
- -e: incluye la exportación del archivo de reglas / sudoers de sudo
- -r: nombre del informe (guardar la salida)
- -p: ruta donde guardar la exportación y el informe
- -s: proporciona la contraseña de usuario para las comprobaciones de sudo (no se recomienda ++ excepto para CTF)
- -h: ayuda
Comprobación de
CVE Para actualizar la base de datos de CVE: ejecute el siguiente script ./cve_update.sh
Proporcionar contraseña ( Importante )
Si necesita ingresar una contraseña para ejecutar sudo -l, entonces el script no funcionará si no proporciona una contraseña con el argumento -s.
Cómo ejecutar SK en la máquina objetivo / auditada
Si está en una máquina que tiene conexión a Internet, simplemente clone la herramienta y ejecútela. Si está en una máquina que no tiene internet, git clone en su host, comprima la herramienta (tar), luego transfiera el archivo comprimido a través de http / smb (servidor web apache / python simplehttpserver / smb server / nc) y luego descomprima el archivo en el sistema de destino y disfruta!
Notas
** NOTA: sudo_killer no se explota automáticamente por sí solo, se diseñó de esta manera a propósito, pero verifique la configuración incorrecta y las vulnerabilidades y luego le propondrá lo siguiente (si tiene suerte, la ruta a la raíz está cerca):
- una lista de comandos para explotar
- una lista de hazañas
- alguna descripción sobre cómo y por qué se pudo realizar el ataque
¿Por qué es posible ejecutar «sudo -l» sin contraseña?
Por defecto, si la etiqueta NOPASSWD se aplica a cualquiera de las entradas para un usuario en un host, él o ella podrá ejecutar «sudo -l» sin una contraseña. Este comportamiento puede anularse a través de las opciones generatepw y listpw.
Sin embargo, estas reglas solo afectan al usuario actual, por lo que si la suplantación del usuario es posible (usando su), sudo -l también debe iniciarse desde este usuario.
A veces, el archivo / etc / sudoers se puede leer incluso si no se puede acceder a sudo -l sin contraseña.
Docker: entorno de prueba vulnerable
** IMPORTANTE: la forma recomendada de probar la herramienta es utilizar la imagen de Docker creada a propósito para la prueba. La imagen contenía varias vulnerabilidades y configuraciones incorrectas relacionadas con el uso de SUDO.
¡Todo se prueba desde el contenedor Docker disponible en Docker Hub! **
Una imagen Docker está disponible en Docker Hub y se reconstruye automáticamente en cada actualización: https://hub.docker.com/r/th3xace/sudo_killer_demo . Inicialmente se basa en la imagen oficial de debian: jessie Docker (debian: jessie).
- Extraiga SUDO_KILLER_DEMO Docker Image del Docker Hub (esta versión puede estar un poco más actualizada):
service docker start docker pull th3xace/sudo_killer_demo docker run --rm -it th3xace/sudo_killer_demo
- Construir localmente desde Dockerfile:
service docker start git clone https://github.com/TH3xACE/SUDO_KILLER.git cd SUDO_KILLER docker build -t th3xace/sudo_killer_demo . docker run --rm -it th3xace/sudo_killer_demo
Nota: Es importante tener en cuenta que la ventana acoplable es solo un entorno que se puede utilizar para jugar con la herramienta, ya que contiene varias vulnerabilidades para explotar. La herramienta está destinada a ser utilizada por sí sola.
Fuente y demostracion: kitploit.com