通过 GScan 工具自动排查后门

一、简介

GScan 是一款为安全应急响应提供便利的工具,自动化监测系统中常见位置。
工具运行环境:CentOS (6、7) + python (2.x、3.x)

工具检查项目: 
1、主机信息获取 
2、系统初始化 alias 检查 
3、文件类安全扫描 
 3.1、系统重要文件完整行扫描 
 3.2、系统可执行文件安全扫描 
 3.3、临时目录文件安全扫描 
 3.4、用户目录文件扫描 
 3.5、可疑隐藏文件扫描 
4、各用户历史操作类 
 4.1、境外 ip 操作类 
 4.2、反弹 shell 类 
5、进程类安全检测 
 5.1、CUP 和内存使用异常进程排查 
 5.2、隐藏进程安全扫描 
 5.3、反弹 shell 类进程扫描 
 5.4、恶意进程信息安全扫描 
 5.5、进程对应可执行文件安全扫描 
6、网络类安全检测 
 6.1、境外 IP 链接扫描 
 6.3、恶意特征链接扫描
 6.4、网卡混杂模式检测 
7、后门类检测 
 7.1、LD_PRELOAD 后门检测 
 7.2、LD_AOUT_PRELOAD 后门检测 
 7.3、LD_ELF_PRELOAD 后门检测 
 7.4、LD_LIBRARY_PATH 后门检测 
 7.5、ld.so.preload 后门检测 
 7.6、PROMPT_COMMAND 后门检测 
 7.7、Cron 后门检测 
 7.8、Alias 后门 
 7.9、SSH 后门检测 
 7.10、SSH wrapper 后门检测 
 7.11、inetd.conf 后门检测 
 7.12、xinetd.conf 后门检测 
 7.13、setUID 后门检测 
 7.14、8 种系统启动项后门检测 
8、账户类安全排查 
 8.1、root 权限账户检测 
 8.2、空口令账户检测 
 8.3、sudoers 文件用户权限检测 
 8.4、查看各账户下登录公钥 
 8.5、账户密码文件权限检测 
9、日志类安全分析 
 9.1、secure 登陆日志 
 9.2、wtmp 登陆日志 
 9.3、utmp 登陆日志 
 9.4、lastlog 登陆日志 
10、安全配置类分析 
 10.1、DNS 配置检测 
 10.2、Iptables 防火墙配置检测 
 10.3、hosts 配置检测 
11、Rootkit 分析 
 11.1、检查已知 rootkit 文件类特征 
 11.2、检查已知 rootkit LKM 类特征 
 11.3、检查已知恶意软件类特征检测 
12.WebShell 类文件扫描 
 12.1、WebShell 类文件扫描 

二、GScan测试环境

系统:CentOS (6、7)+ python (2.x、3.x)
权限:root权限启动
执行时间:默认安全扫描大概执行时间为4~ 6分钟,完全扫描在1~2小时之间,程序执行时间的长度由检测文件的多少决定,有可能会存在较长的时间,请耐心等待
兼容性:目前程序只针对Centos进行开发测试,其他系统并未做兼容性,检测结果未知

三、 GScan 下载

工具下载地址:https://github.com/grayddq/GScan
使用git下载

git clone https://github.com/grayddq/GScan.git

四、使用GScan

[root@iZt4nac2kg749th5tfo41xZ ~] unzip GScan-master.zip 
[root@iZt4nac2kg749th5tfo41xZ ~] cd GScan-master 

帮助信息。

[root@iZt4nac2kg749th5tfo41xZ GScan-master]# python GScan.py --help 
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 添加定时任务,用于定时执行程序(默认每天零点执行一次) 
 --hour=HOUR 定时任务,每 N 小时执行一次 
 --log 打包当前系统的所有安全日志(暂不支持) 
 
 
--pro 快速检查并给出初步处理方案,完整检查 --full 比较耗时间。 

GScan默认安全扫描

