PsExec

PsExec는 Microsoft Sysinternal Suite에서 제공하는 원격 제어를 위한 공식적인 도구입니다. 해당 도구는 C2 프레임 워크에서도 종종 측면이동을 위한 내장 기능으로 사용됩니다.

Abuse

# 대상 시스템 로컬 계정/도메인 계정으로 원격 쉘 획득
.\PsExec64.exe -u Administrator -p 'Password123!' \\192.168.1.11 cmd

Root Cause

PSEXESVC.exe Create Request

PsExec를 실행하면 클라이언트는 서버의 ADMIN$ 공유 폴더 하위에 PSEXESVC.exe를 업로드 합니다. 해당 실행 파일을 통해 원격 제어를 할 수 있습니다. C:\Windows 경로가 공유 폴더에서 ADMIN$으로 나타나는데, 이 폴더에 쓰기 권한이 있는 원격 로컬 사용자 계정 혹은 도메인 계정만이 가능합니다.

PsExec를 통한 원격 제어 흐름

PSEXESVC.exe는 실행했을 때 원격 제어가 되도록 돕는 실행 파일입니다. 해당 파일을 바이너리 파일로 지정하는 서비스를 생성 및 실행하기 위해 SVCCTL(Service Control Manager Remote Protocol)을 사용합니다.

서비스 바이너리를 실행 파일로 지정하여 서비스 생성

Opsec

PSEXESVC는 Windows System Event ID 7036을 남깁니다.

Windows System Event log

References

Last updated

Was this helpful?