RSS |

Blog de Omar

Just another WordPress weblog

Advertisement

Archive for the ‘ Backdoors ’ Category

Señores, sin  mucho más que decir, les adjunto la presentación del evento “ISACA Student Group – PUCP 2016”.

banner

 

Descarga la presentación: [AQUÍ]

Popularity: 6% [?]

1Después de mucho tiempo me tomo algo de tiempo para escribir, sin más preámbulo voy a escribir sobre puertas traseras en sistemas operativos basados en Linux. Las puertas traseras o backdoors son mecanismos de acceso que se instalan o configuran en un servidor para poder tener un acceso  rápído y facil al después de haber tenido acceso al mismo. Hace algún tiempo escribí sobre backdoors en sistemas Operativos Windows, aquí puedes ver los posts:

  • Making Metasploit Backdoors – Parte 1 [AQUÍ]
  • Making Metasploit Backdoors – Parte 2 [AQUÍ]

Algunas premisas:

Antes de que inicies a leer este POST, debes tener en cuenta lo siguiente sobre los backdoors:

  1. Un backdoor se puede instalar cuando el sistema ya ha sido vulnerado (obvio pero lo digo por si acaso).
  2. Si alguna vez te dejaron un computador Linux por unos momentos, este post es para PARA TI.
  3. Un backdoor puede ser instalado si es que tenemos un acceso físico al computador. Por ejemplo: “Te dejo la compu un momento, voy al baño”, es aquí donde puedes aprovechar, es tu momento.
  4. La idea de un backdoor es pase lo mas desapercibido posible, es decir, que el sysadmin no sospeche que podemos acceder a su computador/servidor cuando nosotros querramos.

Bueno, sin más preámbulo iniciemos con los métodos para backdoorizar un sistema Linux.

 

Los archivos utilizados en este POST lo pueden descargar desde: [AQUÍ]

Método 01: Setuid Backdoors

Un poco de teoría

Todos hemos escuchado hablar de los permisos en Linux, verdad? obvio que sí pero de pronto algunos nunca escucharon de los permisos GETUID, SETUID y STICKY. Pues este mecanismo de backdoor está asociado a SETUID.

¿Entonces en que consiste el SETUID?

El SETUID es un bit que permite a las aplicaciones ejecutarse con los permisos de su propietario. El concepto puede sonar muy abstracto pero si ponemos un ejemplo es más facil entender, vamos a crear un archivo llamado TEST.C y lo compilamos.

image

 

Ahora vamos a ejecutar el archivo TEST con un usuario distinto al de ROOT y veremos que los comandos CAT /ETC/SHADOW y LS /ROOT no se ejecutarán debido a que no cuentan con los permisos requeridos. Sin embargo, si le asignamos el bit SETUID se logran ejecutar los comandos debido a que ahora cuentan con los permisos de su propietario, es decir, de ROOT.

image

 

Le asignamos el bit SETUID y vemos que se puede ejecutar los comandos.

image

 

Este es sólo un resumen  rápido del bit SETUID pero si aún te quedan dudas de como funciona puedes revisar los siguientes enlaces:

Ahora sí el BACKDOOR

Bueno, ahora que ya vimos algo de la teoría necesaria, vamos a plantar el backdoor en el servidor utilizando SETUID. Vamos a crear un pequeño programa en C en donde se ejecutar una shell con los permisos de ROOT al invocarlo, es decir, cada vez que un usuario diferente a ROOT ejecute este archivo vamos a obtener una SHELL con los permisos de ROOT. Lo que toca es colocar (o esconder) este ejecutable en un lugar en donde nadie pueda sospechar que exista y asi podremos tener una shell para acceder como ROOT cuando quisieramos.

 

image

 

Algunos son mas ingeniosos, es decir, imaginemos que tenemos un Sysadmin algo curioso y encuentra un ejecutable con un nombre extraño y lo ejecuta, caramba!! habremos sido descubiertos y tendremos que buscar una buena excusa para argumentar porque dejamos un backdoor. Debido a eso podemos ser un poco más ingeniosos y hacer parecer nuestro ejecutable malicioso un ejecutable conocido e inofensivo. Miran el siguiente ejemplo:

 

image

 

 

Método 02: Backdoors en Archivos .deb

