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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
TokenTacticsV2 — CAE 및 토큰 엔드포인트 v2를 지원하는 훌륭한 TokenTactics의 포크입니다. | Kitploit
도구/GitHubGitHub/f-bader/tokentacticsv2
Phishing ToolsPenetration TestingCloud SecurityIdentity & Access Management (IAM)AuthenticationRed Teaming
GitHubf-bader/tokentacticsv2

TokenTacticsV2

CAE 및 토큰 엔드포인트 v2를 지원하는 훌륭한 TokenTactics의 포크입니다.

저장소 보기
444514일 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
root@kitploit:~
  ______      __                 __             __  _                     ___ 
 /_  __/___  / /_____  ____     / /_____ ______/ /_(_)_________   _   __ |__ \
  / / / __ \/ //_/ _ \/ __ \   / __/ __ `/ ___/ __/ / ___/ ___/  | | / / __/ /
 / / / /_/ / ,< /  __/ / / /  / /_/ /_/ / /__/ /_/ / /__(__  )   | |/ / / __/ 
/_/  \____/_/|_|\___/_/ /_/   \__/\__,_/\___/\__/_/\___/____/    |___(_)____/     

TokenTactics v2

이것은 원래 Stephan Borosh @rvrsh3ll와 Bobby Cooke @0xBoku가 작성한 TokenTactics의 업데이트된 버전입니다.

Azure JSON Web Token("JWT") 조작 도구 세트

Azure 액세스 토큰을 사용하면 디바이스 코드로 로그인한 사용자로 특정 엔드포인트에 인증할 수 있습니다. FOCI(클라이언트 ID 패밀리) 지원 갱신 토큰을 보유하고 있다면 이를 사용하여 알려진 FOCI 지원 엔드포인트 모두에 대한 액세스 토큰을 얻을 수 있습니다. 갱신 토큰에는 사용자가 다단계 인증을 수행했는지 여부에 대한 정보도 포함되어 있으므로 이를 활용할 수 있습니다. 사용자의 액세스 토큰을 확보하면 Outlook, SharePoint, OneDrive, MSTeams 등과 같은 특정 앱에 액세스할 수 있습니다.

예를 들어, Graph 또는 MSGraph 갱신 토큰을 보유한 경우 Azure에 연결하여 사용자, 그룹 등을 덤프할 수 있습니다. 그런 다음 조건부 액세스 정책에 따라 Azure Core Management 토큰으로 전환하고 AzureHound를 실행할 수 있습니다. 그런 다음 Outlook 액세스 토큰을 얻어 이메일을 읽거나 보내거나, MS Teams 액세스 토큰을 얻어 Teams 메시지를 읽거나 보낼 수 있습니다!

Azure 토큰 유형에 대한 자세한 내용은 Microsoft ID 플랫폼 액세스 토큰을 참조하세요.

리소스 폴더에는 엔드포인트에 대한 예시 요청이 몇 개 있습니다. 또한 디바이스 코드 피싱을 위한 예시 피싱 템플릿도 있습니다.

이러한 토큰을 AAD Internals와 함께 사용할 수도 있습니다. 이 훌륭한 도구를 확인해 보시길 적극 권장합니다.

설치 및 사용법

root@kitploit:~
Import-Module .\TokenTactics.psd1
Get-Help Get-EntraIDToken
Invoke-RefreshToSubstrateToken -Domain "myclient.org"

테스트

테스트 스위트는 PowerShell 7과 Pester 5.7.1이 필요합니다. 모의 HTTP 응답을 사용하며 Entra ID 자격 증명이나 네트워크 액세스가 필요하지 않습니다.

root@kitploit:~
Install-Module Pester -RequiredVersion 5.7.1 -Scope CurrentUser
pwsh ./tests/Invoke-Tests.ps1

동일한 스위트가 모든 풀 리퀘스트에 대해 Linux, macOS 및 Windows에서 실행됩니다.

디바이스 코드 흐름을 사용하여 갱신 토큰 가져오기

root@kitploit:~
Get-EntraIDToken -Client MSGraph

