D1se0/logsGenerator

GitHub: D1se0/logsGenerator

Python CLI工具,生成包含隐藏信息的逼真系统日志,用于练习Bash文本处理命令和日志分析技能。

Stars: 0 | Forks: 0

# LogsGenerator LogsGenerator 是一个 Python CLI 工具,旨在生成**逼真的系统日志**,以便练习**在 Linux 中使用 Bash 进行信息分析**。 它允许使用以下工具训练基本技能: - grep - sed - awk - sort - uniq - cut - tr - head / tail - xargs 生成的日志包含**隐藏的信息片段**,必须通过过滤和文本处理命令来重构。 这使得 LogsGenerator 成为**日志分析、Bash 脚本编写和 CTF 的实践实验室**。 # 功能特性 - 自动生成逼真的日志 - 可配置的难度等级 - 隐藏的碎片化目标 - 自动验证解决方案 - 支持不同的日志格式 - 模拟网络安全场景 - 练习 Bash 命令的理想实验室 # 使用案例 LogsGenerator 专为以下人群设计: - 网络安全专业的学生 - pentesters - blue team - 系统管理员 - DevOps - 想要提升 Bash 技能的人士 也可用于: - **CTF** 类型的训练 - Linux 课程 - 日志分析实验室 - 脚本编写练习 # 安装说明 克隆仓库: ``` git clone https://github.com/usuario/logsGenerator.git cd logsGenerator ``` 运行: ``` python3 logsGenerator.py ``` 无需外部依赖。 # 使用方法 生成一个挑战 ``` python logsGenerator.py generate -o challenge.log -n 1000 -d hard --target FLAG ``` 参数: | 参数 | 描述 | | --------- | ------------------------ | | -o | 输出文件 | | -n | 行数 | | -d | 难度 | | --target | 要查找的数据类型 | # 目标类型 目标可以是查找: ``` FLAG IP DOMINIO USER PATH EVENT PORT URL ``` 信息以碎片形式出现在日志中。 # 日志中的片段示例 ``` fragment=FLAG{ piece->linux_ token:hacker} data_fragment=} ``` 目标是重构: ``` FLAG{linux_hacker} ``` # 验证解决方案 ``` python logsGenerator.py validate --file challenge.log --answer FLAG{linux_hacker} ``` 解决方案已编码在文件中,脚本会自动验证。 # 难度等级 ## 简单 简单且一致的日志。 示例: ``` Jun 10 server1 sshd: Failed password from 192.168.1.23 ``` ## 中等 混合不同的格式: - syslog - apache - nginx - json - custom ## 困难 经过混淆的日志,包含: - 不规则的空格 - tabs - 混合格式 - 随机大写字母 # 你可以练习的 Linux 命令 LogForge 旨在练习 Bash 中的文本处理。 # grep 在文件中搜索模式。 示例: ``` grep "fragment" challenge.log ``` 正则表达式: ``` grep -E "fragment|token|piece" challenge.log ``` 忽略大小写: ``` grep -i flag challenge.log ``` # sed 用于转换文本的流编辑器。 删除模式前的所有内容: ``` sed 's/.*fragment=//' ``` 删除多个模式: ``` sed -E 's/.*(fragment=|token:|piece->)//' ``` # sort 排序结果。 ``` sort fragments.txt ``` 去除重复项: ``` sort -u fragments.txt ``` # uniq 过滤重复项。 ``` uniq fragments.txt ``` 统计重复次数: ``` uniq -c fragments.txt ``` # tr 转换字符。 删除换行符: ``` tr -d '\n' ``` 转换为小写: ``` tr 'A-Z' 'a-z' ``` # cut 提取列。 ``` cut -d ':' -f 2 ``` # awk 高级文本处理。 ``` awk -F '=' '{print $2}' ``` # head 和 tail 查看文件部分内容。 ``` head challenge.log tail challenge.log ``` # 完整分析示例 提取片段: ``` grep -E "data_fragment|piece|token|fragment" challenge.log ``` 清理数据: ``` grep -E "data_fragment|piece|token|fragment" challenge.log \ | sed -E 's/.*(data_fragment=|fragment=|token:|piece->)//' ``` 去除重复项: ``` grep -E "data_fragment|piece|token|fragment" challenge.log \ | sed -E 's/.*(data_fragment=|fragment=|token:|piece->)//' \ | sort -u ``` 重构 flag: ``` grep -E "data_fragment|piece|token|fragment" challenge.log \ | sed -E 's/.*(data_fragment=|fragment=|token:|piece->)//' \ | tr -d '\n' ``` 结果: ``` FLAG{linux_hacker} ``` # 实验室示例 生成挑战: ``` python logsGenerator.py generate -o lab.log -n 1000 -d intermediate --target FLAG ``` 查找片段: ``` grep fragment lab.log ``` 重构 flag。 验证结果。 # 项目目标 LogForge 的目标是提升 Linux 中的实战技能: - 日志分析 - 文本处理 - Bash 脚本编写 - 分析思维 - pentesting 和 blue team 中使用的技术 # 未来改进 - 多个 flag - SOC 场景 - 日志之间的关联 - 分布在多个文件中的日志 - 与 CTF 集成 - 自动挑战 # 贡献 欢迎 Pull requests 和改进建议。 # 许可证 MIT License
标签:Awesome, awk, Bash, CLI, grep, Python, sed, WiFi技术, 安全培训, 实验室, 数据展示, 文本处理, 文档结构分析, 无后门, 日志生成器, 模拟日志, 系统管理, 红队, 网络安全, 脚本练习, 运维, 逆向工具, 隐私保护