
Windows API 후킹 도구로, Detours 라이브러리와 PEB 조작을 통해 프로세스 인수를 동적으로 스푸핑 및 은닉하여 레드 팀 작전에서 은밀한 프로세스 생성을 가능하게 합니다.
트위터: @AzizWho
NoArgs는 탐지되지 않으면서 프로세스 인자를 동적으로 스푸핑하고 숨기도록 설계된 도구입니다. 이 도구는 Windows API에 후킹하여 Windows 내부를 동적으로 조작함으로써 이를 실현합니다. 이를 통해 NoArgs는 프로세스 인자를 은밀하게 변경할 수 있습니다.




이 도구는 주로 Windows API 함수 CreateProcessW에 의해 이루어지는 프로세스 생성 호출을 가로채서 작동합니다. 프로세스가 시작되면 이 함수는 새 프로세스와 함께 지정된 명령줄 인자를 생성하는 역할을 합니다. 도구는 이 프로세스 생성 흐름에 개입하여 새 프로세스가 시작되기 전에 인자를 숨기거나 조작합니다.
CreateProcessW에 후킹하는 것은 Win32 API 함수를 가로채고 리디렉션하는 인기 있는 라이브러리인 Detours를 통해 이루어집니다. Detours는 원래 기능을 유지하면서 함수 호출을 사용자 정의 구현으로 리디렉션할 수 있게 해줍니다. CreateProcessW에 후킹함으로써 도구는 프로세스 생성 요청을 가로채고 프로세스가 생성되기 전에 사용자 정의 로직을 실행할 수 있습니다.
프로세스 환경 블록 (PEB) 은 Windows가 프로세스의 환경 및 실행 상태에 대한 정보를 저장하는 데 사용하는 데이터 구조입니다. 도구는 PEB를 활용하여 새로 생성된 프로세스의 명령줄 인자를 조작합니다. PEB 내에 저장된 명령줄 정보를 수정함으로써 도구는 프로세스에 전달된 인자를 변경하거나 숨길 수 있습니다.
Process Hacker View:

Process Monitor View:

명령 프롬프트(cmd)에 인젝션: 도구는 코드를 명령 프롬프트 프로세스에 주입하고, 위치 독립 코드(PIC)로 임베딩합니다. 이는 cmd의 메모리 공간에 원활하게 통합되어 특정 메모리 주소에 의존하지 않고 은밀한 작동을 보장합니다. (릴리즈 페이지의 난독화된 실행 파일에만 해당)
Windows API 후킹: Detours를 사용하여 CreateProcessW 함수 호출을 가로챕니다. 실행 흐름을 사용자 정의 구현으로 리디렉션함으로써 도구는 원래 Windows API 함수보다 먼저 로직을 실행할 수 있습니다.
사용자 정의 프로세스 생성 함수: CreateProcessW 호출을 가로채면 사용자 정의 함수가 실행되어 새 프로세스를 생성하고 필요에 따라 인자를 조작합니다.
PEB 수정: 사용자 정의 프로세스 생성 함수 내에서 새로 생성된 프로세스의 프로세스 환경 블록(PEB)에 접근하여 수정함으로써 프로세스 인자를 조작하거나 숨기는 목표를 달성합니다.
실행 리디렉션: 조작이 완료되면 실행이 중단 없이 명령 프롬프트(cmd)로 원활하게 반환됩니다. 이 동적 리디렉션은 이후에 입력된 명령이 은밀하게 조작되도록 보장하여 PEB에서 프로세스 세부 정보를 얻는 탐지 및 로깅 메커니즘을 회피합니다.
옵션 1: NoArgs DLL 컴파일:
옵션 2: 컴파일된 실행 파일(즉시 사용 가능)을 릴리즈 페이지에서 다운로드하십시오.