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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
Codecepticon — .NET/PowerShell/VBA 공격적 보안 난독화 도구 | Kitploit
도구/GitHubGitHub/accenture/codecepticon
Static AnalysisCode AnalysisIDS/IPS EvasionScripting & AutomationPenetration TestingCommand and ControlRed TeamingPayload DevelopmentArchived
GitHubaccenture/codecepticon

Codecepticon

.NET/PowerShell/VBA 공격적 보안 난독화 도구

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

[!CAUTION] 이 저장소는 유지보수되지 않습니다. 최신 버전은 https://github.com/sadreck/Codecepticon 을 방문하세요.

Codecepticon version

목차

  • Introduction
  • Read This First
  • Prerequisites
    • Visual Studio
    • Roslyn Compiler
    • Check to see if it works
  • Using Codecepticon
    • C#
    • VBA/VB6
    • PowerShell
    • Obfuscating Command Line Arguments
    • Functionality Deep Dive
    • Tips
    • Known Issues
    • Sign Executables
  • FAQ
  • Troubleshooting
  • Contributions
  • References / Credits

소개

Codecepticon은 C#, VBA/VB6 (매크로) 및 PowerShell 소스 코드를 난독화할 수 있는 .NET 애플리케이션으로, Red/Purple Teams와 같은 공격적 보안 작업을 위해 개발되었습니다. Codecepticon을 다른 난독화 도구와 구분하는 점은 컴파일된 실행 파일이 아닌 소스 코드 자체를 대상으로 하며, 특히 AV/EDR 우회를 위해 개발되었다는 것입니다.

Codecepticon을 사용하면 코드를 난독화하고 다시 작성할 수 있을 뿐만 아니라 명령줄도 다시 작성할 수 있는 기능을 제공합니다.

먼저 읽어주세요

! 시작하기 전에 !

  • 이 문서는 Codecepticon을 설치하고 사용하는 방법에 관한 내용만 포함합니다. Rubeus, SharpHound와 같은 도구의 컴파일, 사용 및 지원은 제공되지 않습니다. 자세한 내용은 각 프로젝트의 저장소를 별도로 참조하세요.

  • Codecepticon은 VS2022에서 적극적으로 개발/테스트되고 있지만, VS2019에서도 작동해야 합니다. VS2019 이하에서 생성된 티켓/이슈는 해당 문제가 VS2022에서 재현되지 않는 한 조사되지 않습니다. 그러므로 최신 버전인 VS2022를 사용해 주세요.

  • 다음 패키지는 반드시 v3.9.0이어야 합니다. 더 새로운 버전에는 다음과 같은 아직 해결되지 않은 문제가 있습니다: https://github.com/dotnet/roslyn/issues/58463

    • Microsoft.CodeAnalysis.CSharp.Workspaces
    • Microsoft.CodeAnalysis.Workspaces.MSBuild

    Codecepticon은 런타임에 이러한 패키지의 버전을 확인하며, 버전이 v3.9.0과 다를 경우 알려줍니다.

  • 아무리 강조해도 지나치지 않습니다: 항상 먼저 로컬에서 난독화된 코드를 테스트하세요.

전제 조건

Visual Studio Pro/Community 2022

VS2022 .NET

Roslyn Compiler

VS2022 Roslyn

열기 및 컴파일

Codecepticon을 열고 모든 NuGet 패키지가 다운로드될 때까지 기다린 후 솔루션을 빌드하세요.

Codecepticon 사용하기

Codecepticon을 사용하는 방법은 두 가지입니다. 모든 인수를 명령줄에 입력하거나 단일 XML 구성 파일을 전달하는 것입니다. 지원되는 사용자 정의 수준이 높기 때문에 --help 출력을 수동으로 살펴보며 어떤 매개변수를 어떻게 사용할지 파악하는 것은 권장되지 않습니다. CommandLineGenerator.html을 사용하여 빠르게 명령을 생성하세요:

Command Line Generator

명령 생성기의 출력 형식은 Console 또는 XML 중 선택할 수 있습니다. 콘솔 명령은 다음과 같이 실행할 수 있습니다:

root@kitploit:~
Codecepticon.exe --action obfuscate --module csharp --verbose ...etc

XML 구성 파일을 사용하는 경우:

root@kitploit:~
Codecepticon.exe --config C:\Your\Path\To\The\File.xml

Codecepticon의 기능을 깊이 파고들고 싶다면 이 문서를 확인하세요.

사용할 수 있는 팁은 이 문서를 확인하세요.

C#

C# 프로젝트를 난독화하는 것은 간단합니다. 대상으로 삼을 솔루션을 선택하기만 하면 됩니다. 솔루션 자체의 백업은 생성되지 않으며, 현재 솔루션이 난독화됩니다. Codecepticon을 실행하기 전에 대상 프로젝트를 독립적으로 컴파일할 수 있는지 확인하세요.

VBA/VB6

VBA 난독화는 Microsoft Office 문서가 아닌 소스 코드 자체를 대상으로 합니다. 따라서 doc(x) 또는 xls(x) 파일을 Codecepticon에 전달할 수 없습니다. 모듈 자체의 소스 코드여야 합니다 (Alt-F11을 누르고 코드를 복사하세요).

PowerShell

PowerShell 스크립트의 복잡성과 스크립트 작성 방식의 자유도로 인해 모든 엣지 케이스를 다루고 난독화된 결과가 완전히 기능하도록 보장하는 것은 어렵습니다. Codecepticon이 간단한 스크립트/기능에 대해서는 잘 작동할 것으로 예상되지만, PowerView와 같은 복잡한 스크립트에 대해 실행하는 것은 작동하지 않습니다 – 이는 진행 중인 작업입니다.

명령줄 인수 난독화

애플리케이션이나 스크립트를 난독화한 후에는 명령줄 인수도 이름이 변경되었을 가능성이 높습니다. 이에 대한 해결책은 HTML 매핑 파일을 사용하여 새 이름을 찾는 것입니다. 예를 들어, 다음 명령줄을 변환해 보겠습니다:

root@kitploit:~
SharpHound.exe --CollectionMethods DCOnly --OutputDirectory C:\temp\

HTML 매핑 파일에서 각 인수를 검색하면 다음과 같은 결과를 얻습니다:

Mapping One

Mapping Two

Mapping Three

그리고 모든 문자열을 교체하면 결과는 다음과 같습니다:

root@kitploit:~
ObfuscatedSharpHound.exe --AphylesPiansAsp TurthsTance --AnineWondon C:\temp\

그러나 일부 값은 둘 이상의 범주에 존재할 수 있습니다:

Mapping Four

따라서 항상 로컬 환경에서 결과를 먼저 테스트하는 것이 매우 중요합니다.

실행 파일 서명

Codecepticon을 사용하여 실행 파일 (컴파일된 출력물)에 디지털 서명을 할 수도 있습니다. Codecepticon은 서명 인증서를 생성한 다음 이를 사용하거나 (또는 제공한 다른 인증서를 사용하여) 대상 파일에 서명할 수 있습니다.

자주 묻는 질문

Releases에서 다운로드할 수 있는 컴파일된 버전이 없는 이유는 무엇인가요?

컴파일된 출력물에는 많은 종속 DLL이 포함되어 있으며, 라이선스 요구 사항으로 인해 서면 동의 없이 재배포할 수 없습니다.

Codecepticon은 이미 지원되는 프로필이 있는 C# 프로젝트에서만 작동하나요?

아니요, Codecepticon은 모든 프로젝트에서 작동해야 합니다. 프로필은 단지 대상 프로젝트에 추가로 적용되는 약간의 조정으로, 프로젝트를 더 안정적이고 쉽게 다룰 수 있도록 하기 위한 것입니다.

하지만 모든 코드는 고유하기 때문에, 프로젝트를 난독화할 때 컴파일 또는 실행을 방해하는 하나 또는 두 개의 오류가 발생할 수 있습니다. 이 경우 새로운 프로필이 필요할 수 있습니다 – 해당 사례가 발생하면 새 이슈를 제출해 주세요.

PowerShell/VBA 코드에도 동일한 원칙이 적용됩니다 – 현재 Codecepticon에 포함된 프로필은 없지만, 필요하다면 추가하는 것은 쉬운 작업입니다.

기여할 수 있나요?

버그 신고 및 새로운 기능 제안은 이슈를 생성해 주세요.

풀 리퀘스트 제출은 Contributions 섹션을 참조하세요.

문제 해결

C# 프로젝트에 Codecepticon을 사용했는데 실행은 되지만, 이후 대상 프로젝트를 컴파일할 수 없습니다.

Codecepticon을 실행하기 전에 대상 프로젝트의 깨끗한 버전을 컴파일할 수 있는지 확인하세요. 이 문제가 발생하는 경우, 종종 Codecepticon보다는 대상 솔루션의 누락된 종속성 때문인 경우가 많습니다. 하지만 여전히 컴파일되지 않는다면:

  • 공개 프로젝트인가요? 이슈를 생성하고 가능한 한 자세한 정보와 링크를 첨부하세요. 해당 도구가 SharpCollection의 일부라면 더 좋습니다.
  • 비공개 프로젝트인가요? Codecepticon 개선 정신에 따라 스크린샷 및 오류/디버그 메시지를 통해 최대한 지원을 제공하려고 노력할 것입니다. 하지만 비공개 저장소 등을 통해 깨끗한/난독화된 코드에 접근하거나 실행하지는 않을 것입니다.

위와 동일하지만 PowerShell/VBA 스크립트인 경우 – 도움을 주실 수 있나요?

최선을 다하겠지만, PowerShell 스크립트는 매우 복잡할 수 있고 PSParser가 C#용 Roslyn만큼 고급스럽지 않기 때문에 약속할 수 없습니다. VBA/VB6에도 동일하게 적용됩니다.

"Method not found: 'System.Collections.Immutable.ImmutableArray'" 오류가 계속 발생합니다.

다음 오류가 발생할 수 있습니다:

Method not found

아직 이 문제의 원인을 파악 중입니다. 빠른 수정 방법은 NuGet 패키지 관리자에서 System.Collections.Immutable 패키지를 제거한 후 다시 설치하는 것입니다.

기여

오타, 버그, 새로운 기능 등 Codecepticon은 기여에 매우 열려 있습니다. 단, 다음 사항에 동의하는 경우에 한합니다:

  • 이 프로젝트의 MIT 라이선스에 동의해야 합니다.
  • 풀 리퀘스트를 생성하기 전에 이슈를 생성하여 작업을 시작하기 전에 논의해야 합니다. 내부 개발은 공개 GitHub 저장소를 통해 추적되지 않습니다. 그렇지 않으면 (예를 들어 이미 동일하거나 유사한 기능을 작업 중인 경우 또는 다른 이유로) 풀 리퀘스트가 거부될 위험이 있습니다.

참고 자료 / 크레딧

  • https://blog.xpnsec.com/building-modifying-packing-devops/
  • https://twitter.com/EmericNasi/status/1460640760928296966
  • https://github.com/MagicMau/ProceduralNameGenerator
  • https://github.com/uwol/proleap-vb6-parser
  • https://github.com/dwyl/english-words
  • https://github.com/Danielku15/SigningServer
도구 다운로드