Back Orifice使用说明

/ns/wz/soft/data/20010108044134.htm

Back Orifice---远 程 管 理 系 统
作者:

 
Back Orifice(以下简称BO)是一个客户机/服务器(C/S)应用程序,其客户机程序(以下简称BO客户机)可以监视、管理和使用其他网络中运行服务器程序(以下简称BO服务器)所在的网络资源。要与BO服务器连接,基于文本和基于图形的BO客户机需要运行在MicrosoftWindows机器上。现在版本的BO服务器只能在Windows 95/98中运行。
本软件包里包括:
bo.txt
本文档。
plugin.txt
插件编程文档。
boserve.exe
Back Orifice服务器自安装程序。
bogui.exe
Back Orifice图形客户机。
boclient.exe
Back Orifice文本客户机。
boconfig.exe
配置BO服务器程序文件名、端口、密码和插件的工具。
melt.exe
对由freeze命令压缩的文档解压缩。
freeze.exe
压缩文档。压缩文档可被metl命令解压缩。

只要运行BO服务器程序,就可以安装BO服务器了。当BO服务器程序运行时,它安装BO服务器,然后删除自安装程序。此方法有助于网络环境下的安装:只要BO服务器程序被复制到Startup目录下就行了(译者注:因为Windows 95/98每次启动时都会运行该目录下的程序)。因为BO服务器程序在自安装BO服务器后就会删除自已。一旦BO服务器被安装到一台机器上,它会在每次机器启动时运行。

需要远程更新Back Orifice时,只要上载新版本的BO服务器程序到远程机上,使用Process spawn命令运行它。一旦运行,BO服务器程序将自动删除与它将要安装的文件同名的文件,安装自已(覆盖旧版本),然后在安装目录中运行自己,最后删除BO服务器程序。

在安装前,可以配置BO服务器程序的一些参数。如安装后的BO文件名、监听端口、加密密码,都可以使用boconfig.exe工具配置。如果不进行配置,缺省是监听31337端口、不使用加密密码(数据包仍然会加密)和以" .exe"文件名安装。

BO客户机通过加密了的UDP包与BO服务器通讯。要实现成功通讯,BO客户机城建发送数据到BO服务器监听的端口,而且BO客户机密码必须匹配BO服务器已配置好的密码。

基于图形和文本的BO客户机都可以通过使用-p选项来设置BO客户机数据包的发送端口。如果数据包被过滤或者有防火墙屏蔽,就可能需要从一个特别的、不会被过滤和屏蔽的端口发送。如果UDP连接通讯不能成功,则可能是数据包在发送或回送路径中被过滤或者屏蔽了。

从BO客户机向特定的IP地址发送命令即可对BO服务器操作。如果BO服务器无静态IP地址,则可使用以下方法:(1)在基于文本的BO客户机使用sweep或sweeplist命令;(2)在基于图形的BO客户机使用"Ping..."对话框;(3)设定目标IP如"1.2.3.*"。如果扫描子网列表,当有BO服务器响应时,BO客户机在子网列表目录中浏览,并显示所匹配的行和子网地址。(译者注:虽然我知道如何使用,但却无法按原文的内容表达出来。我在以后再作详细说明。)

以下是在现在版本的Back Orifice中已经实现的命令。在基于图形和基于文本的BO客户机里有些命令名称不相同,但几乎所有命令的语法格式都是一致的。在基于文本的BO客户机中输入 "help command"可得到更多关于命令的信息。在基于图形的BO客户机中有两个参数输入区域,这些参数作为在"Command"列表中所选择的命令的参数。如果未给出命令所需要的参数,BO服务器将返回"Missing data"(丢失数据)。Back Orifice命令如下:

(基于图形的BO客户机命令/基于文本的BO客户机命令)

App add/appadd
在TCP端口输出一个基于文本的应用程序。它允许你通过Telnet对话控制基于文本或
DOS的应用程序。

App del/appdel
从监听的连接中关闭一个应用程序。

Apps list/applist
列出当前监听的连接中的应用程序。

Directory create/md
创建目录

Directory list/dir
列出文件和目录。如要显示多文件/目录则须使用通配符。

Directory remove/rd
删除目录

