Skip to content

针对AWD竞赛编写的环境安全检查脚本,可有效减少加固阶段的工作量,同时也可用于对失陷主机的快速检查

License

Notifications You must be signed in to change notification settings

lyscf/AWD-SecCheck

Repository files navigation

AWD-SecCheck

AWD-SecCheck 是一个针对 AWD(Attack With Defense)竞赛环境编写的自动化安全检查脚本,旨在帮助参赛选手快速完成系统安全检查和加固工作,同时也可以用于对失陷主机的快速检查和分析。

项目简介

在 AWD 竞赛中,选手需要在有限的时间内完成系统的加固和漏洞修复,同时还要对失陷的主机进行快速检查和分析。AWD-SecCheck 脚本通过自动化的方式,帮助选手快速完成以下任务:

  • 系统安全检查
  • WebShell 检测
  • 防火墙配置检查
  • 数据库服务安全检查
  • Web服务安全检查
  • 用户和组权限检查
  • 系统更新和补丁检查
  • 日志文件分析
  • 网络连接和端口检查
  • 启动项和服务检查

运行截图

功能特点

  • 自动化检查:脚本自动化执行多种安全检查任务,减少手动操作的工作量。
  • 全面覆盖:涵盖系统、网络、Web、数据库等多个层面的安全检查。
  • 日志记录:所有检查结果会保存到日志文件中,方便后续分析和审计。
  • 动态配置:支持动态配置文件路径、白名单目录等,适应不同环境的需求。
  • 颜色输出:通过颜色编码区分不同类型的信息(如正常、警告、错误),方便快速识别问题。

安装与运行

环境要求

  • 操作系统:Linux(支持 Debian/Ubuntu 和 CentOS/RHEL) 其余系统未进行测试
  • 权限要求:需要以 root 权限运行

安装步骤

  1. 克隆项目仓库:
    git clone https://github.com/lyscf/AWD-SecCheck.git
    cd AWD-SecCheck
  2. 确保脚本具有可执行权限:
    chmod +x AWD-SecCheck.sh
  3. 以 root 权限运行脚本:
    sudo ./AWD-SecCheck.sh

参数说明

目前脚本无需额外参数,所有输出会自动保存到日志文件中。

使用示例

运行脚本后,所有检查结果会输出到终端,并同时保存到日志文件中:

$ sudo ./AWD-SecCheck.sh

日志文件路径示例:

功能模块

系统清理

  • 清理不必要的缓存文件(如 /tmp 和 /var/tmp 中的过期文件)。
  • 修复敏感文件的权限(如 /etc/passwd 和 /etc/shadow)。

系统信息收集

  • 收集系统基本信息(如内核版本、发行版信息)。
  • 检查已安装的软件和服务(如 Nginx、Apache、MySQL、Redis 等)。

WebShell 检测

  • 针对常见的 WebShell 特征进行检测,支持 PHP、JSP 等文件类型的扫描。
  • 支持白名单目录配置,避免误报。

防火墙配置检查

  • 检查 firewalld、iptables、ufw 等防火墙配置。
  • 检测开放端口和规则,确保防火墙配置符合安全要求。

数据库服务安全检查

  • 检查 Redis、MySQL、MongoDB、PostgreSQL 等数据库服务的配置和运行状态。
  • 检测数据库端口是否暴露在公网。

用户和组权限检查

  • 检查新增用户和组。
  • 检查 SUID/SGID 文件。
  • 检查 /etc/passwd、/etc/shadow、/etc/sudoers 等文件的权限。

系统更新和补丁检查

  • 检查系统是否有待更新的软件包(支持 YUM、APT、Zypper)。

日志文件分析

  • 检查登录日志(如 /var/log/auth.log 和 /var/log/secure)。
  • 检查 HTTP 服务日志(如 Nginx、Apache)。

网络连接和端口检查

  • 列出所有网络连接和开放端口。
  • 检测可疑的网络活动。

常见问题解答 (FAQ)

脚本运行时提示权限不足怎么办?

脚本需要以 root 权限运行。如果提示权限不足,请使用 sudo 或切换到 root 用户运行脚本。

如何解读脚本的输出结果?

  • 绿色:正常信息。
  • 黄色:警告信息,需要注意但不一定需要立即处理。
  • 红色:错误信息,建议立即处理。

脚本运行时间较长怎么办?

脚本会对系统进行全面检查,运行时间取决于系统规模和配置。如果运行时间过长,可以尝试优化系统环境或分模块运行脚本。

贡献指南

欢迎社区开发者参与项目开发和改进。如果您发现脚本中的问题或有新的功能建议,可以通过以下方式参与:

  • 提交 Issue:在 GitHub 项目页面提交问题或功能建议。
  • 提交 Pull Request:如果您对脚本进行了改进或添加了新功能,可以通过 Pull Request 提交代码。

许可证

本项目基于 AGPL-3.0 开源协议发布。请在使用和二次开发时遵守相关条款。

联系方式

About

针对AWD竞赛编写的环境安全检查脚本,可有效减少加固阶段的工作量,同时也可用于对失陷主机的快速检查

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages