-[ 0x12 ]-------------------------------------------------------------------- -[ ANALISIS DEL BACK ORIFICE 2000 ]------------------------------------------ -[ by Chessy ]--------------------------------------------------------SET-20- [ NOTA: Esta es una adaptacion a ASCII del documento original en formato PDF que podreis encontrar en nuestra web, en la seccion de archivos. ] HACKING NT II Herramientas de ataque y destruccion By Chessy Back Orifice 2000 (I) Legal Stuff """"""""""" Los textos de esta serie de articulos son de caracter puramente informativo, orientados hacia administradores de sistemas informaticos y cualquier otra persona que desee estar informada sobre temas de seguridad informatica. El autor no se hace responsable de ningun posible uso fraudulento de esta informacion. Other Stuff """"""""""" Como iba diciendo hace unos meses (Hacking NT I), las posibilidades de atacar un sistema NT por parte de cualquier persona con conocimientos basicos de informatica son incontables, siempre pensando, en la gran cantidad de herramientas que automatizan el proceso. La labor de cualquier administrador de sistemas o encargado de mantener un parque informatico (por peque~o o grande que sea) deberia incluir el estar informado de las novedades en el campo de la (anti)seguridad informatica. El equipo SET se congratula de presentar la serie Hacking NT II y ser los primeros en analizar y publicar en el estado espa~ol la herramienta de administracion remota de sistemas Windows (95, 98, NT) BACK ORIFICE 2000. Abstract """""""" Peque~a introduccion al programa de administracion remota Back Orifice 2000, tambien conocido como bo2k, del grupo Cult Of The Dead Cow, www.cultdeadcow.com. Se muestra donde conseguir el programa, como instalarlo, configurarlo y primeras impresiones. Intro """"" Durante la Defcon VII, una de las mas prestigiosas reuniones del mundo del hacking, el grupo cDc libero la version 2000 del programa Back Orifice (en adelante bo2k). Hace un par de a~os, cDc desarrollo el programa Back Orifice para Windows 95 y aunque la comunidad relacionada con la seguridad informatica penso que era un programa a temer, y las casas de antivirus reaccionaron con programas de deteccion y eliminacion del bo, la verdad es que la principal interesada en la erradicacion del bo, Micro$oft, no le presto mayor atencion pues bo no afectaba a su buque insignia: Windows NT. A los chicos de cDc no les gusto nada la reaccion de M$ y ni cortos ni perezosos, se lanzaron a desarrollar una nueva version, que distribuyeron durante el mes de Julio en la Defcon VII, en un CD-ROM junto con el codigo fuente del mismo, bajo licencia GPL, lo que implica entre otras cosas, que el programa es de libre distribucion. El que este programa venga junto con el codigo fuente, al igual el excelente sistema operativo Linux, hace que los expertos en seguridad teman una avalancha de programas parecidos al bo2k. La idea basica del bo2k se basa en lo que otros programas comerciale$$$ de administracion remota realizan, pero orientado mas hacia el mundo del espionaje Con bo2k podemos desde un ordenador remoto grabar las pulsaciones de teclas que se esten realizando en un servidor situado al otro lado del mundo, ver el contenido de sus unidades de disco, grabar lo que esta pasando en el servidor, ver lo mismo que se este visualizando en la pantalla del server, mandarle mensajes de sonido, de texto, desactivar el servidor, acceder a los mismos recursos que el servidor de la red remota puede acceder, y mas.... Evidentemente, el potencial de esta herramienta es bestial; si a eso sumamos una facilidad de instalacion, inaudita para un programa de este estilo, la familiarizacion que el usuario tiene con bo y sobre todo, el que el codigo fuente del programa en C++ este disponible para todo el publico, hacen de bo2k una herramienta cuyo conocimiento es indispensable para todo administrador de sistemas que se precie. BO2K puede conseguirse en el sitio web www.bo2k.com aunque el autor de estas lineas tuvo que acceder al sitio web establecido por un asistente a la Defcon VII, que copio desde el CDROM que le dieron los del cDc, desde su habitacion en un hotel de Las Vegas, a su sitio Web. En un archivo de texto se avisaba de que corrian rumores sobre la posible infeccion del bo2k con el virus CIH aunque he comprobado posteriormente que el rumor era falso. Proceso de instalacion """""""""""""""""""""" Se dice que bo2k es un troyano. Yo no lo creo. Esto es cierto en el caso de que alguien con aviesas intenciones (A) consiga que otra persona (B) instale un programa que hace algo que B no sabe que va a hacer. A manda a B un mensaje que dice: “Hola B, como se que te gustan, te mando un video con las ultimas posturitas de la Pam. Es un archivo ejecutable, asi que basta con que pinches 2 veces sobre el para que comience la fiesta. Le he llamado pam.exe y te lo mando como attachment.” B graba el archivo pam.exe, pincha 2 veces sobre el y resulta que... no pasa absolutamente nada. Y todo este rollo para que? Bien. Magic, magic, magic. B acaba de instalar el peor de los *virus* posibles en su flamante ordenador; pam.exe no era lo que B esperaba, sino el servidor del bo2k. Concretamente era el archivo bo2k.exe camuflado. O sea, un troyano. Bien, pero si tu como administrador instalas bo2k.exe en el servidor del que tienes el mando, entonces, no se puede considerar como troyano, sino como herramienta de administracion remota legitimamente instalada. bo2k.exe es el programa servidor que debe estar instalado en el ordenador que se quiera controlar remotamente. Se puede configurar a tu gusto, y para ello, disponemos del asistente *BO2k configuration tool*. Pero eso es ya otro apartado. Hay dos versiones del bo2k, una internacional y otra USA. En este articulo vamos a ser respetuosos con las normas de exportacion de codigo de encriptacion de los yankis y estudiaremos la version internacional bo2k_1_0_intl.exe Este programa lanzara un asistente de instalacion del bo2k. Responderemos a todas las preguntas como si se tratara del proceso de instalacion de otro programa cualquiera y al terminar tendremos una nueva carpeta en Inicio/Programas/bo2k/ Asistente de configuracion (BO2K Configuration Wizard) """""""""""""""""""""""""""""""""""""""""""""""""""""" Eligiendo la opcion *BO2K Configuration Tool* accederemos al asistente para la configuracion del servidor Bo2K. Lo primero sera responder a la pregunta: Choose a bo2k Server file : bo2k.exe Que nos indica que elijamos el ejecutable que alberga el servidor Back Orifice 2000. Por ahora dejaremos el que tenemos con la distribucion actual (el que sale por defecto, bo2k.exe situado en *C:\Archivos de programa\cult of the dead cow\Back Orifice2000\bo2k.exe* si no hemos dedicido otra cosa) Hay que destacar el peque~o tama~o del server : 112 KB, asi como que cuando este este instalado, no tendremos ninguna noticia suya, no tiene icono en la barra de tareas, no sale listado en la lista de procesos... Pasamos a la seccion Networking Module, donde decidiremos con que protocolo del a familia TCP/IP funcionara BO2k por defecto: con el protocolo UDP o con el protocolo TCP. No he realizado pruebas de rendimiento para saber cual es la eleccion optima, asi que se puede elegir cualquiera de los 2. Elegimos por ejemplo, TCP (cualquiera que elija UDP le agradeceria que nos dijera cual ha sido el comportamiento del programa) Network Type: TCPIO Networking A continuacion nos da la oportunidad de elegir el puerto en el que escuchara el server bo2k. Seleccion de puerto (recomendable superior a 1024). La recomendacion se debe a que los puertos bien conocidos suelen estar por debajo del 1024 (por ejemplo, HTTP en el 80, FTP en el 21, SMTP en el 25, etc.) Para no pifiarla, elegimos el puerto 3003. Encriptacion XOR o 3DES (la version internacional no soporta 3DES) Clave de encriptacion : XOR 4 caracteres minimo 3DES 14 caracteres minimo Elegimos aqui una clave para realizar la encriptacion de datos, por ejemplo: set-ezine. No es la mejor de las claves posibles. Hay que destacar la estupidez de los yankis (no me refiero a los de cDc, sino al tio SAM ;-) lo que provoca el tener que realizar 2 programas bo2k, uno yanki y otro internacional. Esta ultima version solo admite encriptacion XOR. Se termina asi de configurar el servidor en esta maquina (por defecto tambien se configura el cliente en esta maquina). Cualquier otro cliente de cualquier otra maquina debera configurarse de igual forma para conectarse al servidor que acabamos de configurar. Nos encontramos ahora con la siguiente ventana, en la que entre otras cosas, nos da la posibilidad de “abrir” un servidor ya configurado *Open Server*, grabar la configuracion del servidor que hayamos hecho, o de cerrar el servidor. Grabamos los cambios y salimos. [ Ah no! Eso si que no! Me niego! Pasar el PDF a ASCII es una cosa, pero las ventanitas lo siento pero no. El que quiera ver ventanas, que se lea el PDF original. ;-P ] Arrancando """""""""" Aqui debajo tenemos la pantalla de configuracion de los servidores BO2k. Los se~ores de cDc le llaman a esto Espacio de trabajo (WorkSpace). Es posible guardar todas las configuraciones realizadas en un fichero de extension .bow [ Bien, otra ventanita que debereis ver en el PDF. ] Podemos abrir un .bow que ya tengamos o crear una nueva entrada de servidor en la lista de servidores. Para ello pulsamos en File/New Server, introducimos los datos oportunos: Nombre del servidor y direccion IP y listo, en la lista de servidores nos aparecera una nueva entrada con los datos del servidor que acabamos de introducir. Pulsando sobre el nombre del servidor que elijamos (vamos a poner como ejemplo el servidor PEPE con direccion IP 192.168.196.3) y posteriormente sobre el boton CONNECT tendremos algo parecido a la siguiente ventana: [ Muy bonita, si se~or. Pero eso en el PDF. ] Al pulsar sobre CONNECT, el cliente ha realizado una conexion TCP con el servidor al puerto 3003, y este ha respondido con la linea: -> Version: Back Orifice 2000 (BO2K) v1.0 Esto marcha """"""""""" A la izquierda, debajo de *Server commands* tenemos a modo de arbol, todos los posibles servicios que bo2k server nos ofrece: Simple Ping Query System Reboot Machine Lock-up Machine List Passwords Get System Info Key Logging Log Keystrokes End Keystroke Log View Keystroke Log Delete Keystroke Log GUI System Message Box TCP/IP Map Port -> Other IP Map Port -> Consolo App Map Port -> HTTP Fileserver Map Port -> TCP File Receive List Mapped Ports Remove Mapped Port TCP File Send M$ Networking Add Share Remove Share List Shares List Shares on LAN Map Shared Device Unmap shared device List Connections Process Control List Processes Kill Process Start Process Registry Create Key Set Value Get Value Delete Key Delete Value Rename Key Rename Value Enumerate Key Enumerate Values Multimedia Capture Video Still Capture AVI Play WAV File Play WAV File in Loop Stop WAV File List Capture Devices Capture Screen File/Directory List directory Find File Delete File View File Move/Rename File Copy File Make Directory Set File Attributes Receive File Send File Emit File List Transfers Cancel Transfer Compression Freeze File Melt File DNS Resolve Hostname Resolve Address Server Control Shutdown Server Restart Server Load Plugin Debug Plugin List Plugins Remove Plugins Start Command Socket List Command Sockets Stop Command Socket Legacy Butplugs Start Butplug List Butplugs Stop Butplug La forma de utilizarlos es sencilla: elegimos el comando del servidor, por ejemplo, para mandar un mensaje a la pantalla del servidor, elegiremos GUI/System Message Box , y a la derecha nos apareceran los cuadros de texto que tendremos que rellenar para llevar a cabo el comando elegido, en el ejemplo, nos aparece un cuadro Title para el titulo del mensaje y un cuadro Text para el contenido del mensaje. Los rellenamos y a continuacion le damos al boton *Send Command*. Sencillo, no? Bueno, son las 4 de la madrugada. Estoy un poco cansado. A dormir, a dormir ... History """"""" Version inicial del documento v1.0 Enviada a SET el 19 de julio de 1999