Vulnhub 靶机 pwnlab_init 渗透——详细教程

1. 下载 pwnlab_ini 靶机的 .ova 文件并导入 VMware;

pwnlab下载地址:PwnLab: init ~ VulnHub

导入VMware时遇到VMware上虚机太多,无法确认 pwnlab(DHCP) 的 ip 地址,小技巧:

  • 设置 中查看 网卡的MAC地址

 

  •  arp-scan 时直接搜索对应mac,映射到ip地址

 

2. 找到ip地址后,nmap 扫描靶机所有端口

nmap -sT -T4 -A -p- 172.17.0.81

 

 靶机开启了 80,111,3306等端口

try:http的web服务

 

 发现有个Upload的button,是否可以利用文件上传漏洞呢?

点击后Upload后发现需要login

  

 

 

3. 扫描靶机目录

nikto -h 172.17.0.81

 

 发现一个可疑的config.php文件,但是看不到内容

 4. 渗透测试

看url格式,可能存在文件包含漏洞,尝试:

http://172.17.0.81/?page=file:///etc/passwd

但是没反应

尝试使用php协议,先转码

http://172.17.0.81/?page=php://filter/read=convert.base64-encode/resource=config

 

 拿到回显后base 64转码得到:

 

发现了数据库的用户和密码,之前nmap扫描时发现,mysql是开着的,尝试登陆mysql并发现了users的表;

base64解码:

 登录kent用户,尝试上传webshell木马文件,首先看upload的规则,使用同样的方式获取upload.php的代码;

 

 Base64转码后获取upload.php代码,使用白名单对文件后缀名及MIME类型做限制,要求上传图片;

 

直接上传kail自带的webshell,webshell路径/usr/share/webshells/php/php-reverse-shell.php,需要修改两处:

IP为webshell反向到的主机地址,用来监听靶机的port,获取webshell权限的渗透机;

 

 BurpSuite拦截上传请求,添加文件后缀名.gif,修改MIME类型为image/gif,文件头添加GIF

上传成功后,监听靶机的5555端口:nc -lvp 5555,此时我们只需要执行上传的webshell即可,需要利用index.php里面的文件包含漏洞

 

获取上传的webshell文件路径,直接使用curl目录把webshell文件包含在cookie里面,

 

 此时查看监听的5555端口,进入了www-data用户,此时只需要提权到root权限,先把python虚拟终端运行起来,方便操作

 

 

 

 然后切换之前获取的用户,发现只有kane用户目录下有一个elf类型的可执行文件msgmike

 

 执行后发现需要cat mike目录下一个msg.txt文件,这里应该是没有cat权限

  

此时需要用到 环境变量劫持提权,把环境变量修改成自建cat文件的目录,操作如下:

 

 成功执行msgmike文件后,把环境变量修改为回来,查看当前用户为mike;

 

 查看mike目录下文件,有个msg2root文件,执行该文件后输入执行路径:;/bin/sh后,获取root权限;

 

posted @   LastOneBlackHole  阅读(838)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示