사용자가 로그인하면 JWT가 표시되고 $response 변수에 저장됩니다. 액세스 토큰에 접근하려면 PowerShell 창에서 $response.access_token을 사용하여 토큰을 표시합니다. 또한 $response.refresh_token을 사용하여 갱신 토큰을 표시할 수도 있습니다. 힌트: 새 토큰으로 계속 갱신하려면 갱신 토큰이 필요합니다!

DOD/Mil 디바이스 코드

root@kitploit:~
Get-EntraIDToken -Client DODMSGraph

패스키를 사용하여 로그인

[!IMPORTANT] 이 기능은 v0.2.20에서 도입되었으며 PowerShell 7.0이 필요합니다.

KeePassXC, Bitwarden, 1Password 또는 이와 유사한 타사 제공업체에서 패스키를 생성한 경우 개인 키 자료를 내보낼 수 있습니다.

[!CAUTION] 개인 키 자료를 내보내는 것은 매우 위험합니다. 진행하기 전에 위험을 충분히 이해했는지 확인하세요.

KeePassXC 패스키 파일 형식이 기본적으로 지원되며 cmdlet이 파일을 직접 가리킬 수 있습니다. 초기 로그인 절차는 필요한 ESTSAUTH 쿠키만 가져오며, Get-EntraIDTokenFromESTSCookie를 사용하여 이 쿠키를 베어러 토큰(액세스 토큰, 갱신 토큰 및 ID 토큰)으로 교환해야 합니다.

root@kitploit:~
# ESTSAUTH 쿠키 값 검색
Invoke-EntraIDPasskeyLogin -Verbose -KeyFilePath "C:\Users\Fabian\Microsoft.passkey"
# ESTSAUTH 쿠키를 베어러 토큰으로 교환
Get-EntraIDTokenFromESTSCookie -CookieValue $Global:ESTSAUTH

지원되지 않는 파일 형식인 경우 필요한 값을 수동으로 지정하여 동일한 목표를 달성할 수 있습니다.

root@kitploit:~
Invoke-EntraIDPasskeyLogin -Verbose -UserPrincipalName "[email protected]" -UserHandle "XYZ" -CredentialId "9e9c8297-0cde-4726-8852-16c141e15bd3" -PrivateKey $PrivateKey
Get-EntraIDTokenFromESTSCookie -CookieValue $Global:ESTSAUTH

SCCAUTH 쿠키를 사용하여 액세스 토큰 가져오기

security.microsoft.com에 대한 인증된 세션(예: Evilginx 또는 브라우저 DevTools를 통해)에서 sccauth 쿠키를 획득한 경우, Microsoft Defender XDR 포털을 통해 다양한 리소스에 대한 Entra ID 액세스 토큰을 검색하는 데 사용할 수 있습니다.

root@kitploit:~
# sccauth 쿠키를 사용하여 Microsoft Graph 토큰 검색
Get-EntraIDTokenFromSCCAUTHCookie -SCCAuth "your_sccauth_value" -ResourceName MicrosoftGraph

# 부트스트래핑 요청을 건너뛰기 위해 XSRF 토큰을 명시적으로 제공
Get-EntraIDTokenFromSCCAUTHCookie -SCCAuth "your_sccauth_value" -XSRF "your_xsrf_value" -ResourceName Azure

# 사용자 지정 리소스 URL 사용
Get-EntraIDTokenFromSCCAUTHCookie -SCCAuth "your_sccauth_value" -Resource "https://management.core.windows.net/"

지원되는 -ResourceName 값: Azure, LogAnalytics, MATP, MCAS, MicrosoftGraph, MicrosoftOffice, Purview, PurviewACC, ThreatIntelligencePortal.

ESTSAuth* 쿠키에서 갱신 토큰 가져오기

root@kitploit:~
Get-EntraIDTokenFromESTSCookie -ESTSAuthCookie "0.AbcApTk..."

이 모듈은 인증 코드 흐름을 사용하여 ESTSAuth(또는 ESTSAuthPersistent) 쿠키에서 액세스 토큰과 갱신 토큰을 얻습니다. Evilginx를 통해 세션을 피싱했거나 다른 방법으로 이 쿠키를 획득한 경우 유용합니다.

올바른 쿠키를 사용해야 합니다! ESTSAuthPersistent는 CA 정책이 실제로 영구 세션을 부여하는 경우에만 유용합니다. 그렇지 않으면 ESTSAuth를 사용해야 합니다. 일반적으로 길이를 기준으로 어느 것을 사용할지 알 수 있습니다. 더 긴 쿠키가 사용하려는 쿠키입니다 :)

참고: 일부 경우 사용자 상호 작용이 필요할 수 있으므로 항상 작동하지 않을 수 있습니다. 이런 경우 위의 디바이스 코드 흐름을 사용하거나 roadtx interactiveauth --estscookie를 시도하세요.

이 기능은 원래 저장소의 rotarydrone이 pull request에서 백포트했습니다.

인증 코드 흐름을 사용하여 갱신 토큰 가져오기

이 oauth2 흐름의 가장 대표적인 예시(적어도 2025년 초 기준) 중 하나는 Intune 회사 포털로, 일부 리소스에 대해 디바이스 준수 요구 사항을 우회할 수 있습니다.

이 정보는 @dirkjan이 처음 공개했으며, 이후 Black Hat Europe에서 @TEMP43487580이 더 넓은 청중에게 공개했습니다.

JumpsecLabs는 블로그 게시물과 TokenSmith 형태의 POC를 얼마 지나지 않아 게시했습니다.

이제 TokenTacticsV2에서도 동일한 기능을 사용할 수 있습니다.

Get-AzureAuthorizationCode는 인증에 사용할 수 있는 URL을 생성합니다.

Get-EntraIDTokenFromAuthorizationCode는 전체 URL을 사용하거나 AuthorizationCode 및 RedirectUrl 매개변수와 함께 사용하여 인증 코드를 액세스 토큰 및 갱신 토큰으로 교환합니다. 그 후에는 항상 그렇듯이 다른 리소스에 대한 액세스를 시도할 수 있습니다.

새 cmdlet 사용 방법

새 액세스 토큰으로 갱신

갱신 토큰을 지정하지 않으면 cmdlet은 기본적으로 $response.refresh_token을 사용합니다.

root@kitploit:~
Invoke-RefreshToOutlookToken -domain "myclient.org"

$OutlookToken.access_token

액세스 토큰을 사용하여 AzureAD에 연결

root@kitploit:~
Connect-AzureAD -AadAccessToken $response.access_token -AccountId [email protected]

액세스 토큰을 사용하여 MgGraph에 연결

root@kitploit:~
Invoke-RefreshToMSGraphToken -Domain "myclient.org"
Connect-MgGraph -AccessToken $MSGraphToken.access_token -Scopes "User.Read.All","Group.ReadWrite.All"

토큰 지우기

이 명령은 모든 토큰 변수를 제거합니다.

root@kitploit:~
Clear-Token -Token All

연속 액세스 평가

연속 액세스 평가를 통해 Microsoft는 추가 보안 조치를 구현하면서도 액세스 토큰의 최대 수명을 24시간으로 연장합니다. MSGraph, Exchange, Teams 및 SharePoint와 같은 특정 CAE 지원 서비스는 Azure AD에서 트리거된 특정 이벤트를 기반으로 액세스 토큰을 차단할 수 있습니다. 현재 이러한 중요 이벤트는 다음과 같습니다.

  • 사용자 계정이 삭제되거나 비활성화됨
  • 사용자의 암호가 변경되거나 재설정됨
  • 사용자에 대해 다단계 인증이 활성화됨
  • 관리자가 사용자의 모든 갱신 토큰을 명시적으로 해지함
  • Azure AD ID 보호에서 높은 사용자 위험이 감지됨(Teams 및 SharePoint Online 제외)
root@kitploit:~
Invoke-RefreshToMSGraphToken -Domain "myclient.org" -UseCAE
if ((Parse-JWTtoken $MSGraphToken.access_token).ValidForHours -gt 23) { "MSGraph token is CAE capable" }

