
브라우저 기반 GUI를 갖춘 Entra ID 및 M365용 초기 액세스 및 사후 익스플로잇 도구
________ _________
/ / by RedByte1337 __ / /
/ _____/___________ ______ | |__ / _____/_____ ______
/ \ __\_ __ \__ \ \____ \| | \ \_____ \\____ \ | |
\ \_\ \ | \/ __ \| |_> | \ \/ \ |_> \___ |
\______ /__| |____ | __/|___| /_______ / ___/ ____|
\/ \/|__| \/ \/|__| \/
다음은 의존성 충돌을 피하기 위해 pipx를 사용하는 권장 설치 과정입니다.
GraphSpy는 모든 운영 체제에서 작동하도록 제작되었지만, 주로 Linux와 Windows에서 테스트되었습니다.
다른 설치 옵션과 자세한 지침은 위키의 설치 페이지를 확인하세요.
# Install pipx (skip this if you already have it)
apt install pipx
pipx ensurepath
# Install the latest version of GraphSpy from pypi
pipx install graphspy
설치 후에는 시스템의 어느 위치에서든 graphspy 명령을 사용하여 애플리케이션을 실행할 수 있습니다.
명령줄 인수 없이 GraphSpy를 실행하면 GraphSpy가 시작되며 기본적으로 http://127.0.0.1:5000에서 사용할 수 있습니다.
graphspy
이제 좋아하는 브라우저에서 http://127.0.0.1:5000을 열기만 하면 시작할 수 있습니다!
-i 및 -p 인수를 사용하여 수신할 인터페이스와 포트를 변경할 수 있습니다.
# Run GraphSpy on http://192.168.0.10
graphspy -i 192.168.0.10 -p 80
# Run GraphSpy on port 8080 on all interfaces
graphspy -i 0.0.0.0 -p 8080
자세한 지침과 다른 명령줄 인수는 위키의 실행 페이지를 참조하세요.
전체 사용법에 대한 자세한 내용은 GitHub Wiki를 참조하세요.
기능 개요를 빠르게 확인하려면 공식 릴리스 블로그 게시물을 확인하세요.
GraphSpy에 기여하거나 내부를 수정하려는 경우 여기에서 시작하세요:
여러 사용자와 범위에 대한 액세스 및 새로고침 토큰을 한 곳에 저장하세요.


그들 사이를 쉽게 전환하거나 어느 페이지에서든 새 액세스 토큰을 요청할 수 있습니다.

여러 디바이스 코드를 한 번에 쉽게 생성하고 폴링할 수 있습니다. 사용자가 디바이스 코드로 인증하면 GraphSpy가 액세스 및 새로고침 토큰을 데이터베이스에 자동으로 저장합니다.

디바이스 코드 인증 성공 후 즉시 실행될 자동 작업을 구성하세요.

사용자 계정에 연결된 MFA 방법을 확인, 수정 및 생성할 수 있습니다.

GraphSpy에서 다음과 같은 MFA 방법을 추가하여 지속성을 설정할 수 있습니다:

GraphSpy 내에서 기본 새로고침 토큰을 요청, 가져오기 또는 사용할 수 있습니다.
이러한 PRT는 일반 새로고침 토큰보다 훨씬 강력합니다. 특정 애플리케이션에 바인딩되지 않고 사용자로서 모든 애플리케이션/범위(FOCI 및 비 FOCI 모두)에 대한 액세스 토큰을 얻는 데 사용할 수 있기 때문입니다.

또한 이러한 PRT 토큰을 사용하여 PRT 쿠키를 생성할 수 있으며, 이를 브라우저에 직접 가져오면 Entra ID SSO와 통합된 모든 웹 애플리케이션에 대한 완전한 대화형 액세스를 제공할 수 있습니다.

사용자 및 디바이스 조합에 대해 GraphSpy에서 Windows Hello For Business(whfb) 키를 등록하거나 다른 도구 또는 손상된 디바이스에서 가져올 수 있습니다.
이러한 WinHello 키는 비밀번호 재설정 후에도 사용자에 대한 새 기본 새로고침 토큰을 생성하는 데 사용할 수 있어 매우 강력한 계정 지속성 수단이 됩니다!

직관적인 파일 탐색기 인터페이스를 통해 사용자의 OneDrive 또는 액세스 가능한 SharePoint 사이트의 파일과 폴더를 탐색할 수 있습니다.
물론 파일을 직접 다운로드하거나 새 파일을 업로드할 수도 있습니다.

또한 사용자가 최근에 액세스한 파일 또는 사용자와 공유된 파일을 나열할 수 있습니다.

Outlook 액세스 토큰(FOCI)만 사용하여 클릭 한 번으로 사용자의 Outlook 웹 메일을 열 수 있습니다!


또는 Outlook Graph 모듈을 사용하여 MS Graph API에 대한 액세스 토큰만으로 이메일을 나열, 읽기, 검색, 삭제, 회신 또는 전송할 수 있습니다!

GraphSpy에서 완전히 HTML 형식의 이메일을 작성하고 이미지와 첨부 파일을 포함할 수 있습니다.

skype API(https://api.spaces.skype.com/)의 FOCI 액세스 토큰을 사용하여 Microsoft Teams 모듈로 메시지를 읽고 보낼 수 있습니다.

Microsoft Search API를 사용하여 모든 Microsoft 365 애플리케이션에서 키워드를 검색할 수 있습니다.
예를 들어 "password", "secret" 등의 키워드가 포함된 파일이나 이메일을 검색하는 데 사용할 수 있습니다.

GraphSpy에 저장된 액세스 토큰을 사용하여 모든 엔드포인트에 사용자 지정 API 요청을 수행할 수 있습니다.

변수가 포함된 사용자 지정 요청 템플릿을 데이터베이스에 저장하여 일반적인 사용자 지정 API 요청을 쉽게 재사용할 수 있습니다.

Microsoft Graph API를 사용하여 모든 Entra ID 사용자와 해당 속성을 나열할 수 있습니다.

그룹 구성원 자격, 역할 할당, 디바이스, 앱 역할 및 API 권한과 같은 사용자에 대한 추가 정보를 확인할 수 있습니다.

GraphSpy는 여러 데이터베이스를 지원합니다. 여러 평가를 동시에 진행할 때 토큰과 디바이스 코드를 체계적으로 유지하는 데 유용합니다.

기본적으로 다크 모드를 사용하거나 라이트 모드로 전환할 수 있습니다.
GitHub Wiki의 릴리스 노트 페이지를 참조하세요.
귀하 또는 귀하의 조직이 이 프로젝트의 핵심 스폰서로 여기에 소개되거나 GraphSpy 자체에 언급되기를 원하십니까? 아니면 GraphSpy가 마음에 들어 제 작업을 지원하고 싶으십니까?
제 스폰서 페이지를 확인해 주세요.
후원할 여건이 되지 않더라도 감사의 마음을 표현하고 싶다면 대신 스타(star)를 눌러 주세요. ⭐
GraphSpy를 만든 주된 동기는 액세스 토큰만으로 Office365 애플리케이션(Outlook, Microsoft Teams, OneDrive, SharePoint 등)을 대상으로 한 사후 침해 활동을 수행할 수 있는 사용하기 쉬운 방법이 없었기 때문입니다.
기본적인 기능을 제공하는 여러 명령줄 도구가 있었지만, 어떤 도구도 원래 애플리케이션(예: OneDrive 및 SharePoint의 파일 탐색기와 유사한 인터페이스)이 제공하는 직관적인 대화형 경험에는 미치지 못했습니다.
그러나 수많은 다른 사람들이 이전에 많은 연구를 수행했습니다(특히 디바이스 코드 피싱에 관한 연구로, 이로 인해 처음에 그러한 도구의 필요성이 생겼습니다).