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技术, 安全培训, 实验室, 数据展示, 文本处理, 文档结构分析, 无后门, 日志生成器, 模拟日志, 系统管理, 红队, 网络安全, 脚本练习, 运维, 逆向工具, 隐私保护