iT邦幫忙

2024 iThome 鐵人賽

DAY 5
0
佛心分享-IT 人自學之術

從0到1的攻擊手自學之旅系列 第 5

[鐵人賽] Day 5:HTB挑戰之旅 Starting Point (三)- Dancing, Redeemer

  • 分享至 

  • xImage
  •  

Tips

Starting Point才做了兩個,下方的列表已經越來越豐富了,而我就是這樣累積起我的手感創造自己的SOP。Starting Point還有兩題不過我有點懶得再分兩天來寫,雖然我確實需要30天連續寫作的題目,後面本來要介紹暑假培訓課程的前側、上課過程、結訓測驗,不過現在可能不方便分享,怕是鐵人賽30則挑戰要半途而廢了🤦‍♂️

(2024/09/12 09:27)
我們課程都會宣導課程資料僅供學員使用,請不要將資料外流,一方面也是尊重講師~~
我們會再加強宣導這個部分

接下來仍然會依照規劃的步調,將這半年怎麼生成自己面對未知靶機的SOP過程紀錄,不夠的篇幅會多用一些HTB靶機和實務經驗來填充,還是會努力試著完成這次鐵人賽挑戰。

SOP

  • VPN連線進入靶機網域
    • sudo openvpn --config (目標).ovpn
  • nmap
    • nmap -F (目標IP): nmap -F 10.129.28.11
    • 或 nmap -T4 (目標IP): nmap -T4 10.129.28.11
    • nmap -sV -p(目標埠) (目標IP): nmap -sV -p21 10.129.28.11
      • 發現23 port: telnet (目標IP)
      • 發現21 port: ftp -v (目標IP)
  • ls, cat flag.txt, get (檔案名稱)

Command

  • openvpn
  • nmap
  • telnet
  • ftp
  • ls
  • cat
  • get

Dancing

Step 1 openvpn

┌──(kali㉿kali)-[~]
└─$ sudo openvpn --config starting_point_FinleyLi.ovpn

連上線以後取得10.129.92.214

ONLINE

TARGET MACHINE IP ADDRESS

10.129.92.214

Read the walkthrough provided, to get a detailed guide on how to pwn this machine.

Step 2 nmap

finley@FinleyX280:~$ nmap -F 10.129.92.214
Starting Nmap 7.80 ( https://nmap.org ) at 2024-09-15 09:27 CST
Nmap scan report for 10.129.92.214
Host is up (0.28s latency).
Not shown: 95 closed ports
PORT      STATE    SERVICE
135/tcp   open     msrpc
139/tcp   open     netbios-ssn
144/tcp   filtered news
445/tcp   open     microsoft-ds
10000/tcp filtered snet-sensor-mgmt

Nmap done: 1 IP address (1 host up) scanned in 14.05 seconds

這裡我們為了速度用F掃描100個常見連接埠,就結果來看目標靶機應該是windows無誤,這裡又用上了經驗法則很大概率是我們要對付windows網路芳鄰。這條技能還沒點起來沒關係可以去google:

https://www.google.com.tw/search?q=port+125+139+445

Step 3 smb

首先,可以試著在windows檔案總管路徑處寫上\10.129.92.214,其實檔案總管上的路徑管理很好用,甚至讓我操作左側的樹狀選單次數減少。這時候會遇到帳號密碼的問題,又要來通靈一次了嗎?

https://ithelp.ithome.com.tw/upload/images/20240915/201655003UV9Xwxusj.png

沒關係,我們用linux指令來做一遍,這時候要學一個新指令smbclient,如果沒有安裝的話會出現

finley@FinleyX280:~$ smbclient -h
Command 'smbclient' not found, but can be installed with:
sudo apt install smbclient

請執行更新套件然後安裝,前面沒有特別解釋過sudo提升權限,為了安全性我們通常只會賦予使用者帳號合適的權限這是最小權限原則,不過現在的情境就算你開機直接sudo su切換為最高權限管理者都沒問題。

  • sudo apt update
  • sudo apt install smbclient

現在先用-L參數查看一下所有可用共享資源,出現要打Password只要Enter跳過就可以。

finley@FinleyX280:~$ smbclient -L 10.129.92.214
Password for [WORKGROUP\finley]:

        Sharename       Type      Comment
        ---------       ----      -------
        ADMIN$          Disk      Remote Admin
        C$              Disk      Default share
        IPC$            IPC       Remote IPC
        WorkShares      Disk
SMB1 disabled -- no workgroup available

在許多編程語言中,\n 代表換行。我這裡讓Copilot解釋:

在使用 smbclient 時,反斜杠 () 是用來轉義特殊字符的。當你需要在命令中使用反斜杠本身,必須使用兩個反斜杠 (\) 來表示一個反斜杠。

所以我們需要用到許多\來下指令來查看前面找到的WorkShares裡面有甚麼。

finley@FinleyX280:~$ smbclient \\\\10.129.92.214\\WorkShares\\
Password for [WORKGROUP\finley]:
Try "help" to get a list of possible commands.
smb: \> ls
  .                                   D        0  Mon Mar 29 16:22:01 2021
  ..                                  D        0  Mon Mar 29 16:22:01 2021
  Amy.J                               D        0  Mon Mar 29 17:08:24 2021
  James.P                             D        0  Thu Jun  3 16:38:03 2021

                5114111 blocks of size 4096. 1753522 blocks available
smb: \> cd James.P
smb: \James.P\> ls
  .                                   D        0  Thu Jun  3 16:38:03 2021
  ..                                  D        0  Thu Jun  3 16:38:03 2021
  flag.txt                            A       32  Mon Mar 29 17:26:57 2021

                5114111 blocks of size 4096. 1753522 blocks available
smb: \James.P\> get flag.txt
getting file \James.P\flag.txt of size 32 as flag.txt (0.0 KiloBytes/sec) (average 0.0 KiloBytes/sec)
smb: \James.P\>

有兩個資料夾

  • Amy.p
  • James.P

而我們要用cd指令切換目錄,之前使遇過的ls查看目錄內容get下載檔案。接著使用exit跳出smbclient再用上前面使用過的cat指令查看flag。

smb: \James.P\> exit
finley@FinleyX280:~$ cat flag.txt
5f61c10dffbc77a704d76016a22f1664finley@FinleyX280:~$

Step 4 SOP update

  • VPN連線進入靶機網域
    • sudo openvpn --config (目標).ovpn
  • nmap
    • nmap -F (目標IP): nmap -F 10.129.28.11
    • 或 nmap -T4 (目標IP): nmap -T4 10.129.28.11
    • nmap -sV -p(目標埠) (目標IP): nmap -sV -p21 10.129.28.11
      • 發現23 port: telnet (目標IP)
      • 發現21 port: ftp -v (目標IP)
      • 發現139,445 port: smbclient -L (目標IP)
  • ls, cat flag.txt, get (檔案名稱), cd, exit

Redeemer

Step 1 openvpn

┌──(kali㉿kali)-[~]
└─$ sudo openvpn --config starting_point_FinleyLi.ovpn

連上線以後取得10.129.136.187

ONLINE

TARGET MACHINE IP ADDRESS

10.129.46.16

Read the walkthrough provided, to get a detailed guide on how to pwn this machine.

Step 2 nmap

finley@FinleyX280:~$ nmap -F 10.129.46.16
Starting Nmap 7.80 ( https://nmap.org ) at 2024-09-15 15:25 CST
Nmap scan report for 10.129.46.16
Host is up (0.21s latency).
All 100 scanned ports on 10.129.46.16 are closed

Nmap done: 1 IP address (1 host up) scanned in 3.66 seconds
finley@FinleyX280:~$ nmap -T4 10.129.46.16
Starting Nmap 7.80 ( https://nmap.org ) at 2024-09-15 15:25 CST
Nmap scan report for 10.129.46.16
Host is up (0.20s latency).
All 1000 scanned ports on 10.129.46.16 are closed

Nmap done: 1 IP address (1 host up) scanned in 21.16 seconds
finley@FinleyX280:~$ sudo nmap -p- --min-rate 5000 10.129.46.16
Starting Nmap 7.80 ( https://nmap.org ) at 2024-09-15 15:26 CST
Nmap scan report for 10.129.46.16
Host is up (0.39s latency).
Not shown: 65173 closed ports, 361 filtered ports
PORT     STATE SERVICE
6379/tcp open  redis

Nmap done: 1 IP address (1 host up) scanned in 22.16 seconds

這裡我們用-F掃描常見100個port沒結果,再用-T4快速掃預設1000個port沒結果,只能選擇-p-全掃65535個port,但因為時間太長所以加上--min-rate 5000每秒傳送5千個封包才取得了這題的答案redis

Step 3 Reids

Reids 引用自維基百科

Redis(Remote Dictionary Server)是一個使用ANSI C編寫的支援網路、基於主記憶體、分散式、可選永續性的鍵值對儲存資料庫。根據月度排行網站DB-Engines.com的資料,Redis是最流行的鍵值對儲存資料庫。[2]

這裡我們又要可以將專用於連線Redis的指令redis-cli加入我們的SOP,-h是host的意思後面有些網站爬蟲也會用遇到同樣的參數名稱。

finley@FinleyX280:~$ redis-clit -h
Command 'redis-clit' not found, did you mean:
  command 'redis-cli' from deb redis-tools (5:6.0.16-1ubuntu1)
Try: sudo apt install <deb name>
finley@FinleyX280:~$ sudo apt install redis-cli
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package redis-cli

wsl2安裝時發生錯誤,這裡我把虛擬機的Kali打開使用。先用info取得Task 7的答案。

┌──(kali㉿kali)-[~]
└─$ redis-cli -h 10.129.46.16
10.129.46.16:6379> info
# Server
redis_version:5.0.7

...

# Keyspace
db0:keys=4,expires=0,avg_ttl=0
10.129.46.16:6379>

這裡接下來只是練習使用操作Redis的指令,我後來運氣很差選到的靶機都是MySQL還沒遇Redis。

10.129.46.16:6379> select 0
OK
10.129.46.16:6379> keys *
1) "flag"
2) "numb"
3) "temp"
4) "stor"
10.129.46.16:6379> get flag
"03e1d2b376c37ab3f5319922053953eb"

Step 4 SOP update

  • VPN連線進入靶機網域
    • sudo openvpn --config (目標).ovpn
  • nmap
    • nmap -F (目標IP): nmap -F 10.129.28.11
    • 或 nmap -T4 (目標IP): nmap -T4 10.129.28.11
    • 或 mmap -p- (目標IP),--min-rate 5000 這個參數只能用在靶機練習。
    • nmap -sV -p(目標埠) (目標IP): nmap -sV -p21 10.129.28.11
      • 發現23 port: telnet (目標IP)
      • 發現21 port: ftp -v (目標IP)
      • 發現139,445 port: smbclient -L (目標IP)
      • 發現6379 port: redis-cli -h (目標IP)
  • ls, cat flag.txt, get (檔案名稱), cd, exit

這篇比較多是因為我覺得Strating Point大概就是這樣了,不想為了redis再多寫一天。總結,sudo使用最高管理者權限執行,openvpn用來vpn到靶機的網域環境,nmap掃描開放的網路服務。每一種網路服務都有對應的port數字,雖然可能造假這部分需要驗證,我們可以依掃描到的結果使用對應的工具telnet、ftp、smbclient、redis-cli使用這些服務。


上一篇
[鐵人賽] Day 4:HTB挑戰之旅 Starting Point (二)- Fawn
下一篇
[鐵人賽] Day 6:HTB挑戰之旅(VPN 2th)進入靶機網域
系列文
從0到1的攻擊手自學之旅30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言