–pro 快速检查并给出初步处理方案,完整检查 --full 比较耗时间。

[root@iZt4nac2kg749th5tfo41xZ GScan-master] python GScan.py --pro #--pro可加也可不加

在这里插入图片描述
工具会自动分析系统日志以及系统中账户配置存在哪些安全问题并给出初步处理方案。这里工具仅排
查系统相关,对中间件等应用服务日志没有进行分析处理。

执行完之后,会生成/GScan/log/gscan.log 文件,详细记录分析结果,例如:被植入的shell、修改的文件、可能被攻击的位置

查看 gscan.log 文件,可以看到自动化检测的结果
1、被修改的文件
在这里插入图片描述
2、存在的弱点位置,可能被攻击的位置
在这里插入图片描述

3、网站被植入的后门、以及反弹shell的时间
在这里插入图片描述

GScan完全扫描

[root@iZt4nac2kg749th5tfo41xZ GScan-master] python GScan.py --full 

执行完之后,会生成/GScan/log/gscan.log 文件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/345436.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

JS进阶-深入对象(二)

拓展:深入对象主要介绍的是Js的构造函数,实例成员,静态成员,其中构造函数和Java种的构造函数用法相似,思想是一样的,但静态成员和实例成员和java种的有比较大的差别,需要认真理解 • 创建对象三…

Switch用法以及新特性-最全总结版

本篇文章参考了大佬文章,感谢大佬无私分享: http://t.csdnimg.cn/MjZnX http://t.csdnimg.cn/QFg0x 目录 一、Switch用法:JDK7及以前 1.1、举例一: 1.2、举例二: 二、Switch穿透: 2.1、举例&#xf…

三极管的奥秘:如何用小电流控制大电流

双极性晶体管(英语:bipolar transistor),全称双极性结型晶体管(bipolar junction transistor, BJT),俗称三极管,是一种具有三个引脚的电子元器件。 本文是讲述的是三极管的基础知识…

基于openssl v3搭建ssl安全加固的c++ tcpserver

1 概述 tcp server和tcp client同时使用openssl库,可对通信双方流通的字节序列进行加解密,保障通信的安全。本文以c编写的tcp server和tcp client为例子,openssl的版本为v3。 2 安装openssl v3 2.1 安装 perl-IPC-Cmd openssl项目中的co…

企业内部知识库搭建教程,赶紧收藏起来

在企业运营中,内部知识库搭建是一项重要的挑战,并需要合理的规划与管理。尤其对于中大型企业,内部知识库能够提高工作效率,减轻员工工作压力与突发事件的处理的困扰。下面给大家提供一份完整的内部知识库搭建教程,快看…

UE4运用C++和框架开发坦克大战教程笔记(十五)(第46~48集)

UE4运用C和框架开发坦克大战教程笔记(十五)(第46~48集) 46. 批量加载 UClass 功能测试批量加载多个同类 UClass 资源 47. 创建单个资源对象测试加载并创建单个 UClass 资源对象 48. 创建同类资源对象 46. 批量加载 UClass 功能 逻…

Leetcode1143. 最长公共子序列

解题思路 求两个数组或者字符串的最长公共子序列问题,肯定是要用动态规划的。下面的题解并不难,你肯定能看懂。 首先,区分两个概念:子序列可以是不连续的;子数组(子字符串)需要是连续的&#xf…

rabbitmq基础-java-3、Fanout交换机

1、简介 Fanout,英文翻译是扇出。 2、 特点 1) 可以有多个队列 2) 每个队列都要绑定到Exchange(交换机) 3) 生产者发送的消息,只能发送到交换机 4) 交换机把消息发送给绑定过的…

3d模型怎么分辨材质?--模大狮模型网

在3D模型中,通常可以通过以下几种方式来分辨材质: 视觉检查:在3D渲染视图或预览窗口中,您可以直接观察模型的外观来区分不同的材质。不同的材质可能具有不同的颜色、纹理、反射率等特征,因此通过直观的视觉检查&#x…

