初识osquery

osquery是一个由Facebook的开源用于对系统进行查询,监控以及分析的一款软件.

osquery对其的说明如下:

osquery将操作系统公开为高性能关系数据库。这允许您编写基于SQL的查询来探索操作系统数据。使用osquery,SQL表表示抽象概念,例如运行进程,加载的内核模块,开放网络连接,浏览器插件,硬件事件或文件哈希。

目前网上已经有非常多的相关资料供参考,这里整理下:

【初识osquery】:http://www.polaris-lab.com/index.php/archives/617

【Kolide Fleet osquery体验】: http://0cx.cc/managing-osquery-with-fleet.jspx

【Osquery检测入侵痕迹】https://evilanne.github.io/2019/02/20/Osquery检测入侵痕迹/

【osquery操作系统检测与分析】https://bloodzer0.github.io/ossa/infrastructure-security/host-security/ids-ips/osquery/

使用

搭建过程不再重来了,这里不是重点,如果搭建有问题找运维或网络帮忙解决即可

1、假设某木马执行后会在tmp目录释放指定的文件,这里可以快速对所有主机进行检查

SELECT * from file where directory="/tmp" and filename="xxx"

查找有私钥证书的服务器

2、当有1day漏洞暴发时,可快速查找该软件的服务器进行确认

检查所有存在某软件的服务器

SELECT * FROM processes where name  like 'systemd';

上面是根据是在运行的进程进行判断,也可跟进安装的rpm包进行判断。

3、检测反弹shell

SELECT DISTINCT(processes.pid), processes.parent, processes.name, processes.path, processes.cmdline, processes.cwd, processes.root, processes.uid, processes.gid, processes.start_time, process_open_sockets.remote_address, process_open_sockets.remote_port, (SELECT cmdline FROM processes AS parent_cmdline WHERE pid=processes.parent) AS parent_cmdline FROM processes JOIN process_open_sockets USING (pid) LEFT OUTER JOIN process_open_files ON

如果需要告警功能,可将result文件打到logstash进行解析,在elk中配置告警。

更多的功能如文件完整性检查,后门检测等请自行摸索,

常见问题

1、如果使用docker部署,docker内的日志会很快打满,可以自行清理

2、服务端重启后,客户端会掉线,此时会恢复一部分,但大部分起不来,这是我这遇到的问题

可以在客户端上加上定时探活的脚本:

#!/bin/bash
#-*- coding:utf-8 -*-
process_id=$(ps -ef | grep "osqueryd --flagfile" | grep -v "grep" | awk '{print $2}')
result=`echo -e "\n" | telnet X.X.X.X 8080 2> /dev/null | grep Connected | wc -l`
if [ $result ]; then
kill -9 $process_id && nohup /usr/local/osq/launcher --hostname=X.X.X.X:8080 --enroll_secret=TznYHNYSD8ZoFUJOvH4s3pY7ZGuzz2x/ --insecure &
else
echo "无法连接服务器"
fi

或使用运维工具进行手动启动

 ansible XX -m shell -a " pgrep osquery | xargs kill -s 9 && service osqueryd start && nohup /usr/local/osq/launcher --hostname=X.X.X.X:8080 --enroll_secret=TznYHNYSD8ZoFUJOvH4s3pY7ZGuzz2x/ --insecure & " 

最新文章

  1. Redis学习笔记3-Redis5个可执行程序命令的使用
  2. .NET (上传的)文件下载
  3. yourtour的几种链接
  4. JS代码的简单重构与优化(适合新手)
  5. sun X509/X500Name异常(已解决)
  6. activemq重启
  7. 用saxon框架对xml数据进行过滤 - 程序员的天堂 - ITeye技术网站
  8. 如何生成转储(dmp)文件--工具篇
  9. XYZZY spfa 最长路 判环
  10. 条件结构if
  11. EF框架和Ado.Net的使用比较
  12. nameode启动过程
  13. CF979E
  14. Session & Cookie小知识~
  15. LUA重难点解析
  16. Linux下Mongodb安装和启动配置 原
  17. c#: 判断Firefox是否安装
  18. 1-1 Vue的介绍
  19. 【API设计】RESTful API 设计指南
  20. 人脸识别-关于face_recognition库的安装

热门文章

  1. H5+js调用相机
  2. zp本地包
  3. Python3用多线程替代for循环提升程序运行速度
  4. New & make in go_Code
  5. Centos7.5安装OpenJDK1.8
  6. Ajax方式导出Excel,浏览器显示下载Excel表
  7. PAT 甲级 1020 Tree Traversals (25分)(后序中序链表建树,求层序)***重点复习
  8. ThinkPHP 中入口文件中的APP_DEBUG为TRUE时不报错,改为FALSE时报错
  9. Centos7之阿里Arthas部署
  10. win7安装 nodejs,npm