初識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檢測入侵痕跡/

【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 & " 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM