远程控制软件
Radmin
提升权限之实例研究
Simeon
在网络安全技术比较成熟的今天,一些配置上的疏忽或者管理上的不到位将会导致巨大的安全风险。在笔者的眼中,远程控制软件除了溢出等漏洞外,利用口令等方式来提升权限无疑是一种上佳选择,只要获取了口令信息,配合一些工具软件,就可以使用它来进行“正常”登录,入侵者行使管理员权限,
Serv-U
、
PcAnywhere
、
VNC
都存在过这种问题,远程控制中的
Radmin
软件也不例外。
很早以前笔者就了解到
Radmin2.x
版本中可以通过
Hash
值来进行登录,无需知道其确切的密码,按照网上的说法,需要反汇编工具软件的配合,但由于其操作较为繁琐,且成功率较低,后面有人将整个过程进行优化,将
Radmin
客户端程序进行了修改,提供了
Radmin-Hash
登录版本,因此有了本文。
Radmin2.X
版本中其密码是经过加密的
32
位
MD5 hash
值,保存在注册表中的
Radmin
键值下的
Parameter
中,例如
"Parameter"=hex:f4,7b,bc,b1,77,44,6e,73,dd,c2,c3,a7, 4c ,94,15,fd
。“
f47bbcb177446e73ddc 2c 3a 74c 9415fd
”就是
Radmin2.X
的
Md5 Hash
值。只要安装知道安装
Radmin
服务端计算机的
IP
地址、端口以及密码,如果没有做
IP
限制,那么只要能够访问该计算机,则可以对该计算机实施完全控制。由于
Radmin
功能强大,因此深受广大网管人员喜爱。
本文就
Radmin
的安全隐患进行探讨,就
Radmin
远程控制软件本身来说没有太多的缺陷,但是由于管理人员的疏忽或者是由于系统存在其它配置或者程序上的漏洞,那么在获取其
Radmin
的
32
为
Hash
值后极有可能造成极大的安全隐患,隐患之一就是使用
Radmin-hash
客户端进行登录,只要获取了
Radmin
的
Hash
值,就可以成功登录该主机。下面以一个实际案例来进行探讨。
(一)获取远程计算机的
Md5 Hash
值
一般通过
Webshell
或者远程挂马等方式来获取远程计算机的
Md5 Hash
值,由于
Radmin
中的密码值是保存在注册表中,因此可以通过
Webshell
等方式获取被控计算机上的
Radmin
的密码值。一般来说要获取服务器上的
Hash
值比较困难,目前很多服务器安全设置都处理的不错,对外开放的端口较少,因此只能通过
Sql
注入或者跨站攻击来获取。
(二)使用
Radmin-hash
版本进行登录
Radmin-hash
版本客户端只要输入
Radmin
客户端的
Hash
值即可进行登录。在
Radmin-Hash
客户端中新建服务端,如图
1
所示,建立成功后使用“工具选项”中的“扫描存活主机”对该主机进行连接测试,如果该主机可以连接,则会在标识中以黄色的勾显示。
图
1
建立
Radmin
连接
(三)进行登录验证尝试
选择“
221.12.*.*
”标识,然后双击进行连接,接着
Radmin-Hash
版本客户端会弹出要求输入密码的对话框,如图
2
所示,输入该服务端对应的
32
位的
Hash
值,然后单击“确定”按钮进行登录尝试。
图
2
输入
Radmin
的
32
位
Hash
值
根据网络连接情况,大概数秒后,如果
Hash
值正确,则可以顺利进入
Radmin
的相应管理,如图
3
所示,进入
Radmin
服务端的
Telnet
管理界面,在该界面中可以执行各种命令。
图
3
成功进入
Telnet
管理
说明:
Webshell
获取的权限很低,除了网站目录外,基本上做不了其它事情,包括执行
Dos
命令,而一旦通过
Radmin
的
Telnet
管理端,则几乎可以执行任何命令。
(四)查看远程屏幕和传输文件
在
Radmin
客户端中选择屏幕监控,然后双击其标识,再次输入
32
位
Hash
值,即可查看其远程主机的屏幕,如图
4
所示,知道该主机开放了远程终端桌面。接着使用
Radmin
的文件传输,将
getpw.exe
文件上传到该主机上,当然也可以传输其它文件。
图
4
查看远程屏幕
(五)获取密码或者进行内网渗透
在
Telnet
中进入
getpw.exe
文件所在目录,然后执行“
getpw $local
”命令获取该主机的所有帐号的
sam
值,如图
5
所示。然后在
Telnet
管理端中选择“菜单”
-
“保存为”命令将执行命令的结果保存为一个本地文件。
图
5
获取主机
sam
值
(六)破解密码
将包含
sam
值的文件进行整理,将包含帐号的
sam
值另存为一个
sam
文件,然后运行
LC5
,并将
sam
导入其中进行破解,如图
6
所示,破解成功后其管理员帐号
Administrator
的密码为“
rous***
”。
图
6
破解管理员帐号
(七)登录远程桌面
在本地打开远程桌面连接器,输入远端
IP
地址进行登录测试,出现远程连接桌面后,输入破解后的密码,成功进入远程管理桌面,如图
7
所示。
图
7
进入远程管理桌面
(八)防范对策
既然有些风险无法完全排除,那么可以采取一些补救措施来降低风险。通过分析研究,笔者认为可以采取以下一些措施来防范
Radmin-hash
提升权限。
(
1
)在
Radmin
服务端中进行授权设置,在
Radmin
中可以对登录用户进行授权设置,对不同的
IP
或者用户设置不同的权限,例如上传文件、读取文件、写入文件、执行命令等。
(
2
)使用
IP
限制。如果登录用户的
IP
地址是固定的,则可以在
IP
限制中进行设置,仅仅允许客户的
IP
地址进行登录,这样只有客户的那个网络段才能进行登录。
(
3
)使用
Radmin
中的日志记录。
Radmin
中默认未启用日志记录,可以在
Dos
提示符下输入“
R_server /setup
”命令打开设置窗口,如图
8
所示,在“
Logging
”中分别选中“
Use Event Log
”以及“
Use logfile
”选项,并设置日志文件名称以及路径,然后单击“
Ok
”按钮完成设置。
图
8
在
Radmin
中启用日志记录
(
4
)发生入侵后或者不定期修改
Radmin
以及管理员帐号密码。没有绝对的安全,只有绝对的不安全。如果主机
24
小时提供服务,则应该定期修改远程管理软件以及用户帐号等密码,并定期安装系统补丁和进行安全检查。
本文出自 “simeon技术专栏” 博客,转载请与作者联系!