初识osquery
初识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检测入侵痕迹/
使用
搭建过程不再重来了,这里不是重点,如果搭建有问题找运维或网络帮忙解决即可
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 & "
最新文章
- Redis学习笔记3-Redis5个可执行程序命令的使用
- .NET (上传的)文件下载
- yourtour的几种链接
- JS代码的简单重构与优化(适合新手)
- sun X509/X500Name异常(已解决)
- activemq重启
- 用saxon框架对xml数据进行过滤 - 程序员的天堂 - ITeye技术网站
- 如何生成转储(dmp)文件--工具篇
- XYZZY spfa 最长路 判环
- 条件结构if
- EF框架和Ado.Net的使用比较
- nameode启动过程
- CF979E
- Session &; Cookie小知识~
- LUA重难点解析
- Linux下Mongodb安装和启动配置 原
- c#: 判断Firefox是否安装
- 1-1 Vue的介绍
- 【API设计】RESTful API 设计指南
- 人脸识别-关于face_recognition库的安装
热门文章
- H5+js调用相机
- zp本地包
- Python3用多线程替代for循环提升程序运行速度
- New &; make in go_Code
- Centos7.5安装OpenJDK1.8
- Ajax方式导出Excel,浏览器显示下载Excel表
- PAT 甲级 1020 Tree Traversals (25分)(后序中序链表建树,求层序)***重点复习
- ThinkPHP 中入口文件中的APP_DEBUG为TRUE时不报错,改为FALSE时报错
- Centos7之阿里Arthas部署
- win7安装 nodejs,npm