网络通信课程总结(小飞有点东西)

27集 局域网通信:用MAC地址 跨局域网通信:用IP地址(MAC地址的作用只是让我们找到网关) 又因为arp技术,可以通过MAC地址找到IP地址,所以我们可以通过IP地址定位到全世界任意一台计算机。 28集 在数据链路…

C语言每日一题(47)两数相加II

力扣 445 两数相加II 题目描述 给你两个 非空 链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储一位数字。将这两数相加会返回一个新的链表。 你可以假设除了数字 0 之外,这两个数字都不会以零开头。 示例1: 输入&#xff…

了解WPF控件:RadioButton和RepeatButton常用属性与用法(九)

掌握WPF控件:熟练常用属性(九) RadioButton 一种允许用户在一组选项中单选一个的控件。通常用于提供一组互斥的选项供用户选择。 常用属性描述Content用于设置 RadioButton 显示的文本内容。GroupName用于将多个 RadioButton 控件组合到一…

船的最小载重量-算法

说明:题解完全是从leetCode上拉下来的,在这里只是作为一个备份,怕之后找不着了。同时也分享给大家,这个题目用了一个我之前从未遇到的思路。 原题:船的最小载重量-leetCode1101 题目(看懂题目了吗&#xff…

python批量处理修改pdf内容

将PDF转换为Word: 使用pdf2docx库中的Converter类来进行PDF转换。convert_pdf_to_docx函数接受PDF文件路径和输出的Word文档路径作为参数。通过调用Converter对象的convert方法将PDF转换为Docx格式。最后调用close方法关闭Converter对象并保存转换后的文档。 将Word…

QT下载、安装详细教程[Qt5.15及Qt6在线安装,附带下载链接]

QT5.15及QT6的下载和安装 1.下载1.1官网下载1.2国内镜像网站下载 2.安装3.软件启动及测试程序运行3.1Qt Creator(Community) 1.下载 QT自Qt5.15版本后不在支持离线安装包下载(非商业版本,开源),故Qt5.15及Qt6需要使用在线安装程序…

Zephyr 源码调试

背景 调试环境对于学习源码非常重要,但嵌入式系统的调试环境搭建稍微有点复杂,需要的条件略多。本文章介绍如何在 Zephyr 提供的 qemu 上调试 Zephyr 源码,为后续分析 Zephyr OS 相关原理做铺垫。 环境 我的开发环境为 wsl ubuntu&#xf…

使用 LlamaIndex 部署本地 Mistral-7b 大模型实现 RAG

原理 LlamaIndex的文档链接:Using LLMs - LlamaIndex 🦙 0.9.33 LlamaIndex 的一般使用模式如下: 加载文档(手动或通过数据加载器)将文档解析为节点构建索引(来自节点或文档)(可选,高级&…

Java内存模型

主内存与工作内存 Java内存模型的主要目标是定义程序中各个变量的访问规则,即在虚拟机中将变量存储到内存和从内存中取出变量这样的底层细节。此处的变量包括实例变量、静态字段和构成数组对象的元素,但不包括局部变量与方法参数,因为局部变…

GreptimeAI + Xinference 联合方案:高效部署并监控你的 LLM 应用

随着人工智能技术的迅速进步,OpenAI 已经崭露头角,成为该领域的领军者之一。它在多种语言处理任务上表现卓越,包括机器翻译、文本分类和文本生成等方面。随着 OpenAI 的兴起,同时涌现的还有许多其他优质的开源大语言模型&#xff…

函数递归(Recursion)一篇便懂

递归的概念 在 C 语言中,递归(Recursion)是一种函数调用自身的编程技术。当一个函数在其定义中调用自身时,就称为递归函数。 了解递归思想 把⼀个大型复杂问题层层转化为⼀个与原问题相似,但规模较小的子问题来求解…