Vulnhub:bassamCTF

靶机下载地址

信息收集

主机发现

扫描攻击机同网段存活主机。

nmap 192.168.31.0/24 -Pn -T4

靶机ip:192.168.31.165

端口扫描

nmap 192.168.31.165 -A -p- -T4

开放端口22,80。

网站信息收集

访问80端口的http服务。首页是空白页面,F12检查页面得到隐藏信息bassam,ctf,大概是域名?

向/etc/hosts添加一条主机名和ip地址的映射,添加成功后重启网络服务确保更改生效。

vim /etc/hosts
# 添加一条映射关系
192.168.31.165  bassam.ctf
# 保存后,重启网络服务
sudo systemctl restart networking

访问bassam.ctf,是个人博客的项目,没有其他提示,卡住了,去跑了一遍目录扫描,没有收获。是不是还存在其他子域名,对应着其他项目。

wfuzz爆破子域名

字典位置是: /usr/share/amass/wordlists/

wfuzz -w subdomains-top1mil-110000.txt -u http://192.168.31.165/ -H "Host:FUZZ.bassam.ctf" --hw 3

welcome.bassam.ctf。修改主机名和IP的映射关系,别忘了重启网络服务。

访问http://welcome.bassam.ctf,得到提示open your eyes

welcome.bassam.ctf目录扫描
gobuster dir -u http://welcome.bassam.ctf/ -w directory-list-2.3-medium.txt -x html,php,js,jpg,png,txt

扫描出三个路径,其中config.php是空页面。

访问index.php,可以下载文件。经过测试能下载当前项目根目录下的文件,即上面扫出来的三个文件。config.php有内容,并非空文件。

config.php,得到一组用户名密码test:test123。

渗透

ssh登录

ssh服务开启,test:test123,尝试远程登录ssh服务。

ssh test@192.168.31.165
# 获得交互式shell
python3 -c 'import pty;pty.spawn("/bin/bash")'

拿到shell后进行一些信息收集。有三个用户,分别是bassam,kira,test。

/home/bassam下,可执行文件down.sh,是通过curl访问并通过bash执行script.sh。属主是root,可能与提权有关。

/home/kira下,可执行文件test.sh。

test家目录内容:

.bash_history是每个用户的主目录下,用于记录用户执行过的历史命令的隐藏文件。通过查看/home/test/.bash_history得知上一次注销test账号之前使用的命令,查看了MySecretPassword文件。(补充知识:history命令和~/.bash_history的区别是,只有当前shell关闭时才会将内容写入到~/.bash_history中,而history是随时记录的。

locate命令定位MySecretPassword文件,发现命令不生效,只能一个个文件夹找。在找MySecretPassword文件的过程中发现另一个可疑文件夹PassProgram

该文件夹下,加密程序和解密程序。

并告诉了用法,对文件进行解密。

/var/www/ctf/MySecretPassword,/var/www下就是部署的三个项目。

查看MySecretPassword发现没有显示,但是文件大小不是0。file [filename]看一下文件类型,MySecretPassword: ASCII text,文本文件。

开启简易http服务,方便将MySecretPassword下载到本地查看,发现想简单了,修改后缀名为txt也看不到内容。

用PassProgram下的解密程序,切换到PassProgram目录。

./decoder /var/www/ctf/MySecretPassword

疑似kira用户的密码kira2003

提权

切换到kira用户,kira:kira2003,sudo -l提权。可以以bassam身份执行test.sh从而获得bassam的bash。

sudo -u bassam ./test.sh bash

成功。

还有down.sh,执行看一下结果。提示http://mywebsite.test不可达,因为靶机/etc/hosts下这个主机名的映射ip。

解决http://mywebsite.test不可达的问题,将http://mywebsite.test映射ip改成攻击机ip。

准备script.sh。

当前目录开启简易http服务,注意指定端口为80。

python3 -m http.server 80

bassam窗口执行sudo ./down.sh,攻击机另开一个终端nc监听端口。成功获得root权限。🎆

  • 9
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值