Los archivos con extensión DEB son los paquetes utilizados por distribuciones Linux basados en Debian. Digamos que es algo así como un .EXE en Windows (algo así). Cuando los archivos .DEB son instalados ejecutan unos comandos de postinstalación, basicamente para borrar algunos archivos temporales creados durante la instalación, pues lo que vamos hacer es editar esos comandos que se ejecutan POST instalación para beneficiarnos. A continuación los pasos para colocar un backdoor en un archivo .DEB:

 

  1. Vamos a utilizar un archivo .DEB que sepamos que el sysadmin va a instalar, digamos que tenemos acceso al repositorio de instaladores que normalmente usa el sysadmin y vamos a colocarle un backdoor.
  2. Vamos a utilizar el archivo sudo.c que creamos en el ejemplo anterior para colocarlo dentro de la nueva estructura del archivo .DEB. Aquí vamos:

 

  • Descargarmos un paquete, en este caso el freesweep.deb pero puede ser cualquiera. Fijense que le hemos puesto la opción –download-only para que no se instale sino que sólo se descargue.
  • Creamos una carpeta de trabajo llamada /tmp/prueba/work y sobre esa carpeta vamos a trabajar y modificar el archivo .DEB

image

 

  • Ahora toca crear el archivo POSTINST que se ejecuta después de instalar el paquete .DEB, en el archivo POSTINST hemos añadido una línea para que nuestro backdoor funcione.

image

 

  • Finalmente, el sysadmin instala el paquete y la instalación generará el archivo /usr/share/menu/freesweep.old en el servidor. Este archivo luego puede ser utilizado por un usuario de menos privilegios para obtener una shell con permisos del usuario ROOT.

image

Algunos detalles:

El segundo método utilizado es algo tedioso si es que vemos que el resultado es el mismo que el primer método, obtener un ejecutable que nos permite acceder como ROOT; además hay ciertas desventajas:

  • El ejecutable malicioso llamado SUDO tendría que haber sido compilado en el mismo servidor o en un servidor con la misma infraestructura (lo que nos quita algo de tiempo)
  • Tardamos mucho en el segundo método, por lo que el primer método por ser más rápido seria a todas luces mucho mas conveniente. Sin embargo, que tal si colocamos un ejecutable que intente conectarse remotamente a través de NETCAT o a través de una conexión reversa. Ese mecanismo es ya conocido y está en portal web de Offensive Security así que no pienso repetirlo en el blog pero sí en el video de manera rápida.

 

Conclusiones:

  1. Nunca le dejes tu computador desbloqueado a nadie, menos con privilegios de ROOT.
  2. Si tu computador Linux ya ha sido vulnerado lo más probable es que te hayan dejado algún backdoor y no te des cuenta. Y si tienes algún ROOTKIT pues….. mejor dile adiós a tu sistema operativo.
  3. Trataré (no prometo nada) escribir más seguido.

 

*****************************************************

Popularity: 10% [?]

En el primer video tutorial: Making Metasploit Backdoors – Parte 1 se desarrollaron 04 técnicas para la creación de backdoors:

Técnicas exclusivas de Metasploit

  1. Uso del comando RUN PERSISTENCE
  2. Uso del comando RUN METSVC

Técnicas de evasión de Antivirus

  1. Uso de SHIKATA GA NAI
  2. Uso de NETCAT + Modificación de registros + Modificación de firewall

Sin embargo, los que vieron el video habrán notado que el uso de SHIKATA GA NAI no podía evadir por completo todos los ANTIVIRUS del mercado, en este nuevo video tutorial Making Metasploit Backdoors – Parte 2, se explica como usar SHIKATA GA NAI embebido dentro de un archivo EXE trae como consecuencia evadir cualquier ANTIVIRUS.

 

 

Los archivos utilizados en el videotutorial pueden ser descargados desde aquí:

Presentación del evento LINUX WEEK 2012: DESCARGAR AQUÍ
Código C++ para la creación del ejecutable: DESCARGAR AQUÍ

Finalmente, no suelo tener fotos de los eventos en los que participo pero esta vez si tengo algunas fotos y antes de que se pierdan en mi disco duro, las voy a colocar aquí:

Popularity: 21% [?]

Hay muy pocas cosas en la vida que me complacen tanto como actualizar mi querido, fiel y casi abandonado blog, además sospecho que es este quien termina pagando con creces las consecuencias de mis decisiones laborales que me impiden actualizarlo con la frecuencia con los que mis dedos ansían. ¿No es acaso muy alto el costo? Sólo el tiempo lo dirá.

El domingo mientras las playas, discotecas mugrientas y centros comerciales estaban atiborradas de gente, decidí hacer un videotutorial sobre la construcción de backdoors con metasploit y aunque algunos piensen que fue una desafortunada decisión dedicar un domingo para elaborar un videotutorial y algunos lo llamen aburrido, yo suelo llamarlo un domingo interesante.

Sin más preámbulo, el videotutorial contiene lo siguiente:

  • Instalación de backdoors con metasploit en S.O Windows sin antivirus
  • Instalación de backdoors con metasploit en S.O Windows con antivirus y firewall activado
  • Instalación de backdoors con shikata ga nai para la evasión de antivirus
  • Instalación de backdoors con netcat para evadir eficazmente el antivirus

 

Popularity: 16% [?]