FOURANDSIX:2.01

靶场下载

FourAndSix: 2.01 ~ VulnHub

FOURANDSIX:2.01_第1张图片

信息收集

# nmap -sn 192.168.1.0/24 -oN live.nmap                          
Starting Nmap 7.94 ( https://nmap.org ) at 2024-01-02 10:42 CST
Nmap scan report for 192.168.1.1
Host is up (0.00030s latency).
MAC Address: 00:50:56:C0:00:08 (VMware)
Nmap scan report for 192.168.1.2
Host is up (0.00025s latency).
MAC Address: 00:50:56:FE:B1:6F (VMware)
Nmap scan report for 192.168.1.78
Host is up (0.00039s latency).
MAC Address: 00:0C:29:B6:28:96 (VMware)
Nmap scan report for 192.168.1.254
Host is up (0.00031s latency).
MAC Address: 00:50:56:F7:33:D9 (VMware)
Nmap scan report for 192.168.1.60
Host is up.

探测存活主机的IP地址为192.168.1.78

# nmap -sT --min-rate 10000 -p- 192.168.1.78 -oN port.nmap
Starting Nmap 7.94 ( https://nmap.org ) at 2024-01-02 10:44 CST
Warning: 192.168.1.78 giving up on port because retransmission cap hit (10).
Nmap scan report for 192.168.1.78
Host is up (0.00042s latency).
Not shown: 62021 filtered tcp ports (no-response), 3511 closed tcp ports (conn-refused)
PORT    STATE SERVICE
22/tcp  open  ssh
111/tcp open  rpcbind
659/tcp open  unknown
MAC Address: 00:0C:29:B6:28:96 (VMware)

发现并没有开放http服务,第一次看到这种的靶机,先别慌,先按部就班的探测相信服务信息,观察一下:

# nmap -sT -sC -sV -O -p111,22,659 192.168.1.78 -oN details.nmap
Starting Nmap 7.94 ( https://nmap.org ) at 2024-01-02 10:45 CST
Nmap scan report for 192.168.1.78
Host is up (0.00053s latency).

PORT    STATE SERVICE VERSION
22/tcp  open  ssh     OpenSSH 7.9 (protocol 2.0)
| ssh-hostkey: 
|   2048 ef:3b:2e:cf:40:19:9e:bb:23:1e:aa:24:a1:09:4e:d1 (RSA)
|   256 c8:5c:8b:0b:e1:64:0c:75:c3:63:d7:b3:80:c9:2f:d2 (ECDSA)
|_  256 61:bc:45:9a:ba:a5:47:20:60:13:25:19:b0:47:cb:ad (ED25519)
111/tcp open  rpcbind 2 (RPC #100000)
| rpcinfo: 
|   program version    port/proto  service
|   100000  2            111/tcp   rpcbind
|   100000  2            111/udp   rpcbind
|   100003  2,3         2049/tcp   nfs
|   100003  2,3         2049/udp   nfs
|   100005  1,3          659/tcp   mountd
|_  100005  1,3          957/udp   mountd
659/tcp open  mountd  1-3 (RPC #100005)
MAC Address: 00:0C:29:B6:28:96 (VMware)
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: general purpose
Running: OpenBSD 6.X
OS CPE: cpe:/o:openbsd:openbsd:6
OS details: OpenBSD 6.0 - 6.4
Network Distance: 1 hop

22端口是ssh,这里就不多说了;111端口是rpcbind 2 ;659 是mountd服务,1-3;其他的信息目前没有;探测一下UDP的端口信息:

# nmap -sU --min-rate 10000 -p- 192.168.1.78 -oN udp.nmap
Starting Nmap 7.94 ( https://nmap.org ) at 2024-01-02 10:49 CST
Warning: 192.168.1.78 giving up on port because retransmission cap hit (10).
Nmap scan report for 192.168.1.78
Host is up (0.00038s latency).
Not shown: 61858 open|filtered udp ports (no-response), 3675 closed udp ports (port-unreach)
PORT     STATE SERVICE
111/udp  open  rpcbind
2049/udp open  nfs
MAC Address: 00:0C:29:B6:28:96 (VMware)

udp端口开放了两个,分别是111端口和2049端口!

# nmap -sT --script=vuln -p22,111,659 192.168.1.78 -oN vuln.nmap 
Starting Nmap 7.94 ( https://nmap.org ) at 2024-01-02 10:49 CST
Pre-scan script results:
| broadcast-avahi-dos: 
|   Discovered hosts:
|     224.0.0.251
|   After NULL UDP avahi packet DoS (CVE-2011-1002).
|_  Hosts are all up (not vulnerable).
Nmap scan report for 192.168.1.78
Host is up (0.00038s latency).

PORT    STATE    SERVICE
22/tcp  filtered ssh
111/tcp filtered rpcbind
659/tcp filtered unknown
MAC Address: 00:0C:29:B6:28:96 (VMware)

默认的漏洞脚本信息探测的结果可以看作是没什么信息;此时我陷入了迷茫的境地,不知道从哪里入手进行突破!(这里先去看看111端口和659以及2049端口上的各个服务,能否在这几个端口上找到突破点!)

渗透测试

111端口RPCBIND

RPC(remote procedure call)远程过程调用!它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议,简单的理解就是一个节点请求另一个节点提供的服务。

RPC协议假定某些传输协议的存在,如TCP或者是UDP,为通信程序之间携带信息数据,在OSI网络通信模型中,RPC跨越了传输层和应用层;

RPC采用了客户端/服务器的模式,请求程序就是一个客户机,而服务提供程序就是一个服务器;

2049端口 NFS

NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源;

在NFS的应用中,本地的NFS客户端应用可以透明的读写位于远端NFS服务器上的文件,就像是访问本地文件一样

NFS适用于Linux和Unix之间实现文件共享,不能实现Linux和windows之间的文件共享功能;

NFS是运行在应用层的协议,其监听于2049/tcp和2049/udp套接字上

NFS服务只能基于IP进行认证!

(PS:大概看到这里我便有了一种思路,靶机上既然开启了NFS,那么我们攻击机是客户端,是不是就能访问到靶机上的文件呢?)

攻击机安装NFS

既然靶机上已经开启了NFS,那么我们尝试就是利用kali当作是客户端,来尝试访问靶机上的文件!首先我们在攻击机kali上安装NFS;

apt-get install nfs-common

FOURANDSIX:2.01_第2张图片

等待安装完成之后,利用showmount命令进行测试:

-a : 显示指定NFS服务器的所有客户端主机及其所连接的目录
-e : 显示指定的NFS服务器中已被客户端连接的所有输出目录
-d : 显示指定的NFS服务器上所有输出的共享目录
showmount -e 192.168.1.78

FOURANDSIX:2.01_第3张图片

可以看到存在一个共享目录是/home/user/storage目录,尝试利用mount命令手动挂载到我们的本地的目录:

mount -t nfs 192.168.1.78:/home/user/storage ./storage

这里首先我在当前的目录下,创建了一个目录 storage:

FOURANDSIX:2.01_第4张图片

然后客户端执行的手动挂载命令,将192.168.1.78的nfs服务的共享目录/home/user/storage 挂载到本地./storage目录中:

查看当前的storage目录,发现了backup.7z文件!

FOURANDSIX:2.01_第5张图片

尝试下载下来利用7z进行解压!但是存在密码~

FOURANDSIX:2.01_第6张图片

尝试利用hashcat进行破解!先7z2john提取出hash:

7z2john backup.7z > hash.txt

然后利用hashcat进行破解:7-Zip对应的hash模式为11600

相关参考资料:hashcat破解压缩包密码(7z/rar/zip) - 哔哩哔哩

FOURANDSIX:2.01_第7张图片

FOURANDSIX:2.01_第8张图片

最终拿到密码为chocolate!尝试解压文件!

FOURANDSIX:2.01_第9张图片

拿到了8个图片和ssh登录的公钥私钥文件!尝试利用公私钥文件进行登录ssh:查看公钥文件拿到了用户为user

尝试利用id_rsa进行登录!

FOURANDSIX:2.01_第10张图片

id_rsa文件的权限过高了,修改为600!

FOURANDSIX:2.01_第11张图片

修改完之后,再次尝试利用私钥文件进行登录:

FOURANDSIX:2.01_第12张图片

但是要输入id_rsa文件的密码,这个密码我们又不知道,再次尝试利用john进行破解!

ssh2john id_rsa > id_rsa_hash
john id_rsa_hash /usr/share/wordlist/rockyou.txt

FOURANDSIX:2.01_第13张图片

破解得到密码,这里我没去看图片的隐写,因为比较麻烦,所以先去尝试了直接进行破解,然后破解不成功的话,就需要去看一下图片的隐写了,这里比较幸运,直接破解成功拿到了密码是12345678

再次尝试ssh登录:

FOURANDSIX:2.01_第14张图片

最终成功登录进来!准备提权~

提权

当前用户是user,查看/etc/passwd文件,判断是否存在其他可以利用的文件:

FOURANDSIX:2.01_第15张图片

发现没有其他常用的用户!内核版本信息发现了OpenBSD 6.4版本,尝试利用searchsploit进行搜索:

FOURANDSIX:2.01_第16张图片

发现一个权限提升的漏洞,下载下来尝试能否利用:下载下来的是一个txt文件,这里我直接下载的:

https://github.com/bcoles/local-exploits/blob/master/CVE-2019-19726/openbsd-dynamic-loader-chpass

然后通过NFS上传到storage目录下面了,给执行的权限,尝试执行!

FOURANDSIX:2.01_第17张图片

提权成功~ 查看flag文件:

FOURANDSIX:2.01_第18张图片

拿到最终的flag文件!

总结

看了红笔大佬的分享,学习一下大佬提权的手法,利用的是doas进行的后续提权!

什么是doas?

FOURANDSIX:2.01_第19张图片

doas出现在OpenBSD系统中,这里前面通过uname即可收集到的信息,所以我们需要去关注doas!它类似于sudo!

相关的配置文件出现在/etc/doas.conf文件中!

允许user无密码的情况下,保持环境变量执行 /usr/bin/less 后面加参数 /var/log/authlog 查看这个日志文件,那么我们就按照他说的去执行即可!

doas /usr/bin/less /var/log/authlog

打开之后,按v启动vi编辑器;这个vi编辑器的权限就是less给的权限

FOURANDSIX:2.01_第20张图片

按v之后,可进入编辑模式,但是会提示只读,进入编辑模式后,可以通过vi编辑器操作方式,执行系统命令,即:!/bin/sh,此时便会提升到root权限!

FOURANDSIX:2.01_第21张图片

彩蛋

        这里为什么拿到的backup压缩包中存在着8张看起来没什么用处的图片呢?还记不记得我们id_rsa也是有密码的,输入的密码是什么?(12345678)刚好是12345678,是不是对应着这八张图片呢???这个脑洞稍微有点点大,当作是小彩蛋啦。

你可能感兴趣的:(Vulnhub,网络安全,web安全,安全威胁分析,安全,学习)