Export add/shareadd
在BO服务器上创建一个“出口”(共享)。被输出(共享)的目录或驱动器图标
不会出现共享图标。

Export delete/sharedel
删除一个(共享)“出口”。

Exports list/sharelist
列出当前共享名、共享驱动器、共享目录、共享权限和共享密码。

File copy/copy
拷贝文件。

File delete/del
删除文件。

File find/find
在目录中查找符合条件(支持通配符)的文件。

File freeze/freeze
压缩文件。

File melt/melt
解压缩文件。

File view/view
查看文件内容。

HTTP Disable/httpoff
使HTTP服务器失效。

HTTP Enable/httpon
使HTTP服务器有效。

Keylog begin/keylog
将BO服务器上的击键记录在一个文本文件中,同时还记录执行输入的窗口名。

Keylog end
停止击键记录。基于文本的BO客户机使用"keylog stop"命令。

MM Capture avi/capavi
从视频输入设备(如果存在)捕捉视频和音频信号到avi文件中。

MM Capture frame/capframe
从视频输入设备捕捉一个视频帧到一个位图文件中。

MM Capture screen/capscreen
捕捉BO服务器屏幕影像到一们位图文件中。

MM List capture devices/listcaps
列出视频输入设备。

MM Play sound/sound
在BO服务器上播放一个avi文件。

Net connections/netlist
列出当前接入和接出的连接。

Net delete/netdisconnect
断开BO服务器的一个网络资源连接。

Net use/netconnect
把BO服务器连接到一个网络资源。

Net view/netview
查看BO服务器上所有的网络接口、域名、服务器和可见的共享“出口”。

Ping host/ping
Ping主机。返回主机名和BO版本。


Plugin execute/pluginexec
运行BO插件。运行不符合BO插件接口的函数可能使B)服务器当机。

Plugin kill/pluginkill
命令一个插件关闭。

Plugins list/pluginlist
列出当前激活的插件和已存在的插件返回值。

Process kill/prockill
终止一个进程。

Process list/proclist

列出运行中的进程。

Process spawn/procspawn
运行一个程序。在基于图形的BO客户机程序中,如果需要确定第二个参数,进程
可能以一个正常的、可见的方式运行,否则进程的运行将是隐蔽或独立的。

Redir add/rediradd
重定向接入的TCP连接或UDP数据包到另一个IP地址。

Redir del/redirdel
停止端口重定向。

Redir list/redirlist
列出激活的端口重定向。

Reg create key/regmakekey
在注册表中创建中一个主键。
注:对于所有的注册表命令,不要在注册表键值前加入前导"\\"。

Reg delete key/regdelkey
从注册表中删除一个主键。

Reg delete value/regdelval
删除注册表中的一个键值。

Reg list keys/reglistkeys
列出注册表中一个主键下的子键。

Reg list values/reglistvals
列出注册表中一个主键的键值。

Reg set value/regsetval
设置注册表一个主键的一个键值。键值格式为“类型,值”。对于二进制值(类型为
B),值是一个两位的16进制数;对于DWORD(双字)值(类型为D),值是一个十进制数;
对于字符串值(类型为S),值是一个文本串。

Resolve host/resolve
解析BO服务器的主机名的IP地址。主机名可能是一个Internet主机名或本地网络机器
名。

System dialogbox/dialog
用所给出的文本和一个"OK"按钮,在BO服务器上创建一个对话框。可以创建任意多的
对话框,对话框的显示是堆叠式的。

System info/info
显示BO服务器上的系统信息。包括机器名、当前用户、CPU类型、内存容量及可用内存、
Windows版本、驱动器信息(类型(硬盘、CDROM、可拆卸型、远程驱动器)、硬盘驱动器
容量及未使用空间)。

System lockup/lockup
锁住BO服务器机器。

System passwords/passes
显示被缓存的当前用户密码和屏幕保护密码。所显示的密码中可能含有一些无用信息。
(译者注:如果密码未被系统缓存,则不能显示密码。)

System reboot/reboot

关闭BO服务器主机并重启动。

TCP file receive/tcprecv
将BO服务器主机连接到一个特定的IP地址和端口,并保存所接收到的数据到特定文件中。

