Skip to content

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

License

Notifications You must be signed in to change notification settings

al0ne/LinuxCheck

Folders and files

NameName
Last commit message
Last commit date

Latest commit

468c962 · Jun 19, 2024

History

62 Commits
Jun 10, 2019
Jun 17, 2024
Jun 19, 2024
Aug 26, 2019
Aug 26, 2019
Aug 26, 2019
Aug 26, 2019
Aug 26, 2019

Repository files navigation

LinuxCheck

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

更新

更新日志:2024年4月20日

  • 调整输出为Markdown报告
  • 弃用ag,还是使用Linux原生的grep命令,避免额外安装
  • 优化代码格式,不在每条都要tee -a
  • 更新Webshell检测逻辑
  • 更新authorized_keys检测逻辑
  • 服务器风险检查添加JDWP和Python HTTP Server检查
  • 添加Docker 容器检测
  • 添加PAM后门检测
  • 添加本地报告上传能力,应对批量机器应急的情况。

更新日志:2022年08月05日

  • 修复内核模块检查日志过多问题

更新日志:2022年03月07日

  • 添加SSH软连接后门检测

更新日期:2021年10月17日

  • 添加Ntpclient/WorkMiner/TeamTNT挖矿木马检测
  • 添加Rootkit模块检测逻辑
  • 添加Python pip投毒检测
  • 添加$HOME/.profile查看
  • 添加服务器风险检查(Redis)

功能

  • 基础配置检查
    • 系统配置改动检查
    • 系统信息(IP地址/用户/开机时间/系统版本/Hostname/服务器SN)
    • CPU使用率
    • 登录用户信息
    • CPU TOP 15
    • 内存 TOP 15
    • 磁盘剩余空间检查
    • 硬盘挂载
    • 常用软件检查
    • /etc/hots
  • 网络/流量检查
    • ifconfig
    • 网络流量
    • 端口监听
    • 对外开放端口
    • 网络连接
    • TCP连接状态
    • 路由表
    • 路由转发
    • DNS Server
    • ARP
    • 网卡混杂模式检查
    • iptables 防火墙
  • 任务计划检查
    • 当前用户任务计划
    • /etc/系统任务计划
    • 任务计划文件创建时间
    • crontab 后门排查
  • 环境变量检查
    • env
    • path
    • LD_PRELOAD
    • LD_ELF_PRELOAD
    • LD_AOUT_PRELOAD
    • PROMPT_COMMAND
    • LD_LIBRARY_PATH
    • ld.so.preload
  • 用户信息检查
    • 可登陆用户
    • passwd文件修改日期
    • sudoers
    • 登录信息(w/last/lastlog)
    • 历史登陆ip
  • Services 检查
    • SystemD运行服务
    • SystemD服务创建时间
  • bash检查
    • History
    • History命令审计
    • /etc/profile
    • $HOME/.profile
    • /etc/rc.local
    • ~/.bash_profile
    • ~/.bashrc
    • bash反弹shell
  • 文件检查
    • ...隐藏文件
    • 系统文件修改时间检测
    • 临时文件检查(/tmp /var/tmp /dev/shm)
    • alias
    • suid特殊权限检查
    • 进程存在文件未找到
    • 近七天文件改动 mtime
    • 近七天文件改动 ctime
    • 大文件>200mb
    • 敏感文件审计(nmap/sqlmap/ew/frp/nps等黑客常用工具)
    • 可疑黑客文件(黑客上传的wget/curl等程序,或者将恶意程序改成正常软件例如nps文件改为mysql)
  • 内核Rootkit 检查
    • lsmod 可疑模块
    • 内核符号表检查
    • rootkit hunter 检查
    • rootkit .ko模块检查
  • SSH检查
    • SSH 爆破
    • SSHD 检测
    • SSH 后门配置
    • SSH inetd后门检查
    • SSH key
  • Webshell 检查
    • php webshell检查
    • jsp webshell检查
  • 挖矿文件/进程检查
    • 挖矿文件检查
    • 挖矿进程检查
    • WorkMiner检测
    • Ntpclient检测
  • 供应链投毒检查
    • Python PIP 投毒检查
  • 服务器风险检查
    • Redis弱密码检测
    • JDWP 服务检测
    • Python http.server 检测
  • Docker 权限检查

Usage

第一种方式:通过git clone 安装

git clone https://github.com/al0ne/LinuxCheck.git
chmod u+x LinuxCheck.sh
./LinuxCheck.sh  

第二种方式:直接在线调用【在线调用就没办法使用报告上传的能力】

bash -c "$(curl -sSL https://raw.githubusercontent.com/al0ne/LinuxCheck/master/LinuxCheck.sh)"  

文件会保存成ipaddr_hostname_username_timestamp.log 这种格式

报告自动上传

如果是批量机器下发,脚本执行后会自动提交到某一个url下,将脚本里面的webhook_url 改成你自己的地址

# 报告上报的地址
webhook_url='http://localhost:5000/upload'

upload_report() {

  # 上传到指定接口
  if [[ -n $webhook_url ]]; then
    curl -X POST -F "file=@$filename" "$webhook_url"
  fi

}

在你的服务器上用Flask起一个服务,接收服务器上报的Markdown报告。

from flask import Flask, request

app = Flask(__name__)

@app.route('/upload', methods=['POST'])
def upload_file():
    if 'file' not in request.files:
        return "No file part", 400
    file = request.files['file']
    if file.filename == '':
        return "No selected file", 400
    if file:
        filename = file.filename
        file.save(filename)
        return "File successfully uploaded", 200

if __name__ == '__main__':
    app.run(debug=True, host="0.0.0.0", port=9999)

参考

此工具的编写主要参考了以下几款工具/文章并结合个人经验完成

Linenum https://github.com/lis912/Evaluation_tools
https://ixyzero.com/blog/archives/4.html
https://github.com/T0xst/linux
https://github.com/grayddq/GScan

About

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

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages