Vulnhub靶机——BASSAMCTF:1
1. 主机发现:
攻击机和服务器网络适配器都设置为net模式:
识别存活的主机,发现攻击的目标:
netdiscover -r 192.168.226.0/24 -i eth0
目标服务器ip为192.168.226.128
2. 信息收集
使用nmap进行全端口服务版本扫描:
操作系统识别:
3. 渗透测试:
ssh弱口令并没有跑出来:
hydra -l root -P /usr/share/wordlists/rockyou.txt -f -vV -t 4 -I ssh://192.168.226.128
看看http服务:
访问发现啥也没有,看看源码:
发现一个bassam.ctf,访问一下:
404了,这个bassam.ctf既然不是文件,也可能是域名;打开/etc/hosts添加靶机的ip和域名:
访问bassam.ctf:
使用工具gobuster中的vhost模式爆破子域名:
扫到子域名welcome.bassam.ctf,将其添加到/etc/hosts中后进行访问:
使用gobuster工具中的dir模式扫描web目录:
index.php和config.php
访问index.php:
post传参
输入index.php,弹出窗口提示下载index.php
查看源码发现,该网页通过传递post参数到"file_exists"函数判断文件是否存在,通过“header”执行下载操作;因此,我们可以进行目录遍历 文件下载(只能下载普通用户权限的文件)
访问config.php:
网页上没啥东西,通过index.php下载源码查看:
发现一个用户名和密码:test,test123
尝试下载/etc/passwd
搜索/bin/bash和/bin/sh
test,ssh连:
普通用户权限,sudo -l看看:
这里回显 “用户test可能无法在kira上运行sudo”
查看根目录,发现PassProgram文件夹
这里的两个文件暂时还不知道什么作用,先放一边
cd,ls -a,查看.bash_history文件历史命令:
发现用户查看了一个名为MySecretPassword的文件,直接搜索:
查看:
发现是空的,使用file查看:
该文件是普通文本类型,再使用xxd工具(vim打开后输入:%!xxd)将文件内容转化为16进制查看(也可以使用工具hexdump -C来查看):
经过测试后发现,文件MySecretPassword是通过/PassProgram中的encoder进行编码的,因此,猜测文件decoder文件则为解码文件
直接解码:
获取到用户kira用户的密码,ssh登录:
kira用户可以运行sudo,并且在主文件夹下面有一个test.sh
通过执行test.txt,我们可以得到用户bassam的权限:
sudo -l:
cd到bassam主目录查看文件down.sh:
down.sh是通过curl访问并通过bash执行script.sh;因此,这里可以通过将kali的ip添加到靶机的/etc/hosts中,再到kali中搭建一个http服务器,并创建同名的script.sh,在其中写入我们要执行的命令;再使用获取到的bassam用户使用sudo执行
执行成功!修改script.sh中的命令为whoami,看看权限:
执行:
root权限,直接反弹shell:
修改script.sh
kali监听:
执行down.sh
成功反弹: