
1. 기본 개념
0) nmap
-Pn : 모든 호스트를 살아있는 걸로 간주하고, 호스트 발견 단계인 ping단계를 건너뜀.
-> 방화벽 같은 거 때문에 살아도 죽어있는 걸로 뜨는 경우도 많으니 걍 다 살아있다 치자~
1) 프로토콜
1: port 135
= rpc 프로토콜
- 애플리케이션 간 통신 지원
- svchost.exe 내부에서 실행됨
2: port 139
= NerBios = Network Basic Input/Output System
- 서로 다른 pc상의 애플리케이션이 LAN 네트워크(=로컬 네트워크) 통신하게 도와줌
=> 즉, LAN환경에서의 파일/프린트 공유 기능을 가능하게 도와주는 세션 계층 기술.
*LAN = Local Area Network (근거리 통신망)
3: port 445
= SMB = Server Message Block
- 파일 공유 프로토콜.
-> netBios위에서 동작함.
-> smbclient
2) impacket
: 네트워크 프로토콜을 다루기 위해 파이썬으로 작성된 프레임워크. 윈도우 시스템 - 애플리케이션 간 상호작용을 도와줌.
> 설치
https://github.com/fortra/impacket
GitHub - fortra/impacket: Impacket is a collection of Python classes for working with network protocols.
Impacket is a collection of Python classes for working with network protocols. - fortra/impacket
github.com
psexec.py)
: 원격 윈도우 시스템에서 완전한 대화형 셸을 실행할 수 있게 해주는 코드.
> 사용자 자격 증명을 이용해 원격으로 프로세스를 실행하게 함.
> cli 형식
> 기존 원격 시스템 상의 ADMIN$ 공유 폴더가 존재, psexec.py는 이 폴더에다 원격 shell기능을 가진 .exe 파일을 업로드 함(이때 admin 폴더를 건드리기 위해서는 로컬 관리자 권한 이상을 가진 계정에 대한 자격 증명 필요,,)
-> psexec는 SCM(= Service Control Manager) 이라는 관리자에게 명령: 새 서비스를 만들어라, 그리고 그 윈도우 서비스를 새로 업로드한 exe가 있는 경로로 실행해라
-> 시스템 권한으로 실행하기!
-> 원격 shell 획득 성공.
ex)
shell 따기 명령어:
python psexec.py username:password@hostIP
=> 그냥 간단히 생각해서, psexec.py는 대상의 ip에 대해 특정 계정 권한을 가지고 셸을 따게 해주는 툴이다!
2. 문제 풀이
nmap 스캔 ㄱㄱ.

445는 smb 프로토콜이다. 해당 서버로 접속 시도 해보자.
smb에 접속하려면 툴 smbclient가 필요함.
일단 운영자로 접속해보자. 비번은 공백.

여기 보이는 디스크 2개를 각각 열어보자. (ipc는 저번 smb 머신에서도 넘어가서 이번에도 넘어감.)
우선 지금 운영자 계정이니 해당 권한으로 접속 시도 ㄱ.
쭉~훑어보니 그냥 윈도우 기본 서비스 앱 파일들만 보이는 것 같다.

다음 디스크 c드라이브로 넘어가주자.
휴지통인가 했지만 파일 크기가 0인것 같으니 아닌 듯,,, 그거 말고 유저 디렉토리로 가주자. 폴더는 파일이 아니라 보통 0으로 그냥 나온다는 것 같다.





플래그 획득 완!

+ impacket으로 풀기)



'Hack The Box > Lab' 카테고리의 다른 글
| Planning - ffuf & netstat & cron (0) | 2026.05.07 |
|---|---|
| Base - swp & reverse shell 2 (0) | 2026.05.04 |
| Pennyworth - CVE & Jenkins (0) | 2026.05.02 |
| Ignition - curl (0) | 2026.05.02 |
| Environment (0) | 2026.05.02 |