El Culto de la Vaca Muerta : Comunicaciones presenta Back Orifice Sistema de administracion remota v1.20 (30-7-1998) Lanzamiento inicial Back Orifice es una aplicacion cliente-servidor que permite al software cliente monitorizar , administrar , y realizar otras acciones de red y multimedia en la maquina que esta ejecutando el servidor. Para comunicarse con el servidor , tanto el cliente basado en texto como en graficos pueden ejecutarse en cualquier maquina con Microsoft windows. El servidor solo funciona actualmente en Windows 95/98. Este paquete contiene: bo.txt (documentacion) bo_esp.txt (Este documento) Plugin.txt (documentacion de programacion de extensiones para el servidor) boserve.exe (Servidor Auto-Instalable de Back Orifice) bogui.exe (Cliente grafico para BO) bocliente (cliente en modo texto), boconfig.exe (utilidad para configurar el nombre del ejecutable , el puerto,el password y la extension predeterminada para el servidor BO) melt.exe (un descompresor) frezze.exe (un compresor) Para instalar el servidor , este tan solo necesita ser ejecutado. Cuando el ejecutable del servidor se ejecuta , se instala a si mismo , y se borra. Esto es util en entornos de red, donde el servidor puede ser instalado en una maquina , simplemente copiando el ejecutable del servidor en el directorio Startup (o Inicio, en el caso espaņol) , donde sera instalado y luego borrado. Una vez que el servidor esta instalado en una maquina, se iniciara cada vez que la maquina re-arranque. Para actualizar una copia de BO de forma remota , simplemente manda la nueva version del servidor al host remoto, y usa el comando Process spawn para ejecutarlo. Cuando se ejecuta, el servidor automaticamente mata cualquier proceso que se llame como el programa a instalar, e intenta instalarse sobre la vieja version, se autoejecuta desde su posicion de instalacion, y borra el exe que acaba de ejecutar. Antes de la instalacion , algunos de los aspectos del servidor pueden ser configurados. El nombre de fichero que usa el BO para instalarse a si mismo, el puerto en el que estara escuchando el servidor, y el password usada para encriptar pueden ser configurados con la utilidad boconf.exe. Si el servidor no se configura , usara el puerto 31337, sin password (aunque las comunicaciones siguen estando encriptadas), y se instala a si mismo como " .exe" (espacio punto exe) El cliente se comunica con el servidor via paquetes UDP encriptados. Para una comunicacion con exito , el cliente necesita mandar al mismo puerto al que esta escuchando el servidor , y la password del cliente debe ser la misma con la que esta configurado el servidor. El puerto al que el cliente manda sus paquetes puede ser establecido con la opcion -p tanto en el cliente grafico como en el de texto. Si los paquetes estan siendo filtrados o existe un firewall , puede ser necesario mandar desde un puerto que no sea filtrado y/o bloqueado. Ya que las comunicaciones por UDP son sin conexion , los paquetes pueden ser bloqueados tanto en su camino hacia el servidor como en la vuelta hacia el cliente. Las acciones son realizadas en el servidor mandando comandos desde el cliente a una direccion ip especifica. Si la maquina servidora no esta en una direccion IP fija (caso habitual si se accede a traves de Infobirria), puedes localizarla utilizando el barrido o los comandos de barrido (sweep) en los cliente usando el dialogo "ping..." o poniendo una direccion IP destino del tipo "1.2.3.*". Si se barre una lista de subredes , cuando una maquina con el servidor instalado responde , el cliente mirara en el mismo directorio que contiene la lista de subredes y mostrara la primera linea del primer archivo que encuentre con el nombre de archivo de la subred. Las ordenes actualmente implementadas en BO se listan abajo. Algunos de los nombres pueden ser diferentes entre la version texto y grafica de los clientes, pero la sintanxis es la misma para practicamente todos los comandos. Mas informacion sobre cualquier orden se puede conseguir usando el comando "help ". El cliente grafico pone las etiquetas de los dos campos parametro con una descripcion de los argumentos que cada orden acepta, cuando se selecciona ese comando de la lista de ordenes(Command List) Si parte de la informacion requerida no se proporciona con la orden , el servidor devolvera el error "Missing data". Las ordenes de BO son: (Cliente Grafico/Cliente Texto) App add/appadd Lanza una aplicacion basada en texto en un puerto tcp. Esto permite que tengas el control de una aplicacion de texto o MS-DOS desde una sesion de telnet (por ejemplo , command.com) App del/appdel Hace que una aplicacion deje de esperar conexiones Directory create/md Crea un directorio Directory list/dir Lista los ficheros y directorios. Debes especificar un comodin si quieres que mas de un fichero sea listado. Directory remove/rd Borra un directorio. Export add/shareadd Crea una comparticion en el servidor. El icono de directorio o unidad exportado no se ve modificado por la el icono de la mano. Export delete/sharedel Borra una comparticion. Exports list/sharelist Lista los nombres de las comparticiones actuales, la unidad o directorio que esta siendo compartido , el acceso para esta comparticion , y el password para esta comparticion. File copy/copy Copia un fichero File delete/del Borra un fichero File find/find Busca en un arbol de directorios los ficheros que correspondan con los comodines especificados. File freeze/freeze Comprime un fichero File melt/melt Descomprime un fichero File view/view Ver el contenido de un fichero de texto. HTTP Disable/httpoff Deshabilita el servidor HTTP. HTTP Enable/httpon Habilita el servidor HTTP Keylog begin/keylog Graba las pulsaciones de tecla en la maquina servidora a un fichero de texto. El log muestra el nombre de la ventana en la que fue introducido el texto. Keylog end Parar la captura de teclado. Para terminar la captura desde el cliente texto, usa "keylog stop". MM Capture avi/capavi Captura video y audio (si se puede) desde cualquier dispoditivo de captura de video disponible a un fichero avi. MM Capture frame/capframe Captura un fotograma de video y lo graba en un fichero bmp MM Capture screen/capscreen Captura una imagen de la pantalla de la maquina servidora en un fichero bmp MM List capture devices/listcaps Muestra una lista de los dispositivo de captura de video. MM Play sound/sound Toca un fichero wav Net connections/netlist Muestra las conexiones de entrada y salidas a la red Net delete/netdisconnect Desconecta la maquina servidora de un recurso de red. Net use/netconnect Conecta la maquina servidora a un recurso de red. Net view/netview Ve todos los interfaces de red , dominios , servidores , y comparticiones accesibles desde la maquina servidora. Ping host/ping Ping a la maquina. Devuelve el nombre de la maquina y el numero de version del BO que tiene instalado. Plugin execute/pluginexec Ejecuta una extension BO. Ejecutar funciones que no se ajusten al interfaz de extensiones de BO ,causara el cuelgue del servidor. Plugin kill/pluginkill Le dice a una extension que pare y se retire. Plugins list/pluginlist Lista las extensiones activas o el valor de retorno de una extension que ha salido (terminado) Process kill/prockill Terminar un proceso. Process list/proclist Muestra los procesos en ejecucion. Process spawn/procspawn Ejecuta un programa. Desde el gui, si el segundo parametro se especifica,el proceso sera ejecutado como un proceso normal , visible. Si no , sera ejecutado escondido o camuflado Redir add/rediradd Redirecciona las conexiones tcp entrantes o paquetes udp a otra direccion IP. Redir del/redirdel Para la redireccion de puerto. Redir list/redirlist Lista todas las redirecciones de puerto. Reg create key/regmakekey Crea una clave en el registro. NOTA; Para todos los comandos de registro, no especificar los \\ del final para los valores del registro. Reg delete key/regdelkey Borra una clave del registro. Reg delete value/regdelval Borra un valor del registro. Reg list keys/reglistkeys Lista las subclaves de una clave del registro. Reg list values/reglistvals Lista los valores de una clave de registro. Reg set value/regsetval Establece un valor para una clave de registro. Los valores son especificados como un tipo seguidos de una coma , y despues el dato del valor. Para valores binarios (Tipo B) el valor es una serie de dos digitos con valores hexadecimales. Para valores DWORD (tipo D) el valor es un numero decimal.Para valores de cadena (tipo S) el valor es una cadena de texto. Resolve host/resolve Resuelve la direccion IP de una maquina relativa a la maquina servidor. El nombre de la maquina puede ser un nombre internet o de red local. System dialogbox/dialog Crea una caja de dialogo en la maquina con el texto especificado , y un boton "ok". Puedes crear tantas cajas de dialogo como quieras, ellas sencillamente iran en cascada frente a la caja anterior. System info/info Muestra informacion del sistema de la maquina servidora. La informacion mostrada incluye el nombre de la maquina , usuario actual , tipo de CPU,memoria total y disponible, informacion de la version de windows , e informacion sobre las unidades (fijas , CD-rom, removible,remota) , y para las unidades fijas , el tamaņo y espacio libre. System lockup/lockup Bloquea la maquina servidora. System passwords/passes Muestra las passwors en cache para el usuario actual y la password de su salvapantallas. Pueden tener basura enganchada al final. System reboot/reboot Apaga la maquina y la reinicia. TCP file receive/tcprecv Conecta el servidor a una direccion IP/Puerto y guarda cualquier dato recibido de esa coinexion al fichero especificado. TCP file send/tcpsend Conecta la maquina servidora a una IP/Puerto especifico y manda el contenido de un fichero especifico , luego desconecta. NOTA: Para transferecias TCP de ficheros , la direccion IP y el puerto deben estar escuchando antes de que el comando de fichero tcp sea mandado , o fallara. Un utilidad para trasnferencias de este tipo es netcat , que esta disponible tanto para Unix como para Win32 Los ficheros pueden ser transferidos DESDE el servidor usando el comando tcp dile send , y netcat con una sentencia del tipo : netcat -l -p 666 > fichero Los ficheros pueden ser transferidos AL servidor usando el comando tcp file receive command y netcat con una sentencia del tipo : netcat -l -p 666 NOTA: la version win32 de netcat no desconecta ni sale cuando encuentra el fin del fichero de entrada. Despues de que el contenido del fichero ha sido transferido , termina el netcat con ctrl-c o ctrl-break. BOConfig: BOConfig.exe te permite configurar las opciones para un servidor BO antes de que se instale. Te pregunta el nombre del ejecutable , cual es el nombre que BO usara para instalarse en el directorio del sistema. No tiene porque terminar en .exe , pero no agregara .exe si no le das una extension de fichero. Despues te pregunta por una descripcion del fichero .exe si no le das una extension exe que describira el exe en el registro donde sera iniciado durante el arranque. Entonces pregunta por el puerto por donde el servidor esperara los paquetes, y una password para la encriptacion. Para comunicarse el servidor con el cliente , el cliente debe tener la misma password. Puede ser nula. Despues pregunta por la extension para ejecutar al iniciar. Esto es una DLL y nombre de funcion , del tipo "DLL:_Funcion" de una extension de BO que se ejecutara automaticamente cuando el servidor se inicie. Puede ser nula. Entonces , te permite entrar cualquier argumento que quieras pasarle a la extension en arranque. Tambien puede ser nula. Y finalmente , te pregunta por la localizacion del fichero que sera unido al servidor , que sera escrito al directorio del sistema cuando el servidor se inicie. Este puede ser una extension del BO que se ejecute automaticamente. El servidor funcionara sin ser configurado. Por defecto , comunica al puerto 31337 sin password , e instalandose como " .exe"