Starting Point才做了兩個,下方的列表已經越來越豐富了,而我就是這樣累積起我的手感創造自己的SOP。Starting Point還有兩題不過我有點懶得再分兩天來寫,雖然我確實需要30天連續寫作的題目,後面本來要介紹暑假培訓課程的前側、上課過程、結訓測驗,不過現在可能不方便分享,怕是鐵人賽30則挑戰要半途而廢了🤦♂️
(2024/09/12 09:27)
我們課程都會宣導課程資料僅供學員使用,請不要將資料外流,一方面也是尊重講師~~
我們會再加強宣導這個部分
接下來仍然會依照規劃的步調,將這半年怎麼生成自己面對未知靶機的SOP過程紀錄,不夠的篇幅會多用一些HTB靶機和實務經驗來填充,還是會努力試著完成這次鐵人賽挑戰。
┌──(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.
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
首先,可以試著在windows檔案總管路徑處寫上\10.129.92.214,其實檔案總管上的路徑管理很好用,甚至讓我操作左側的樹狀選單次數減少。這時候會遇到帳號密碼的問題,又要來通靈一次了嗎?
沒關係,我們用linux指令來做一遍,這時候要學一個新指令smbclient,如果沒有安裝的話會出現
finley@FinleyX280:~$ smbclient -h
Command 'smbclient' not found, but can be installed with:
sudo apt install smbclient
請執行更新套件然後安裝,前面沒有特別解釋過sudo提升權限,為了安全性我們通常只會賦予使用者帳號合適的權限這是最小權限原則,不過現在的情境就算你開機直接sudo su切換為最高權限管理者都沒問題。
現在先用-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\>
有兩個資料夾
而我們要用cd指令切換目錄,之前使遇過的ls查看目錄內容get下載檔案。接著使用exit跳出smbclient再用上前面使用過的cat指令查看flag。
smb: \James.P\> exit
finley@FinleyX280:~$ cat flag.txt
5f61c10dffbc77a704d76016a22f1664finley@FinleyX280:~$
┌──(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.
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。
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"
這篇比較多是因為我覺得Strating Point大概就是這樣了,不想為了redis再多寫一天。總結,sudo使用最高管理者權限執行,openvpn用來vpn到靶機的網域環境,nmap掃描開放的網路服務。每一種網路服務都有對應的port數字,雖然可能造假這部分需要驗證,我們可以依掃描到的結果使用對應的工具telnet、ftp、smbclient、redis-cli使用這些服務。