Back
Featured image of post 打靶记录-BoardLight

打靶记录-BoardLight

第一次打HTB的线上靶机,使用代理进行加速,不过我的代理节点速度没那么理想,因此被网络延迟破防 :(
不过总体来说,靶机质量还是很高的(虽然简单),我也学到了一些新东西

环境

连接模式:OpenVPN连接
攻击机:kali-linux,ip为10.10.16.28
目标机:ip为10.10.11.11

渗透过程

开始打靶之前先来看看延迟有多逆天

延迟很高,因此nmap扫描和反弹shell时的体验会十分糟糕,但往好处想,至少丢包率是0(笑)

这次抛弃了gobuster,使用了更灵活的wfuzz来跑目录

nmap信息收集

端口扫描,并输出结果:nmap --min-rate 10000 -p- 10.10.11.11 -oN nmapscan/ports

被延迟气晕,重来

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
root@yulock:~/BoardLight# cat nmapscan/ports 
# Nmap 7.94SVN scan initiated Sun Aug 25 20:08:07 2024 as: nmap --min-rate 10000 -p- -oN nmapscan/ports 10.10.11.11
Nmap scan report for 10.10.11.11
Host is up (0.50s latency).
Not shown: 60054 filtered tcp ports (no-response), 5479 closed tcp ports (reset)
PORT   STATE SERVICE
22/tcp open  ssh
80/tcp open  http

# Nmap done at Sun Aug 25 20:08:30 2024 -- 1 IP address (1 host up) scanned in 22.86 seconds

出了22与80,挺常规的,再进行udp扫描top20的端口:
nmap -sU --min-rate 10000 --top-ports 20 10.10.11.11 -oN nmapscan/udp

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
root@yulock:~/BoardLight# cat nmapscan/udp 
# Nmap 7.94SVN scan initiated Sun Aug 25 20:09:30 2024 as: nmap -sU --min-rate 10000 --top-ports 20 -oN nmapscan/udp 10.10.11.11
Nmap scan report for 10.10.11.11
Host is up (1.1s latency).

PORT      STATE         SERVICE
53/udp    closed        domain
67/udp    closed        dhcps
68/udp    open|filtered dhcpc
69/udp    closed        tftp
123/udp   closed        ntp
135/udp   closed        msrpc
137/udp   closed        netbios-ns
138/udp   closed        netbios-dgm
139/udp   closed        netbios-ssn
161/udp   closed        snmp
162/udp   closed        snmptrap
445/udp   closed        microsoft-ds
500/udp   closed        isakmp
514/udp   closed        syslog
520/udp   closed        route
631/udp   closed        ipp
1434/udp  closed        ms-sql-m
1900/udp  closed        upnp
4500/udp  closed        nat-t-ike
49152/udp closed        unknown

# Nmap done at Sun Aug 25 20:10:04 2024 -- 1 IP address (1 host up) scanned in 33.47 seconds

udp端口没什么值得看的,对tcp扫出的端口进行细节扫描:
nmap -sT -sC -sV -O -p22,80 10.10.11.11 -oN nmapscan/details

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
root@yulock:~/BoardLight# cat nmapscan/details 
# Nmap 7.94SVN scan initiated Sun Aug 25 20:12:43 2024 as: nmap -sT -sC -sV -O -p22,80 -oN nmapscan/details 10.10.11.11
Nmap scan report for 10.10.11.11
Host is up (0.38s latency).

PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 8.2p1 Ubuntu 4ubuntu0.11 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   3072 06:2d:3b:85:10:59:ff:73:66:27:7f:0e:ae:03:ea:f4 (RSA)
|   256 59:03:dc:52:87:3a:35:99:34:44:74:33:78:31:35:fb (ECDSA)
|_  256 ab:13:38:e4:3e:e0:24:b4:69:38:a9:63:82:38:dd:f4 (ED25519)
80/tcp open  http    Apache httpd 2.4.41 ((Ubuntu))
|_http-server-header: Apache/2.4.41 (Ubuntu)
|_http-title: Site doesn't have a title (text/html; charset=UTF-8).
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Aggressive OS guesses: Linux 3.1 (95%), Linux 3.2 (95%), AXIS 210A or 211 Network Camera (Linux 2.6.17) (95%), ASUS RT-N56U WAP (Linux 3.4) (93%), Linux 3.16 (93%), Linux 4.15 - 5.8 (93%), Linux 3.2 - 4.9 (93%), Linux 2.6.32 - 3.10 (92%), Linux 2.6.32 - 3.9 (92%), Linux 5.4 (92%)
No exact OS matches for host (test conditions non-ideal).
Network Distance: 2 hops
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
# Nmap done at Sun Aug 25 20:13:51 2024 -- 1 IP address (1 host up) scanned in 68.01 seconds

22端口的ssh版本为为OpenSSH 8.2p1;web服务中间件为Apache 2.4.41;操作系统为Ubuntu
常规漏洞扫描:
nmap --script=vuln -p22,80 10.10.11.11 -oN nmapscan/vuln

没有可直接利用的漏洞

端口扫描结束,渗透优先级为80端口,其次22端口

网站信息收集

进web服务看一眼

是一家网络安全咨询公司的官网,看源码没有隐藏的信息,但在网站最下方找到了域名board.htb

将域名解析写入/etc/hosts:echo "10.10.11.11 board.htb" >> /etc/hosts

接着进行目录扫描:
wfuzz -u http://board.htb/FUZZ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt --hc 404 --hl 517

  • --hc:设置忽略的状态码
  • --hl:设置忽略的回显长度

没有扫出有用的目录

进行子域名暴破:
wfuzz -u board.htb -H "Host: FUZZ.board.htb" -w /usr/share/wordlists/amass/subdomains-top1mil-110000.txt --hc 404 --hl 517

  • -H:设置请求头,这里在Host字段里暴破子域名

扫出了子域名crm,一起写入hosts文件:echo "10.10.11.11 crm.board.htb" >> /etc/hosts

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
root@yulock:~/BoardLight# cat /etc/hosts
127.0.0.1       localhost
127.0.1.1       yulock

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

10.10.11.11 board.htb
10.10.11.11 crm.board.htb

访问后得到页面如下,可以看出是Dolibarr管理套件,网上搜了下默认用户名密码为admin,直接登陆进去

由于我们已经得到了版本号,可以通过网络查找是否有对应版本的漏洞
找到了CVE-2023-30253,php远程代码执行漏洞

正常情况下可以通过exp直接利用,但我这可能是因为网络问题迟迟无法利用成功,被迫手动构造
构造的过程这里不讲了,利用该漏洞进行反弹shell,成功获得立足点

提权过程

我们初始获得的shell权限过低(毕竟是反弹获得的,也就是www-data),因此需要先提权到普通用户
先看看home目录下有没有其他用户,找到了用户larissa

提权-larissa

由于我们是靠网站漏洞来getshell的,因此提权方式一般都是根据网站配置文件寻找其他用户的密码来进行ssh登陆

/var/www/html/crm.board.htb/htdocs/conf/conf.php中获取到mysql的用户名与密码

尝试登陆mysql去寻找用户密码,但一无所获,结合只有一个普通用户,猜测这个mysql密码就是普通用户的密码
ssh尝试登陆,成功获取到larissa用户的shell,并获得第一个flag

提权-root

sudo -l查看当前用户的权限,发现没有sudo的权限
查看属于该用户的文件:find / -user larissa -type f ! -path "/proc/*" 2>/dev/null
查找可写文件:find / -writable -type f ! -path "/proc/*" 2>/dev/null
查看是否有自动任务cat /etc/crontab

最后查找了SUID文件,发现提权点:find / -perm -u=s -type f 2>/dev/null

漏洞:CVE-2022-37706(enlightment提权)

原理就不讲了(反正也讲不明白),通过网络获取该漏洞的exp,利用python的http服务上传到目标靶机

给执行权限,直接执行exp文件,即可提权成功

在root目录下获取到第二个flag,拿下这台靶机

总结&闲话

简单总结下:

  1. nmap扫出22与80端口,web页面中发现域名,写入hosts解析
  2. 目录暴破无果后,进行子域名暴破,爆出crm,写入hosts解析
  3. 子域名访问网站,通过网络查询发现目标存在CVE-2023-30253漏洞,获得系统立足点
  4. 通过网站配置文件获取到用户larissa的密码,直接提权
  5. 查找SUID文件,发现enlightment系列文件,通过网络查询发现存在CVE-2022-37706漏洞,成功提权root

HTB的靶机确实不错,但延迟问题真的把我整的够呛。我采用的加速方案是在kali上开代理,但廉价的代理节点带来的后果就是高延迟。原本想通过海外云服务器来加速,但由于安全工具不如kali上的完善,因此还是选择了kali。不过整这么一出,我开始重新考虑通过服务器来打靶,毕竟延迟问题带来的打靶体验真的十分糟糕