GScan:Linux Checklist自动化检测,结果聚合|黑客攻击溯源

GScan介绍

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

GScan:Linux Checklist自动化检测,结果聚合|黑客攻击溯源
GScan界面
GScan:Linux Checklist自动化检测,结果聚合|黑客攻击溯源
GScan Checklist扫描检查
GScan:Linux Checklist自动化检测,结果聚合|黑客攻击溯源
GScan结果聚合保存

CheckList检测项

自动化程序的CheckList项如下:

  1. 主机信息获取
  2. 系统初始化alias检查
  3. 件类安全扫描
    1. 系统重要文件完整行扫描
    2. 系统可执行文件安全扫描
    3. 临时目录文件安全扫描
    4. 用户目录文件扫描
    5. 可疑隐藏文件扫描
  4. 各用户历史操作类
    1. 境外ip操作类
    2. 反弹shell类
  5. 进程类安全检测
    1. CUP和内存使用异常进程排查
    2. 隐藏进程安全扫描
    3. 反弹shell类进程扫描
    4. 恶意进程信息安全扫描
    5. 进程对应可执行文件安全扫描
  6. 6、网络类安全检测
    1. 境外IP链接扫描
    2. 恶意特征链接扫描
    3. 网卡混杂模式检测
  7. 后门类检测
    1. LD_PRELOAD后门检测
    2. LD_AOUT_PRELOAD后门检测
    3. LD_ELF_PRELOAD后门检测
    4. LD_LIBRARY_PATH后门检测
    5. ld.so.preload后门检测
    6. PROMPT_COMMAND后门检测
    7. Cron后门检测
    8. Alias后门
    9. SSH 后门检测
    10. SSH wrapper 后门检测
    11. inetd.conf 后门检测
    12. xinetd.conf 后门检测
    13. setUID 后门检测
    14. 8种系统启动项后门检测
  8. 账户类安全排查
    1. root权限账户检测
    2. 空口令账户检测
    3. sudoers文件用户权限检测
    4. 查看各账户下登录公钥
    5. 账户密码文件权限检测
  9. 日志类安全分析
    1. secure登陆日志
    2. wtmp登陆日志
    3. utmp登陆日志
    4. lastlog登陆日志
  10. 安全配置类分析
    1. DNS配置检测
    2. Iptables防火墙配置检测
    3. hosts配置检测
  11. Rootkit分析
    1. 检查已知rootkit文件类特征
    2. 检查已知rootkit LKM类特征
    3. 检查已知恶意软件类特征检测
  12. WebShell类文件扫描
    1. 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