网络安全-日志分析
2023-09-30 10:50:27 1 举报
AI智能生成
在应急响应事件中,日志分析极其重要,该思维导图里面包含了操作系统日志分析,数据库日志分析,中间件日志分析的具体方法和工具
作者其他创作
大纲/内容
系统日志:记录操作系统组件产生的事件,主要包括驱动程序、系统组件和应用软件的崩溃以及数据丢失错误等。系统日志中记录的时间类型由Windows NT/2000操作系统预先定义。默认位置: %SystemRoot%\\System32\\Winevt\\Logs\\System.evtx
应用程序日志:包含由应用程序或系统程序记录的事件,主要记录程序运行方面的事件,例如数据库程序可以在应用程序日志中记录文件错误,程序开发人员可以自行决定监视哪些事件。如果某个应用程序出现崩溃情况,那么我们可以从程序事件日志中找到相应的记录,也许会有助于你解决问题。 默认位置:%SystemRoot%\\System32\\Winevt\\Logs\\Application.evtx
安全日志:记录系统的安全审计事件,包含各种类型的登录日志、对象访问日志、进程追踪日志、特权使用、帐号管理、策略变更、系统事件。安全日志也是调查取证中最常用到的日志。默认设置下,安全性日志是关闭的,管理员可以使用组策略来启动安全性日志,或者在注册表中设置审核策略,以便当安全性日志满后使系统停止响应。默认位置:%SystemRoot%\\System32\\Winevt\\Logs\\Security.evtx
记录系统的安全审计事件,包含各种类型的登录日志、对象访问日志、进程追踪日志、特权使用、帐号管理、策略变更、系统事件。安全日志也是调查取证中最常用到的日志。默认设置下,安全性日志是关闭的,管理员可以使用组策略来启动安全性日志,或者在注册表中设置审核策略,以便当安全性日志满后使系统停止响应。默认位置:%SystemRoot%\\System32\\Winevt\\Logs\\Security.evtx
日志简介:Windows系统日志是记录系统中硬件、软件和系统问题的信息,同时还可以监视系统中发生的事件。用户可以通过它来检查错误发生的原因,或者寻找受到攻击时攻击者留下的痕迹。Windows主要有以下三类日志记录系统事件:应用程序日志、系统日志和安全日志。
**设置1**:开始 → 管理工具 → 本地安全策略 → 本地策略 → 审核策略,参考配置操作:13;![](./image/log-1-1.png) **设置2**:设置合理的日志属性,即日志最大大小、事件覆盖阀值等: 13;![](./image/log-1-2.png)
**查看系统日志方法:**1. 在**“开始”**菜单上,依次指向**“所有程序”**、**“管理工具”**,然后单击**“事件查看器”**2. 按 \"**Window+R**\",输入 ”**eventvwr.msc**“ 也可以直接进入“**事件查看器**” ![](./image/log-1-3.png)
审核策略与事件查看器:Windows Server 2008 R2 系统的审核功能在默认状态下并没有启用 ,建议开启审核策略,若日后系统出现故障、安全事故则可以查看系统的日志文件,排除故障,追查入侵者的信息等。PS:默认状态下,也会记录一些简单的日志,日志默认大小20M
4624 | 登录成功 4625 | 登录失败 4634 | 注销成功 4647 | 用户启动的注销 4672 | 使用超级用户(如管理员)进行登录 4720 | 创建用户
事件日志分析:对于Windows事件日志分析,不同的EVENT ID代表了不同的意义,摘录一些常见的安全事件的说明:
| 登录类型 | 描述 | 说明 || :------- | ------------------------------- | ------------------------------------------------ || 2 | 交互式登录(Interactive) | 用户在本地进行登录。 || 3 | 网络(Network) | 最常见的情况就是连接到共享文件夹或共享打印机时。 || 4 | 批处理(Batch) | 通常表明某计划任务启动。 || 5 | 服务(Service) | 每种服务都被配置在某个特定的用户账号下运行。 || 7 | 解锁(Unlock) | 屏保解锁。 || 8 | 网络明文(NetworkCleartext) | 登录的密码在网络上是通过明文传输的,如FTP。 || 9 | 新凭证(NewCredentials) | 使用带/Netonly参数的RUNAS命令运行一个程序。 || 10 | 远程交互,(RemoteInteractive) | 通过终端服务、远程桌面或远程协助访问计算机。 || 11 | 缓存交互(CachedInteractive) | 以一个域用户登录而又没有域控制器可用
每个成功登录的事件都会标记一个登录类型,不同登录类型代表不同的方式:
可以利用eventlog事件来查看系统账号登录情况:1. 在**“开始”**菜单上,依次指向**“所有程序”**、**“管理工具”**,然后单击**“事件查看器”**;2. 在事件查看器中,单击**“安全”**,查看安全日志;3. 在安全日志右侧操作中,点击**“筛选当前日志”**,输入事件ID进行筛选。4624 --登录成功 4625 --登录失败 4634 -- 注销成功4647 -- 用户启动的注销 4672 -- 使用超级用户(如管理员)进行登录我们输入事件ID:4625进行日志筛选,发现事件ID:4625,事件数175904,即用户登录失败了175904次,那么这台服务器管理员账号可能遭遇了暴力猜解。
可以利用eventlog事件来查看计算机开关机的记录: 1、在**“开始”**菜单上,依次指向**“所有程序”**、**“管理工具”**,然后单击**“事件查看器”**;2、在事件查看器中,单击**“系统”**,查看系统日志;3、在系统日志右侧操作中,点击**“筛选当前日志”**,输入事件ID进行筛选。其中事件ID 6006 ID6005、 ID 6009就表示不同状态的机器的情况(开关机)。6005 信息 EventLog 事件日志服务已启动。(开机)6006 信息 EventLog 事件日志服务已停止。(关机)6009 信息 EventLog 按ctrl、alt、delete键(非正常)关机我们输入事件ID:6005-6006进行日志筛选,发现了两条在2022/7/6 17:53:51左右的记录,也就是我刚才对系统进行重启的时间。
案列
**使用Log Parser分析日志** 1、查询登录成功的事件登录成功的所有事件: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 TimeGenerated>'2021-06-19 23:32:11' and TimeGenerated<'2018-06-20 23:34:00' and EventID=4624\"提取登录成功的用户名和IP:LogParser.exe -i:EVT –o:DATAGRID \
Log Parser(是微软公司出品的日志分析工具,它功能强大,使用简单,可以分析基于文本的日志文件、XML 文件、CSV(逗号分隔符)文件,以及操作系统的事件日志、注册表、文件系统、Active Directory。它可以像使用 SQL 语句一样查询分析这些数据,甚至可以把分析结果以各种图表的形式展现出来。下载地址:https://www.microsoft.com/en-us/download/details.aspx?id=24659实用示例:https://mlichtenberg.wordpress.com/2011/02/03/log-parser-rocks-more-than-50-examples/
对于GUI环境的Log Parser Lizard,其特点是比较易于使用,甚至不需要记忆繁琐的命令,只需要做好设置,写好基本的SQL语句,就可以直观的得到结果。下载地址:http://www.lizard-labs.com/log_parser_lizard.aspx依赖包:Microsoft .NET Framework 4 .5,下载地址:https://www.microsoft.com/en-us/download/details.aspx?id=42642
Event Log Explorer是一款非常好用的Windows日志分析工具。可用于查看,监视和分析跟事件记录,包括安全,系统,应用程序和其他微软Windows 的记录被记载的事件,其强大的过滤功能可以快速的过滤出有价值的信息。下载地址:https://eventlogxp.com/
日志分析工具
windows日志分析
日志默认存放位置:/var/log/查看日志配置情况:more /etc/rsyslog.conf
比较重要的几个日志:登录失败记录:/var/log/btmp //lastb最后一次登录:/var/log/lastlog //lastlog登录成功记录: /var/log/wtmp //last登录日志记录:/var/log/secure 目前登录用户信息:/var/run/utmp //w、who、users历史命令记录:history仅清理当前用户: history -c
日志分析技巧:1、定位有多少IP在爆破主机的root帐号: grep \"Failed password for root\" /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more定位有哪些IP在爆破:grep \"Failed password\" /var/log/secure|grep -E -o \"(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\"|uniq -c爆破用户名字典是什么?grep \"Failed password\" /var/log/secure|perl -e 'while($_=<>){ /for(.*?) from/; print \"$1\\";}'|uniq -c|sort -nr2、登录成功的IP有哪些: grep \"Accepted \" /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more登录成功的日期、用户名、IP:grep \"Accepted \
软件安装升级卸载日志:~~~yum install gccyum install gcc[root@bogon ~]# more /var/log/yum.log
Linux日志分析
Web访问日志记录了Web服务器接收处理请求及运行时错误等各种原始信息。通过对WEB日志进行的安全分析,不仅可以帮助我们定位攻击者,还可以帮助我们还原攻击路径,找到网站存在的安全漏洞并进行修复。
第一种:确定入侵的时间范围,以此为线索,查找这个时间范围内可疑的日志,进一步排查,最终确定攻击者,还原攻击过程
第二种:攻击者在入侵网站后,通常会留下后门维持权限,以方便再次访问,我们可以找到该文件,并以此为线索来展开分析。
日志分析技巧
Window下,推荐用 EmEditor 进行日志分析,支持大文本,搜索效率还不错。Linux下,使用Shell命令组合查询分析。Shell+Linux命令实现日志分析,一般结合grep、awk等命令等实现了几个常用的日志分析统计技巧。
常用分析工具
1、列出当天访问次数最多的IP命令:cut -d- -f 1 log_file|uniq -c | sort -rn | head -202、查看当天有多少个IP访问:awk '{print $1}' log_file|sort|uniq|wc -l3、查看某一个页面被访问的次数:grep \"/index.php\
Apache日志分析技巧
1、定位攻击源首先访问图片木马的记录,只找到了一条,由于所有访问日志只记录了代理IP,并不能通过IP来还原攻击路径,这时候,可以利用浏览器指纹来定位。2、搜索相关日志记录通过筛选与该浏览器指纹有关的日志记录,可以清晰地看到攻击者的攻击路径。3、对找到的访问日志进行解读,攻击者大致的访问路径如下:A、攻击者访问首页和登录页B、攻击者访问MsgSjlb.aspx和MsgSebd.aspxC、攻击者访问Xzuser.aspxD、攻击者多次POST(怀疑通过这个页面上传模块缺陷)E、攻击者访问了图片木马打开网站,访问Xzuser.aspx,确认攻击者通过该页面的进行文件上传了图片木马,同时,发现网站了存在越权访问漏洞,攻击者访问特定URL,无需登录即可进入后台界面。通过日志分析找到网站的漏洞位置并进行修复。
Web日志分析实例:通过nginx代理转发到内网某服务器,内网服务器某站点目录下被上传了多个图片木马,虽然II7下不能解析,但还是想找出谁通过什么路径上传的。在这里,我们遇到了一个问题:由于设置了代理转发,只记录了代理服务器的ip,并没有记录访问者IP?这时候,如何去识别不同的访问者和攻击源呢?这是管理员日志配置不当的问题,但好在我们可以通过浏览器指纹来定位不同的访问来源,还原攻击路径。
分析案例
统计爬虫:grep -E 'Googlebot|Baiduspider' /www/logs/access.2019-02-23.log | awk '{ print $1 }' | sort | uniq
统计浏览器:cat /www/logs/access.2019-02-23.log | grep -v -E 'MSIE|Firefox|Chrome|Opera|Safari|Gecko|Maxthon' | sort | uniq -c | sort -r -n | head -n 100
IP 统计:grep '23/May/2019' /www/logs/access.2019-02-23.log | awk '{print $1}' | awk -F'.' '{print $1\".\"$2\".\"$3\".\"$4}' | sort | uniq -c | sort -r -n | head -n 10
统计域名:cat /www/logs/access.2019-02-23.log |awk '{print $2}'|sort|uniq -c|sort -rn|more\t
URL 统计:cat /www/logs/access.2019-02-23.log |awk '{print $7}'|sort|uniq -c|sort -rn|more
URL访问量统计:cat /www/logs/access.2019-02-23.log | awk '{print $7}' | egrep '\\?|&' | sort | uniq -c | sort -rn | more
查出运行速度最慢的脚本grep -v 0$ /www/logs/access.2019-02-23.log | awk -F '\\\" ' '{print $4\" \" $1}' web.log | awk '{print $1\" \"$8}' | sort -n -k 1 -r | uniq > /tmp/slow_url.txt
日志统计分析技巧\t
web日志分析
常见的数据库攻击包括弱口令、SQL注入、提升权限、窃取备份等。对数据库日志进行分析,可以发现攻击行为,进一步还原攻击场景及追溯攻击源。
general query log能记录成功连接和每次执行的查询,我们可以将它用作安全布防的一部分,为故障分析或黑客事件后的调查提供依据。
1、查看log配置信息show variables like '%general%';2、开启日志13;SET GLOBAL general_log = 'On';3、指定日志文件路径#SET GLOBAL general_log_file = '/var/lib/mysql/mysql.log';
登录成功/失败我们来做个简单的测试吧,使用我以前自己开发的弱口令工具来扫一下,字典设置比较小,2个用户,4个密码,共8组这个差别在于,不同的数据库连接工具,它在连接数据库初始化的过程中是不同的。通过这样的差别,我们可以简单判断出用户是通过连接数据库的方式。另外,不管你是爆破工具、Navicat for MySQL、还是命令行,登录失败都是一样的记录。
#有哪些IP在爆破?grep \"Access denied\" mysql.log |cut -d \"'\" -f4|uniq -c|sort -nr 27 192.168.204.1#爆破用户名字典都有哪些?grep \"Access denied\" mysql.log |cut -d \"'\" -f2|uniq -c|sort -nr
在日志分析中,特别需要注意一些敏感的操作行为,比如删表、备库,读写文件等。关键词: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提权痕迹13;检查目录是否有异常文件mysql\\lib\\plugin c:/windows/system32/wbem/mof/检查函数是否删除`select * from mysql.func`3、结合web日志分析。
SQL注入入侵痕迹在利用SQL注入漏洞的过程中,我们会尝试利用sqlmap的--os-shell参数取得shell,如操作不慎,可能留下一些sqlmap创建的临时表和自定义函数。我们先来看一下sqlmap os-shell参数的用法以及原理:1.构造一个SQL注入点,开启Burp监听8080端口2.创建了一个临时文件tmpbwyov.php,通过访问这个木马执行系统命令,并返回到页面展示3.创建了一个临时表sqlmapoutput,调用存储过程执行系统命令将数据写入临时表,然后取临时表中的数据展示到前端。
mysql日志分析
常见的数据库攻击包括弱口令、SQL注入、提升权限、窃取备份等。对数据库日志进行分析,可以发现攻击行为,进一步还原攻击场景及追溯攻击源
首先,MSSQL数据库应启用日志记录功能,默认配置仅限失败的登录,需修改为失败和成功的登录,这样就可以对用户登录进行审核。登录到SQL Server Management Studio,依次点击 管理--SQL Server 日志双击日志存档文件即可打开日志文件查看器,并可以对日志进行筛选或者导出等操作。另外,MSSQ提供了一个工具SQL Server Profiler ,方便查找和发现SQL执行的效率和语句问题。日志分析案例:在日志文件查看器中,选择筛选,在筛选设置中源设置为“登录”,应用筛选器,确定。筛选后的结果,可以很清晰的识别用户登录信息,记录内容包括用户登录时间、登录是否成功、登录使用的账号以及远程登录时用户使用的IP地址。
SQL注入入侵痕迹:1、构造一个SQL注入点,开启Burp监听8080端口创建了一个临时表sqlmapoutput,调用存储过程执行系统命令将数据写入临时表,然后取临时表中的数据展示到前端通过查看数据库中最近新建的表的结构和内容,可以判断是否发生过sql注入漏洞攻击事件。检查方法:1、数据库表检查2、检查xp_cmdshell等存储过程xp_cmdshell在mssql2005之后的版本中是默认禁止的,查看xp_cmdshell是否被启用。`Exec master.dbo.xp_cmdshell 'whoami'3、需要结合web日志,通过查看日志文件的大小以及审计日志文件中的内容,可以判断是否发生过sql注入漏洞攻击事件。
mssql日志分析
了解攻击者攻击时间,IP,电脑浏览器信息
了解攻击者使用了何种手段对网站进行攻击
了解攻击者成功后做了哪些修改和操作
看日志有什么用
大多数记录GET请求记录和错误日志,基本不会记录POST或者PUT等数据请求日志
日志从哪里去看
多了文件,首页跳转到别的网站,数据库的数据遭到了改动
客户如何知道自己网站被入侵的?
不要删除黑客木马,以及所有应用都不要去动
建议将其容器暂时性关闭,以防止黑客进行下一步攻击
网站被入侵后第一件事应该做什么
特称库很全,无需安装下载即用
D盾
web网页代码
火绒剑
基于系统的远控代码
如何查看木马是否存在
木马产生的时间,以及所在目录,以及命名方式
sts2
网站框架
网站容器
文件上传,sql注入,未授权访问
网站功能
sqlsever,mysql,3389
端口方面去探测
通过去看被入侵的网站框架,当前容器,网站功能,去判断黑客很有可能是从哪个位置进入的。
溯源过程中注意哪些问题
日志溯源
日志分析
0 条评论
下一页