AAD Internals와 함께 사용

AADInternals도 설치되어 있는 경우 생성된 액세스 토큰을 사용할 수 있습니다.

root@kitploit:~
Invoke-RefreshToMSTeamsToken -UseCAE -Domain "myclient.org"
Set-AADIntTeamsStatusMessage -Message "My cool status message" -AccessToken $MSTeamsToken.access_token -Verbose

명령어

root@kitploit:~
Get-Command -Module TokenTactics

지원되는 사용자 대상 명령어만 내보내집니다. 구문 분석, PKCE, 일반 갱신 및 FIDO 암호화 헬퍼는 비공개 구현 세부 사항으로 남아 있습니다.

작성자 및 기여자

  • @rvrsh3ll TokenTactics(원본) 작성자
  • @0xBoku TokenTactics(원본) 공동 작성자 및 연구자
  • @f-bader V2 엔드포인트 및 CAE와 같은 추가 기능을 지원하도록 TokenTactics 업데이트. TokenTacticsV2 유지 관리자
  • @Pri3st Storage 및 Key Vault 액세스 토큰 가져오기 함수와 사용자 지정 사용자 에이전트 추가

TokenTactic의 방법은 Dr Nestori Syynimaa의 https://o365blog.com/ 에서 훌륭한 연구의 영향을 많이 받았습니다.

변경 로그

0.3.0 (2026-07-13)

  • 고정된 Pester 5 테스트 실행기, 크로스 플랫폼 GitHub Actions 검사, 테스트 보고서 및 적용 기준선 추가
  • 디바이스 코드, 쿠키, 인증 코드, SCCAUTH, 갱신 토큰 및 패스키 흐름에 대한 결정적 모의 적용 범위 추가
  • 토큰 정리, URL 디코딩, UTC JWT 타임스탬프, PEM 검증, Yammer 범위, CAE 쿠키 지원, PurviewACC 테넌트 헤더 및 패스키 어설션 구성 수정
  • 지원되는 사용자 대상 명령어 및 호환성 별칭만 내보내기. 와일드카드 내보내기로 이전에 노출되었던 구현 헬퍼는 이제 비공개입니다. 스크립트는 대신 해당 공용 명령어를 사용해야 합니다.

0.2.22 (2026-04-03)

  • Get-EntraIDTokenFromSCCAUTHCookie 추가: security.microsoft.com의 sccauth 쿠키를 사용하여 다양한 리소스(Azure, MicrosoftGraph, MATP, MCAS, Purview 등)에 대한 Entra ID 액세스 토큰 검색. 선택적으로 XSRF 토큰 허용. 생략 시 자동으로 부트스트랩. 헤더 주입 및 PurviewACC 리소스 생성을 위한 선택적 TenantId 매개변수 지원.

0.2.20 (2026-01-01)

  • 모든 Get-Azure cmdlet 이름을 Get-EntraID로 변경
  • 이전 버전과의 호환성을 위한 별칭 추가
  • ConvergedSignIn 인터럽트에 대한 향상된 오류 처리 추가
  • 패스키 로그인 흐름을 자동화하는 Invoke-EntraIDPasskeyLogin 추가. Get-EntraIDTokenFromESTSCookie와 같은 다른 cmdlet에서 재사용할 수 있도록 ESTSAUTH 쿠키 및 웹 세션을 전역 변수로 저장
  • Invoke-EntraIDPasskeyLogin, Get-EntraIDTokenFromCookie, Get-EntraIDTokenFromRefreshTokenCredentialCookie 및 Get-EntraIDTokenFromESTSCookie에 프록시 지원 추가

0.2.14 (2025-09-11)

  • Get-AzureAuthorizationCode cmdlet에 login_hint 매개변수를 미리 채우기 위한 -Username 매개변수 추가
  • Get-AzureAuthorizationCode cmdlet에 -CopyToClipboard 매개변수 추가

0.2.13 (2025-07-29)

  • 사용자 지정 사용자 에이전트 매개변수 수정

0.2.12 (2025-06-22)

  • 현재 실행 공간 인식 추가 및 PSTask로 실행될 때(예: Foreach-Object -parallel에서 실행될 때) 출력 최소화

0.2.11 (2025-06-08)

  • 새로운 -CustomUserAgent 속성을 사용하여 UserAgent를 자유롭게 정의할 수 있는 기능 추가. Pri3st에게 감사드립니다.

0.2.10 (2025-02-25)

  • 버그 수정: 잘못된 유형 초기화

0.2.9 (2025-02-17)

  • B2B 디바이스 코드 피싱을 지원하기 위해 Get-EntraIDToken에 ResourceTenant 추가
  • Azure Management 클라이언트 ID 전환
  • PKCE(Proof Key for Code Exchange) 지원을 위한 UseCodeVerifier 추가
  • 더 다양한 엔드포인트 테스트를 지원하기 위해 일부 함수에 UseV1Endpoint 추가

0.2.8 (2025-01-18)

  • Get-AzureTokenFromRefreshTokenCredentialCookie("x-ms-RefreshTokenCredential") 추가 및 모듈화된 Get-AzureTokenFromCookie 추가
  • Get-AzureTokenFromESTSCookie에 쿠키 유형(ESTSAuth, ESTSAUTHPERSISTENT)을 선택하는 매개변수 추가
  • Get-AzureTokenFromAuthorizationCode에 대한 샘플 출력을 Get-AzureAuthorizationCode 출력에 추가
  • 출력 개선 및 더 자세한 오류 처리

0.2.7 (2025-01-08)

  • Get-AzureTokenFromESTSCookie가 appverify 엔드포인트를 지원하도록 확장
  • Get-AzureTokenFromESTSCookie의 쿠키 관리 개선

0.2.6 (2025-01-04)

  • Get-AzureAuthorizationCode 및 Get-AzureTokenFromAuthorizationCode의 사용자 지정 범위 버그 수정
  • Get-AzureAuthorizationCode의 기본 리디렉션 URI 변경

0.2.5 (2025-01-04)

  • 새로운 cmdlet Get-AzureAuthorizationCode 및 Get-AzureTokenFromAuthorizationCode 추가
    이 cmdlet은 @gladstomych가 유지 관리하는 TokenSmith에서 많은 영감을 받았습니다.
  • TokenTactics 버전의 AADInternals cmdlet Get-AccessTokenForAADJoin인 Invoke-RefreshToDeviceRegistrationToken 새 cmdlet 추가
  • Invoke-RefreshToToken에 UseV1Endpoint와 함께 v1 엔드포인트 지원 추가. Invoke-RefreshToDeviceRegistrationToken을 추가하는 데 필요했습니다.
  • ConvertFrom-JWTtoken에 파이프라인 지원 추가
  • Get-ForgedUserAgent에 기본값 추가

0.2.1 (2023-07-21)

  • 디바이스 플랫폼으로 Linux 지원
  • 디바이스 플랫폼으로 OS/2 지원 😁

0.2.2 (2023-07-22)

  • Yammer 토큰 지원 백포트
  • 허용된 PowerShell 동사로 전환 백포트, 이전 버전과의 호환성을 위한 별칭 추가

0.2.3 (2023-07-23)

  • rotarydrone의 pull request를 백포트하여 ESTSAuth를 액세스 토큰으로 변환

v2의 새로운 기능

  • Azure AD OAuth2 엔드포인트 v2.0으로 전환
  • 새로운 -UseCAE 스위치를 사용한 연속 액세스 평가 지원
  • ClientId를 매개변수로 만듦
  • MSTeams의 client_id 변경
  • OneDrive 및 SharePoint 지원 추가
  • 사람이 읽을 수 있는 형식으로 ConvertFrom-JWTtoken 출력에 IssuedAt, NotBefore, ExpirationDate 및 ValidForHours 추가
  • 패스키 로그인 지원
  • 유지 관리를 용이하게 하기 위해 코드베이스 리팩토링
도구 다운로드