Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
spawn — 희생 프로세스를 생성하고, 쉘코드를 주입하여 페이로드를 실행하는 Cobalt Strike BOF입니다. ACG(Arbitrary Code Guard), BlockDll 및 PPID 스푸핑을 사용하여 희생 프로세스를 생성함으로써 EDR/UserLand 후크를 우회하도록 제작되었습니다. | Kitploit
도구/GitHubGitHub/boku7/spawn
Privilege EscalationExploitationShellcodePost-ExploitationPenetration TestingCommand and ControlRed TeamingPayload Development
GitHubboku7/spawn

spawn

희생 프로세스를 생성하고, 쉘코드를 주입하여 페이로드를 실행하는 Cobalt Strike BOF입니다. ACG(Arbitrary Code Guard), BlockDll 및 PPID 스푸핑을 사용하여 희생 프로세스를 생성함으로써 EDR/UserLand 후크를 우회하도록 제작되었습니다.

저장소 보기
467723년 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

SPAWN - Cobalt Strike BOF

Cobalt Strike BOF로, 희생 프로세스를 생성하고, 쉘코드를 주입한 후 페이로드를 실행합니다. Arbitrary Code Guard(ACG), BlockDll, PPID 스푸핑을 사용하여 희생 프로세스를 생성함으로써 EDR/UserLand 후킹을 우회하도록 설계되었습니다.

  • ACG로 인해, 이 BOF는 다음 기능에 의존하는 쉘코드를 지원하지 않습니다:
    • RW/RX 간 메모리 권한 전환.
    • RWX 메모리
  • 위 기능에 의존하는 생성된 프로세스에 쉘코드를 주입하려면 Hollow BOF 프로젝트를 참조하세요.
  • ACG에 대한 훌륭한 설명은 아래 Adam Chestner의 블로그를 참조하세요.

새로운 기능 (08/01/2021)

  • Arbitrary Code Guard(ACG)를 사용하여 희생 프로세스를 생성하고, EDR 솔루션이 희생 프로세스의 DLL에 후킹하는 것을 방지합니다.
    • 자세한 내용은 Adam Chester의 "Protecting Your Malware" 블로그를 참조하세요. BOF의 이 부분은 그의 작업에서 파생되었습니다.
  • 쉘코드 주입 및 실행.

ACG 보호 프로세스에서 Calc 실행하기

