流量,日志分析

日志

日志文件是Windows系统中一个比较特殊的文件,它记录着Windows系统中所发生的一切,如各种系统服务的启动、运行、关闭等信息。 Windows日志包括应用程序、安全、系统等几个部分,它的存放路径是“%systemroot%system32config”,应用程序日志、安全日志和系统日志对应的文件名为AppEvent.evt、SecEvent.evt和SysEvent.evt。这些文件受到“Event Log(事件记录)”服务的保护不能被删除,但可以被清空。

分类

           web日志

          windows日志

           linux日志

          mysql日志

          mssql日志

web日志

Web访问日志记录了Web服务器接收处理请求及运行时错误等各种原始信息。通过对WEB日志进行的安全分析,不仅可以帮助我们定位攻击者,还可以帮助我们还原攻击路径,找到网站存在的安全漏洞并进行修复。

主要有两种:1.Apache的NCSA日志格式(NCSA分为NCSA普通日志格式(CLF)NCSA扩展日志格式(ECLF)) 2.IIS的W3C日志格式

如何保护

1. 修改日志文件存放目录

  Windows日志文件默认路径是“%systemroot%system32config”,我们可以通过修改注册表来改变它的存储目录,来增强对日志的保护。
  点击“开始→运行”,在对话框中输入“Regedit”,回车后弹出注册表编辑器,依次展开 “HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Eventlog”后,下面的 Application、Security、System几个子项分别对应应用程序日志、安全日志、系统日志。
   笔者以应用程序日志为例,将其转移到“d:/cce”目录下。选中Application子项,在右栏中找到File键,其键值为应用程序日志文件的路径“%SystemRoot%system32configAppEvent.Evt”,将它修改为“d:cceAppEvent.Evt”。接着在D 盘新建“CCE”目录,将“AppEvent.Evt”拷贝到该目录下,重新启动系统,完成应用程序日志文件存放目录的修改。其它类型日志文件路径修改方法相同,只是在不同的子项下操作。
  2. 设置文件访问权限

  修改了日志文件的存放目录后,日志还是可以被清空的,下面通过修改日志文件访问权限,防止这种事情发生,前提是Windows系统要采用NTFS文件系统格式。

   右键点击D盘的CCE目录,选择“属性”,切换到“安全”标签页后,首先取消“允许将来自父系的可继承权限传播给该对象”选项勾选。接着在账号列表框中选中“Everyone”账号,只给它赋予“读取”权限;然后点击“添加”按钮,将“System”账号添加到账号列表框中,赋予除“完全控制”和“修改”以外的所有权限,最后点击“确定”按钮。这样当用户清除Windows日志时,就会弹出错误对话框。
 

我们的保护理念就是让它变得更严密,不被轻松的绕过去。

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

方向

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、去掉搜索引擎统计当天的页面:
awk '{print $12,$1}' log_file | grep ^\"Mozilla | awk '{print $2}' |sort | uniq | wc -l

8、查看2018年6月21日14时这一个小时内有多少IP访问:
awk '{print $4,$1}' log_file | grep 21/Jun/2018:14 | awk '{print $2}'| sort | uniq | wc -l

 windows日志

Windows系统日志是记录系统中硬件、软件和系统问题的信息,同时还可以监视系统中发生的事件。用户可以通过它来检查错误发生的原因,或者寻找受到攻击时攻击者留下的痕迹。

分为三种:

     系统日志

记录操作系统组件产生的事件,主要包括驱动程序、系统组件和应用软件的崩溃以及数据丢失错误等。系统日志中记录的时间类型由Windows NT/2000操作系统预先定义。

默认位置: %SystemRoot%\System32\Winevt\Logs\System.evtx

     应用程序日志

包含由应用程序或系统程序记录的事件,主要记录程序运行方面的事件,例如数据库程序可以在应用程序日志中记录文件错误,程序开发人员可以自行决定监视哪些事件。如果某个应用程序出现崩溃情况,那么我们可以从程序事件日志中找到相应的记录,也许会有助于你解决问题。

默认位置:%SystemRoot%\System32\Winevt\Logs\Application.evtx

    安全日志

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

