GScan:Linux Checklist自动化检测,结果聚合|黑客攻击溯源
GScan介绍
GScan是一个适用于安全应急响应人员对Linux主机排查时的安全工具。实现主机侧Checklist的全面自动化化扫描检测(包含常见检查项并可以自由扩展),根据检测结果自动数据聚合,进行黑客攻击路径溯源。



CheckList检测项
自动化程序的CheckList项如下:
- 主机信息获取
 - 系统初始化alias检查
 - 件类安全扫描
- 系统重要文件完整行扫描
 - 系统可执行文件安全扫描
 - 临时目录文件安全扫描
 - 用户目录文件扫描
 - 可疑隐藏文件扫描
 
 - 各用户历史操作类
- 境外ip操作类
 - 反弹shell类
 
 - 进程类安全检测
- CUP和内存使用异常进程排查
 - 隐藏进程安全扫描
 - 反弹shell类进程扫描
 - 恶意进程信息安全扫描
 - 进程对应可执行文件安全扫描
 
 - 6、网络类安全检测
- 境外IP链接扫描
 - 恶意特征链接扫描
 - 网卡混杂模式检测
 
 - 后门类检测
- LD_PRELOAD后门检测
 - LD_AOUT_PRELOAD后门检测
 - LD_ELF_PRELOAD后门检测
 - LD_LIBRARY_PATH后门检测
 - ld.so.preload后门检测
 - PROMPT_COMMAND后门检测
 - Cron后门检测
 - Alias后门
 - SSH 后门检测
 - SSH wrapper 后门检测
 - inetd.conf 后门检测
 - xinetd.conf 后门检测
 - setUID 后门检测
 - 8种系统启动项后门检测
 
 - 账户类安全排查
- root权限账户检测
 - 空口令账户检测
 - sudoers文件用户权限检测
 - 查看各账户下登录公钥
 - 账户密码文件权限检测
 
 - 日志类安全分析
- secure登陆日志
 - wtmp登陆日志
 - utmp登陆日志
 - lastlog登陆日志
 
 - 安全配置类分析
- DNS配置检测
 - Iptables防火墙配置检测
 - hosts配置检测
 
 - Rootkit分析
- 检查已知rootkit文件类特征
 - 检查已知rootkit LKM类特征
 - 检查已知恶意软件类特征检测
 
 - WebShell类文件扫描
- WebShell类文件扫描
 
 
CheckList测试环境
系统:CentOS (6、7) + python (2.x、3.x)
权限:root权限启动
执行时间:默认安全扫描大概执行时间为4~6分钟,完全扫描在1~2小时之间,程序执行时间的长度由检测文件的多少决定,有可能会存在较长的时间,请耐心等待
兼容性:目前程序只针对Centos进行开发测试,其他系统并未做兼容性,检测结果未知
CheckList部署和执行
程序下载
git clone https://github.com/grayddq/GScan.git
cd GScan使用
sh-3.2# python GScan.py -h
  _______      _______.  ______      ___      .__   __.
 /  _____|    /       | /      |    /   \     |  \ |  |    {version:v0.1}
|  |  __     |   (----`|  ,----'   /  ^  \    |   \|  |
|  | |_ |     \   \    |  |       /  /_\  \   |  . `  |    {author:咚咚呛}
|  |__| | .----)   |   |  `----. /  _____  \  |  |\   |
 \______| |_______/     \______|/__/     \__\ |__| \__|    http://grayddq.top
  Usage: GScan.py [options]
Options:
  -h, --help     show this help message and exit
  --version      当前程序版本
 Mode:
    GScan running mode options
    --overseas   境外模式,此参数将不进行境外ip的匹配
    --full       完全模式,此参数将启用完全扫描
    --debug      调试模式,进行程序的调试数据输出
    --dif        差异模式,比对上一次的结果,输出差异结果信息。
    --sug        排查建议,用于对异常点的手工排查建议
    --pro        处理方案,根据异常风险生成初步的处理方案
 Optimization:
    Optimization options
    --time=TIME  搜索指定时间内主机改动过的所有文件,demo: --time='2019-05-07
                 00:00:00~2019-05-07 23:00:00'
    --job        添加定时任务,用于定时执行程序
    --log        打包当前系统的所有安全日志(暂不支持)命令参考
python GScan.py
python GScan.py --sug --pro
# 进行定时任务设置,异常日志将按行输出到./GScan/log/log.log,可通过syslog等服务同步日志信息。
python GScan.py --job #每天零点执行一次
python GScan.py --job --hour=2 #每2小时执行一次检测结果
日志及结果目录默认:./GScan/log/gscan.log