长亭百川云 - 文章详情

应急响应排查脚本:GScan

信安路漫漫

47

2024-08-08

前言

前面总结几篇应急时经常执行的操作,今天推荐一个自动化的应急响应脚本:GScan。

本程序旨在为安全应急响应人员对Linux主机排查时提供便利,实现主机侧Checklist的自动全面化检测,根据检测结果自动数据聚合,进行黑客攻击路径溯源。


CheckList检测项

自动化程序的CheckList项如下:

11、主机信息获取
22、系统初始化alias检查
33、文件类安全扫描
4  3.1、系统重要文件完整行扫描
5  3.2、系统可执行文件安全扫描
6  3.3、临时目录文件安全扫描
7  3.4、用户目录文件扫描
8  3.5、可疑隐藏文件扫描
94、各用户历史操作类
10  4.1、境外ip操作类
11  4.2、反弹shell类
125、进程类安全检测
13  5.1、CUP和内存使用异常进程排查
14  5.2、隐藏进程安全扫描
15  5.3、反弹shell类进程扫描
16  5.4、恶意进程信息安全扫描
17  5.5、进程对应可执行文件安全扫描
186、网络类安全检测
19  6.1、境外IP链接扫描
20  6.3、恶意特征链接扫描
21  6.4、网卡混杂模式检测
227、后门类检测
23  7.1、LD_PRELOAD后门检测
24  7.2、LD_AOUT_PRELOAD后门检测
25  7.3、LD_ELF_PRELOAD后门检测
26  7.4、LD_LIBRARY_PATH后门检测
27  7.5、ld.so.preload后门检测
28  7.6、PROMPT_COMMAND后门检测
29  7.7、Cron后门检测
30  7.8、Alias后门
31  7.9、SSH 后门检测
32  7.10、SSH wrapper 后门检测
33  7.11、inetd.conf 后门检测
34  7.12、xinetd.conf 后门检测
35  7.13、setUID 后门检测
36  7.148种系统启动项后门检测
378、账户类安全排查
38  8.1、root权限账户检测
39  8.2、空口令账户检测
40  8.3、sudoers文件用户权限检测
41  8.4、查看各账户下登录公钥
42  8.5、账户密码文件权限检测
439、日志类安全分析
44  9.1、secure登陆日志
45  9.2、wtmp登陆日志
46  9.3、utmp登陆日志
47  9.4、lastlog登陆日志
4810、安全配置类分析
49  10.1、DNS配置检测
50  10.2、Iptables防火墙配置检测
51  10.3、hosts配置检测
5211、Rootkit分析
53  11.1、检查已知rootkit文件类特征
54  11.2、检查已知rootkit LKM类特征
55  11.3、检查已知恶意软件类特征检测
5612.WebShell类文件扫描
57  12.1、WebShell类文件扫描

使用方式

1sh-3.2# python GScan.py -h
2
3
4  _______      _______.  ______      ___      .__   __.
5 /  _____|    /       | /      |    /   \     |  \ |  |    {version:v0.1}
6|  |  __     |   (----`|  ,----'   /  ^  \    |   \|  |
7|  | |_ |     \   \    |  |       /  /_\  \   |  . `  |    {author:咚咚呛}
8|  |__| | .----)   |   |  `----. /  _____  \  |  |\   |
9 \______| |_______/     \______|/__/     \__\ |__| \__|    http://grayddq.top
10  
11  
12Usage: GScan.py [options]
13 
14Options:
15 
16  -h, --help     show this help message and exit
17  --version      当前程序版本
18 
19 Mode:
20    GScan running mode options
21   
22    --overseas   境外模式,此参数将不进行境外ip的匹配
23    --full       完全模式,此参数将启用完全扫描
24    --debug      调试模式,进行程序的调试数据输出
25    --dif        差异模式,比对上一次的结果,输出差异结果信息。--sug        排查建议,用于对异常点的手工排查建议
26    --pro        处理方案,根据异常风险生成初步的处理方案
27   
28 Optimization:
29    Optimization options
30   
31    --time=TIME  搜索指定时间内主机改动过的所有文件,demo: --time='2019-05-07
32                 00:00:00~2019-05-07 23:00:00'
33    --job        添加定时任务,用于定时执行程序
34    --log        打包当前系统的所有安全日志(暂不支持)

其它类似程序

GScan      程序定位为安全人员提供的一项入侵检测工具,旨在尽可能的发现入侵痕迹,溯源出黑客攻击的整个路径。

chkrootkit 程序定位为安全人员提供的一项入侵检测工具,旨在发现被植入的后门或者rootkit。

rkhunter   程序定位为安全人员提供的一项入侵检测工具,旨在发现被植入的后门或者rootkit。

lynis      程序定位为安全人员日常使用的一款用于主机基线和审计的工具,可辅助漏洞扫描和配置管理,也可部分用于入侵检测。


Gscan代码分析

1、主机信息获取

获取主机名和版本信息通过platform模块来实现的

获取主机外网IP是通过sockt来连接外网实现

2、系统初始化alias检查

检测bash的环境变量是否发生改变。主要检测的是/root/.bashrc', '/root/.bash_profile', '/etc/bashrc', '/etc/profile'以及用户目录下的.bashrc看是否对系统命令进行alias(别名)设置。

原理:改变bash的命令的别名可能是一种安全隐患。

3、文件类安全扫描

1)hash对比看是否有重要文件发生变化,

2)读取文件内容与反弹shell特征进行对比,

3)读取文件与恶意特征进行对比  

4)判断文件中是否存在域外ip   

5)隐藏文件扫描(发现所有的隐藏文件,去掉正常的)   

1、系统可执行文件hash对比       第一次扫描的时候保存当时的文件的hash值,用于后面的测试。如果hash值发生改变则报警

2、系统可执行文件扫描

读取文件内容然后去分析,下面是检测反弹shell的,

3、临时目录文件扫描

1['/tmp/', '/var/tmp/', '/dev/shm/']

4、用户目录文件扫描

1['/home/', '/root/']

5、可疑隐藏文件扫描

1find / ! -path "/proc/*" ! -path "/sys/*" ! -path "/run/*" ! -path "/private/*" -name "..*" 2>/dev/null

通过这个命令查找可以的隐藏文件。4、各用户历史操作类

获取所有的用户的历史操作命令,通过读取.bash_history文件来

1)分析命令中是否存在反弹shell或者域外IP的特征
 4.1、境外ip操作类
 4.2、反弹shell类

5、进程类安全检测

1)判断执行的文件中是否有恶意特征,通过/proc/[id]/exe

2)通过ps命令查看是否有反弹shell的特征

1ps -efwww 2>/dev/null | grep -v 'grep' | awk '{print $1" " $2" " $3" "$8}'

通过ps -efwww命令取出第一,二,三,八选项

3)通过PS命令检测是否有CPU,内存使用过多的问题

1ps aux|grep -v PID|sort -rn -k +3|head|awk '{print $1" "$2" "$3" "$4" "$11}'|grep -v 'systemd|rsyslogd|mysqld|redis|apache||nginx|mongodb|docker|memcached|tomcat|jboss|java|php|python'

通过这个命令取出CPU和内存的值然后与设定的标准进行比较

4)检测隐藏进程

通过ps -ef命令获取所有的进程pid, 然后遍历/proc目录获取pid,两者进行比较。

5)检查是否存在黑客工具的进程

1ps -efwww 2>/dev/null|grep -E 'minerd|r00t|sqlmap|nmap|hydra|aircrack'|grep -v 'grep'|awk '{print $1" "$2" "$3" "$8}'

6、网络链接安全检测

1)通过netstat -anp命令来获取IP,看是否有境外IP

1netstat -anp 2>/dev/null| grep ESTABLISHED | awk '{print $1" "$5" "$7}'

2)可疑端口链接

1netstat -anp 2>/dev/null| grep ESTABLISHED | awk '{print $1" "$5" "$7}'

3)检测是否存在网卡混杂模式

1ifconfig 2>/dev/null| grep PROMISC | grep RUNNING

7、后门类检测

1)检查系统环境变量中是否有恶意代码

2)检查/etc/ld.so.preload文件,检测是否有反弹shell,境外IP

3)定时任务

4)检测是否有SSH后门

1netstat -ntpl 2>/dev/null |grep -v ':22 '| awk '{if (NR>2){print $7}}'

找出除了22端口的其它网络连接进程ID,然后看其执行文件中是否有sshd

5)分析SSH Server wrapper 后门

1file /usr/sbin/sshd 2>/dev/null

6)分析inetd后门/etc/inetd.conf

7)分析xinetd后门 /etc/xinetd.conf/

8)程序中具有setuid后门的

1find / ! -path '/proc/*' -type f -perm -4000 2>/dev/null | grep -vE 'pam_timestamp_check|unix_chkpwd|ping|mount|su|pt_chown|ssh-keysign|at|passwd|chsh|crontab|chfn|usernetctl|staprun|newgrp|chage|dhcp|helper|pkexec|top|Xorg|nvidia-modprobe|quota|login|security_authtrampoline|authopen|traceroute6|traceroute|ps'

9)启动项检查


8、账户类安全排查

1)查找UID=0的用户

1awk -F: '$3==0 {print $1}' /etc/passwd 2>/dev/null

2)查找组权限为0的用户

1cat /etc/passwd | grep '/bin/bash' | awk -F: '$4==0 {print $1}' 2>/dev/null

3)空口令用户

1awk -F: 'length($2)==0 {print $1}' /etc/shadow 2>/dev/null

4)sudo权限异常账户

1cat /etc/sudoers 2>/dev/null |grep -v '#'|grep 'ALL=(ALL)'|awk '{print $1}'

5)用户免密登录

对用户免密登录的公钥进行检测

6)passwd,shadow两个文件的权限变动检测

9、日志类安全分析

主要是检查登录IP中是否有境外IP

1)wtmp日志:通过IP看是否有境外IP

1who /var/log/wtmp 2>/dev/null|awk '{print $1" "$3" "$5}'

2)who命令

3)lastlog命令(/var/log/lastlog)

1lastlog 2>/dev/null | awk '{if (NR>1){print $1" "$3}}'

也是对IP进行检查

4)ssh爆破记录(通过secure日志)   

10、安全配置类分析

1)检测DNS配置(/etc/resolv.conf)

1cat /etc/resolv.conf 2>/dev/null| grep -E -o "([0-9]{1,3}[\.]){3}[0-9]{1,3}"

检测配置的ip是否正常

2)防火墙配置

/etc/sysconfig/iptables,检测是否有ACCEPT规则

3)host配置信息

/etc/hosts

检测配置的IP

11、Rootkit分析

1)rookit特征匹配

2)检测恶意的so文件

1find /lib/modules/ -name "*.so" -o -name "*.ko"  -o -name "*.ko.xz" 2>/dev/null

12.WebShell类文件扫描

根据webshell特征进行检测

扫描web目录的可执行文件,特征匹配
 

12.1、WebShell类文件扫描

相关推荐
关注或联系我们
添加百川云公众号,移动管理云安全产品
咨询热线:
4000-327-707
百川公众号
百川公众号
百川云客服
百川云客服

Copyright ©2024 北京长亭科技有限公司
icon
京ICP备 2024055124号-2