日志分析(偏linux)

在取证这一块,通常的就是日志取证,技术要求更高的还有内存取证等
日志分析包括:系统日志分析、中间件日志分析、数据库日志分析

通常,系统自带的日志数量庞大,一般都挑重点分析

windows日志分析

windows事件日志

  • windows事件日志包括系统,安全,应用程序记录
  • 每个事件包含9个元素:时间、类型、用户、计算机、事件ID、来源、类别、描述、数据
  • 存放路径:C:\windows\system32\winevt\logs\

查看方法:开始->运行->输入eventvwr.msc打开事件查看器
事件查看器把日志分为两大类:windows日志、应用程序日志和服务日志

windows日志事件类型:应用程序、安全、setup、系统、forwarded event

应用程序日志:

  • 包含应用程序或系统程序记录的事件,主要记录程序运行方面的事件
  • 日志默认位置:%SystemRoot%\System32\Winevt\Logs\Applocation.evtx

系统日志:

  • 记录操作系统组件产生的事件,包括驱动程序、系统组件、应用程序崩溃以及数据丢失错误等
  • 日志默认位置:%SystemRoot%\System32\Winevt\Logs\System.evtx

安全日志:(重点)

  • 包含安全性相关的事件,如用户权限变更、登录和注销、文件及文件夹访问等信息
  • 日志默认位置:%SystemRoot\System32\Winevt\Logs\Security.evtx

常见事件ID:
在这里插入图片描述每个成功登录的事件都会标记一个登录类型,不同登录类型代表不同的方式
在这里插入图片描述

常见事件日志分析

常见windows事件:

  1. 用户登录/注销
  2. 远程访问事件(RDP)
  3. 无线网络接入
  4. USB介质移动
用户登录、注销

比如现在有一个事件,它有如下信息:

EventID=4624(登录成功)
登录类型:2
账户名称:administrator
记录时间:2020/2/7 xx:xx:xx
事件ID:4624
计算机:win2008

就代表以本地交互式登录本地主机,且登录成功

无线网络接入
  • 事件ID:10000网络已连接、10001网络已断开
  • windows事件日志位置:Microsoft-Windows-NetworkProfile-Operational
  • 系统关联过的wifi\vpn都有记录
移动设备使用
  • 事件ID:20001&20003(驱动安装,属于系统日志)、4663移动接入成功、4656设备接入失败
  • 注册表:UserPnP\DeviceInnstall
  • win7及以上:C:\windows\INF\setupapi.dev.log

Linux日志分析

分类:

  1. 内核及系统日志:由系统服务rsyslog统一进行管理
  2. 用户日志:记录系统用户登录及退出系统的相关信息
  3. 程序日志:由相应的应用程序进行独立管理。如web,ftp服务

日志默认保存位置:/var/log/及其子目录

系统日志基础

日志优先级:
在这里插入图片描述日志类型:
在这里插入图片描述常见日志文件
在这里插入图片描述
lastlog,btmp,ytmp,wtmp是二进制文件,需要用命令查看
windows查看当前登录操作系统的用户:query user
ac 用户名查看用户登录的总时长

日志分析实例

分析安全日志:/var/log/secure

可以看到在日志文件记录登录失败有明显的Failed password for root在这里插入图片描述

定位有多少IP在爆破主机的root账号:
grep "Failed password for root" /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more

grep "Failed password for root"即筛选;|前一个命令输出为后一个命令输入;awk '{print $n}'以空格为分割符输出第n个字符串,比如n=1时输出Aug,n=2输出9,-F命令指定以什么分隔,默认空格;sort为排序;uniq去重;-c显示有多少个重复的;sort -n以数量排序,加r倒序;more查看文本,和cat比能翻页

中间件日志分析

APACHE

apache日志存放位置:

  • windows:apache安装目录的logs子目录
  • linux默认安装下在/var/log/httpd
    access_log为访问日志;error_log为错误日志.
    access_log和error_log差不多,就只举例access_log就行了

access_log内容:
access_log
200为状态码,1220为数据包长度,重点还是看图
/etc/httpd/conf/httpd_conf配置文件里写好了apache日志文件的格式

  • 查看ip:cat access_log | awk '{print $1}'
  • 显示指定时间以后的日志:cat access_log | awk '$4>="[1/Jan/2020:00:00:00"'
  • 查看指定IP行为:cat access_log | grep 192.168.3.3 | awk '{print $1"\t"$8}' |sort |uniq -c |sort -nr |less
  • 查看最近访问量降序排列文件:cat access_log | tail 10000|awk '{print $7}'| sort |uniq -c |sort -nr|less

IIS

日志文件默认位置:

  • IIS7.5:%SystemDrive%\inetpub\logs\LogFiles
  • IIS6.0:%systemroot%\system32\logfiles\w3svc1\

IIS日志常用字段:
IIS日志字段

IIS其实和apache差不多,只是格式有所区别。

mysql日志

mysql日志主要用到的有三种,错误日志、查询日志、慢查询日志

  • 错误日志默认开启,对现阶段没啥用
  • 查询日志(最有用的)记录增删改查信息,由于信息量大默认关闭,show global variables查看查询日志位置以及是否开启,如果关闭可以在my.cnf中开启,但是影响Mysql性能,一般只在开发环境开启
  • 慢查询日志
  • 慢查询日志是对调试程序最有用的日志,慢查询默认记录超过10s的查询语句,一般情况正常的web应用不会出现大量慢查询日志,所以最好开启
  • show glabal variables like '%slow%';查看慢查询日志位置及是否开启
    对某些时间盲注贼有用

判断网站是否被入侵过

如果实在不会用linux命令行查找文本相关内容,那完全可以复制到windows然后ctrl+F嘛。查找入侵痕迹也很简单,比如sql在日志文件查看%20和单引号等在sql有关键作用的语句,前提是对方没有删掉相关日志。

用户下载数据库的记录:在这里插入图片描述
可以看到来自甘肃省庆阳市电信(60.165.238.228)的朋友试图下载powereasy2006.mdb的数据库,但是状态码404没有找到界面,2为找不到指定文件
目录爆破的记录:
目录爆破日志
文件上传:
文件上传日志

所以还是前面代码审计那一套,别人搞什么我们就看什么。

  • select,insert,delete:查看sql注入
  • .mdb查看用户下载mdb数据库
  • upfile,upload,file:查找是否被挂木马
  • post:上传信息到服务器
  • 目录爆破:404多次重复
  • 5
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值