日志分析与应急响应

目录

日志分析

Windows日志分析

流程

日志分类

应用程序日志

系统日志

安全日志

设置方法

日志分析

事件日志分析

分析工具

Linux日志分析

日志信息

查看日志

Web日志分析

分析思路

分析方法

分类

Apache日志分析技巧

数据库日志分析

mysql日志分析

使用shell命令进行分析

SQL注入入侵痕迹

msssql日志分析

SQL注入入侵痕迹

检测工具

应急响应

勒索病毒

应急方法

紧急处置

排查

样本分析

挖矿病毒

判断方法

紧急处置

排查方法

webshell

判断方法

应急方法

排查

紧急处置

钓鱼邮件

紧急处置

分析

防范


Windows日志分析

流程

确定问题--查看事件日志--注重关键字段--使用筛选器--分析趋势-自动化分析

日志分类

应用程序日志

包含由应用程序或系统程序记录的事件,主要记录程序运行方面的事件,例如数据库程序可以在应用程序日志中记录文件错误,程序开发人员可以自行决定监视哪些事件。如果某个应用程序出现崩溃情况,那么我们可以从程序事件日志中找到相应的记录默认位置:%SystemRoot%\System32\Winevt\Logs\Application.evtx

系统日志

记录操作系统组件产生的事件,主要包括驱动程序、系统组件和应用软件的崩溃以及数据丢失错误等。系统日志中记录的时间类型由Windows NT/2000操作系统预先定义。默认位置:%SystemRoot%\System32\Winevt\Logs\System.evtx

安全日志

记录系统的安全审计事件,包含各种类型的登录日志、对象访问日志、进程追踪日志、特权使用、帐号管理、策略变更、系统事件。安全日志也是调查取证中最常用到的日志。默认设置下,安全性日志是关闭的,管理员可以使用组策略来启动安全性日志,或者在注册表中设置审核策略,以便当安全性日志满后使系统停止响应。默认位置:%SystemRoot%\System32\Winevt\Logs\Security.evt

安全日志记录着事件审计信息,包括用户验证(登录、远程访问等)和特定用户在认证后对系统做了什么,对于调查人员而言,更有帮助。

设置方法

设置 1:开始 → 管理工具 → 本地安全策略 → 本地策略 → 审核策略设置 2:设置合理的日志属性,即日志最大大小、事件覆盖阀值等

查看 在开始菜单上,依次指向“所有程序”、“管理工具” ,然后单击“事件查看器” 按 "Window+R" ,输入 ”eventvwr.msc“ 也可以直接进入“事件查看器”

日志分析

事件日志分析

4624 登录成功 4625 登录失败 4634 注销成功 4647 用户启动的注销 4672 使用超级用户(如管理员)进行登录 4720 创建用户

登陆类型描述说明
2交互式登陆用户再本地进行登陆
3网络共享文件夹/打印机
4批处理某计划任务启动
5服务特点账户运行某种服务
7解锁屏保解锁
8网络明文ftp登陆密码
9新凭证使用带/Netonly参数的RUNAS命令运行一个程序
10远程交互通过终端服务、远程桌面或远程协助访问
11缓存交互以一个域用户登录而又没有域控制器可用
分析工具

Log Parser

基本查询结构: Logparser.exe –i:EVT –o:DATAGRID "SELECT * FROM c:\xx.evtx "

登录成功的所有事件: LogParser.exe -i:EVT –o:DATAGRID "SELECT * FROM c:\Security.evtx where EventID=4624"

登录失败的所有事件:LogParser.exe -i:EVT –o:DATAGRID "SELECT * FROM c:\Security.evtx where EventID=4625"

系统历史开关机记录:LogParser.exe -i:EVT –o:DATAGRID "SELECT TimeGenerated,EventID,Message FROM c:\System.evtx where EventID=6005 or EventID=6006"

Linux日志分析

日志默认存放位置:/var/log/

查看日志配置情况:more /etc/rsyslog.conf

日志信息

日志文件说明
/var/log/cron系统定时任务相关的日志
/var/log/cups打印信息的日志
/var/log/dmesg开机时内核自检的信息
/var/log/mailog记录邮件信息
/var/log/message系统重要信息的日志
/var/log/btmp错误登录日志,使用lastb命令查看
/var/log/lastlog所有用户最后登录时间使用lastlog命令查看
/var/log/wtmp永久记录所有用户的登录、注销信息;启动、重启、关机事件,使用last命令来查看
/var/log/utmp当前已经登录的用户信息 使用who,users等命令来查询
/var/log/secure记录验证和授权方面的信息, 只要涉及账号和密码的程序都会记录
查看日志

