28、dawn

https://download.vulnhub.com/sunset/dawn.zip

难度 中

目标 root权限 1个flag

基于virtualbox启动

kali 192.168.86.105 靶机 192.168.86.110

信息收集

端口扫描

看到开放了139和445也就是smb服务,一般这种服务在Windows上开启的多,有名的ms17010就是这两个端口的漏洞,但是Linux没有这种漏洞。

不过smb的本身是用来文件共享的,可能是存在文件共享的利用方式

查看前面的端口扫描结果,有这么一个结果

| smb-security-mode: 
|   account_used: guest
|   authentication_level: user
|   challenge_response: supported
|_  message_signing: disabled (dangerous, but default)

经过搜索

account_used: guest

这意味着SMB服务使用的是“guest”账户。在SMB协议中,可以使用“guest”账户进行匿名访问,通常不需要密码。这可能表明SMB服务允许未经身份验证的访问,这可能带来安全风险。

说明可能可以使用guest进行访问

首先需要获取可访问的共享文件目录

kali中使用smbclient来进行操作

print$,IPC$是打印机和默认的共享服务,没什么用,关注ITDEPT目录

但是进去后什么东西都没有

不过倒是可以上传文件,估计其他地方需要这里进行配合

3306先不考虑弱口令的爆破,先测80端口

web测试

访问主页提示网站还在建设

使用dirsearch先扫一下目录,发现一个logs目录

访问

只有 management.log 可以访问下载,其他都是403,不过下载了后里面并没有记录的日志

需要重启一下靶机,我这里重启了就有日志了。。。

可以使用wget下载

通过查看日志,观察发现系统疑似在循环执行一些ITDEPT下的脚本,但是之前通过smb并没有发现存在什么脚本。

那么是否可以我们上传这个名字的脚本上去伪造它

突破边界

先在本地创建一个用来反弹shell的脚本

再次使用smbclient连接进行上传

先在本地生成两个后门文件

然后使用put将文件上传

在开个shell进行nc监听

成功接收到shell会话

提权

升级交互式设立

 python3 -c 'import pty;pty.spawn("/bin/bash")' 

方式一

当前获取到的shell是dawn用户

查看passwd和home目录发现还存在一个用户ganimedes

进入dawn目录看是否有什么信息

翻看history看是否可以得到什么有用的信息

发现.bash_history中存在加密的密码

使用在线解密网站发现可以解但是要钱。。。

另一个mysql_history没有其他有用的东西了

另外dawn可以使用mysql的sudo

尝试登录mysql但是提示需要密码

看来上面的那个密码比较关键,只能尝试本地爆破了

使用john需要现将密文修改为hash的格式,也就是shadow中保存的格式然后去爆破

比如 dawn:$1$$bOKpT2ijO.XcGlpjgAup9/:19590:0:99999:7:::

然后使用rock.txt字典去跑

可以解得onii-chan29

再次拿着这个密码去试mysql成功登录

还记得mysql_history中的记录是\! sh 这其实是一种MariaDB命令行逃逸 ,前提是需要开启一些选项,所以条件也比较苛刻的

那么这里我们可以直接\! /bin/bash 切换到root级的shell

方式二

使用suid提权

find / -user root -perm /4000 2>/dev/null

 

zsh存在可以提权的方式

euid=0说明当前进程以root权限运行,所以属于拥有root权限可以查看flag

总结

        第一次遇到考smb的点,另外\! 这样的命令逃逸方式我也是第一次遇到,很有收获。

搭建 **Dawn** 开发环境或部署 **Dawn 框架**通常涉及多个步骤,包括但不限于依赖管理、配置文件设置以及本地开发工具的安装与集成。以下是一个完整的指南,帮助开发者完成从准备到部署的全流程操作。 ### 3.1 环境准备 在开始搭建 Dawn 开发环境之前,确保本地系统满足以下基本要求: - **操作系统**:支持 Linux、macOS 或 Windows(推荐使用 Linux/macOS 以获得更佳兼容性)。 - **编程语言**:Dawn 基于 Python 构建,因此需要安装 Python 3.9 或更高版本。 - **包管理器**:建议使用 `pip` 或 `conda` 进行依赖管理。 - **数据库**:根据具体项目需求选择 PostgreSQL、MySQL 或 SQLite 等数据库,并确保其已正确安装和运行。 - **前端工具链**:如果 Dawn 应用包含 Web 前端,需安装 Node.js 和 npm/yarn/pnpm。 ### 3.2 获取 Dawn 源码 首先,访问 Dawn 的官方 GitHub 仓库(假设为 `https://github.com/dawn-ai/dawn`),并克隆源代码到本地: ```bash git clone https://github.com/dawn-ai/dawn.git cd dawn ``` ### 3.3 安装依赖 根据项目文档中的说明安装所有必要的依赖项。通常情况下,可以使用以下命令安装后端依赖: ```bash pip install -r requirements.txt ``` 对于前端部分(如存在): ```bash cd frontend npm install ``` ### 3.4 配置数据库 创建数据库并更新配置文件(通常是 `config/settings.py` 或 `.env` 文件),设置数据库连接信息。例如: ```python DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql', 'NAME': 'dawn_db', 'USER': 'postgres', 'PASSWORD': 'yourpassword', 'HOST': 'localhost', 'PORT': '5432', } } ``` 随后运行迁移脚本以初始化数据库结构: ```bash python manage.py migrate ``` ### 3.5 启动服务 启动后端服务: ```bash python manage.py runserver ``` 若存在前端界面,可在另一个终端中启动开发服务器: ```bash cd frontend npm start ``` ### 3.6 验证部署 打开浏览器访问 `http://localhost:8000`(默认端口)确认 Dawn 主页是否成功加载,同时检查日志输出是否有错误信息。 ### 3.7 可选:生产环境部署 对于生产环境,建议使用 Docker 容器化部署。编写 `Dockerfile` 并构建镜像: ```dockerfile FROM python:3.9-slim WORKDIR /app COPY . . RUN pip install -r requirements.txt CMD ["gunicorn", "--bind", "0.0.0.0:8000", "dawn.wsgi"] ``` 构建并运行容器: ```bash docker build -t dawn-app . docker run -p 8000:8000 dawn-app ``` 通过以上步骤,即可完成 Dawn 框架的基本部署和开发环境搭建。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值