Hack The Box/Lab

Tactics - smb & impacket

YujinSec 2026. 5. 2. 23:52

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