发信人: hoh() 
整理人: williamlong(1999-09-13 19:29:51), 站内信件
 | 
 
 
  Back Orifice(以下简称BO)是一个客户机/服务器(C/S)应用程序,其客户 机程序(以下简称BO客户机)可以监视、管理和使用其他网络中运行服务器程序 (以下简称BO服务器)所在的网络资源。要与BO服务器连接,基于文本和基于图 形的BO客户机需要运行在Microsoft Windows机器上。现在版本的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或sweepl ist命令;(2)在基于图形的BO客户机使用"Ping..."对话框;(3)设定目标IP如“ 1.2.3.*”。如果扫描子网列表,当有BO服务器响应时,BO客户机在子网列表目录 中浏览,并显示所匹配的行和子网地址。(译者注:虽然我知道如何使用,但却 无法按原文的内容表达出来。我在以后再作详细说明。)
 
   以下是在现在版本的Back Orifice中已经实现的命令。在基于图形和基于文 本的BO客户机里有些命令名称不相同,但几乎所有命令的语法格式都是一致的。 在基于文本的BO客户机中输入“help command”可得到更多关于命令的信息。在 基于图形的BO客户机中有两个参数输入区域,这些参数作为在“Command”列表中 所选择的命令的参数。如果未给出命令所需要的参数,BO服务器将返回“Missin g 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 
 注: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服务器文件名为“.e xe”,无密码,使用端口31337通讯。
 
 
 ---------------------------------------------------------------------- ----------
 
 已知的Bugs和问题:
 
   多媒体捕捉屏幕——所产生的位图是按BO服务器端的显示分辨率和像素深度 保存的。因此,它可能是16位或24位颜色的。大多数图形应用程序只能处理8位或 32位位图,因而不能打开此位图,或者显示不正常(此类软件包括Graphics Wor kshop 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和bocli ent.exe。虽然程序的输出因此而不能传送出去,但仍然可能传送输入,所以你要 通过TCP对话使该程序退出。否则使用BO杀死该进程。
 
 可向 [email protected] 发送电子邮件提出问题、建议和bugs。
 
 
 ---------------------------------------------------------------------- ----------
 
 Back Orifice插件接口文档
 
 只要以如下格式创建一个DLL(动态链接库),就可以制作你自己的Back Orific e (以下简称BO)插件:
 
 char *YourFunc(int *active, char *args)
 
 Plugin插件执行命令允许你指定一个格式为"dll:_Function"的DLL和函数。*arg s参数是用于接收传送到该函数的参数。你的应用程序所需要做的唯一一件事情就 是监视active所指向的整数值。如果该值为0,表示用户正要求插件退出,此时你 的函数应在执行了任何必须的关闭动作后,尽可能迅速地返回(退出)。你的程 序还应该返回NULL,或者一个指向应显示给用户的文本信息的静态缓冲区指针。 这个DLL只会在缓冲区中的文本
 被拷贝后才会卸载。
 
 以上就是所要做的一切。
  -- ====================
 黑客之家帮你收集一切!
 http://hoh.yeah.net
 [email protected]
 ====================
  ※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.102.155.49]
  | 
 
 
 |