root@kitploit:~
beacon> spawn notepad.exe 6248 /Users/bobby.cooke/git/boku7/SPAWN/popCalc.bin
[*] SPAWN (Bobby Cooke//SpiderLabs|@0xBoku|github.com/boku7)
[+] Opened handle 0x534 to process 6248(PID)
[+] Spawned process: notepad.exe | PID: 8404 | PPID: 6248
[+] Allocated RE memory in remote process 8404 (PID) at: 0x00000177A72C0000
[+] Wrote 280 bytes to memory in remote process 8404 (PID) at 0x00000177A72C0000
[+] APC queued for main thread of 8404 (PID) to shellcode address 0x00000177A72C0000

새로운 기능 (07/19/2021)

  • CNA Agressor Script 인터페이스
root@kitploit:~
beacon> help
    spawn                     Spawn a process with a spoofed PPID and blockDll
beacon> help spawn
Synopsis: spawn /path/to/exe PPID
beacon> ps
8264  5536  OneDrive.exe                 x86   1           DESKTOP-KOSR2NO\boku 
beacon> spawn cmd.exe 8264
[*] SPAWN (@0xBoku|github.com/boku7)
Opened handle 0x634 to process 8264(PID)
Success! Spawned process: cmd.exe | PID: 5384 | PPID: 8264
  • PPID 스푸핑
  • Cobalt Strike "같은" blockdll 기능

x64 MinGW로 컴파일:

root@kitploit:~
x86_64-w64-mingw32-gcc -c spawn.x64.c -o spawn.x64.o

Cobalt Strike Beacon 콘솔에서 실행

  • 컴파일 후 spawn.cna 스크립트를 Cobalt Strike Script Manager에 가져옵니다.
root@kitploit:~
beacon> spawn /path/to/exe PPID /local/path/to/shellcode.bin

할 일 목록

  • 더 나은 최종 사용자 경험을 위한 Agressor 스크립트
  • 더 나은 부모-자식 프로세스 관계 OPSEC을 위한 PPID 스푸핑
    • 여기서 cmd.exe 프로세스가 PPID를 OneDrive.exe로 하여 생성되는 것을 볼 수 있습니다.
  • 생성된 프로세스 메모리에 Microsoft 외 서명 DLL이 로드되는 것을 방지하는 Cobalt Strike blockdll 기능 구현
    • 부모-자식 프로세스 관계를 볼 수 있으며, 생성된 프로세스가 Signatures restricted (Microsoft only)로 생성되었습니다.
    • Signatures restricted (Microsoft only)는 Microsoft에서 서명하지 않은 DLL을 생성된 프로세스에 로드할 수 없도록 합니다.
  • PE 파일이 존재하지 않을 때 beacon 프로세스가 충돌하지 않도록 함
    • 프로세스 생성 실패 시 더 이상 충돌하지 않습니다!
  • 새 프로세스가 생성될 때 PID를 Cobalt Strike 콘솔에 반환
  • 다양한 원격 프로세스 인젝션 방법 구축 (08/01/21)
  • 다양한 원격 프로세스 패치 방법 구축

왜 이것을 만들었을까?

1. Cobalt Strike BOF에 대해 더 배우기 위해
2. 희생 프로세스를 선택하는 데 유연성을 원했기 때문입니다.
  • 모든 fork-and-run에 대해 동일한 프로세스를 생성하는 것은 나쁘거나 예측 가능한 OPSEC처럼 보였습니다.
  • 아마도 이미 이에 대한 방법이 있거나 CS에 내장되어 있을 수도 있습니다. 어쨌든, 저는 직접 만들고 싶었습니다.
3. 이 위에 구축하고 싶은 멋진 BOF 아이디어가 많습니다.

크레딧 / 참고자료

PPID 스푸핑 및 blockDll 기능
  • 감사 인사: Adam Chester @_xpn_ + @SEKTOR7net + Raphael Mudge
  • 여러분이 기여한 놀라운 작업에 감사드립니다. 여러분의 블로그, 비디오, 그리고 훌륭한 콘텐츠가 없었다면 이 작업을 게시할 수 없었을 것입니다.
  • PPID 스푸핑 및 blockdll에 대한 주요 참고자료
    • https://blog.xpnsec.com/protecting-your-malware/
    • https://blog.cobaltstrike.com/2021/01/13/pushing-back-on-userland-hooks-with-cobalt-strike/
    • https://institute.sektor7.net/ (강좌)
Raphael Mudge - Beacon Object Files - Luser 데모
  • https://www.youtube.com/watch?v=gfYswA_Ronw
Cobalt Strike - Beacon Object Files
  • https://www.cobaltstrike.com/help-beacon-object-files
BOF 코드 참고자료
anthemtotheego/InlineExecute-Assembly
  • https://github.com/anthemtotheego/InlineExecute-Assembly/blob/main/inlineExecuteAssembly/inlineExecute-Assembly.cna
ajpc500/BOFs
  • https://github.com/ajpc500/BOFs/
trustedsec/CS-Situational-Awareness-BOF
  • https://github.com/trustedsec/CS-Situational-Awareness-BOF
Sektor7 Malware Dev Essentials 강좌 - 얼리 버드 인젝션 기술을 배움
  • https://institute.sektor7.net/red-team-operator-malware-development-essentials
도구 다운로드
  • NTDLL.DLL 원격 프로세스 언후킹
  • ETW 원격 프로세스 패치/우회
  • AMSI 원격 프로세스 패치/우회
  • CLR 로딩 및 .Net 어셈블리 인젝션