grep -C 5 foo file 显示file文件里匹配foo字串那行

cat input_file | tail -n +1000 | head -n 2000 从第1000行开始,显示2000行。即显示1000~2999行

find /etc -name init 在/etc下查找init

cat /etc/passwd |awk -F ' : ' '{print$1}' 查找/etc/passwd的账户

sed -i '153,$d' .bash_history 删除历史记录保留钱153

grep "Failed password for root" /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more 定位爆破主机root的ip

grep "Failed password" /var/log/secure|grep -E -o "(25[0-5]|20-4|[01]?0-9?).(25[0-5]|20-4|[01]?0-9?).(25[0-5]|20-4|[01]?0-9?).(25[0-5]|20-4|[01]?0-9?)"|uniq -c 定位那些ip在爆破

grep "Accepted " /var/log/secure | awk '{print $11}' | sort| uniq -c | sort -nr | more 成功登陆的ip

grep "Accepted " /var/log/secure | awk '{print$1,$2,$3,$9,$11}' 成功登陆的用户名IP

Web日志分析

分析思路

1确定入侵的时间范围,以此为线索,查找这个时间范围内可疑的日志,进一步排查,最终确定攻击者,还原攻击过程

2攻击者在入侵网站后,通常会留下后门维持权限,以方便再次访问,我们可以找到该文件,并以此为线索来展开分析

分析方法

Window下,推荐用 EmEditor 进行日志分析

Linux下,使用Shell命令组合查询分析

分类

Apache日志分析技巧
1、列出当天访问次数最多的IP命令:
cut -d- -f 1 log_file|uniq -c | sort -rn | head -20
2、查看当天有多少个IP访问:
awk '{print $1}' log_file|sort|uniq|wc -l
3、查看某一个页面被访问的次数:
grep"/index.php" log_file | wc -l
4、查看每一个IP访问了多少个页面:
awk '{++S[$1]} END {for (a in S) print a,S[a]}' log_file
5、将每个IP访问的页面数进行从小到大排序:
awk '{++S[$1]} END {for (a in S) print S[a],a}' log_file | sort -n
6、查看某一个IP访问了哪些页面:
grep ^111.111.111.111 log_file| awk '{print $1,$7}'
7、分析访问量前5的页面:
cat access.log | awk ‘{print $7}’ |sort |uniq -c| sort -nr | head -5
8、查看2022年6月21日14时这一个小时内有多少IP访问:
awk '{print $4,$1}' log_file | grep 21/Jun/2022:14 | awk '{print $2}'| sort | uniq | wc -l

日志统计

爬虫
grep -E 'Googlebot|Baiduspider' /www/logs/access.2022-02-23.log | awk '{ print $1 }' |sort | uniq
浏览器
cat /www/logs/access.2022-02-23.log | grep -v -E 'MSIE|Firefox|Chrome|Opera|Safari|Gecko|Maxthon' | sort | uniq -c | sort -r -n | head -n 100
​
状态码
cat access_time.log | awk ‘{print $9}’ | sort|uniq -c|sort -rn
域名
cat /www/logs/access.2022-02-23.log |awk '{print$2}'|sort|uniq -c|sort -rn|more

数据库日志分析

mysql日志分析

1、查看log配置信息

show variables like '%general%';

2、开启日志

SET GLOBAL general_log = 'On';

3、指定日志文件路径

#SET GLOBAL general_log_file = '/var/lib/mysql/mysql.log';

使用shell命令进行分析
有哪些IP在爆破?
grep"Access denied"mysql.log |cut -d "'" -f4|uniq -c|sort -nr
爆破用户名字典都有哪些?
grep"Access denied"mysql.log |cut -d "'" -f2|uniq -c|sort -nr
在 MySQL 日志分析中,特别需要注意一些敏感的操作行为,比如删表、备库,读写文件等。
关键词:drop table、drop function、lock tables、unlock tables、load_file() 、into outfile、into dumpfile。
敏感数据库表:SELECT * from mysql.user、SELECT * from mysql.func
SQL注入入侵痕迹

1、检查网站目录下,是否存在一些木马文件:

2、检查是否有UDF提权、MOF提权痕迹,检查目录是否有异常文件 mysql\lib\plugin c:/windows/system32/wbem/mof/

检查函数是否删除 select * from mysql.func

3、结合web日志分析

msssql日志分析

1/MSSQL数据库应启用日志记录功能,默认配置仅限失败的登录,需修改为失败和成功的登录,这样就可以对用户登录进行审核 2/登录到SQL Server Management Studio,依次点击 管理--SQL Server 日志 3/双击日志存档文件即可打开日志文件查看器,并可以对日志进行筛选或者导出等操作 4/MSSQL提供了一个工具SQL Server Profiler ,方便查找和发现SQL执行的效率和语句问题

SQL注入入侵痕迹

在利用SQL注入漏洞的过程中,我们会尝试利用sqlmap的--os-shel1参数取得shell,如操作不慎,可能留下一些sglmap创建的临时表和自定义函数。通过查看数据库中最近新建的表 的结构和内容,可以判断是否发生过sql注入漏洞攻击事件。

检查方法:

1、数据库表检查 2、检查xp_cmdshell等存储过程xp_cmdshell在mssql2005之后的版本中是默认禁止的,查看xp_cmdshell是否被启用。 `Exec master.dbo.xp_cmdshell ' whoami' 3、需要结合web日志,通过查看日志文件的大小以及审计日志文件中的内容,可以判断是否发生过sql注入漏洞攻击事件。

检测工具

Sysmon作为强大轻便的监视和记录工具,可以记录系统的各种活动。通过收集系统上发现的事件,可以了解到恶意程序再操作系统上进行了哪些操作。可选择记录网络连接,包括每个连接的源进程、IP 地址、端口号、主机名和端口名。记录注册表和文件的操作记录。

Windows下安装:

下载链接:https://docs.microsoft.com/enus/sysinternals/downloads/sysmon

安装并指定配置文件:

https://github.com/SwiftOnSecurity/sysmon-config/blob/master/sysmonconfig-export.xml

应急响应

勒索病毒

表现情况

内网多台主机遭受勒索病毒攻击,业务系统瘫痪

应急方法

紧急处置

(1)对已经中招的服务器: 下线隔离 (2)对于未中招的服务器: ·在网络边界防火墙上全局关闭3389端口或3389端口只对特定IP开放。 ·开启Windows防火墙,尽量关闭3389、445、139、135等不用的高危口。 ·每台服务器设置唯一口令,且复杂度要求采用大小写字母、数字、特殊号混合的组合结构,口令位数足够长(15位、两种组合以上)。

排查

1.文件排查

对该服务器文件进行查看,发现勒索病毒将服务器文件进行加密,同时发现加密后的文件后缀名为RESERVE,文件最后加密时间为20xx-08-22 4:36:13

2.网络排查

查看当前端口开放情况并发现该服务器开放445、3389等服务

3.日志排查

查看Windows-TerminalServices-LocalSessionManager日志发现在文件加密时源网络地址为:XXX. XXX. XXX. XXX管理员用户通过远程桌面方式登陆该服务器进行操

4.排查系统补丁信息

日志发现服务器(源网络地址:XXX.XX.XXXX.XXX)通过远程桌面方式登陆受害主机,与客户沟通后,发现该主机管理员用户口令为弱口令。

5.寻找恶意脚本

发现,Temp目录下的恶意批处理文件功能

6.提取日志进行分析

攻击手法包括:

(1)攻击者先对暴露在公网上并开放了远程桌面的主机进行暴力破解

(2)成功登陆后再利用专用工具抓取本地用户密码

(3)加入字典后再执行内网爆破,以此类推

(4)在种植勒索病毒前,攻击者手工关闭相关安全防止软件

(5)种植勒索病毒后,退出

样本分析

常用形式

1.样本首先解密内置的加密的字符串

2.解密出攻击者一些信息,可以看出是18:05:30左右生成

3.随后拷贝样本到目录下

4.添加开机启动项

5.随后生成字符串并在C:\Users\Public创建文件

6.开始生成RSA加密密钥

7.创建autoexec.bat,最后生成autoexec.bat.RESERVE记录密钥

8.创建how_to_back_files.html

9.写入生成的密钥信息/写入勒索邮箱相关信息

10.加密相关信息写入到%public%文件

11.随后开始执行加密主流程

12.获取磁盘信息

13.启动线程开始扫描加密

14.在%tmp%目录下生成清除脚本最后加密完成后调用cmd删除痕迹

挖矿病毒

进程占用cpu极高,为通过redis未授权访问、weblogic反序列化漏洞来进行攻击

判断方法

1.检查系统资源:挖矿病毒会利用大量的CPU和内存资源。

2.查看进程列表:打开任务管理器查找可疑名称或描述的进程。例如svchost.exe。

3.扫描系统:使用反病毒软件进行系统扫描,以检查系统是否被感染了挖矿病毒。

4.检查网络流量:如果计算机连接到了Internet,可以使用网络监控工具来观察网络流量是否异常。挖矿病毒通常需要与远程服务器通信,以便将挖掘到的加密货币发送给攻击者。

5.注意异常电脑行为:如果计算机出现了异常的响应速度缓慢、卡顿或崩溃等问题。

紧急处置

第一时间记录了进程快照,和进程开启的文件等信息,并帮用户杀掉这两个进程,将cpu恢复至正常状况

1、把被黑系统断网;

2、结束恶意进程;

3、删除发现扫描出来的木马;

4、备份木马给实验室分析,查看是否会释放没有被查杀出来的恶意文件;

5、黑盒渗透挖掘是否存在其他漏洞;

6、输出报告和建议

排查方法

1/计划任务,该计划任务定期下载2.sh并执行 下载并创建挖矿主程序,并启动程序开始挖矿,因此导致cpu负载过高 2/始查找攻击者的入侵路径 1.排查ssh弱密码登陆, 2.查看cron日志记录第一次执行时间 3.查看网站的访问日志和其他相关日志 4.struts2、java反序列化等漏洞排查 5.针对xhtml文件访问量较多IP,我们发现大量来自同一个地方

webshell

判断方法

1.检查网站目录:攻击者通常会将Webshell放在易于访问的目录中。因此,检查网站目录以查找任何可疑文件或文件夹是一个不错的开始。

2.分析Web服务日志:如果Web服务器已启用访问日志记录,则可以查看日志以确定是否有来自未知IP地址的异常请求。这些请求可能是攻击者使用Webshell执行恶意操作的迹象。

3.使用反病毒软件扫描系统:一些反病毒软件可以检测和删除已知的Webshell变体。因此,运行反病毒扫描可能有助于检测和清除Webshell。

4.监控网络流量:使用网络监控工具来监视出站网络流量,寻找任何与Webshell相关的异常活动或数据传输。

应急方法

排查

1.利用D盾webshell查杀工具对网站服务器进行全盘扫描

2.据webshell木马文件,排查访问日志,查看创建时间

3.排查webshell创建时间段相关日志,推断攻击者利用攻击方式

4.复现攻击公式

5.分析攻击手法

6.排查操作系统层面安全

紧急处置

1、把被黑网站服务器断网;

2、如果网站被挂黑链或者被篡改首页,把网站恢复成原样;

3、删除发现扫描出来的webshell;

4、黑盒渗透挖掘是否存在其他漏洞;

5、输出报告和建议

钓鱼邮件

紧急处置

1、先对需要处理的事件现场情况进行详细的了解,先将受害主机进行断网关机处理,如果有主机安全管

理设备,先对所有主机资产进行病毒查杀。

2、查看发件人的邮件名,如果是自建的邮件服务器,可以查询域名IP备案信息等,扩大信息收集面。

3、通过查看邮件原文,查看发件人的IP地址,在威胁情报系统上进行查询。

4、上机排查:

a、Netstat -ano(windows)/netstat-antpleu(linux)查询外联

b、记录有问题的进程PID,使用tasklist /svc/fi “PID eq pid” (windows)/ ps aux | grep pid(linux),定位到进程

c、wmic process get name,executablepath,processid|findstr PID查看进程对应的文件路径

分析

1、一定要把木马放在虚拟机上运行,并且做好隔离;

2、可以使用反编译软件如 Dnspy 对木马文件进行反编译;

3、在反编译后的代码中寻找以下危险函数:

防范

1)组织员工进行钓鱼邮件防范培训,提高全员网络空间安全防范意识;

2)在公司内部不定期进行钓鱼邮件安全测试,及时发现问题并采取补救措施;

3)使用高安全性邮件系统,并及时配置安全过滤机制;

4)敦促员工安装杀毒软件,并及时更新病毒库

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值