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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
Aladdin — .NET 역직렬화를 통해 AddInProcess.exe를 악용하여 초기 접근 페이로드를 생성하며, HTA, VBA, JS 및 CHM 템플릿을 지원하여 인메모리 코드 실행을 수행합니다. | Kitploit
도구/GitHubGitHub/nettitude/aladdin
Payload GenerationExploitationRed TeamingPayload Development
GitHubnettitude/aladdin

Aladdin

.NET 역직렬화를 통해 AddInProcess.exe를 악용하여 초기 접근 페이로드를 생성하며, HTA, VBA, JS 및 CHM 템플릿을 지원하여 인메모리 코드 실행을 수행합니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Aladdin

root@kitploit:~
           .-.
          [.-''-.,
          |  //`~\)
          (<| 0\0|>_
          ";\  _"/ \\_ _,
         __\|'._/_  \ '='-,
        /\ \    || )_///_\>>
       (  '._ T |\ | _/),-'
        '.   '._.-' /'/ |
        | '._   _.'`-.._/
        ,\ / '-' |/
        [_/\-----j
   _.--.__[_.--'_\__
  /         `--'    '---._
 /  '---.  -'. .'  _.--   '.
 \_      '--.___ _;.-o     /
   '.__ ___/______.__8----'
     c-'----'
  Lefty @lefterispan - Nettitude Red Team - 2022 / 2023 

소개

Aladdin은 James Forshaw(@tiraniddo)의 연구를 기반으로 한 페이로드 생성 기술로, .NET 페이로드를 역직렬화하여 메모리에서 실행할 수 있게 합니다. 원래 벡터는 https://www.tiraniddo.dev/2017/07/dg-on-windows-10-s-executing-arbitrary.html에 문서화되어 있습니다.

AddInProcess.exe 프로세스를 인수 /guid:32a91b0f-30cd-4c75-be79-ccbd6345de99 및 /pid:와 함께 실행하면, 프로세스는 \\.\pipe\32a91b0f-30cd-4c75-be79-ccbd6345de99 아래에 명명된 파이프를 시작하고 .NET Remoting 객체를 기다립니다. .NET 리모팅 리스너와 통신하는 데 필요한 적절한 패킷 바이트를 가진 페이로드를 생성하면, System.Workflow.ComponentModel의 ActivitySurrogateSelector 클래스를 트리거하여 코드 실행을 얻을 수 있습니다.

원래 James Forshaw는 https://github.com/tyranid/DeviceGuardBypasses/tree/master/CreateAddInIpcData에서 POC를 공개했습니다. 그러나 Windows의 최신 버전에서는 Microsoft가 취약한 System.Workflow.ComponentModel을 패치했기 때문에 이 POC는 실패합니다(https://github.com/microsoft/dotnet-framework-early-access/blob/master/release-notes/NET48/dotnet-48-changes.md).

그러나 Nick Landers(@monoxgas)는 Microsoft가 도입한 검사를 우회하는 방법을 발견하고 https://www.netspi.com/blog/technical/adversary-simulation/re-animating-activitysurrogateselector/에서 자세한 글을 작성했습니다. 우회 방법은 https://github.com/pwntester/ysoserial.net/pull/41에 문서화되어 있습니다.

Aladdin은 페이로드 생성 도구로, 특정 우회 방법과 .NET 리모팅 프로토콜의 필요한 헤더 바이트를 사용하여, 원래 문서화된 대로 AddInProcess를 악용하는 초기 접근 페이로드를 생성합니다.

제공되는 템플릿은 다음과 같습니다:

root@kitploit:~
* HTA

* VBA

* JS

* CHM

참고 사항

공격이 성공하려면 .NET 어셈블리에 역직렬화 중 진입점 역할을 할 단일 public 클래스와 빈 생성자가 있어야 합니다. 예제 어셈블리가 프로젝트에 포함되어 있습니다.

root@kitploit:~
public class EntryPoint {
    public EntryPoint() {
        MessageBox.Show("Hello");
    }
}

사용법

root@kitploit:~
Usage:
  -w, --scriptType=VALUE     Set to js / hta / vba / chm.

  -o, --output=VALUE         The generated output, e.g: -o
                               C:\Users\Nettitude\Desktop\payload

  -a, --assembly=VALUE       Provided Assembly DLL, e.g: -a
                               C:\Users\Nettitude\Desktop\popcalc.dll

  -h, --help                 Help

OpSec

  • 사용자가 제공한 .NET 바이너리는 HTA / JS 페이로드에서 생성된 AddInProcess.exe에서 실행됩니다. 현재 프로세스 생성은 9BA05972-F6A8-11CF-A442-00A0C90A8F39 COM 객체를 사용하여 이루어지며(https://dl.packetstormsecurity.net/papers/general/abusing-objects.pdf), 이는 프로세스를 Explorer.exe 프로세스의 자식으로 실행합니다.

  • AddInProcess.exe의 프로세스 매개변수에 제공된 GUID는 사용자가 제어할 수 있습니다. 현재 GUID는 템플릿과 코드에 하드코딩되어 있습니다.

  • CHM은 XSLT 변환을 통해 JScript를 실행합니다.

방어 고려 사항

  • Addinprocess.exe는 항상 /guid 및 /pid와 함께 실행됩니다. 환경에서 합법적인 사용을 기준으로 삼고 나머지를 모니터링하십시오.

유용한 참고 자료:

root@kitploit:~
* https://www.tiraniddo.dev/2017/07/dg-on-windows-10-s-executing-arbitrary.html

* https://www.netspi.com/blog/technical/adversary-simulation/re-animating-activitysurrogateselector/

Readme / 크레딧

코드는 다음 저장소를 기반으로 합니다:

root@kitploit:~
* https://github.com/tyranid/DeviceGuardBypasses/tree/master/CreateAddInIpcData

* https://github.com/pwntester/ysoserial.net

감사합니다:

  • @m0rv4i - C# 미묘한 부분 도움
  • @ace0fspad3s - 문제 해결
  • @ Nettitude RT - 멋진 팀
도구 다운로드