TCP file send/tcpsend
将BO服务器主机连接到一个特定的IP地址和端口,发送特定文件中的内容,然后断开
此连接。
注:对于TCP文件传输,必须监听特定的IP地址和端口,直到TCP文件命令被发送,否则传
输将会失败。

从BO服务器传输文件,可使用TCP文件发送命令和如下格式的netcat命令:

netcat -l -p 666 > file

传输文件到BO服务器,可使用TCP文件接收命令和如下格式的netcat命令:

netcat -l -p 666 < file

注:Win32版本的netcat命令在到达输入文件末部时并不断开连接。因此应在文件内容传输
完毕后用ctrl-c或ctrl-break终止netcat命令。


BOConfig:
BOConfig.exe允许在BO服务器安装前配置一些可选项。首先询问BO服务器在系统目录中安装的可执行文件名。它不一定是.exe,但如果你不给出扩展名,它不会自动添加.exe扩展名;接着询问exe文件的描述,它描述了在注册表中记录的、系统启动时运行的exe文件;接着询问BO服务器监听(数据包)端口;接着询问用于加密的密码。要实现BO客户机到BO服务器的通讯,客户机必须配置有相同的密码,此密码可以为空;接着询问启动时缺省运行的插件。这个在BO服务器启动时自动运行的BO插件是以"DLL:_Function"格式定义的DLL和函数。此项可以为空;然后让你输入启动时传送给插件的参数,此项也可以为空;最后,询问被附加到BO服务器上的文件的路径。该文件将在BO服务器启动时写入系统目录。此文件可以是一个自动启动的BO插件。

BO服务器在没有进行配置时也能运行。缺省地,安装BO服务器文件名为" .exe",无密码,使用端口31337通讯。

已知的Bugs和问题:

多媒体捕捉屏幕――所产生的位图是按BO服务器端的显示分辨率和像素深度保存的。因此,它可能是16位或24位颜色的。大多数图形应用程序只能处理8位或32位位图,因而不能打开此位图,或者显示不正常(此类软件包括Graphics Workshop for Windows、Photoshop和WANG Imaging distributed with Windows)。但是,Windows本身有一个应用程序Paint.exe可以浏览这些位图,按其提示操作即可。

击键记录――很显然,MS-DOS窗口未提供信息循环机制,这就使得BO无法记录输入到其中的击键。
基于文本的应用程序的TCP重定向――有几个Bugs。

当用command.com的重定向名柄输出command.com时,系统同时输出REDIR32.EXE,此程序似乎是无法终止的。这可能是由于操作系统接口与一个tsr模块(该模块在DOS对话中被装载以重定向输入/输出句柄)通讯所造成的。因此,如果在应用程序被终止(或退出)前终止TCP连接,REDIR32.exe和WINOA386.MOD(用于封装管理旧16位应用程序)将仍然运行,BO和操作系统均无法终止它们。这会导致系统显示"Please wait..."(请等待)屏幕且无法关机。某些控制台应用程序重定向了输出时也可能会发生问题,如FTP.exe和boclient.exe。虽然程序的输出因此而不能传送出去,但仍然可能传送输入,所以你要通过TCP对话使该程序退出。否则使用BO杀死该进程。


可向bo@cultdeadcow.com发送电子邮件提出问题、建议和bugs。
http://www.cultdeadcow.com

Microsoft, Windows, Windows 95, Windows 98, and Windows NT are all registered
trademarks of the Microsoft Corporation.
Back Orifice (BO) 插件接口文档

只要以如下格式创建一个DLL(动态链接库),就可以制作你自己的
Back Orifice (以下简称BO)插件:

char *YourFunc(int *active, char *args)

Plugin插件执行命令允许你指定一个格式为"dll:_Function"的DLL和函数。*args参数是用于接收传送到该函数的参数。你的应用程序所需要做的唯一一件事情就是监视active所指向的整数值。如果该值为0,表示用户正要求插件退出,此时你的函数应在执行了任何必须的关闭动作后,尽可能迅速地返回(退出)。你的程序还应该返回NULL,或者一个指向应显示给用户的文本信息的静态缓冲区指针。这个DLL只会在缓冲区中的文本被拷贝后才会卸载。