🏆 作者简介,愚公搬代码 🏆《头衔》:华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,51CTO博客专家等。 🏆《近期荣誉》:2022年度博客之星TOP2,2023年度博客之星TOP2,2022年华为云十佳博主,2023年华为云十佳博主等。
🏆《博客内容》:.NET、Java、Python、Go、Node、前端、IOS、Android、鸿蒙、Linux、物联网、网络安全、大数据、人工智能、U3D游戏、小程序等相关领域知识。
🏆🎉欢迎 👍点赞✍评论⭐收藏
主机日志分析是指对主机产生的日志进行收集、解析和分析的过程。主机日志包含了主机运行时产生的各种事件和信息,如操作系统启动和停止、服务启动和停止、进程创建和终止、网络连接和断开等。通过对主机日志进行分析,可以识别异常事件和行为,及时发现系统故障和安全威胁,并采取相应的措施处理。
主机日志分析的基本步骤包括:
步骤 | 描述 |
---|---|
1 | 收集日志:通过配置日志收集器或代理,将主机上的日志数据发送到集中的日志存储或分析平台。 |
2 | 解析日志:对收集到的日志数据进行解析,将其转化为结构化的数据格式,方便后续的分析和查询。 |
3 | 分析日志:使用日志分析工具或平台,对解析后的日志数据进行查询和分析。可以根据关键词、正则表达式等方式,搜索特定的日志事件。 |
4 | 发现异常:通过分析日志数据,发现异常事件和行为。可以根据已知的攻击模式和异常规律,设计相应的规则和模型,自动识别和报警异常事件。 |
5 | 响应与处理:对于发现的异常事件,及时采取相应的措施进行响应和处理。可以是自动化的响应机制,也可以是人工的干预和处理。 |
主机日志分析可以帮助系统管理员和安全团队监控主机的状态和行为,提高系统的稳定性和安全性。同时,也可以用于故障排查、性能优化和合规性审计等方面。
RDP 是 Windows 环境下的远程登录协议,用户可使用 RDP 协议,通过 3389端口远程连接 Windows 主机。在对 Windows 系统的入侵手段中,RDP 爆破是常见的方法,可以通过日志来发现 RDP爆破行为。
RDP 登录日志位于 Windows 安全日志中,登录类型为 10,该日志记录了此主机上的所有登录行为。审计 RDP登录日志的目的是为了发现可疑登录记录,包括以下4项。
(1)是否有异常的没有登录成功的审计事件,例如 RDP爆破登录。
(2)是否有成功登录的不明账号记录。
(3)是否有异常IP的登录事件,例如IP非此主机用户的常用 IP。
(4)是否有异常时间的登录事件,例如凌晨2点远程登录主机。
有时候登录记录数量非常多,分析起来难度大,因此可以根据前期收集到的信息来缩小审计范围,如异常现象发生的时间、恶意文件创建的时间等,可在这类时间点附近查找异常的登录记录。
打开控制面板→管理工具→事件查看器→Windows 日志一安全
,其中包含了 Windows 系统的大部分安全日志
常见的基于共享目录的攻击行为是 IPC 爆破,若爆破成功,攻击者可以将受攻击主机的磁盘文件映射到本地,造成信息泄漏。同时,共享目录可作为传输恶意文件的途径之一,了解共享目录的访问记录,可以了解攻击者的攻击方法。
共享目录登录记录位于 Windows安全日志中,登录类型为3,在分析攻击者的所有登录记录时,发现其在进行RDP登录之前,总是先进行共享目录登录结合受攻击主机的异常现象。因此推断其每次登录主机之前会先通过共享目录上传恶意文件,再通过 RDP 登录主机执行恶意文件。
共享目录访问记录4624:
RDP登录记录4648:
Windows 账户管理日志记录于 Windows 安全日志中,下面以 Windows 10为例列出常见的账户管理行为产生的日志记录。
(1)创建 ZAGF 账号4798
从事件详细信息中可以得知创建的账户信息、创建者,根据创建者ID结合登录日志可以得到对应的登录者IP。
(2)将 ZAGF 账户添加进特权组 administrators 4732
这里的防火墙日志特指 Windows 环境下的防火墙日志,其记录了主机端口的外连信息,可根据主机业务或服务情况审查防火墙日志记录中是否有异常的端口外连记录,例如某主机只在80端口提供 Web 服务,而在防火墙日志中却发现一条记录显示10000端口曾与外网某IP建立过连接,则需引起注意,进-步查看目标卫的其他相关日志记录。防火墙日志可用于帮助定位后门的网络连接行为。
在 Windows 系统中,打开“高级安全 Windows Defender 防火墙”,在防火墙属性配置中可设置是否开启日志、日志存储位置、日志大小、是否记录成功的连接等信息,如图所示
在 Windows 系统中,黑客可能将病毒放在临时目录下,或者将病毒相关文件释放到临时目录,因此需要检查临时目录是否存在异常文件。
假设系统盘在C盘,则通常情况下的临时目录如下。
C:\Users\[用户名]\local Settings\Temp
C:\Documents and Settings\[用户名]\local Settings\Temp
C:\Users\[用户名]\桌面
C:\Documents and Settings\[用户名]\桌面
C:\Users\[用户名]\local Settings\Temporary Internet Files
C:\Documents and Settings\[用户名]\local Settings\Temporary Internet Files
注意:[用户名】根据实际环境用户得出,常见用户名是Administrator,建议对所有用户都检查一下。
在 Windows系统中,黑客可能通过浏览器下载恶意文件,或者盗取用户信息,因此需要检查浏览器的历史访问记录、文件下载记录、cookie 信息,对应相关文件目录如下。
C:\Users\[用户名]\Cookies
C:\Documents and Settings\[用户名]\Cookies
C:\Users\[用户名]\local Settings\History
C:\Documents and Settings\[用户名]\local Settings\History
C:\Users\[用户名]\local Settings\Temporary Internet Files
C:\Documents and Settings\[用户名]\local Settings\Temporary Internet Files
可以根据文件夹内文件列表时间进行排序,查找可疑文件。一般情况下,修改日期越近的文件越可疑,当然,入侵者也有可能篡改“修改日期”。
注意:单击“修改日期”,使之按最近修改日期排序,优先检查“修改日期”最近的文件。
检查最近打开了哪些文件,可疑文件有可能就在最近打开的文件中,打开以下这些目录即可看到。
C:\Users\[用户名]\Recent
C:\Documents and Settings\[用户名]\Recent
在 Windows 系统中,System32 也是常见的病毒释放目录,因此也要检查一下该目录。hosts 文件是系统配置文件,用于本地DNS 查询的域名设置,可以强制将某个域名对应到某个IP上,因此需要检査 hosts 文件有没有被黑客恶意篡改。
C:\Windows\System32\drivers\etc\hosts 检査如下3种异常。
(1)知名站点,检查对应IP是否真的归属该站点,防止“钓鱼”
(2)未知站点,检查该域名和IP是否恶意。
(3)无法访问的安全站点,即 IP 是否指向 127.0.0.1、0.0.0.0 等本地地址,无效地址。
使用 netstat -ano命令查看当前的网络连接,排查可疑的服务、端口,外连的 ,如图所示
如发现 netstat 定位出的 pid 有问题,可再通过 tasklist 命令进一步追踪该可疑程序
(1)排查 Logon 启动项。
黑客为了保持恶意代码(如病毒)能够开机启动、登录启动或者定时启动,通常会有相应的启动项,因此有必要找出异常启动项,并删除。启动项的排查这里介绍一个非常好用的工具,工具名为 Autoruns(官网 www.sysinternals.com)
单击运行 Autoruns,首先检査 Logon(登录启动项),如图所示
(2)服务启动项
病毒也有可能是以创建服务启动项的方式保持长久运行,单击Autoruns 的Services 功能,如图 所示,检查是否有异常的服务启动项。
(3)定时或计划任务
如果有定时或计划任务启动项,也要检査(单击Autoruns 的 Task Scheduler功能)。通常这一项是空白的,如果有内容,则需要排查确认是否有某些应用或服务创建了这些启动项。
(4)其他启动项
其他所有的启动项,均可以在 Everything 一栏找到,这里面的启动项也有可能是病毒创建的,需排查
(5)查看可疑进程。
进程名异常是指某些进程的名字是随机产生的,因此高度可疑,例如:某感染环境,打开任务管理器,发现有大量名字随机的进程,如hrlB3.tmp、hrlCCtmp、hrlCD.tmp、hrlC3.tmp、hrlC5.tmp、hrlD5.tmp、hrl6.tmp、hrlEE.tmp不仅文件后缀不是典型的exe,名字也是随机产生的,这种多数是异常进程一般情况下,正常的进程如图
进程名伪装是指将某些进程的名字伪装成跟系统进程名相似,目的是为了混淆视听,使经验不足或看走眼的管理员误认为是正常进程或文件。
SSH 是建立在应用层和传输层基础上的安全协议,常用于Linux与UNIX系统的远程登录。分析 SSH 登录日志的作用是了解 Linux 以及 UNIX 系统中用户活动的入口点,常见的基于 SSH 的攻击为 SSH 登录爆破。
SSH 登录日志存放的文件根据系统不同会存在差异,常见的SSH登录日志存放于/var/log/secure 目录中,通常分析步骤如下。
(1)从 secure 日志中提取 SSH 的登录记录项,可根据关键字 sshd 和 port。
Accepted 关键字表示登录成功,Failed 关键字表示登录失败,如图所示。
(2)提取的登录记录可能有很多,接下来对P地址进行统计,命令如下
cat secure*|grep port|grep sshd|awk '{print $(NF-3)}'|sort|unig -c|sort -rn
其中:
(3)针对列表中的可疑IP进行分析。如何确定一个IP是可疑 IP,需要与管理员沟通。例如,一些内网不常登录服务器的主机IP,或外网的IP都可认为是可疑的,当然也可以根据登录时间来对登录IP进行统计,筛选凌晨0点至6 点间的登录 ,命令如下。
cat secure*|grep port|grep sshd|awk '($3<="6:00:00") {print $(NF-3) }'|sort|uniq -c|sort -rn
知道IP之后就可以方便地从登录日志中筛选日志了。
Linux 账户管理日志常记录于/var/log/secure 文件中,下面列出常见的账户管理行为产生的日志记录。
(1)创建 anquan 组,如图所示
(2)在 secure 文件中,也记录了相应的日志,如图所示
(3)创建 zagf账号,并分配到 anquan 组,如图所示
(4)查看日志,如图所示
检查 Limux 系统下敏感的目录,通常恶意程序会在权限大的目录写入文件参数“1”表示显示文件详细信息,包括文件权限、创建时间、所有者等信息。参数“a”表示显示隐藏文件,inux 系统存在大量隐藏文件,使用“-a”参数可以显示隐藏的文件和目录。参数“t”表示按照文件最后修改时间进行排序。
Is -alt /tmp/ 存放所用用户的临时文件
Is -alt /var/tmp/ 存放所用用户的临时文件
1s -alt /etc/init.d/存放服务启动脚本命令
ls -alt /bin 存放开机相关的命令
ls -alt /usr/bin 存放普通用户使用的命令
Is -alt /sbin 存放管理员用户使用的命令
ls -alt /usr/sbin 存放网络服务器命令
ls -alt /boot 存放启动和内核相关的文件
(1)访问时间(-atime/天,-amin/分钟):用户最近一次访问时间。
(2)更改时间(-mtime/天,-mmin/分钟):文件最后一次修改时间。
(3)改动时间(-ctime/天,-cmin/分钟):文件数据元(如权限)最后一次修改时间。
命令“stat 文件名”可以查看文件的时间,对源排查起关键作用
使用命令“netstat -antop”查看当前的网络连接,排查可疑的服务、端口,外连的 IP
如发现 netstat 定位出的 pid 有问题,可再通过“ps -aux |grep pid”命令进一步查看进程的信息
(1)排查启动服务。
用命令“chkconfg --list|grep on”可以检査启动服务
(2)定时或计划任务
查看当前的任务计划有哪些,是否有后门木马程序启动相关信息。使用命令“crontab -l -u root”査看通过 root 用户启动的计划任务
使用命令“cat /etc/crontab”查看计划任务
使用命令“cat /etc/cron.d/*”査看系统计划任务
其中,/etc/cron.d目录是为了分项目设置计划任务而创建的。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。