`wmiexec`와 `psexec`

agnusdei·2025년 7월 13일

핵심:

wmiexecpsexec는 둘 다 Impacket 도구로 원격 명령 실행에 사용되지만, 동작 방식시스템에 미치는 영향이 다릅니다.


차이점 요약:

항목wmiexecpsexec
프로토콜WMI (Windows Management Instrumentation)SMB (Service Message Block, via svc)
서비스 생성❌ 없음 (서비스 미생성, 흔적 적음)✅ 임시 서비스 생성 (로그/흔적 남김)
권한 요구관리자 권한 필요관리자 권한 필요
쉘 타입semi-interactive shell (간접적 명령 실행)fully interactive shell (명령어 직접 실행 가능)
속도/신뢰성느릴 수 있음 / 안정적이지 않을 때도 있음빠르고 안정적이나 탐지 가능성 높음
포렌식 흔적적음 (조심스럽게 사용됨)많음 (이벤트 로그에 서비스 생성 기록됨)

예시 명령어 의미:

  • impacket-wmiexec -hashes :<NTLM hash> user@target

    • 대상 시스템에 WMI로 접근해 명령을 실행함.
    • 서비스 생성 없이 stealth하게 작동.
  • impacket-psexec user@target -hashes :<NTLM hash>

    • 대상 시스템에 서비스를 생성해 명령 실행.
    • 쉘 접근이 더 직접적이지만 탐지 위험 있음.

결론 (실전 선택 기준):

  • 은밀하게 접근해야 한다면 → wmiexec
  • 더 안정적인 쉘이 필요하고 탐지 걱정이 없다면 → psexec

근거: psexec는 Windows 로그(Event ID 7045 등)에 서비스 생성 기록을 남기며, EDR/AV에 더 잘 탐지됨. wmiexec는 명령 출력이 불완전할 수 있지만, 은밀성 면에서 유리합니다.

profile
DevSecOps, Pentest, Cloud(OpenStack), Develop, Data Engineering, AI-Agent

0개의 댓글