默认位置:%SystemRoot%\System32\Winevt\Logs\Security.evtx

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

对于Windows事件日志分析,不同的EVENT ID代表了不同的意义

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

 

每个成功登录的事件都会标记一个登录类型,不同登录类型代表不同的方式:

登录类型描述说明
2交互式登录(Interactive)用户在本地进行登录。
3网络(Network)最常见的情况就是连接到共享文件夹或共享打印机时。
4批处理(Batch)通常表明某计划任务启动。
5服务(Service)每种服务都被配置在某个特定的用户账号下运行。
7解锁(Unlock)屏保解锁。
8网络明文(NetworkCleartext)登录的密码在网络上是通过明文传输的,如FTP。
9新凭证(NewCredentials)使用带/Netonly参数的RUNAS命令运行一个程序。
10远程交互,(RemoteInteractive)通过终端服务、远程桌面或远程协助访问计算机。
11缓存交互(CachedInteractive)以一个域用户登录而又没有域控制器可用

 我们只是简单的列举几种,详细的可以去看微软官方网站

linux日志

Linux系统拥有非常灵活和强大的日志功能,可以保存几乎所有的操作记录,并可以从中检索出我们需要的信息。 本文简介一下Linux系统日志及日志分析技巧。

日志默认存放位置:/var/log/      查看日志配置情况:more /etc/rsyslog.conf

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\n";}'|uniq -c|sort -nr

2、登录成功的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}' 

3、增加一个用户kali日志:
Jul 10 00:12:15 localhost useradd[2382]: new group: name=kali, GID=1001
Jul 10 00:12:15 localhost useradd[2382]: new user: name=kali, UID=1001, GID=1001, home=/home/kali
, shell=/bin/bash
Jul 10 00:12:58 localhost passwd: pam_unix(passwd:chauthtok): password changed for kali
#grep "useradd" /var/log/secure 

4、删除用户kali日志:
Jul 10 00:14:17 localhost userdel[2393]: delete user 'kali'
Jul 10 00:14:17 localhost userdel[2393]: removed group 'kali' owned by 'kali'
Jul 10 00:14:17 localhost userdel[2393]: removed shadow group 'kali' owned by 'kali'
# grep "userdel" /var/log/secure

5、su切换用户:
Jul 10 00:38:13 localhost su: pam_unix(su-l:session): session opened for user good by root(uid=0)

sudo授权执行:
sudo -l
Jul 10 00:43:09 localhost sudo:    good : TTY=pts/4 ; PWD=/home/good ; USER=root ; COMMAND=/sbin/shutdown -r now

MySQL日志

general query log能记录成功连接和每次执行的查询,我们可以将它用作安全布防的一部分,为故障分析或黑客事件后的调查提供依据

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

mssql日志

MSSQL数据库应启用日志记录功能,默认配置仅限失败的登录,需修改为失败和成功的登录,这样就可以对用户登录进行审核。

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

攻防世界-流量分析1

 wireshark打开,很多http和tcp包

追踪流看看,发现URL编码,我们进行解码

 

可以看到是一个ssrf和sql的时间注入

对flag读取第一个字符转换为ascii码,如果和45相等,就延时三秒,就是我们逐个进行读取

那我们要先找到被延迟三秒的包,http.time>=3

 

 发现还有十四个,我们就要将它解码还原(请求的参数)

[陇剑杯 2021]简单日志分析(问1)

某应用程序被攻击,请分析日志后作答:
黑客攻击的参数是______。(如有字母请全部使用小写)

 

 看到状态为500,和其他的不一样且发现参数是user,我们将其解码(base64)

[陇剑杯 2021]简单日志分析(问2)

某应用程序被攻击,请分析日志后作答:
黑客查看的秘密文件的绝对路径是_____________。

接上面的解码内容

 

带斜杆的就是路径了

绝对路径为

/Th4s_IS_VERY_Import_Fi1e

[陇剑杯 2021]简单日志分析(问3)

某应用程序被攻击,请分析日志后作答:
黑客反弹shell的ip和端口是_____________。

解码看到结果

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值