• TODE待学习:
F:\Learning\ComputerScience\CyberSecurity\Python爬虫\项目\blog爬取\Emergency-Response-Notes-master
  • 复习

前言

  • 僵木蠕类安全事件优先看系统日志(确定线索)
  • 日志取证 是将日志保存提取,保留分析或者是复盘
  • 日志审计 是旨在记住日志在哪 、各个日志有什么作用 、用什么工具分析日志 、有什么关键信息

日志取证

安全设备日志取证

安全设备日志(确定线索)。 如果已获得关键线索(关键时间点、攻击手段、IP)的情况下,根据线索先分析安全设备日志,不论是否有线索都导出前 7 天-30 天时间全量的安全设备日志(根据日志数据量大小,现场评估适当调整)用于同步分析,如僵木蠕类优先看终端防护日志、web 类优先查看流量监测防护日志;

Windows 系统日志取证

Windows 系统日志位置:

(%SystemRoot%即 C:\Windows)

  • Windows 2000 / Server2003 / Windows XP :
%SystemRoot%\System32\Winevt\Logs\*.evtx
  • Windows Vista / 7 / 10 / Server2008 及 以 上 版本:
%SystemRoot%\System32\Config\*.evtx

我win10的日志在:

C:\Windows\System32\winevt\Logs

命令行复制所有系统日志:

尝试用两种方式复制系统日志到当前目录的 Logs 文件中 :

xcopy "%windir%\System32\config" "Logs" /E /Y /F & xcopy "%windir%\System32\winevt\Logs" "Logs" /E /Y /F

日志文件过大的情况,根据实际情况按照关键线索、重要程度挑选相关日志进行提取,一般 System.evtx、Security.evtx、Application.evtx 必取的。

Windows 系统获取日志的相关命令

命令:将 System 日志导出到文件 C:\System_log.evtx

wevtutil epl System C:\System_log.evtx 

命令: 导出远程桌面日志到某位置

wevtutil epl Microsoft-Windows-RemoteDesktopServices-RdpCoreTS/Operational C:\rdp_log.evtx 

命令:在应用日志中的最后 100 个条目中搜索 ID 为 1704 的事件

wevtutil qe Application /q:"Event/System/EventID=1704" /c:100 /f:text 

命令:获取本地计算机上的所有日志,通常首先检索传统日志,然后检索新的 Windows 事件日志。

Get-WinEvent -listlog * 

命令:获取表示本地计算机上的传统系统日志的对象。该对象包括有关日志的有用信息,其中包括日志大小、事件日志提供程序、文件路径以及是否已启用日志。

Get-WinEvent -listlog Setup | format-list -property *

命令:将所有日志按照时间顺序导出到 csv 中

fulleventlogview.exe /DataSource 1 /scomma c:/event.csv 

Linux系统日志取证

Linux 系统日志位置:

系统日志的默认位置为:/var/log/*.log

#命令行打包压缩所有系统日志:压缩/var/log 文件到当前目录(执行命令的路径下)syslog.zip 文件中命令:
zip -q -r syslog.zip /var/log

日志文件过大的情况,根据实际情况按照关键线索、重要程度挑选相关日志进行提取,一般必取的如:

  • /var/log/cron
  • /var/log/messages
  • /var/log/secure
  • /var/log/nginx/* (如果有)
  • /var/log/apache/* (如果有)
  • /var/log/apache2/* (如果有)

web 服务日志取证

Web 类安全事件优先查看 web 日志,提取相关日志用于分析,最终是为了确定的相关线索。

Web 类日志取证的目标为获取关键 Web 应用以及启用的旁站 web 应用。在取 web日志之前,优先确认服务器在安全事件发生时启用了哪些 Web 应用,利用已确认 web 应用尝试分析攻击面。接下来灵活采取合适的 web 日志定位方式,获取到相关 web 日志,完成 web 日志取证工作即可。

web 日志的位置一般各有不同,通常 windows 的 IIS、linux 下中间件类的日志(如apache、tomcat、nginx)都有默认的日志存放位置,一些自带容器类的 web 服务(如 jboss、weblogic)其日志文件默认都存放在应用的安装目录中。

Windows日志审计

Windows日志分析 | 晚上十一点睡觉のBlog (gungnir.top)

Linux日志审计

Linux日志分析 | 晚上十一点睡觉のBlog (gungnir.top)

重要应用程序日志

SSH日志

记录了 SSH 日志信息的文件日志信息的文件:

Ubuntu:/var/log/auth.log
Centos:/var/log/secure

这两个文件关于 SSH 的内容基本⼀致,记录了验证和授权方面的信息,只要涉及账号和密码的程序都会记录下来。

Web 应用日志

一般如果网络边界做好控制,通常对外开放的仅是Web服务,那么需要先找到Webshell,可以通过如下途径:

Webshell 搜索

检查最近创建的 php、jsp 文件和上传目录,例如要查找 24 小时内被修改的 jsp 文件:

find ./ -mtime 0 -name "*.jsp"

相关的依据时间检索文件的命令还有:

# -atime 文件的访问时间
# -mtime 文件内容修改时间
# -ctime 文件状态修改时间(文件权限,所有者/组,文件大小等,当然文件内容发生改变,ctime 也会随着改变)
# 要注意:系统进程/脚本访问文件,atime/mtime/ctime 也会跟着修改,不一定是人为的修改才会被记录
# 查找最近一天以内修改的文件:
find / -mtime -1 -ls| more
# 查找 50 天前修改的文件:
find ./ -mtime +50 -ls

工具扫描特征

通常入侵行为会伴随着踩点和扫描行为,那么可以查一下具有扫描行为的日志。

  • 例如使用 AWVS 扫描:
grep 'acunetix' /var/log/httpd/access_log
  • 例如使用 sqlmap,但是没有使用–random-agent,UA 中带有 sqlmap
grep 'sqlmap' /var/log/httpd/access_log

Apache 日志

Linux 系统中,Apache 的访问日志默认位置为 /var/log/httpd/access.log。

apache——linux
/var/log/apache2目录下,错误日志为error.log,访问日志一般带有access.log
apache——windows
window下日志的目录在apache安装目录的logs下

apache日志示例:

192.168.1.20 - - [22/Apr/2020:15:27:49 +0800] "GET /1/index.php HTTP/1.1" 404 490 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:45.0) Gecko/20100101 Firefox/45.0"

#远端主机名+客户端日志名称(可空)+客户端用户名(可空)+服务器时间+请求内容(方法名、地址和http协议)+响应的http状态码的最终结果+服务器发送的字节数+来源页+客户端信息UA
#apache的日志格式也可以去自定义,所在的配置文件在/etc/apache2/apache2.conf文件里

Nginx日志

LINUX:
/var/logs/nginx
WINODWS:
windows下Nginx日志默认在Nginx安装目录下的logs下。

日志示例

192.168.1.220 - - [10/Jul/2020:15:51:09 +0800] "GET /ubuntu.iso HTTP/1.0" 0.000 129 404 168 "-" "Wget/1.11.4 Red Hat modified"
#客户端ip地址 + - +客户端用户名称(可空)+通用日志格式下的本地时间 + 请求的URL和HTTP协议 + 请求处理时间 + 请求的长度 + 请求状态 + 发送给客户端的字节数(不包括响应头大小)+ 源页面 + 客户端信息

IIS日志位置

IIS的日志位置与IIS的版本号的不同也有不同,相关配置文件的位置也有不同。

版本 日志位置 配置文件位置
IIS6 C:\Windows\System32\LogFiles C:\WINDOWS\system32\inetsrv\MetaBase.xml
IIS7 C:\inetpub\logs\LogFiles C:\Windows\System32\inetsrv\config\applicationHost.config

数据库日志审计

(Mysql、Msql、Oracle等)日志分析(爆破注入)

其他数据库也是一样 查看日志存储位置,然后看日志,注意字段信息

常见的数据库攻击包括弱口令、SQL注入、提升权限、窃取备份等,对数据库日志进行分析,可以发现攻击行为,进一步还原攻击场景和溯源攻击源

Mysql

Linux上的位置

/var/lib/mysql/    

日志启用并查看路径

mysql的命令查看日志路径

show variables like "%general%";
SET GLOBAL general_log = 'On';
## 这里可以设置mysql日志存放目录
SET GLABAL general_log_file = '/var/lib/mysql/mysql.log'

image-20221022061002516

Sql server

查看日志

注意对应数据库

image-20221022061258643

配置数据库的日志属性

image-20221022061705200

对Mssql进行攻击并实时查看日志

mssql实时监控工具:

image-20221022062107481 image-20221022062141912

数据库 日志审计工具

特殊情况和常见日志事件

日志被删

攻击者有可能会删除日志,这种情况下,两条思路:

  • 尝试恢复日志
  • 查漏洞模拟渗透测试寻找攻击源

window安全日志事件ID 4625,频繁出现意味着什么

Windows事件ID 4625是指“帐户登录失败”事件。当Windows系统上的用户尝试登录但未成功时,系统会记录此事件。此事件包含有关登录尝试的详细信息,如登录的用户名、登录类型、登录失败的原因等。

在Windows事件日志中,事件ID 4625通常与以下几个方面的安全事件相关:

  1. 密码破解攻击:攻击者利用密码破解工具或字典攻击等方式尝试破解用户的密码,并进行登录尝试。Windows事件ID 4625可以记录这些登录尝试的失败信息。

  2. 恶意软件攻击:某些恶意软件可以尝试通过暴力破解或盗取用户密码的方式进行登录尝试。Windows事件ID 4625可以记录这些登录尝试的失败信息。

  3. 社会工程学攻击:攻击者可能通过钓鱼邮件、伪造网站等方式获取用户的登录信息,并进行登录尝试。Windows事件ID 4625可以记录这些登录尝试的失败信息。

  4. 账户被锁定:当用户连续多次登录失败时,Windows系统可能会将其账户锁定,以保护系统安全。Windows事件ID 4625可以记录这些账户被锁定的事件。

通过检查Windows事件日志中的4625事件,可以及时发现系统中的登录失败事件,进一步分析其原因和影响,并采取相应的安全措施,如加强密码策略、禁用不必要的账户、安装入侵检测系统等,提高系统的安全性。

注意点

  • 僵木蠕类优先看终端防护日志、web 类优先查看流量监测防护日志
  • Web 类安全事件优先查看 web 日志,提取相关日志用于分析,最终是为了确定的相关线索。

refer

待学习: