Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
azureOutlookC2 — Azure Outlook Command & Control (C2) - 손상된 Windows 장치를 Outlook 사서함에서 원격으로 제어합니다. 북한 APT InkySquid / ScarCruft / APT37을 위한 위협 에뮬레이션 도구. TTP: C2 작전에 Microsoft Graph API 사용. | Kitploit
도구/GitHubGitHub/boku7/azureoutlookc2
Cloud SecurityCommand and ControlRed TeamingPayload DevelopmentAPI Security
GitHubboku7/azureoutlookc2

azureOutlookC2

Azure Outlook Command & Control (C2) - 손상된 Windows 장치를 Outlook 사서함에서 원격으로 제어합니다. 북한 APT InkySquid / ScarCruft / APT37을 위한 위협 에뮬레이션 도구. TTP: C2 작전에 Microsoft Graph API 사용.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Azure Outlook C2

Azure Outlook 명령 및 제어 - Microsoft Graph API를 사용하여 C2 통신 및 데이터 유출을 수행합니다.

Outlook 사서함에서 손상된 Windows 장치를 원격으로 제어하세요.

제작자: Bobby Cooke (@0xBoku) & Paul Ungur (@C5pider)

CTI 위협 업데이트 (02/13/22)

Elastic Security Labs는 SIESTAGRAPH를 사용하는 실제 침입 활동을 발견했습니다. SIESTAGRAPH는 Outlook과 OneDrive를 사용하여 명령 및 제어를 위해 Microsoft의 GraphAPI와 상호작용합니다. 아래에서 Azure Outlook C2 통신에 대한 멋진 악성코드 분석 블로그를 확인하세요.

  • https://www.elastic.co/security-labs/siestagraph-new-implant-uncovered-in-asean-member-foreign-ministry
  • https://www.elastic.co/security-labs/update-to-the-REF2924-intrusion-set-and-related-campaigns

업데이트 (09/27/21)

  • Azure Outlook C2는 이제 크로스 플랫폼 그래픽 사용자 인터페이스(GUI)를 제공합니다!
    • C2 GUI를 QT로 만드는 방법을 가르쳐 준 Paul Ungur (@C5pider)에게 큰 감사를 전합니다!

C2 GUI로 Outlook 사서함을 통해 컴퓨터 제어

Outlook 사서함을 통해 컴퓨터 제어

  • 업데이트는 원래 Outlook 사서함 제어를 지원합니다.

비슷한 프로젝트에 대한 정보, APT/랜섬웨어 그룹이 실제로 사용하는 이 TTP에 대한 CTI 정보, 방어 조언, Azure C2 위협 에뮬레이션에 관심이 있는 레드팀러를 위한 권장 사항, 또는 이 블로그/README에 추가하면 좋을 다른 정보가 있으시면 저에게 연락하거나 Pull Request를 보내주세요. 감사합니다!

Azure Outlook C2 소개

이 프로젝트는 명령 및 제어(C2) 역할을 하는 공격자 제어 Azure Outlook 사서함으로 비콘을 보내는 임플란트로 구성되어 있으며, 손상된 장치를 원격으로 제어합니다. 공격자의 C2 사서함에 대한 Azure 새로 고침 토큰은 컴파일 중에 임플란트에 하드코딩됩니다. Windows 장치에서 실행되면 임플란트는 Microsoft Graph API를 통해 공격자의 임시 보관함 사서함에 접근합니다. 임플란트는 공격자의 임시 보관함 사서함에서 명령 지침을 읽고, 로컬 손상된 Windows 장치에서 명령을 실행한 후, 새 임시 보관함 메시지를 생성하여 명령 출력을 공격자에게 반환합니다. 임플란트는 임플란트 호스트 프로세스가 종료될 때까지 공격자의 사서함에서 원격으로 제어되는 이 동작을 반복합니다.

이걸 만든 이유

저는 약 6개월 전 Trustwave의 SpiderLabs Red Team에서 레드팀 활동을 시작했습니다. 한 엔게이지먼트에서 전설적인 Stephan Borosh (rvrsh3ll|@424f424f)와 함께 일할 영광을 누렸습니다. Steve와 Matt Kingstone은 Azure Domain Fronting에 대해 모두 가르쳐 주었고, C2 트래픽이 ajax.microsoft.com과 같은 합법적인 도메인을 사용하여 HTTPS를 통해 유출될 수 있다는 사실에 충격을 받았습니다. 심지어 Microsoft의 TLS 인증서를 사용합니다! 불행히도 저는 Azure에서 Domain Fronting이 죽던 시기에 레드팀을 시작했습니다. Azure에서 Domain Fronting은 사라졌지만, Azure로 할 수 있는 멋진 레드팀 기술은 여전히 많았습니다.

Steve는 저에게 Azure Device Code Phishing을 소개했습니다. 그동안 Azure와 Microsoft Graph API를 레드팀에 활용하는 방법을 깊이 파고들었습니다. 우리는 훌륭한 Dr. Nestori Syynimaa (@DrAzureAD)의 연구를 바탕으로 TokenTactics 도구를 만들었고, 관심이 있으시면 The Art of the Device Code Phish 블로그도 작성했습니다.

TokenTactics를 만들고 MS Graph API를 실험하는 동안, Microsoft Graph API를 C2 채널로 사용할 수 있다는 것을 발견했습니다. MS Graph API를 C2 채널로 사용하는 방법은 매우 다양하며, 저만 이 사실을 발견한 것이 아닙니다(처음도 아닙니다). HellsGate 기술의 창시자이자 발행인인 @smelly__vx가 만든 VX-Underground는 지난달 북한 고급 지속 위협(APT) 그룹 "InkySquid"(일명 ScarCruft 및 APT37)가 Microsoft Graph API를 C2 작전에 사용한다는 정보를 공개했습니다. 이 프로젝트의 티저를 Twitter와 LinkedIn에 게시한 후, 여러 DFIR 전문가들은 이 Microsoft Graph API를 C2 작전에 사용하는 기술이 수개월 전부터 실제로 랜섬웨어 그룹에 의해 활발히 사용되고 있다고 언급했습니다.

레드팀 엔게이지먼트 동안 C2 채널로 MS Graph API를 사용하여 Cobalt Strike를 작동시키려고 시도했지만 실패했습니다. 하지만 이것은 여전히 미래의 목표입니다. Cobalt Strike에서 이 작업을 수행할 때 직면하는 문제는 MS Graph API가 통신에 두 개의 토큰을 사용한다는 것입니다. 첫 번째 토큰은 최대 90일 동안 유효한 새로 고침 토큰입니다. 두 번째 토큰인 액세스 토큰은 약 1시간 동안 지속되는 임시 토큰입니다. MS Graph API와의 직접 통신은 액세스 토큰으로 인증하여 수행됩니다. 액세스 토큰이 만료되면 새로 고침 토큰을 사용하여 새 액세스 토큰을 얻을 수 있습니다. 저는 아직 레드팀 및 Cobalt Strike 개발이 처음이기 때문에, Cobalt Strike Malleable C2 프로필을 사용하여 지속적으로 새 액세스 토큰을 얻고 이 변경되는 액세스 토큰을 HTTPS 비콘 요청의 Authorization 헤더에 보내는 방법을 알아낼 수 없었습니다. Twitter에 티저를 공개한 후, Joe Vest, Alfie Champion 및 커뮤니티의 다른 락스타 분들이 Cobalt Strike에서 이 작업을 수행하는 방법에 대한 훌륭한 방향을 제시해 주었습니다! 조만간 이 프로젝트의 Cobalt Strike 후속편이 나오길 바랍니다 ;)

임플란트 실행 흐름

  1. 공격자의 하드코딩된 새로 고침 토큰을 사용하여 MS Graph API에 대한 액세스 토큰을 가져옵니다.
    • 이는 호스트 graph.microsoft.com에 대한 HTTPS TCP 통신을 통해 수행됩니다.
    • 이 트래픽은 합법적인 Microsoft 웹 서버에서 반환된 TLS 인증서를 사용하여 암호화됩니다.
    • 임플란트는 HTTPS 통신을 위해 WinInet 동적 링크 라이브러리를 사용합니다.
    • 하드코딩된 공격자 새로 고침 토큰은 90일 동안 유효해야 합니다.
      • 임플란트가 손상되면 공격자는 하드코딩된 새로 고침 토큰을 해지하여 악성코드 리버스 엔지니어의 접근을 제한할 수 있습니다.
  2. 임플란트가 공격자의 MS Graph API에 대한 액세스 토큰을 받으면 무한 루프에 진입합니다.
    • 루프 중에 인터넷 연결이 없거나 중단되면 임플란트는 3분 동안 대기했다가 다시 시도합니다.
    • 임플란트는 시간을 추적하여 15분이 지나면 새 액세스 토큰을 얻어 통신을 계속합니다.
  3. 루프의 첫 번째 작업은 MS Graph API 액세스 토큰을 사용하여 공격자의 임시 보관함 사서함에 접근하고 가장 최근 메시지를 읽어 손상된 Windows 장치에서 실행할 명령을 가져오는 것입니다.
    • 이렇게 하면 SMTP를 통해 이메일이 전송되지 않으므로 임시 보관함 사서함이 선택되었습니다.
  4. 명령이 수신되면 구문 분석되어 실행할 메타 명령을 결정합니다. 현재 3개의 메타 명령이 있습니다: cmd, sleep, exit
    • cmd: 메타 명령 뒤에 오는 문자열을 가져와 하위 프로세스를 생성하여 실행합니다.
    • sleep: 메타 명령 뒤에 오는 단어를 가져와 임플란트의 절전 간격을 제공된 값(밀리초)으로 변경합니다.
    • exit: 호스트 프로세스를 종료/중단합니다.
  5. 메타 명령이 cmd인 경우 임플란트는 명령을 실행할 하위 프로세스를 생성하고, 하위 프로세스는 표준 출력을 파이프에 쓰고, 명령 실행 후 종료되며, 호스트 임플란트 프로세스는 파이프를 통해 하위 프로세스의 출력을 읽습니다.
  6. 임플란트가 실행된 명령의 출력을 얻은 후, MS Graph API를 사용하여 명령 출력이 포함된 새 임시 보관함 이메일을 생성합니다.
  7. 그런 다음 임플란트는 본문이 비어 있는 두 번째 임시 보관함 이메일을 생성합니다.
    • 이를 통해 공격자의 임시 보관함 사서함 내에 명령 출력을 기록할 수 있습니다.
    • 이는 공격자가 임플란트가 실행할 다음 명령을 입력할 수 있도록 새 임시 보관함 메시지를 대기시킵니다.
  8. 명령이 실행되고 출력이 공격자에게 반환된 후, 임플란트는 공격자가 제어하는 시간 동안 절전 모드로 전환한 다음 이 루프를 반복합니다.
도구 다운로드