ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICABot y Botnets: Análisis de estructura y funcionamiento de las redes de  ...
Índice general1. Introducción y conceptos previos……………………………………………...1   1.1 Introducción………………………………………………………………………………1  ...
6. Montaje de una botnet……………………………………………………………………86   6.1 Configuración del bot…………………………………………………………...………86   6.2 Proce...
8.3 Detección de características secundarias………………………………..……………187    8.4 Herramientas de detección……………………………………………………………...
Índice de figurasFigura 1.1 Topología centralizadaFigura 1.2: Topología p2pFigura 1.3: Responsabilidades y técnicas de act...
Figura 4.16: Nuevos comandos DSNFigurra 4.17: Plugin DDOS para DSNXFigura 4.18: Plugin HTTP para DSNXFigura 4.19: Plugin d...
Figura 6.29: cuerpo de petición para WEBDAVFigura 6.30: código de la explotación del sistemaFigura 6.31: Comandos para el ...
Figura 7.20: Función SYN FloodFigura 7.21: Diagrama UML de las funciones DDOS de AgobotFigura 7.22: Funcionamiento del spa...
Índice de TablasTabla 1.1: Topologías de redes botTabla 4.1: Características de los primeros bots C&CTabla 5.1: Caracterís...
Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidosCapítulo 1Introducción y c...
Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidosEn este proyecto vamos a c...
Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos1.2 Definiciones y clasifi...
Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos                          ...
Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos    •    Aleatoria: Un sis...
Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos    •    Fueron los primer...
Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos    •    Se realizará una ...
Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos    1. Usuarios Domésticos...
Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos    •    Falta de detecció...
Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidosAparte de estos, organizac...
Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos     Figura 1.4: Crecimien...
Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidosNos encontramos sin duda, ...
Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidosCapítulo 2HistoriaLos inte...
Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos           Figura 2.1: Evo...
Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos                          ...
Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidossino para replicarse y dar...
Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidosEn 1949, en los laboratori...
Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidosposteriores lo convirtiero...
Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidosininterrumpidamente durant...
Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidosUna nueva generaciónLa pop...
Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidosterceros; Pocas veces está...
Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos                          ...
Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos                        Fi...
Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidosPese a todo, el efecto del...
Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos                          ...
Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidosLos sistemas infectados ex...
Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidosFigura 2.9: Cronología de ...
Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidosY en todo esto: ¿Dónde se ...
Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidosentonces “controvertido” c...
Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidosCapítulo 3 Funcionamiento ...
Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos           Figura 3.2: Se ...
Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos     Figura 3.3: Una vez e...
Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos          Figura 3.5: La b...
Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos                   Figura ...
Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos    trabajará como punto d...
Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos     3.1 Ciclos de un bot ...
Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidosPor otro el lado, el ciclo...
Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos        •    Fácil de usar...
Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidosMuchas redes han sufrido e...
Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidosCapítulo 4Fauna BotA la ho...
Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidosSe comienza el estudio con...
Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos4.1 Los precursores. Bots ...
Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos                     Figur...
Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos  Otro aspecto interesante...
Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidosEntre sus características ...
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos
Upcoming SlideShare
Loading in …5
×

Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos

1,623 views

Published on

Documentación del proyecto fin de carrera de Adríán Belmonte Martín, Bot y Botnets - Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos. Universidad de Sevilla Marzo 2007

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,623
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
27
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Adrián Belmonte: Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos

  1. 1. ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICABot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos Realizado por Adrián Belmonte Martín Para la obtención del título de INGENIERO TÉCNICO EN INFORMÁTICA DE SISTEMAS Dirigido por Sergio Pozo Hidalgo Realizado en el departamento de LENGUAJES Y SISTEMAS INFORMÁTICOS Convocatoria de Marzo Curso 2006-07
  2. 2. Índice general1. Introducción y conceptos previos……………………………………………...1 1.1 Introducción………………………………………………………………………………1 1.2 Definiciones y clasificación………………………………………………………………3 1.3 Objetivos………………………………………………………………………………….6 1.4 Justificación………………………………………………………………………………72. Historia……………………………………………………………………………………….13 2.1 Virus y gusanos: Los antecedentes……………………………………………………16 2.2 Bots de IRC. Antecedentes…………………………………………………………….283. Funcionamiento y estructura…………………………………………………30 3.1 Ciclos de un bot………………………………………………………………………….36 3.2 Algunos usos de las botnet……………………………………………………………...384. Fauna Bot…………………………………………………………………...…40 4.1 Los precursores. Bots IRC…………………………………………………………...…42 4.1.1 Coromputer dunno……………………………………………………………42 4.1.2 Skydance……………………………………………………………………...44 4.2 Los primeros bots C&C………………………………………………………………...45 4.2.1 Microbot…………………………………………………………………...…45 4.2.2 G-spot…………………………………………………………………...……47 4.2.3 Leechbot 2.0 VB……………………………………………………...………50 4.2.4 Data Spy Network (DSNX)……………………………………………..……50 4.2.5 Omega Project…………………………………………………………..……615. Las grandes Familias Bot…………………………………………………………..……66 5.1 Sdbot……………………………………………………………………………..………67 5.1.1 Versión 0.4……………………………………………………………………67 5.1.2 Versión 0.5……………………………………………………………………69 5.1.3 G-sys 3.0……………………………………………………………...………71 5.2 Spybot……………………………………………………………………………….……72 5.2.1 Versión 1.1……………………………………………………………………72 5.2.2 Versión 1.2……………………………………………………………………74 5.2.3 Versión 1.3……………………………………………………………………75 5.3 Rbot /rxbot/rx……………………………………………………………………………76 5.3.1 Los comandos……………………………………………………...…………80 5.4 Phatbot/Agobot…………………………………………………………………….……80 5.5 GT Bot (Global Threat bot) …………………………………………………....………83
  3. 3. 6. Montaje de una botnet……………………………………………………………………86 6.1 Configuración del bot…………………………………………………………...………86 6.2 Proceso de expansión……………………………………………………………………95 6.2.1 Infectando nuestro primer sistema. El bot semilla……………………………96 6.2.2 Proceso de expansion a otros sistemas…………………………...…………..97 6.3 Los “Spreaders…………………………………………………………………………102 6.3.1 NetBios spreader………………………………………………….…………102 6.3.2 SubSeven Spreader…………………………………………….……………107 6.3.3 Bagle spreader………………………………………………………………111 6.3.4 MyDoom spreader…………………………………………..………………113 6.3.5 Lsass spreader………………………………………………….……………113 6.3.6 Sasser Spreader……………………………………………….……..………115 6.3.7 Optix Spreader………………………………………………………………117 6.3.8 Dcom spreader………………………………………………………………120 6.3.9 Upnp spreader………………………………………………….……………123 6.3.10 MSSQL spreader……………………………………………...…………………….124 6.3.11 WebDav spreader……………………………………………….…………125 6.4 Ordenando el análisis……………………………………………………..….………127 6.5 Proceso de infección en el sistema comprometido ………………………….………133 6.6 Protección del bot………………………………………………………..……………1387. Explotación del sistema…………………………………………………………………150 7.1 KeyLogging…………………………………………………………………….………150 7.1.1 Envío de la información a un canal de IRC especificado…………...………151 7.1.2 Envío de información a un archivo local de la máquina comprometida…....153 7.2 Sniffing…………………………………………………………………………………158 7.2.1 Implementación en Rbot………………………………………….…………159 7.2.2 Implementación en Phatbot/Agobot…………………………...……………161 7.3 Ataques de Denegación de Servicio …………………………………………………165 7.4 Spam …………………………………………………………………..………………173 7.5 Funciones de proxy, pasarela y servidor………………………………….…………175 7.6 Fraude por clic…………………………………………………………………………179 7.7 Descargas y mejoras………………………………………………………...…………1818. Técnicas de protección ……………………………………………………….…………185 8.1 Prevención de equipos…………………………………………………………………185 8.2 Detección de las comunicaciones…………………………………………..………….186
  4. 4. 8.3 Detección de características secundarias………………………………..……………187 8.4 Herramientas de detección……………………………………………………………189 8.4.1 Herramientas de análisis del sistema ……………………….………………189 8.4.2 Herramientas basadas en Honeypots…………………..……………………194 8.4.3 Herramientas de análisis de ficheros capturados. Proceso de captura de una botnet……………………………………………………..…………………1979. Mercado y futruro de las redes bots…………………………..……………202 9.1 Mercado de las redes bot………………………………………………………………202 9.2 Futuro de las redes bot………………………………………………………...………20710. Conclusiones………………………………………………………………………..………210Anexo A: Comandos de SDbot…………………………………………………………………....213Anexo B: Comandos de Rbot……………………………………………………………………..219Anexo C: Comandos de Phatbot/Agobot…………………………………………………………222Anexo D: Desbordamiento de buffer…………………………………………………..…………232Anexo E: Ataque de Denegación de Servicio……………………………………………….……236Anexo F: Diccionario de términos…………………………………………………………..…….239Anexo G: Bibliografia……………………………………………………………………..……….243
  5. 5. Índice de figurasFigura 1.1 Topología centralizadaFigura 1.2: Topología p2pFigura 1.3: Responsabilidades y técnicas de actuación de ShadowserverFigura 1.4: Crecimiento del tamaño de las botnets informadas NOV-FEB 2007Figura 1.5: Crecimiento del número de botnets informadas Nov-Feb 2007Figura 2.1: Evolución de los primeros ataques a redes 1980-2000Figura 2.2: Definición de RootkitFigura 2.3: Eventos relacionados con gusanos y virusFigura 2.4: Descripción del funcionamiento del gusano blasterFigura 2.5: Captura del código del blasterFigura 2.6: Mensaje de infección del gusano BlasterFigura 2.7: Funcionamiento del gusano MyDoomFigura 2.8: Infección por el gusano SasserFigura 2.9: Cronología de la nueva generación de gusanos. 1-marzo 1999 /30 abril 2004Figura 3.1: El atacante busca un primer equipo víctimaFigura 3.2: Se ordena al ordenador semilla buscar nuevos objetivosFigura 3.3: Una vez encontrado la vulnerabilidad, se inyecta el código del botFigura 3.4: Los ordenadores comprometidos se unen al canal especificadoFigura 3.5: La botnet busca en Internet nuevos objetivos vulnerablesFigura 3.6: Estructura típica de una botnet C&C IRCFigura 3.7: Definición de DNS DinámicoFigura 3.8: Ciclo de un botnet desde el punto de vista del atacanteFigura 3.9: Ciclo de un bot desde la víctimaFigura 4.1: Diferencias entre bot IRC y bot C&C IRCFigura 4.2: Comunicación con el servidor IRCFigura 4.3: Ejemplo de comunicación con el servidor IRCFigura 4.4: Configuración del botFigura 4.5: definición de Socket RawFigura 4.6: Definición de UPXFigura 4.7: Configuración de MicrobotFigura 4.8: GUI de GspotFigura 4.9: Comandos G-spotFigura 4.10: Gspot en acciónFigura 4.11: GUI Del bot Data Spy Network 0.4bFigura 4.12: Comandos de DSNXFigura 4.13: Diagrama de clasesFigura 4.14: Comentario del autor del archivo Readme.txt del bot DSNXFigura 4.15: GUI del bot DSN versión 0.5b
  6. 6. Figura 4.16: Nuevos comandos DSNFigurra 4.17: Plugin DDOS para DSNXFigura 4.18: Plugin HTTP para DSNXFigura 4.19: Plugin de análisis de puertos para DSNXFigura 4.20: Comandos del bot OmegaFigura 5.1: Configuración del bot sdbotFigura 5.2: Nuevos comandos versión 0.5Figura 5.3: Comandos SpybotFigura 5.4: Comandos Spybot versión 1.2Figura 5.5: Editor de configuración de PhatbotFigura 5.6: Evolución temporal de las familiasFigura 5.7: Directorio que contiene al botFigura 6.1: Ejemplo de configuración del bot Coromputer dunnoFigura 6.2: Archivo de configuración de RbotFigura 6.3: Ejemplo de archivo de cabecera externo del bot LeechbotFigura 6.4: Archivo de configuración del bot Omega IIFigura 6.5: GUI del bot Dataspy NetworkFigura 6.6: GUI del bot G-spotFigura 6.7: Configuración del bot microbotFigura 6.8: GUI del bot PhatbotFigura 6.9: RPC de MicrosoftFigura 6.10: Diagrama de flujo de la función nb_net_execFigura 6.11: Codigo del modulo nb_net_uploadFigura 6.12: Función nb_port_scanFigura 6.13: Diagrama de flujo de la función nb_net_connectFigura 6.14: Diagrama de flujo de la función nb_spreadFigura 6.15: Clase CScannerNetBios del bot AgobotFigura 6.16: Aprovechando el sub7Figura 6.17: Diagrama de flujo Sub7Figura 6.18: Código fuente del programa para explotar el gusano bagleFigura 6.19: Diagrama de flujo del módulo bagleFigura 6.20: Fragmento de codigo de las cadenas a inyectarFigura 6.21: Funcionamiento del gusano SasserFigura 6.22: Diagrama de flujo de la explotación del gusano sasserFigura 6.23: Código del programa de explotación del gusano OptixFigura 6.24: Código del shellcode Dcom2Figura 6.25: Detectando la versión del SOFigura 6.26: Diagrama de flujo del programa de explotación de la vulnerabilidad DCOMFigura 6.27: Extracto del código fuente del programaFigura 6.28: Extracto del código fuente del programa
  7. 7. Figura 6.29: cuerpo de petición para WEBDAVFigura 6.30: código de la explotación del sistemaFigura 6.31: Comandos para el análisis de equiposFigura 6.32: Captura del bot en acciónFigura 6.33: Código UML de PhatbotFigura 6.34: Función Doinfect ()Figura 6.35: Explicación de algunas funciones útilesFigura 6.36: Fichero startup.cFigura 6.37: Fragmento de WinMain del bot spybotFigura 6.38: Fragmento del archivo de configuración de sdbotFigura 6.39: Fragmento de código con las claves del registroFigura 6.40: Código UML del instalador en el inicio de PhatbotFigura 6.41: Estructura de entada de procesosFigura 6.42: Funciones de utilidad en el manejo de procesosFigura 6.43: Función killavFigura 6.44: Funciones útiles en el manejo de serviciosFigura 6.45: Código fuente de killsvcFigura 6.46: Llamada a la comparación con la listaFigura 6.47: Bloqueando la resolución de direccionesFigura 6.48: Entradas en el registro de virus conocidosFigura 6.49: Función removevirusFigura 7.1: Función del capturador de teclasFigura 7.2: Función sendkeys del bot spybotFigura 7.3: Función StartLogging del bot DSNFigura 7.4: Función JournelLogProcFigura 7.5: Hilo de capturas de teclasFigura 7.6: Función SaveKeys del RbotFigura 7.7: estructuras de la función PsniffFigura 7.8: Declaración de las variables para el snifferFigura 7.9: Comparación del paquete con las variables definidasFigura 7.10: Función que compara si el tráfico capturado es sospechoso de ser botFigura 7.11: Función que compara si el tráfico capturado es sospechoso de ser IRCFigura 7.12: Función que compara si el tráfico capturado es sospechoso de ser FTPFigura 7.13: Función que compara si el tráfico capturado es sospechoso de ser HTTPFigura 7.14: Función que compara si el tráfico capturado es sospechoso de usar un programa vulnerableFigura 7.15: Segmento de la función en donde se realiza la comparación de los paquetesFigura 7.16: Bot Capturando tráficoFigura 7.17: Ataque por DDOSFigura 7.18: Ataque por denegación de servicio mediante una botnetFigura 7.19: Definición de IP Spoofing
  8. 8. Figura 7.20: Función SYN FloodFigura 7.21: Diagrama UML de las funciones DDOS de AgobotFigura 7.22: Funcionamiento del spamFigura 7.23: Definición de ProxyFigura 7.24: Clase PortRedirect del bot DSNFigura 7.25: Lanzador del servidor httpFigura 7.26: Fraude por clicFigura 7.27: Petición http para visitar un sitio determinadoFigura 7.28: Estructura de la información de la descargaFigura 7.29: Conexión con la URL remotaFigura 7.30: Copiando el archivoFigura 7.31: Ejecución del archivo remotamenteFigura 7.32: Desinstalación del programa anteriorFigura 8.1: Captura de las comunicacionesFigura 8.2: SecheckFigura 8.3: Secheck analizando un sistema WindowsFigura 8.4: HijackThisFigura 8.5: Archivo de log de HijackthisFigura 8.6: MultipotFigura 8.7: NepenthesFigura 8.8: Archivo generado por RegShot con los cambios realizados en el sistemaFigura 8.9: Ejemplo de la captura del tráficoFigura 8.10: Información sensible mostrada por el programaFigura 8.11: LorPEFigura 8.12: Desensamblador IDAFigura 9.1: Ubicaciones de los servidores C&CFigura 9.2: Entrevista publicada en Computer Sweden traducido por hispasecFigura 9.3: Uso de Web para el comando y controlFigura 9.4: Ventana de comandos del C&C vía Web
  9. 9. Índice de TablasTabla 1.1: Topologías de redes botTabla 4.1: Características de los primeros bots C&CTabla 5.1: Características de las diferentes familiasTabla 6.1: Puertos de las vulnerabilidades más usadasTabla 6.2: Características de la explotación en los distintos botsTabla 7.1: Resumen de características de explotación de los bots
  10. 10. Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidosCapítulo 1Introducción y conceptos previos1.1 IntroducciónEn su sentido más amplio un bot (diminutivo de robot que a su vez deriva de la palabraChecoslovaca “robota” que significa trabajo) es un programa informático que realizadiversas funciones imitando a los humanos: Minería de datos en Internet, funcionesrutinarias de edición de páginas Web, arañas de búsqueda, cartografiar sitios Web…En el mundo de los videojuegos y los juegos en on-line se conocen a los bots comoprogramas que son capaces de jugar por si mismos (Aquí denominados borgs), véase elcaso de juegos como Half-life o Quake en los que eran utilizados para sustituir acontrincantes humanos. Los bots para juegos CRPG (computer role-playing games) sonparticularmente conocidos, en juegos como World Of Warcraft o City of Heroes, esposible dejar un bot en línea mientras el usuario no se encuentra conectado, inclusopudiendo realizar algunas tareas de manera automática y subir de nivel.En sitios de conversión en línea (IRC) algunos bots fueron creados para responder deforma automática a eventos externos concretos, de tal modo se puede intentar “simular”conversaciones de una persona real, también son usados por los operadores del servidorpara realizar algunas operaciones de control de los canales, ayuda a los usuarios eincluso últimamente, de publicidad.Otros bots, por el contrario, están destinados a propósitos menos lícitos, como abrircuentas en sitios de correo gratuitos, para evitar esto, los administradores optan amenudo por añadir un paso adicional como escribir una palabra en formato gráfico queel usuario debe introducir, algo difícil de interpretar para un bot, ya que estos noreconocen el texto contenido en una imagen.Es importante distinguir que bot es una definición funcional, y no hace diferencias encuanto a su implementación. Un bot puede estar diseñado en cualquier lenguaje deprogramación, funcionar en un servidor o en un cliente, ser un agente móvil, etc. [2] Autor: Adrián Belmonte Martín 1
  11. 11. Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidosEn este proyecto vamos a centrarnos en un tipo de bot que está diseñado para tomar elcontrol de las máquinas a las que ataca y que es capaz en algunos casos de propagarseautomáticamente usando vulnerabilidades del sistema afectado.Estos bots forman una red de máquinas comprometidas (botnet) bajo la dirección únicadel creador de dicha red.“En las seis horas que pasaron desde que se desplomó en la cama hastaque salió de ella, el hacker de 21 años ha comprometido cerca de 2000ordenadores personales en todo el mundo. Dormía mientras suprograma barría Internet en búsqueda de ordenadores vulnerables,infectándolos con virus que los volvía su esclavo.Ahora, con el humo de su primer Malboro del día, anda por la sala deestar de la casa de sus padres. El hacker, conocido en la red como0x80, se sienta en un sofá de cuero, pone su portátil en la mesa y tecleauna serie de comando. Con esta orden, los ordenadores infectados,empezaran a bajar e instalar software que bombardeará a sus usuarioscon anuncios de sitios Web pornográficos. Tras la instalación, 0x80ordenará a las máquinas buscar en Internet nuevas víctimaspotenciales.El joven hacker [...] da una profunda calada y se recuesta en el sofápara exhalarlo. Sonríe. Es su día de trabajo, terminado en menos dedos minutos. En dos semanas recibirá un cheque por valor de 300dólares de una de las compañías de marketing on-line que le paga porsus servicios.” Fragmento traducido del artículo: Invasion of the Computer Snatchers por Brian Kreb. Publicado en The Washington post el Domingo 19 de Febrero del 2006 Página w10.2 Autor: Adrián Belmonte Martín
  12. 12. Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos1.2 Definiciones y clasificaciónAsí pues, definimos:Bot: Se generaliza a programas sirvientes que realizan determinadas acciones a base decomandos emitidos desde el controlador. El tipo de bot que estudiaremos aquí es eldenominado bot C&C (Command and Control, traducido: comando y control) cada vezque nos refiramos de ahora en adelante al término bot, estaremos refiriéndonosinequívocamente a este. Si hablamos de otro tipo, lo indicaremos explícitamente.Botnet: Su nombre se generaliza a partir del 2003 y hace referencia a redes de equiposcomprometidos (bots) controlados desde un equipo central, empleando diversosprotocolos.Bot herder o bot master: Es el “dueño” de la red de bots.Máquina zombie (drone): Con anterioridad al 2000 se solía usar este término paradefinir una máquina comprometida usada para ataques de denegación de serviciodistribuida. En la actualidad podemos ampliar el término a máquina comprometida conun bot bajo las órdenes del bot herder o bot masterExisten varios tipos de bots de comando y control (C&C), y se suelen clasificar segúnsu topología [3]: • Centralizada: Se caracteriza por un punto central que comunica los mensajes entre los clientes. Al ser un sólo sistema único, los mensajes suelen tener una latencia baja, ya que la dirección entre todos los puntos es conocida y bien definida. Desde la perspectiva del atacante este sistema tiene dos puntos débiles: 1. Son fáciles de detectar si hay demasiados clientes conectados al mismo punto 2. Si se desconecta el punto central, se desconecta el sistema completo. Autor: Adrián Belmonte Martín 3
  13. 13. Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos Figura 1.1 Topología centralizada • Punto a punto (P2P): Este sistema está empezando a ser implantado en las botnets más avanzadas, posee importantes ventajas sobre las redes centralizadas. En primer lugar, es un sistema mucho más robusto. La desconexión de un bot no significa necesariamente la pérdida de la botnet completa, por el contrario el diseño de los sistemas p2p son más complejos y no existen garantías de entrega de mensajes o latencia. Figura 1.2: Topología p2p4 Autor: Adrián Belmonte Martín
  14. 14. Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos • Aleatoria: Un sistema de comunicaciones podría estar basado en el principio de que ningún bot sabe nada sobre otro bot. En esta topología un bot o su controlador que quisiera enviar un mensaje, lo cifraría, analizaría la red en búsqueda de otro equipo infectado y enviaría el mensaje cuando lo detecte. Un sistema como este, es relativamente fácil de implementar y la detección de un bot nunca pondría en peligro toda la botnet, sin embargo, la latencia de los mensajes será muy alta y sin garantías de entrega.Topología Complejidad en Facilidad de Latencia de Supervivencia el diseño detección mensajesCentralizada BAJA MEDIA BAJA BAJAP2P MEDIA BAJA MEDIA MEDIAAleatoria BAJA ALTA ALTA ALTA Tabla 1.1: Topologías de redes botDe manera un poco más abstracta también se clasifica según la cantidad de informaciónque se suministra: por un lado, tenemos la topología central, en la que el servidor sabetodo acerca de todos los clientes mientras que en el otro extremo nos encontramos conla topología aleatoria, en la que no sabemos nada de ningún cliente.Cada topología tiene sus ventajas e inconvenientes, y sin duda, la topología óptima seencuentra en algún sitio entre los extremos.Entre todas estas opciones, vamos a focalizar el estudio en los bots de comando ycontrol bajo protocolo IRC, que estaría dentro de la topología centralizada. Existenvarios motivos para iniciar el estudio de los bots en esta categoría: • Simplicidad: Es más sencillo que estudiar que otros protocolos como p2p y mucho más clarificador. Además es un protocolo muy extendido y conocido. Autor: Adrián Belmonte Martín 5
  15. 15. Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos • Fueron los primeros en aparecer: Los primeros bots se programaron pensando exclusivamente en esta topología, por lo tanto los programas están más depurados y probados. • Poseen más código fuente para su estudio: Las fuentes con bots programados para esta topología son superiores a cualquier otra topología existente. • Contamos con más cantidad de programas para comparar: Con lo que podemos incluso realizar clasificaciones según distintos métodos o características. Es, por tanto, una plataforma y un protocolo excelente para comenzar el estudio de redes de bots, para ver cómo funcionan internamente, cómo se comunican y que métodos podemos usar para evitarlas.1.3 ObjetivosEn este proyecto vamos a investigar a fondo las redes de bot, el objetivo final esproporcionar una idea clara de la estructura y funcionamiento de las redes de equiposcomprometidos, de la amenaza que suponen a nivel particular y general, de concienciarde la importancia de la seguridad en red y de proporcionar información sobre métodos yherramientas que se puedan utilizar para combatir este tipo de amenazas. Para lograresto: • Proporcionaremos una definición exacta sobre qué tipo de bot hablaremos. Al ser un término con tantas acepciones es importante indicar a cuál exactamente nos estamos refiriendo • Se analizarán las diferentes topologías en las que se implementan dada la importancia de conocer cómo se comunican estos tipos de redes para lograr su desarticulación • Conoceremos sus antecedentes. Sus diferencias con los gusanos de Internet, qué características heredan de ellos y de los bots de IRC. • Estudiaremos la historia de los diferentes virus y gusanos para comprender la evolución tecnológica de los mismos.6 Autor: Adrián Belmonte Martín
  16. 16. Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos • Se realizará una clasificación exhaustiva por familias y características de aproximadamente 300 tipos de bots diferentes, estudiando detalladamente sus funcionalidades a través de su código fuente. • Estudiaremos las vulnerabilidades de las que se aprovechan estos programas y veremos cómo se implementan en los bots • Veremos el proceso de expansión de una red de bots, cómo comprometen los sistemas vulnerables y qué comandos y procedimientos se usan comúnmente • Estudiaremos cómo explota el bot-herder los ordenadores comprometidos y cuáles son los usos habituales de una red de bot para comprobar cómo nos afectan • Analizaremos las funcionalidades de cada tipo de bot • Examinaremos qué beneficios obtiene el dueño de las botnets para comprobar los negocios que se encuentran tras estas redes • Estudiaremos qué herramientas y métodos existen para protegernos de la amenaza que suponen • Veremos cómo se puede desactivar una botnetPara todo esto, comenzaremos el proyecto con la historia y antecedentes de los gusanosasí como de los bots de IRC, antecedentes de los bots. Posteriormente, losclasificaremos según sus familias y siguiendo un orden cronológico para comprobar laevolución de estos programas, a continuación, pasaremos a la parte más técnica delproyecto y estudiaremos los módulos de expansión y explotación del sistema,analizando en multitud de ocasiones el código fuente de los programas. Acabaremoscon las técnicas y programas usados para poder protegernos de estas redes.1.4 JustificaciónVisto todo esto es interesante resaltar por qué debemos estudiar el funcionamiento delas redes de bots, ya que nos afecta directa e indirectamente. Podríamos diferenciar lascausas de interés de este estudio en tres grandes grupos: Autor: Adrián Belmonte Martín 7
  17. 17. Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos 1. Usuarios Domésticos: • Suplantación de identidad • Robo de contraseñas • Robo de datos bancarios • Publicidad no deseada • Derroche de recursos y deterioro en el funcionamiento del sistema 2. Empresas • Deterioro de la imagen de la empresa: • Perdidas económicas por posibles caídas en los servicios • Filtrado de datos “sensibles” de la empresa • Generación de tráfico innecesario • Derroche de recursos • Extorsión por parte de terceros • Instalación de malware y envío de spam en los sistemas de la empresa • Perdida de confianza del usuario en servicios on-line 3. Internet • Generación de tráfico innecesario. Ruido de fondo de Internet • Aumento de ataques y del uso indebido de las redes.Los principales problemas que nos encontramos a la hora de hacer frente a una botnetson los siguientes: • Dificultad en la detección: Detectar un bot en un sistema es algo que en ocasiones resulta bastante complejo, los bots de última generación incluyen técnicas de ocultación avanzadas. Detectar una botnet es algo que dependerá de la topología de la red, de los métodos que contemos y sobre todo de la experiencia del administrador que realice esta tarea. • Uso de protocolos comunes: El uso de protocolos como IRC o http y el uso de puertos usuales, camufla este tipo de programas en el tráfico común de Internet, además cuenta con la ventaja de que la mayoría de Firewalls están configurados para permitir este tráfico.8 Autor: Adrián Belmonte Martín
  18. 18. Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos • Falta de detección por los Antivirus: Dado que cada programa puede ser modificado, ampliado y lanzado a la red, se da el caso de que existen cientos de variantes del mismo programa, con lo que, a no ser que el programa antivirus posea unas características heurísticas muy buenas, la compañía tarda un tiempo en recoger el binario, analizarlo y publicar una vacuna, esto añadido al tiempo que tarda el usuario en aplicar la actualización, hace que los equipos puedan estar mucho tiempo “al desnudo”. • Dificultad de “cazar” al dueño de la red: Normalmente es muy difícil seguir el rastro del bot master ya que el servidor IRC hace de capa de protección, incluso es común que se conecte al servidor a través de uno de los equipos infectados, haciendo este de “proxy”. Además es usual la instalación de servidores IRC privados en máquinas infectadas, re-dirigiéndolos mediante DNS dinámicos y el uso de máscaras de acceso en estos servidores.Existen grupos en Internet que se dedican activamente a la caza de redes bots(denominados bot hunters o zombie hunters) como por ejemplo ShadowServer , ungrupo de voluntarios expertos en seguridad que se encargan de recoger, clasificar einformar de actividades como spam, botnets y fraude electrónico con la finalidad demejorar la seguridad de Internet.: Figura 1.3: Responsabilidades y técnicas de actuación de ShadowserverEn la página Web del grupo, encontramos información sobre cómo instalar el softwareadecuado para detectar e informar de bots al grupo. Autor: Adrián Belmonte Martín 9
  19. 19. Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidosAparte de estos, organizaciones ligadas a los gobiernos como CERT en americano oREDIRIS en España, se dedican a prevenir estas redes y concienciar a los usuarios delos peligros que estas entrañan.A pesar de todos estos esfuerzos, el creciente número de máquinas “zombie” en lasredes empieza a ser preocupante. De acuerdo con las estadísticas de Symantec, en losprimeros 6 meses del 2006, se observaron una media de 57.000 bots activos por día. Asímismo, durante ese periodo 4.7 millones de ordenadores fueron usados activamente enbotnets. [1]A pesar de contar con estas estadísticas nadie puede saber a ciencia cierta el porcentajeexacto de máquinas que se encuentran operando en la actualidad, esto es difícildeterminar debido a las diferencias en su tipología y morfología, que las hace muydifícil de detectar y catalogar.El continuo crecimiento y diversificación de Internet, ha venido acompañado de unincremento de los ataques e intrusiones. Sin embargo, se observa un cambio significanteen la motivación de los atacantes: se ha pasado del vandalismo y el reconocimiento enla comunidad, a los ataques para obtener beneficio económico. Este cambio ha supuestoun crecimiento en la sofisticación de los métodos y las herramientas de ataque.Actualmente los PC´s domésticos son objetivos apetecibles para los atacantes. Lamayoría de los objetivos ejecutan Microsoft Windows y muy a menudo no sonactualizados correctamente o protegidos tras un firewall, dejándolos expuestos a ataques.Además, se encuentran también los ataques indirectos como los archivos HTML queexplotan vulnerabilidades o software malicioso en las redes Peer to Peer.Las máquinas con conexión de banda ancha que se encuentran siempre conectadas sonun objetivo valioso para un atacante: se estima que los beneficios de este tráfico deciclos de cpu y recursos gastados en la instalación de bots podrían llegar a rondar elbillón de dólares.Trend Micro, afirma que al menos el 5% de todos los ordenadores conectados a Internethan sido usados alguna vez en botnets en cualquiera de sus variantes. [1] y siobservamos los gráficos de los últimos meses en cuanto actividad de bot y botnets, entan sólo los casos notificados (en la realidad son mucho mayores, ya que no todas lasredes son fácilmente detectadas) observamos que nos encontramos lejos de acabar conesta amenaza.10 Autor: Adrián Belmonte Martín
  20. 20. Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos Figura 1.4: Crecimiento del tamaño de las botnets informadas NOV-FEB 2007.Fuente ShadowServerFigura 1.5: Crecimiento del número de botnets informadas Nov-Feb 2007: Fuente ShadowServer Autor: Adrián Belmonte Martín 11
  21. 21. Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidosNos encontramos sin duda, ante uno de los retos más importantes a los que se enfrentala seguridad informática en el principio de este nuevo milenio. Ya no sólo por el riesgode violación de privacidad o robo de información, si no porque, tras estas redes deordenadores remotamente controlados, se encuentran mafias perfectamente organizadasque se lucran económicamente de cada sistema comprometido.Existe en la actualidad una autentica lucha, un juego del ratón y el gato, entre loscreadores de las redes bot y los que luchan por desactivarlas. Las técnicas en eldesarrollo de los bots mejoran día a día, así como el abanico de vulnerabilidades queexplotan. Los intrusos ya no se mueven por diversión o autosatisfacción, ahora lo hacenpor beneficios económicos, lo que les permite dedicarle más tiempo y recursos aldesarrollo de los programas.Sin embargo, el desconocimiento casi total que se tiene de este tema es una de susmejores bazas, es un tema poco conocido incluso en los ambientes de técnicos enseguridad. Hay una enorme carencia de información con respecto a las redes bot, no hayningún libro publicado y la que existe se encuentra muy diseminada, poco organizada ypoco conocida.Era necesario realizar este proyecto ya que era preciso recopilar la poca informaciónexistente, organizarla y analizar a fondo cómo funcionan estos programas, será este, portanto, el documento de mayor extensión y profundidad que existe actualmente sobre eltema. Conoce a tu enemigo, es importante estudiar siempre a qué nos enfrentamos y eneste caso es el estudio de una red de las que provienen la mayoría de los fraudes ydelitos cibernéticos que se usan en la actualidad siendo previsible que aumenten en unfuturo. Conocer su estructura y el funcionamiento nos permitirá analizar y buscarsoluciones ante uno de los principales problemas de Internet y que es,sorprendentemente, desconocido para la mayoría de los usuarios de la Red.12 Autor: Adrián Belmonte Martín
  22. 22. Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidosCapítulo 2HistoriaLos intentos de comprometer un sistema han estado presentes desde la creación de lasredes de comunicaciones, el atractivo que los primeros “hackers” encontraban enhacerse con el control de un sistema remotamente, solía ser el reto intelectual que lessuponía el conseguirlo o el reconocimiento de su “comunidad”, por otra parte, seencontraban con la oportunidad acceder a una máquina con unas prestaciones que deotra manera no tendrían oportunidad de usar.El objetivo de estos atacantes solían ser ordenadores conectados a las redes de lasuniversidades: Eran un buen objetivo, tenían más probabilidades a priori de estar malconfigurados que un ordenador de un servidor militar o gubernamental, poseían unabuenas prestaciones de cómputo y además estaban conectados 24 horas al día 7 horas ala semana. Usualmente, los atacantes a estos sistemas solían aprovechar deconfiguraciones típicas vulnerables, contraseñas poco seguras (normalmente por defecto)e incluso ingeniería social para acceder a los sistemas. La gran mayoría de estosatacantes no comprometían el sistema con fines maliciosos, se limitaban a curiosear y aintentar no ser detectados el máximo tiempo posible.Con la expansión de la informática y de las redes de ordenadores, un mayor número deusuarios se acercan a esta manera de comunicación y con ello un aumento de losusuarios interesados en explotar los sistemas con fines no lícitos o simplementedemostrar la inseguridad en las redes de comunicaciones.Sin embargo, las técnicas para ganar el acceso a un sistema han variado con el tiempo,mejorando y aumentando su complejidad técnica, se observa en la figura la evolución delos primero ataques en Internet. Autor: Adrián Belmonte Martín 13
  23. 23. Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos Figura 2.1: Evolución de los primeros ataques a redes 1980-2000Formalmente y muy resumidamente las fases de un ataque a un sistema se dividen en: 1. Exploración: El atacante analiza el sistema objetivo para comprobar si usa Software vulnerable de ser explotado. 2. Acceso: Mediante un fallo de seguridad el atacante consigue acceder al sistema. Aprovechando fallos locales, puede conseguir el acceso como administrador. 3. Consolidación: Una vez en el sistema, el intruso elimina las pruebas del ataque e intenta instalar herramientas rootkit para asegurarse el acceso cómodo la próxima vez. 4. Explotación: El atacante emplea el sistema para diversos fines.14 Autor: Adrián Belmonte Martín
  24. 24. Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos Rootkit Un rootkit es una herramienta, o un grupo de ellas usadas para esconder los procesos y archivos que permiten al intruso mantener el acceso al sistema, a menudo con fines maliciosos. Hay rootkits para una amplia variedad de sistemas operativos, como Linux, Solaris o Microsoft Windows [1]. Figura 2.2: Definición de RootkitLas técnicas que usa un bot para comprometer un sistema viene heredadoprincipalmente de dos tipos de programas distintos: • Gusano: El bot utiliza acciones típicas de un gusano de Internet para realizar más o menos automáticamente las tres primeras acciones del proceso ( Exploración, acceso y consolidación) • Bot de IRC: Es la técnica usada para mantener la estructura C&C y realizar la explotación del sistema, Este punto puede variar según el tipo de protocolo o la topología (por ejemplo si usamos p2p), como hemos comentado, en este documento nos vamos a centrar en estudiar este tipo.Vamos a comenzar definiendo estos tipos de programas y posteriormente intentaremosestudiar los antecedentes históricos de cada uno de ellos.Un virus informático es un pequeño programa creado para alterar la forma en quefunciona un equipo sin el permiso o el conocimiento del usuario. Por definición [5], unvirus debe presentar dos características: • Debe ser capaz de ejecutarse a sí mismo. A menudo coloca su propio código en la ruta de ejecución de otro programa. • Debe ser capaz de replicarse. Por ejemplo, puede reemplazar otros archivos ejecutables con una copia del archivo infectado. Los virus pueden infectar tanto equipos de escritorio como servidores de red.Algunos virus están programados para atacar el equipo dañando programas, eliminandoarchivos o reformateando el disco duro. Otros no están creados para causar daño alguno, Autor: Adrián Belmonte Martín 15
  25. 25. Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidossino para replicarse y dar a conocer su presencia mediante la presentación de mensajesde texto, vídeo o sonido. Incluso estos virus benignos pueden crear problemas al usuarioinformático. Normalmente hacen uso de la memoria correspondiente a los programaslegítimos, como resultado, pueden provocar a un comportamiento irregular en el equipoe incluso hacer que el sistema deje de responder. Además, muchos virus contienenerrores que pueden ocasionar pérdidas de datos y bloqueos del sistema.Los gusanos son programas que se replican a sí mismos de sistema a sistema sin utilizarun archivo para hacerlo. En esto se diferencian de los virus, que necesitan extendersemediante un archivo infectado. Aunque los gusanos generalmente se encuentran dentrode otros archivos, a menudo documentos de Word o Excel, existe una diferencia en laforma en que los gusanos y los virus utilizan el archivo que los alberga. Normalmente elgusano generará un documento que ya contendrá la macro del gusano dentro. Todo eldocumento viajará de un equipo a otro, de forma que el documento completo debeconsiderarse como gusano, mientras que en los virus, sólo una parte del programalegítimo se encuentra infectado.En el siguiente punto estudiamos la historia de estos tipos de programas y cual ha sidosu evolución a lo largo de los años que ha permitido el desarrollo de los programas bot.2.1 Virus y gusanos: Los antecedentesQuizás los primeros interesados en la seguridad de los ordenadores no estabandemasiado relacionados con el acceso a los sistemas en redes ni a su explotación,deberíamos remontarnos mucho tiempo atrás, hasta 1939, año en el que el famosomatemático John Louis Von Neuman escribió un articulo en una revista científica deNueva York exponiendo su “Teoría y organización de autómatas complejos” , dondedemostraba la posibilidad de desarrollar pequeños programas que pudiesen tomar elcontrol de otros de similar estructura. [9]Von Neuman, en 1944 contribuyó de forma directa en la fabricación de la ENIAC, unade las computadoras de primera generación y posteriormente la UNIVAC.16 Autor: Adrián Belmonte Martín
  26. 26. Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidosEn 1949, en los laboratorios de la Bell Computer, subsidiaria de la AT&T, tres jóvenesprogramadores: Robert Thomas Morris, Douglas McIlory y Victor Vysottsky, amaneras de entrenamiento, crearon un juego al que denominaron CoreWar, inspiradosen la teoría de Neuman. Este juego, ejecutaba programas que iban paulatinamentedisminuyendo la memoria del ordenador y el ganador era el que finalmente conseguíaeliminarlos totalmente. Este juego fue motivo de concursos en importantes centros deinvestigación como el de la Xerox en California y el MIT.Sin embargo, por aquellos años la computación era manejada por una pequeña élite deintelectuales, por lo que el CoreWar fue mantenido en el anonimato. [4]A principios de 1972 Robert Thomas Morris escribió lo que muchos consideran elprimer gusano informático. Este programa, denominado `creeper, no era ni muchomenos dañino, sino que era utilizado en los aeropuertos por los controladores aéreospara notificar que el control de determinado avión había pasado de un ordenador a otro.Otros ejemplos de gusanos útiles fueron los desarrollados por John Shoch y Jon Hupp,del centro de investigación de Xerox en Palo Alto, California; estos worms se dedicabana tareas como el intercambio de mensajes entre sistemas o el aprovechamiento derecursos ociosos durante la noche. Todo funcionaba aparentemente bien, hasta que unamañana al llegar al centro de investigación ningún ordenador funcionaba debido a unerror en uno de los gusanos; al reiniciar los sistemas, estos volvían a fallar porque elgusano seguía trabajando, por lo que fue necesario diseñar una vacuna; Se habíadiseñado el primer “antivirus” aunque evidentemente por entonces no existía taltérmino. Este es considerado el primer incidente de seguridad en el que entrabangusanos en juego. Aunque este nombre no fue ampliamente usado para describirloshasta que en 1975 John Brunner publicó la novela de ciencia ficción The ShockwaveRider, en ella Brunner aplicó termino gusano (Worm) para describir el programa queutilizó el protagonista y que se caracterizaba por su capacidad de auto replicarse en unared pudiendo, de esta manera, vulnerar y desvelar los oscuros secretos de la red decomputadores que usaba el gobierno para controlar a sus ciudadanos.En 1984, el Dr.Fred Cohen, al ser homenajeado en una graduación, en su discurso deagradecimiento incluyó las pautas para el desarrollo de un virus. Este y otros hechos Autor: Adrián Belmonte Martín 17
  27. 27. Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidosposteriores lo convirtieron en el primer autor oficial de los virus (aunque hubo variosautores más que actuaron en el anonimato) [6]El Dr. Cohen ese mismo año, escribió su libro “Virus Informáticos: teoría yexperimentos” donde además de definirlos los califica como un grave problemarelacionado con la seguridad nacional. Al poco, los usuarios del BIX BBS, reportaron lapresencia y propagación de algunos programas que habían ingresado en sus ordenadores,actuando como “caballos de Troya”, logrando infectar a otros programas y hasta elpropio sistema operativo, principalmente al sector de arranque.El año de la gran epidemia fue 1986, ese año se difundieron los virus Brain, BouncingBall y Marihuana, que fueron las primeras especies representativas de difusiónmasiva .Estas tres especies virales tan sólo infectaban el sector de arranque de losdisquetes. Posteriormente aparecieron los virus que infectaban los archivos EXE yCOM.Sin embargo, no fue hasta 1988 cuando se produjo el primer incidente de seguridad“serio” provocado por un gusano, que a la larga se ha convertido en el primer problemade seguridad informática que saltó a los medios. El 2 de noviembre de ese año, Robert T.Morris (hijo de Robert Thomas Morris, creador del ‘creeper’ y experto en seguridad enUNIX) saltó a la fama cuando uno de sus programas se convirtió en ` Gusano el conmayúsculas. La principal causa del problema fue la filosofía ` Security throughObscurityque muchos aún defienden hoy en día: Este joven estudiante se aprovechóde uno de los muchos fallos en Sendmail descubiertos por su padre y los incluyó en sugusano, además, explotaba varias vulnerabilidades en programas como, fingerd, rsh yrexecd para acceder a un sistema, contaminarlo, y desde él seguir actuando hacia otrasmáquinas En unas horas, miles de equipos conectados a la red dejaron de funcionar,todos presentando una sobrecarga de procesos sh (el nombre camuflado del gusano enlos sistemas Unix), reiniciar el sistema no era ninguna solución, porque tras unosminutos de funcionamiento el sistema volvía a presentar el mismo problema.Fueron necesarias muchas horas de trabajo para poder detener el Worm de Morris;Expertos de dos grandes universidades norteamericanas, MIT y Berkeley, fueroncapaces de desensamblar el código y proporcionar una solución al problema. Junto aellos, cientos de administradores y programadores de todo el mundo colaboraron18 Autor: Adrián Belmonte Martín
  28. 28. Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidosininterrumpidamente durante varios días para analizar cómo se habían contaminado ycuáles eran los efectos que el gusano había causado en sus sistemas. El día 8 denoviembre, casi una semana después del ataque, expertos en seguridad de casi todos losámbitos de la vida estadounidense se reunieron para aclarar qué es lo que pasóexactamente, cómo se había resuelto, cuáles eran las consecuencias y cómo se podíaevitar que sucediera algo parecido en el futuro; allí había desde investigadores del MITo Berkeley hasta miembros de la CIA, el Departamento de Energía o el Laboratorio deInvestigación Balística, pasando por supuesto por miembros del National ComputerSecurity Center, organizador del evento. Esta reunión, y el incidente en sí, marcaron unantes y un después en la historia de la seguridad informática; La sociedad en general ylos investigadores en particular tomaron conciencia del grave problema que suponía unataque de esa envergadura, y a partir de ahí comenzaron a surgir organizaciones como elCERT, encargadas de velar por la seguridad de los sistemas informáticos. También sedeterminaron medidas de prevención que siguen vigentes hoy en día, de forma que otrosataques de gusanos no han sido tan espectaculares: a finales de 1989 un gusano llamadowank, que a diferencia del de Morris era destructivo, no tuvo ni de lejos lasrepercusiones que éste. Desde entonces, no ha habido ninguna noticia importante - almenos publicada por el CERT - de gusanos en entornos Unix. Figura 2.3: Eventos relacionados con gusanos y virus Autor: Adrián Belmonte Martín 19
  29. 29. Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidosUna nueva generaciónLa popularidad de Internet, el amplio uso de el correo electrónico, la potencia de losinterpretes de script de MS Office unido con la ingenuidad de algunos usuarios hicieronposible la creación de una nueva generación de gusanos que usaban estos medios parapropagarse, Sin embargo, no se podría hablar de un cambio de la “scene” en cuanto adejar de programar virus a programar gusanos, sería más correcto hablar de evoluciónde los virus, de una adaptación a nuevos medios; Nuevos métodos de propagación y conotros fines. La barrera entre la programación de virus/gusanos y la “scene” hacker será,como veremos, cada vez más difusa.Marzo de 1999, el virus Melissa provoca una de las infecciones masivas másimportantes de la historia de los virus informáticos. En principio un virus de macro deWord, se auto enviaba por correo electrónico a los 50 primeros contactos de la lista decorreo del ordenador infectado.En Noviembre de ese mismo año el gusano VBS/BubbleBoy marca un antes y undespués en los métodos de infección, dicho gusano, escrito en Visual Basic Script yaprovechando un agujero del Internet Explorer 5 se activaba sin necesidad de ejecutarningún fichero adjunto, tan sólo con abrir el mensaje o visualizarlo el equipo quedabainfectado.Sin embargo, destaca el gusano VBS/LoveLetter ( 3 de Mayo 2000), comúnmentedenominado “I Love You” que era especialmente ingenioso combinando los métodosexpansión del gusano con técnicas de ingeniería social. Dicho gusano se mandaba porcorreo electrónico con un mensaje cuyo asunto era “I Love You” e incluía adjunto elfichero “Love-Letter-For-You-txt.vbs” que al abrirlo infectaba el ordenador y que setomaba la libertad de sobrescribir archivos y música, imágenes y otros.También en el año 2000 apareció el gusano JS/Kak.Worm el cual se propagaba mediantela ocultación tras un guión de Java Script en la autofirma de Outlook Express, lo cual lepermitía infectar sistemas sin que fuera necesario abrir ningún fichero adjunto.Por tanto, podemos observar una sustancial mejora en las técnicas de infección: Desdelos primeros gusanos que necesitaban la interacción del usuario, se evoluciona a unainfección cada vez más automática e independiente. Los creadores de virus aprovechanvulnerabilidades en el software de uso habitual a través de exploits programados por20 Autor: Adrián Belmonte Martín
  30. 30. Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidosterceros; Pocas veces están realizados por el autor del programa malicioso, ya que sucreación suele ser una tarea compleja, no apta para cualquier usuario. Pero, en ocasiones,el autor del exploit lo pone a disposición de otros usuarios, esto es aprovechado por loscreadores de virus y gusanos que lo incorporan en sus creaciones.Hay que destacar las múltiples ventajas de este nuevo método de infección: Si se tratade una vulnerabilidad para el sistema operativo Windows o un programa muy común,dispone de millones de víctimas potenciales. A esto hay que añadirle que la propagaciónpuede llegar a realizarse de manera extraordinariamente rápida, ya que no hay ningunabarrera que evite su expansión.El 13 de Julio del 2001, una vulnerabilidad en el servidor Web de Microsoft, InternetInformation Server (IIS) permitió al gusano Code Red infectar 359.000 ordenadores, enmenos de una semana y más de un millón en su corta vida.A diferencia de sus predecesores, Code Red no requería ninguna intervención delusuario para ejecutarse y auto replicarse, además de las características típicas deexpansión, este gusano al infectar el sistema, buscaba nuevos servidores IIS ycomprobaba si había sido ya infectado, además pasados unos días, intentaba un ataquede denegación de servicio contra algunas IP´s prefijadas, como por ejemplo la de laCasa Blanca.A partir de ese momento, la expansión de este tipo de gusanos, se hace cada vez másdañina, y por tanto más famosa y mediática:El gusano Blaster, también conocido como Lovsan o Lovesan infectaba ordenadoresque ejecutaba Windows Xp o 2000 y que no estaban correctamente parcheados.Este gusano fue detectado por primera vez el 11 de Agosto de 2003 alcanzando susmáximas cotas de infección el 13 de Agosto. Autor: Adrián Belmonte Martín 21
  31. 31. Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos Gusano Blaster Blaster utiliza una vulnerabilidad en la interfaz RPC que permite la ejecución arbitraria de código mediante un desbordamiento de buffer en dicho servicio de Windows. RPC (Remote Procedure Call) es un protocolo que proporciona a Windows un mecanismo de comunicación entre procesos para que un programa que se está ejecutando en un equipo ejecute fácilmente código en un equipo remoto. La falla mencionada permite que se pueda ejecutar código en forma aleatoria, enviando mensajes construidos maliciosamente entre procesos específicos. Estudiando un poco más en detalle, el gusano hace uso de los siguientes archivos: MSBLAST.EXE: Es el gusano propiamente dicho, un archivo comprimido con la utilidad UPX. El gusano se propaga a través del puerto TCP/135, copiándose en los ordenadores que no poseen el parche para la vulnerabilidad, crea un shell remoto (ejecutando CMD.EXE) en el puerto TCP/4444 de la máquina infectada (un SHELL es un intérprete de comandos que interpreta y activa los comandos o utilidades introducidos por el usuario) y usando este shell, el gusano ejecuta un comando TFTP (get) para descargar el gusano propiamente dicho en el directorio System32 de Windows. TFTP: (Trivial File Transfer Protocol) Es una versión simplificada de FTP (File Transfer Protocol), un protocolo que permite la transferencia de archivos entre dos ordenadores conectados en red. Además de todo esto el gusano también se ejecuta como un servidor FTP en el ordenador atacado usando el puerto UDP/69, con lo que permite que la víctima sirva de host a otros usuarios para que descarguen de allí una copia del gusano (MSBLAST.EXE). Para propagarse, el gusano utiliza una ingeniosa rutina que optimiza la infección en las redes más cercanas al host infectado. Para ello, genera 20 direcciones al azar por vez, tomando como base la dirección IP actual del ordenador infectado, y las explora, buscando otros sistemas vulnerables. Por ejemplo, si la dirección IP del host es AAA.BBB.CCC.DDD, las direcciones generadas por el gusano al comienzo tendrán AAA y BBB iguales a los del host. DDD siempre será cero, y CCC será un número al azar entre 0 y 253. Si el número es mayor de 20, se le restará otro valor menor de 20 también al azar. Después de ello, alternará las siguientes combinaciones: AAA será un número de 1 a 254 BBB será un número de 0 a 253 CCC será un número de 0 a 253 DDD será siempre 0 Con las direcciones generadas, el gusano analiza otros equipos vulnerables, siempre hasta 20 direcciones IP al mismo tiempo. Como resultado de toda esta actividad, la subred local será saturada con pedidos al puerto 135. Además de todo ello, el gusano está preparado para realizar ataques distribuidos de denegación de servicio (DDoS), al servidor de actualizaciones de Microsoft, con la intención es impedir la descarga del parche que evita que el propio gusano pueda propagarse. Para ello, y comenzando el 16 de agosto de 2003, todas las máquinas infectadas pueden enviar en forma masiva, una gran cantidad de paquetes de 40 bytes, en intervalos de 20 milisegundos, al puerto 80 de "windowsupdate.com". Curiosamente el daño a Microsoft fue mínimo, ya que el ataque fue realizado a windowsupdate.com y no a windowsupdate.microsoft.com que era la página a la cual era redirigida. De todas maneras y como medida preventiva, la página objetivo fue desconectada para minimizar el daño del gusano. Como curiosidades, en su código, el gusano contiene el siguiente texto (no mostrado al usuario): I just want to say LOVE YOU SAN!! billy gates why do you make this possible ? Stop making money and fix your software!! Figura 2.4: Descripción del funcionamiento del gusano blaster22 Autor: Adrián Belmonte Martín
  32. 32. Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos Figura 2.5: Captura del código del blasterOtro detalle curioso e identificativo de este gusano es que en ocasiones, y debido a unerror en el exploit utilizado para aprovecharse de la vulnerabilidad, se muestra elsiguiente mensaje antes de que el sistema se cierre: Figura 2.6: Mensaje de infección del gusano BlasterEste mensaje de error se hizo famoso en ordenadores de todo el mundo. Autor: Adrián Belmonte Martín 23
  33. 33. Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidosPese a todo, el efecto del gusano pudo ser mucho peor, pero los intentos de los ISP porfiltrar el tráfico y las medidas informativas para que los usuarios y empresas aplicaran elcorrespondiente parche ayudaron mucho a mitigar el impacto.Aun así se estima en billones de dólares en pérdidas económicas y cientos de miles deordenadores infectados en todo el mundo.Como puede observarse en estos primeros gusanos de nueva generación, cada nuevoelemento usa características de los anteriores, refinan las técnicas antiguas y añadennuevas, así mismo, la complejidad y sofisticación de los métodos de propagación y suefecto dañino se fue incrementando con el tiempo.Aprovechando las puertas traserasOtro de los gusanos que más equipo infectó y de los que hubo hasta 100 variantes,algunas de ellas aún en activo, es el Bagle, una vez en el equipo infectado, abría unpuerto TCP que era usado remotamente por una aplicación para acceder a los datos delsistema, es decir, combinaba los métodos de propagación de los gusanos con lainstalación de puertas traseras(del estilo de Back Orifice o SubSeven) en el equipoinfectado lo cual daba al creador del programa o a cualquier atacante acceso posterior alsistema.El 26 de Febrero del 2004, el gusano MyDoom se convirtió en el gusano de propagaciónpor email más rápido de la historia (aunque también se propagaba por las carpetascompartidas de la red Kazaa) y también uno de los más dañinos, se dice que llegó aralentizar Internet un 10% y la carga de las paginas Web hasta un 50%. [7]24 Autor: Adrián Belmonte Martín
  34. 34. Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos Gusano MyDoomLa primera cepa de MyDoom se transmitía principalmente por mail, aparentando ser un error en larecepción de un correo. Contenía el encabezado “Error”, “Mail Delivery System”,”Test” o “MailTransaction Failed” en diferentes lenguajes, incluidos Ingles y Francés. El mail contenía undocumento adjunto que si era ejecutado se reenviaba a direcciones de mail encontradas en losdocumentos locales, tales como la libreta de direcciones del usuario, también se copiaba en lascarpetas compartidas de Kazaa en un intento de aumentar su expansión.MyDoom evitaba las direcciones de ciertas universidades como Rutgers, MIT, Stanford y Berkeley,no porque fuera un virus “estudiante” si no porque de esta manera evitaba que infectara equipos conpersonal que pudiera estudiar su código y dar soluciones para su expansión, por el mismo motivoevitaba direcciones de compañías como Microsoft, Symantec y algunas más relacionadas con laseguridad.La cepa primaria de MyDoom realizaba dos acciones primordiales: 1. Abría una puerta trasera en el puerto TCP/3127 que permitía el control remoto del ordenador infectado 2. Realizaba un ataque de denegación de servicio contra el sitio Web de SCO Group. (Esta acción finalmente sólo funcionó en el 25% de los sistemas infectados).Las siguientes cepas del gusano, realizaban acciones mucho más interesantes e innovadoras. Porejemplo bloqueaban el acceso http a algunos sitios antivirus online, bloqueaba utilidades antivirus osus actualizaciones.Pero sin duda una de las características más novedosas y que llevaron a pensar que los autores delgusano podían pertenecer a redes de crímenes organizados o con fines lucrativos fue que añadíaanuncios pop-up de algunas compañías de marketing.Este virus causó unas perdidas económicas de 40 billones de dólares. [7] Figura 2.7: Funcionamiento del gusano MyDoomEl último caso de gusano que salió a la luz de los medios públicos, y sin duda uno de losque más daños causó fue el gusano Sasser (una variante de Netsky) que comenzó suactividad el 30 de Abril del 2004.Dicho gusano, se aprovechaba de un desbordamiento de buffer en el componente deWindows LSASS (Local Security Authority Subsytem Service). El gusano analizabadiferentes rangos de direcciones IP y conectaba al ordenador de la víctimaprincipalmente a través del puerto 445.Sasser no era transmitido vía email y no requería usuarios para propagarse (como elBlaster). Cada vez que encontraba sistemas Windows 2000 y Windows Xp noactualizados, este era replicado. Autor: Adrián Belmonte Martín 25
  35. 35. Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidosLos sistemas infectados experimentaban una gran inestabilidad, apareciendo otrofamoso mensaje: Figura 2.8: Infección por el gusano SasserLos efectos se hicieron notar en todo el mundo, aparte de infectar millones deordenadores personales de todo el mundo, el gusano: • Bloqueó las comunicaciones de la agencia de comunicaciones francesa por cuatro horas. • La compañía de vuelos Delta Airlines tuvo que cancelar muchos vuelos transatlánticos por que su sistema de ordenadores estaba colapsado por el virus. • La compañía de seguros Nordic tuvo que cesar su actividad y cerrar sus 130 oficinas en Finlandia. • Los servicios de mapas electrónicos de los guardacostas Británicos estuvieron desconectados por horas • El departamento de rayos-x de Hospital Universitario de Lund tuvo sus máquinas de rayos-x apagadas por unas horas y tuvo que redirigir las emergencias a un hospital cercano. [8]26 Autor: Adrián Belmonte Martín
  36. 36. Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidosFigura 2.9: Cronología de la nueva generación de gusanos. 1-marzo 1999 /30 abril 2004ActualmenteSin duda, desde entonces, han aparecido miles de nuevos gusanos y variantes de losanteriores, sin embargo se ha logrado minimizar enormemente el impacto y laexpansión de los gusanos, esto es debido entre otras causas: • Esfuerzos de los ISP´s por filtrar y aislar el tráfico de su red. • Las campañas de concienciación de los departamentos de alertas y respuestas de seguridad y • Las investigaciones de las casas antivirus por encontrar las nuevas firmas que detecten estos gusanosEn todos los casos de grandes epidemias de gusanos, es importante resaltar que fuerontodos creados con base en vulnerabilidades anunciadas por el fabricante y que antes decada ataque había disponible un parche que las corregía. [8]De cada error se aprende algo nuevo, y de estas epidemias aprendimos que es necesariotomar en serio las actualizaciones de seguridad para el sistema operativo y losprogramas que usemos.Desde entonces, dos nuevos objetivos están siendo enfocados por los atacantes: por unlado, las aplicaciones del tipo punto a punto; es decir, aquellos servicios que permiten laconexión directa de dos equipos en Internet, como es el caso de la mensajeríainstantánea y los programas para compartir archivos, tan populares hoy en día. Autor: Adrián Belmonte Martín 27
  37. 37. Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidosY en todo esto: ¿Dónde se quedan las redes de bots? Bien, los gusanos son, sin duda, losantecedentes directos de estas redes, los bots están programados para seguir el modelode expansión de las últimas generación de programas, es decir, la explotación devulnerabilidades en el software del equipo víctima.Sin embargo, una vez que el equipo está comprometido debemos observar la manera enla que el atacante hace uso del mismo. Como hemos visto, la forma más habitual decontrolar la red de bots es a través del IRC, por tanto, si estamos estudiando la historia ylos antecedentes de las redes de bots, sería interesante, estudiar la historia del modeloC&C mediante IRC:2.2 Bots de IRC. AntecedentesUn bot de IRC (IRC bot) es un conjunto de scripts o un programa independiente que seconecta a un servidor de charlas como un cliente y aparece a los otros usuarios como unnick más. El bot responde a comandos predefinidos con acciones determinadas y suelenusarse para diversos motivos: • Proteger a los canales de inundaciones y absorciones. • Mantenimiento de los canales. • Mantener listas de acceso. • Permitir el acceso a bases de datos. • Creación de estadísticas. • Publicidad. • Ejecutar juegos (el Trivial es el más común).De hecho él primer bot de IRC llamado GM escrito por el operador de IRC GregLindahl (de nick Wumpus), era un juego para los usuarios que se comunicabanmediante IRC, el juego se denominaba “Hunt the Wumpus”.El primer bot usado para controlar y proteger un canal de Chat fue programado enDiciembre de 1993 por Robert Pointer en Tcl/tk bajo código abierto. Se creó para serusado en el canal #gayteen, ya que el autor deseaba controlar y proteger, su por28 Autor: Adrián Belmonte Martín
  38. 38. Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidosentonces “controvertido” canal de Chat. Este programa empezó a volverse muy populara través de los años y posteriormente, Robert Pointier en conjunción con un grupo deaficionados evolucionaron sus Scripts hasta convertirlos en sistemas, tal como es hoy eldenominado Eggdrop, reclamado por ser el más popular bot de IRC y cuya comunidadha crecido enormemente en estos últimos años, aunque su creador ya no pertenezca algrupo.La disponibilidad del código fuente de este y otros programas de bots de IRC, lafacilidad del control remotamente de cualquier equipo remotamente y la granpopularidad de estas redes, hizo que los programadores de bots vieran una plataformaperfecta para el desarrollo de la estructura de comando y control.Por tanto, ahora poseemos una idea de cuales son los antecedentes y las influencias quehacen que estas redes de bots tengan la estructura que tienen y cómo funcionan, comoiremos viendo a lo largo del proyecto, dependiendo de la complejidad de cada botutilizará métodos y técnicas distintas y más o menos sofisticadas. Autor: Adrián Belmonte Martín 29
  39. 39. Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidosCapítulo 3 Funcionamiento y estructuraAhora bien, ¿cómo funciona un bot? Un ejemplo de funcionamiento de una botnet C&Cbajo IRC sería la siguiente: • Un atacante primero lanza un gusano que infecta varios Hosts. Estos se convierten en zombies y se conectan al servidor IRC para recibir instrucciones. • El servidor IRC puede ser una máquina pública en una de las redes IRC, o un servidor dedicado instalado por el atacante en uno de los Hosts infectados. • Los bots funcionan en los ordenadores infectados formando una botnet. • El bot master ordena a los bots, infectar más equipos para aumentar la red. Figura 3.1: El atacante busca un primer equipo víctima30 Autor: Adrián Belmonte Martín
  40. 40. Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos Figura 3.2: Se ordena al ordenador semilla buscar nuevos objetivos Autor: Adrián Belmonte Martín 31
  41. 41. Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos Figura 3.3: Una vez encontrado la vulnerabilidad, se inyecta el código del bot Figura 3.4: Los ordenadores comprometidos se unen al canal especificado32 Autor: Adrián Belmonte Martín
  42. 42. Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos Figura 3.5: La botnet busca en Internet nuevos objetivos vulnerables Por lo tanto una red de bots o botnet se podría dividir en: 1. El atacante: Este se conecta al servidor IRC a un canal definido por el y normalmente por medio de una contraseña, una vez allí, envía las ordenes que desee a la red de bots. 2. Servidor IRC: Hace de “máscara” entre el atacante y la red de ordenadores bots. 3. Red de ordenadores zombies comprometidos: Ejecutan las órdenes que el atacante les manda desde el canal IRC. Autor: Adrián Belmonte Martín 33
  43. 43. Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos Figura 3.6: Estructura típica de una botnet C&C IRC Es, como vemos, una estructura muy sencilla, que permite al atacante tener el control absoluto de las máquinas zombies, la denominada C&C (Command and control, comando y control) y que hace muy difícil su detección, ya que no son los ordenadores comprometidos quienes reciben las órdenes directamente si no que todo el tráfico se realiza a través de un tercero, que es en este caso un servidor IRC. Ahora bien, que ocurriría si el ordenador comprometido como servidor de IRC no es accesible, el bot es eliminado, o si, simplemente cierran el acceso al canal de IRC público. ¿Es tan sencillo eliminar una botnet? Como refuerzo para las redes de bots, los creadores, comenzaron a utilizar redirección dinámica de DNS (DDNS, Dynamic Domanin Name Server), una solución sencilla y con la cual no se perdía la red de bots completa. Tan sólo tenían que cambiar la DNS del servidor IRC caído por otra accesible y todos los ordenadores zombies sabrían a que IP conectarse de nuevo. Normalmente, para conseguir esto, se usa un DDNS gratuito, como DynDns.org o No-IP.com para apuntar hacia el servidor IRC con el canal que albergará a los bots. El servidor de DNS dinámico no proveerá servicio alguno para los ataques, tan sólo34 Autor: Adrián Belmonte Martín
  44. 44. Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos trabajará como punto de referencia, con lo cual no realiza ninguna actividad ilegal con tales servidores. ! "# $ ! %" & ! ( & ( ) " # * ! ) + $, $ $ $ $ & - $ $ " ! - " $ - . % - $ ( % -+ ! " Figura 3.7: Definición de DNS Dinámico Sin embargo, aun con todo esto, las redes de bots son bastante frágiles, principalmente por dos motivos: • En la actualidad las compañías de DNS dinámicos, se han dado cuenta del alcance del problema y están intentando eliminar los subdominios que apunten a redes bots.[10] • Falta de redundancia: si se descubre un servidor botnet o un canal IRC que albergue la red bot , todos los bots quedarán al descubierto, la desconexión del servidor o el cierre del canal, hará que caiga toda la estructura (al menos hasta que el controlador consiga una nueva dirección para el host) Como contrapartida, las nuevas versiones de programas para servidores de IRC incluyen entre sus características “enmascarar” otros servidores con lo cual si se descubre un host usado como servidor IRC y se consigue cerrar, la reconexión a un nuevo servidor IRC se haría de forma automática. Autor: Adrián Belmonte Martín 35
  45. 45. Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos 3.1 Ciclos de un bot La actividad de una botnet se considera “cíclica” y se podría observar desde dos puntos de vista diferentes. Por un lado, se puede observar el ciclo de actividad del atacante (ciclo de la botnet): • El ‘bot-herder’ configura los parámetros iniciales del bot, tal como los vectores. de infección, el payload, ocultamiento y los detalles de C&C. • Procede al registro del DDNS. • El ‘bot-herder’ lanza los bots-semilla. Comienzo de la infección. • Fase de crecimiento- expansión-propagación. • Pérdida de bots a otras botnets. • Pico de máximo crecimiento. • Abandono de la botnet. • Da de baja el DDNS. Baja del DDNS Configuración Abandono del botnet Registro del DDNS Perdida de bots Pico máximo de Lanzamiento del bot crecimiento semilla Crecimiento Figura 3.8: Ciclo de un botnet desde el punto de vista del atacante36 Autor: Adrián Belmonte Martín
  46. 46. Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidosPor otro el lado, el ciclo del equipo infectado (ciclo de un bot): • Infección. Establecimiento del C&C • Análisis de objetivos vulnerables para la expansión del bot • Pérdida del bot • Recuperación del bot • Actualización con nuevo código del bot • Espera Infección Espera de órdenes Pérdida del bot Análisis de otros Recuperación equipos/Uso del bot Actualización con nuevo código Figura 3.9: Ciclo de un bot desde la víctima Una de las características más importante de los bots, es que pueden extenderse con facilidad a otros ordenadores. La planificación cuidadosa del proceso de infección ayuda a conseguir mejores resultados en menos tiempo. El uso de los canales IRC para la comunicación remota de redes botnets tiene las siguientes ventajas: • Es flexible: Incluso los servidores públicos pueden usarse como medio de comunicación. • Simple: Es posible controlar cientos e incluso miles de bots de forma simultanea y con pocos comandos. Autor: Adrián Belmonte Martín 37
  47. 47. Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos • Fácil de usar: Se usan los comandos usuales del IRC, ampliamente conocidos. • Anónima: Permite al atacante ocultar su identidad, usando técnicas sencillas como servidores proxies anónimos, cuentas shell remotas o spoofing de direcciones IP, por lo que es difícil dar caza al dueño de la red de bots.3.2 Algunos usos de las botnetSe va a ver aquí el uso que hacen los controladores de las redes bots. Aunquehablaremos en profundidad y lo analizaremos más concienzudamente en capítulosposteriores, servirá de introducción para incidir en la peligrosidad de estas redes y elpeligro que conlleva para la seguridad en los sistemas.Una vez que el ‘bot herder’ se ha hecho control de una máquina (bot semilla), la botnetcrece de manera exponencial. El atacante, ordenará a este equipo seguir rastreando lared en busca de equipos vulnerables, infectándolos, pudiendo llegar a montar redes demiles de sistemas comprometidos bajo su control.Aunque no es muy difícil imaginar que se podría realizar con una red de cientos o milesde ordenadores comprometidos bajo el control total de una persona, desglosaremos aquíalgunas “aplicaciones”:Ataques de denegación de servicio distribuido (DDOS, Distributed Denial ofService)Supongamos que tenemos una botnet de 100 equipos, una red bastante pequeña, cadaequipo tiene de media una conexión de subida de 128 kb/s, de la cual supongamos quesólo usa la mitad para el ataque (debido a que se esté usando la conexión para el usuarioo por otros motivos) 128/2= 64kb/s*100= 6400kb/s, es decir, el equivalente a 8MB endatos por segundo contra sólo un objetivo, todo esto con tan sólo 100 equipos y con unaconexión media-baja (lo normal en los equipos es 300kb/s de subida), sin duda capaz desaturar a más de un host de Internet.38 Autor: Adrián Belmonte Martín
  48. 48. Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidosMuchas redes han sufrido estos ataques, los controladores de las bots en ocasionesalquilan la red a mafias o a empresas para que ataquen empresas rivales.Sniffing y keyloggingLa observación de los datos que circulan por un equipo puede permitir la detección deuna cantidad increíble de información que puede ser usada para actos maliciosos futuros,en este apartado se podría incluir, hábitos de usuario, análisis de paquetes TCP, robo declaves de correo, paypal, robo de identidades, información de banca online, tarjetas decrédito, licencias lícitas de software…SpammingLas botnets son el medio ideal para los spammers, se usan para intercambiar direccionesde email recogidas para controlar oleadas de correo basura de la misma forma que sehacen los ataques DDOS. Puede enviarse un sólo mensaje de correo basura a la botnet yser distribuida a través de bots que envían el correo basura. El spammer permaneceanónimo y toda la culpa será de los ordenadores afectados.Sembrar MalwareCon tan sólo una orden del ‘bot herder’ todos los bots de una red pueden comenzar adescargar de cualquier sitio de la red, programas malware o de publicidad “pop-up”Crear servidores proxyBien para ocultarse para acceder a los servidores IRC o para redirigir ataques de spam ymalwareCreación de servidores WebCon ficheros maliciosos, para ataques de phising o para almacenamiento de softwareilegal, el ordenador infectado se usará como almacén dinámico de software pirata,pornografía, material ilegal, etc.…mientras que el legítimo usuario ignora que estosucede. Autor: Adrián Belmonte Martín 39
  49. 49. Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidosCapítulo 4Fauna BotA la hora de abordar el estudio de los bots, contamos a nuestro favor con que muchos deellos tienen el código fuente disponible para su estudio, los más famosos incluso seencuentran bajo licencia GPL, otros poseen su código descargable de Internet (pero sinderecho de modificación), hecho que motiva su enorme expansión y diferentesversiones de cada uno.No obstante, no todos los programas que hemos podido encontrar incluyen su códigofuente, hay algunos que traen tan sólo un ejecutable, lo que dificulta su análisis. Otrosincluso contienen falsos bots en archivos binarios que en realidad ejecutan puertastraseras en el equipo, convirtiendo al supuesto atacante en víctima.El hecho de tener el código fuente disponible es causa directa de que estos bots sean losmás frecuentes y de los que existen más variantes, también son los más desarrollados ylos que más funcionalidades poseen. Por tanto, estudiaremos en mayor medida estosbots que normalmente forman las denominadas “familias”. Cada versión del bot en estasfamilias posee unas características diferentes, nuevas mejoras, o simplemente sonpersonalizadas a gusto del “bot herder” que las compila y distribuye.Hay que destacar que sólo vamos a estudiar una pequeña muestra representativa detodos los bots existentes, sería imposible estudiarlas todas, ya que cada creador de botsva modificando y ajustando los programas según las necesidades de cada momento, espor tanto probable que si alguien continua este trabajo o lo empieza de nuevo, encuentredisponible otras versiones de los bots con nuevas características o no encuentre algunasa las que me refiero aquí.Sin embargo, las principales funcionalidades están comentadas a fondo en este proyecto.Se clasifican las características de los bots con la finalidad de poder contar con unnúmero suficiente de elementos como para estudiarlos a fondo en los siguientes puntos,bien sea de manera conjunta (las de un mismo bot) o bien las singulares de un bot queresulte interesante resaltar.Para ello comenzaremos de un modo constructivo, desde los bots más básicos, iremosavanzando hasta llegar a las grandes familias que poseen decenas de versiones ycaracterísticas diferentes.40 Autor: Adrián Belmonte Martín
  50. 50. Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidosSe comienza el estudio con los primeros bots de IRC (no se pueden denominar aun decomando y control) que empezaban a “esbozar” la estructura y características queusarían posteriormente este tipo de bot C&C. Para ello, es importante definir cuales sonlas diferencias entre uno y otro, ya que a veces es difícil determinar la línea que lossepara: Bot IRC Bot C&C IRC • No “infecta” el sistema: No se • Se instala sin consentimiento instala sin consentimiento del del legitimo usuario usuario legitimo del equipo. • Implementa acciones dañinas • No implementa acciones • Implementa acciones de robo dañinas contra el sistema en el de información que esta instalado ni contra • Permite el control absoluto otros equipos de la red del equipo infectado • No implementa características • Se instala usualmente en de robo de información en el ordenadores remotos equipo que se instala domésticos. • No permite el control absoluto del equipo que es instalado • Normalmente en ordenadores remotos mediante cuentas shell Figura 4.1: Diferencias entre bot IRC y bot C&C IRCLas diferencias entre uno y otro son meramente funcionales. Autor: Adrián Belmonte Martín 41
  51. 51. Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos4.1 Los precursores. Bots IRCComo antecedentes de los bots de comando y control, vamos a estudiar dos programas: 4.1.1 Coromputer_dunnoEs un bot de IRC muy simplificado y bastante fácil de estudiar, nos ayudará acomprender: • Cómo se realiza y se mantiene la comunicación con el servidor IRC. • Cómo se establecen los parámetros de configuración del programa.Sus características: • Escrito en C • Para sistemas *NIX, fácilmente portable a Windows. • Bastante más simple que otros programas bot IRC para el estudio de las comunicaciones con el servidor. La estructura de una conexión con el servidor IRC típica es la que se muestra en la figura:42 Autor: Adrián Belmonte Martín
  52. 52. Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos Figura 4.2: Comunicación con el servidor IRCSin embargo, este bot más escueto en el manejo de las comunicaciones con el servidor,ya que por ejemplo, no implementa acciones cuando recibe un mensaje privado.Un ejemplo de cómo realizar dicha comunicación lo encontramos en las siguienteslíneas de código strcat(nick,NICK); // Introduce en la variable la cadena NICK strcat(nick,"n"); // Añade retorno de carro send(sock,"USER X X X :Xn",14,0); //Lo envía al servidor recv(sock,buff,sizeof(buff),0); //Recibe lo que el servidor responda memset((void *)&buff,0,sizeof(buff)); //Limpiamos buffer send(sock,nick,strlen(nick),0); recv(sock,buff,sizeof(buff),0); strcat(ping,&buff[6]); //Enviamos el buffer strcat(ping,"rn"); // Junto con la cadena PING Figura 4.3: Ejemplo de comunicación con el servidor IRCSe trata del envío del comando NICK_USER y PING que corresponde con el primer ysegundo estado en la figura. Autor: Adrián Belmonte Martín 43
  53. 53. Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidos Otro aspecto interesante a estudiar son las líneas de configuración del programa, en las que definimos el servidor IRC, los archivos temporales de las acciones que realicemos, así como el nick que queramos que tenga el bot:#define SERV "Geneva.CH.EU.Undernet.org" /* Donforget to put the IRC server with his Upper Cases */ t#define FILLE "lala.txt" /* temporary file where WHO list will be placed at the end it will be erased */#define TIMEOUT 4 /* seconds */#define LOG "log.txt" /* log file where results will be writed(when you dont use verbose mode */#define NICK "ZaIrcBot" /* the nick of the bot */ Figura 4.4: Configuración del bot Así pues, la simplicidad de este programa, nos sirve de lanzadera al estudio de otros bots, ya que nos ayuda a comprender fácilmente como funcionan los bots. 4.1.2 Skydance El siguiente programa es un poco más complejo que el anterior y ya posee algunas características de bot de comando y control, sin embargo, no llega a entrar todavía en esta categoría. Se clasifica como un bot “dedicado”, está diseñado para cumplir una función especifica: Realizar ataques de denegación de servicio distribuidos (Consultar anexo) usando sockets RAW: Raw sockets Es un Socket que tiene la capacidad de comunicarse directamente con el hardware de comunicación del ordenador permitiendo al programa el acceso directo a todos los aspectos de los datos en el paquete. Raw Sockets permite al usuario personalizar varias características de estos paquetes, lo que incrementa la probabilidad de error, accidental o intencionadamente. Figura 4.5: definición de Socket Raw 44 Autor: Adrián Belmonte Martín
  54. 54. Bot y Botnets: Análisis de estructura y funcionamiento de las redes de ordenadores comprometidosEntre sus características se encuentran: • Usa el protocolo ICMP • Incluye entre sus ataques SYN-ACK Flood y Simple ping flood attack • No aparece cuando se realiza un netstat (por el uso del ICMP) • No se detecta cuando se realiza un análisis de puertos (Usa RAW) • Permite spoofing de IP en Win2k/XPActualmente se trata de un bot ya bastante obsoleto, las características de ocultaciónfueron rápidamente subsanadas y no funcionan actualmente, aun así, nos es útil paraobservar en este tipo de programas una evolución en cuanto la utilidad de los bots deIRC para otro tipo de fines.4.2 Los primeros bots C&CAvanzando un poco en la complejidad de los programas, nos encontramos una granvariedad de bots más enfocados al “control simple”, suelen ser poco complejos, con tansólo unos pocos comandos, que sin embargo, confieren un gran potencial de acción. 4.2.1 MicrobotPosee tan sólo cuatro comandos: • .login <password> - Registro como dueño del bot • .die – Desconecta el bot del IRC y mata el proceso • .raw <commands> - Envía un texto RAW al servidor IRC • .run <file> - Descarga y ejecuta un archivo desde una Url o un comando DOSCaracterísticas: • Empaquetado UPX • Pequeño tamaño: 14 Kb • Posibilidad de ejecutar y descargar programas • Para entornos Windows Autor: Adrián Belmonte Martín 45

×