al0ne / LinuxCheck

Linux应急处置/信息搜集/漏洞检测工具,支持基础配置/网络流量/任务计划/环境变量/用户信息/Services/bash/恶意文件/内核Rootkit/SSH/Webshell/挖矿文件/挖矿进程/供应链/服务器风险等13类70+项检查

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

大佬,我这样理解Linuxcheck.sh自检项目,有什么理解上的问题吗?有的话,麻烦大佬指正一下。

hoochanlon opened this issue · comments

LinuxCheck自检脚本功能陈列

自检脚本功能陈列(非源码、仓库说明顺序,仅个人写作方便),以及个人对该脚本处理执行意义推测(括号内):

检查内容分解 上

  • 部分类型的挖矿木马检测、常规挖矿进程检测
  • Python3 pip 检测(推测是脚本自身用到的依赖项检测,以及python也挺普遍的,二者都有吧)
  • JSP、PHP webshell查杀 (常规,杀软河马查杀也有效果)
  • Redis弱密码检测 (数据库缓存服务暴露在公网上,服务没设置密码,攻破后导致数据随意访问)
  • SSH检查:SSH key显示罗列(比对用的)、SSH inetd(特权提升)、软连接后门、SSH暴破IP统计
  • Rootkit检查:
    • lsmod可疑模块罗列(认为可疑的逻辑:控制系统内存,以及类似增强型功能的支持扩展,可能造成系统不稳定。)
    • Rootkit 内核模块(病毒样本的模块吧)
    • /usr/src/ofa_kernel/default/compat/mlx_compat.ko (通过modinfo mlx_compat的回显来看,大概是兼容、移植用的。)

检查内容分解 中

  • Bash配置检查:
    • History (history -a 从缓存中取出历史记录。
    • /etc/rc.local (**是/etc/rc.d/rc.local的软连接,查看自启服务的;**默认没有执行权限,需手动修改。)
    • /etc/profile全局的环境变量配置文件,这里修改会对所有用户起作用。)
    • $HOME/.profile对当前用户的家目录的有用,修改后,source更新
    • ~/.bash_profile它只能登入的时候执行一次。
    • ~/.bashrc (~/.bash_profile,最大区别:shell script每次都会执行。)
    • bash反弹shell(简单粗糙的理解就是,我执行的shell,传到你机器上执行。
  • 环境变量检查:
    • PATH
    • LD_PRELOAD(抓关键句快速了解:它允许你定义在程序运行前优先加载的动态链接库,另一方面,我们也可以以向别人的程序注入程序,从而达到特定的目的。
    • LD_ELF_PRELOAD、LD_AOUT_PRELOAD (ELF,简单理解,参与程序的调度连接与执行。(涉及汇编知识)
    • PROMPT_COMMAND (export PROMPT_COMMAND="echo Hello" 查看异常的命令导入)
    • ld.so.preload (通过配置/etc/ld.so.preload,可以自定义程序运行前优先加载的动态链接库)
  • 服务信息检查与任务检查:(主要问题点是隐藏后门,植入一般用户不了解的模块、运行编辑器附加命令、系统回显截断机制。
    • 正在运行的Service
    • 最近添加的Service
    • Crontab
    • Crontab Backdoor

检查内容分解 下

  • 文件检查:
    • 系统文件修改时间
    • 7天内改动文件、大于200M文件
    • 可疑黑客文件(.*wget、.*curl、.*openssl、.*mysql,可以理解为黑客植入程序脚本的伪装)
    • 敏感文件 (识别机制:Nikto、ettercap文件名等黑客工具,以及miner挖矿之类文件等)
    • 隐藏文件与临时目录/tmp
    • alias (检查建立过的别名)
    • SUID:/usr/libexec/abrt-action-install-debuginfo-to-abrt-cache (简单理解为有suid授权的用户,等同于持有文件权限的尚方宝剑)
    • lsof +L1 (寻找本地断开的打开文件,网上文章不少表示“显示所有打开的链接数小于1的文件”,真是看不明白...)
  • 基础配置检查:
    • 系统配置信息、登陆用户、hosts
    • CPU使用率/CPU TOP15/内存占用 TOP15、内存占用/硬盘剩余空间
    • 硬盘挂载、常用软件
  • 网络/流量检查
    • ifconfig、网卡混杂模式(网络抓包工具就是网卡的混杂模式)、TCP连接类别
    • 对外开放端口、端口监听(百度百科-端口监听:我们都知道远程访问一台机器的共享目录实际是访问139端口,那么只要对本机139的监听就可以察觉对远程的访问请求。)
    • 网络连接、网络流量、路由表、路由转发(即路由中继)
    • DNS、ARP、IPTABLES
  • 用户信息检查:可登陆用户、登录信息、密码文件修改日期、sudoers(特权提升文件)
commented

可以的 感觉没啥问题

参考资料

参考的文档资料,实在太多了,也挺长的,故单列一个 comment。

检查readme.md发现 etc/hots 漏了一个字母。fix: #11 (comment) ;/etc/hots -> /etc/hosts

up: mark, roger that.