- 網(wǎng)絡(luò)安全應(yīng)急響應(yīng)技術(shù)實(shí)戰(zhàn)指南
- 奇安信安服團(tuán)隊(duì)
- 3964字
- 2021-01-05 18:11:29
2.5 日志分析
1.Windows系統(tǒng)
1)日志概述
在Windows系統(tǒng)中,日志文件包括:系統(tǒng)日志、安全性日志及應(yīng)用程序日志,對(duì)于應(yīng)急響應(yīng)工程師來說這三類日志需要熟練掌握,其位置如下。
在Windows 2000 專業(yè)版/Windows XP/Windows Server 2003(注意日志文件的后綴名是evt)系統(tǒng)中:
系統(tǒng)日志的位置為C:\WINDOWS\System32\config\SysEvent.evt;
安全性日志的位置為C:\WINDOWS\System32\config\SecEvent.evt;
應(yīng)用程序日志的位置為C:\WINNT\System32\config\AppEvent.evt。
在Windows Vista/Windows 7/Windows 8/Windows 10/Windows Server 2008及以上版本系統(tǒng)中:
系統(tǒng)日志的位置為%SystemRoot%\System32\Winevt\Logs\System.evtx;
安全性日志的位置為%SystemRoot%\System32\Winevt\Logs\Security.evtx;
應(yīng)用程序日志的位置為%SystemRoot%\System32\Winevt\Logs\Application.evtx。
(1)系統(tǒng)日志。
系統(tǒng)日志主要是指Windows系統(tǒng)中的各個(gè)組件在運(yùn)行中產(chǎn)生的各種事件。這些事件一般可以分為:系統(tǒng)中各種驅(qū)動(dòng)程序在運(yùn)行中出現(xiàn)的重大問題、操作系統(tǒng)的多種組件在運(yùn)行中出現(xiàn)的重大問題及應(yīng)用軟件在運(yùn)行中出現(xiàn)的重大問題等。這些重大問題主要包括重要數(shù)據(jù)的丟失、錯(cuò)誤,以及系統(tǒng)產(chǎn)生的崩潰行為等。事件ID為8033的系統(tǒng)日志詳情如圖2.5.1所示。

圖2.5.1 事件ID為8033的系統(tǒng)日志詳情
(2)安全性日志。
安全性日志與系統(tǒng)日志不同,安全性日志主要記錄了各種與安全相關(guān)的事件。構(gòu)成該日志的內(nèi)容主要包括:各種登錄與退出系統(tǒng)的成功或不成功的信息;對(duì)系統(tǒng)中各種重要資源進(jìn)行的各種操作,如對(duì)系統(tǒng)文件進(jìn)行的創(chuàng)建、刪除、更改等操作。事件ID為513的安全性日志詳情如圖2.5.2所示。(注意:由于系統(tǒng)版本不同,部分“安全性”日志也可寫為“安全”日志。)

圖2.5.2 事件ID為513的安全性日志詳情
(3)應(yīng)用程序日志。
應(yīng)用程序日志主要記錄各種應(yīng)用程序所產(chǎn)生的各類事件。例如,系統(tǒng)中SQL Server數(shù)據(jù)庫(kù)程序在受到暴力破解攻擊時(shí),日志中會(huì)有相關(guān)記錄,該記錄中包含與對(duì)應(yīng)事件相關(guān)的詳細(xì)信息。事件ID為18456的應(yīng)用程序日志詳情如圖2.5.3所示。
除了上述日志,Windows系統(tǒng)還有其他的日志,在進(jìn)行應(yīng)急響應(yīng)和溯源時(shí)也可能用到。
在Windows 2000專業(yè)版/Windows XP/Windows Server 2003系統(tǒng)中,只有應(yīng)用程序、安全性及系統(tǒng)三類日志,如圖2.5.4所示。
在Windows 7/Windows 8/Windows 10/Windows Server 2008/Windows Server 2012等系統(tǒng)中進(jìn)行應(yīng)急響應(yīng)時(shí),除了會(huì)用到應(yīng)用程序、安全性及系統(tǒng)三類日志,還會(huì)用到其他日志,如Dhcp、Bits-Client等,這些日志存儲(chǔ)在“%SystemRoot%\ System32\Winevt\Logs”目錄下,如圖2.5.5所示。

圖2.5.3 事件ID為18456的應(yīng)用程序日志詳情

圖2.5.4 應(yīng)用程序、安全性及系統(tǒng)三類日志

圖2.5.5 其他日志
還可以在【運(yùn)行】對(duì)話框中輸入【eventvwr】命令,打開【事件查看器】窗口,查看相關(guān)的日志,如圖2.5.6所示。

圖2.5.6 【事件查看器】窗口
在應(yīng)急響應(yīng)中還經(jīng)常使用PowerShell日志,圖2.5.7是典型的PowerShell日志詳細(xì)情況。

圖2.5.7 典型的PowerShell日志詳細(xì)情況
2)日志常用事件ID
Windows系統(tǒng)中的每個(gè)事件都有其相應(yīng)的事件ID,表2.5.1是應(yīng)急響應(yīng)中常用的事件ID,其中舊版本指Windows 2000 專業(yè)版/Windows XP/Windows Server 2003,新版本指Windows Vista/Windows 7/Windows 8/Windows 10/Windows Server 2008等。
表2.5.1 應(yīng)急響應(yīng)中常用的事件ID

成功/失敗登錄事件提供的有用信息之一是用戶/進(jìn)程嘗試登錄(登錄類型),Windows系統(tǒng)將此信息顯示為數(shù)字,表2.5.2是數(shù)字及其對(duì)應(yīng)說明。
表2.5.2 數(shù)字及其對(duì)應(yīng)說明

表2.5.3是登錄相關(guān)日志事件ID對(duì)應(yīng)的描述。
表2.5.3 登錄相關(guān)日志事件ID對(duì)應(yīng)的描述

表2.5.4是常用啟動(dòng)事件相關(guān)日志事件ID對(duì)應(yīng)的描述。
表2.5.4 常用啟動(dòng)事件相關(guān)日志事件ID對(duì)應(yīng)的描述

表2.5.5是日志被清除相關(guān)日志事件ID對(duì)應(yīng)的描述。
表2.5.5 日志被清除相關(guān)日志事件ID對(duì)應(yīng)的描述

3)日志分析
日志分析就是在眾多的日志中找出自己需要的日志,一般Windows系統(tǒng)中日志的分析主要有以下幾種方法。
(1)通過內(nèi)置的日志篩選器進(jìn)行分析。
使用日志篩選器可以對(duì)記錄時(shí)間、事件級(jí)別、任務(wù)類別、關(guān)鍵字等信息進(jìn)行篩選,如圖2.5.8所示。

圖2.5.8 日志篩選器
(2)通過PowerShell對(duì)日志進(jìn)行分析。
在使用PowerShell進(jìn)行日志分析時(shí),需要有管理員權(quán)限才可以對(duì)日志進(jìn)行操作。
通過PowerShell進(jìn)行查詢最常用的兩個(gè)命令是【Get-EventLog】和【Get-WinEvent】,兩者的區(qū)別是【Get-EventLog】只獲取傳統(tǒng)的事件日志,而【Get-WinEvent】是從傳統(tǒng)的事件日志(如系統(tǒng)日志和應(yīng)用程序日志)和新Windows事件日志技術(shù)生成的事件日志中獲取事件,其還會(huì)獲取Windows事件跟蹤(ETW)生成的日志文件中的事件。注意,【Get-WinEvent】需要Windows Vista、Windows Server 2008或更高版本的Windows系統(tǒng),還需要Microsoft .NET Framework 3.5及以上的版本。總體來說,【Get-WinEvent】功能更強(qiáng)大,但是對(duì)系統(tǒng)和.NET的版本有更多要求。
以下列舉部分實(shí)例,讀者可以根據(jù)語(yǔ)法及相關(guān)幫助文檔編寫更多功能。
使用【Get-EventLog Security-InstanceId 4625】命令,可獲取安全性日志下事件ID為4625(失敗登錄)的所有日志信息,如圖2.5.9所示。
注意,使用【Get-WinEvent】和【Get-EventLog】命令的查詢語(yǔ)句是不同的。使用【Get-WinEvent-FilterHashtable @{LogName='Security';ID='4625'}】命令,也可獲取安全性日志下事件ID為4625的所有日志信息,如圖2.5.10所示。

圖2.5.9 日志篩選

圖2.5.10 日志篩選
通過設(shè)置起始時(shí)間和終止時(shí)間變量,可查詢指定時(shí)間內(nèi)的事件。先設(shè)置起始時(shí)間變量StartTime和終止時(shí)間變量EndTime,再使用【Get-WinEvent】命令,可查詢這段時(shí)間內(nèi)的系統(tǒng)日志情況,執(zhí)行結(jié)果如圖2.5.11所示。

圖2.5.11 執(zhí)行結(jié)果
通過邏輯連接符可對(duì)多種指定日志ID進(jìn)行聯(lián)合查詢。例如,使用【Get-WinEvent-LogName system|Where-Object {$_.ID-eq "12"-or $_.ID-eq "13"}】命令,可對(duì)Windows啟動(dòng)和關(guān)閉日志進(jìn)行查詢,如圖2.5.12所示。

圖2.5.12 聯(lián)合查詢
(3)通過相關(guān)的日志工具進(jìn)行分析查詢。以下列舉其中幾個(gè)常用工具。
FullEventLogView:FullEventLogView是一個(gè)輕量級(jí)的日志檢索工具,其是綠色版、免安裝的,檢索速度比Windows系統(tǒng)自帶的檢索工具要快,展示效果更好,如圖2.5.13所示。

圖2.5.13 FullEventLogView工具
Event Log Explorer:Event Log Explorer是一個(gè)檢測(cè)系統(tǒng)安全的軟件,可查看、監(jiān)視和分析事件記錄,包括安全性、系統(tǒng)、應(yīng)用程序和其Windows系統(tǒng)事件記錄,如圖2.5.14所示。

圖2.5.14 Event Log Explorer工具
Log Parser:Log Parser是微軟公司推出的日志分析工具,其功能強(qiáng)大,使用簡(jiǎn)單,可以分析基于文本的日志文件、XML文件、CSV(逗號(hào)分隔符)文件,以及操作系統(tǒng)的事件日志、注冊(cè)表、文件系統(tǒng)、Active Directory等。其可以像使用 SQL 語(yǔ)句一樣查詢分析數(shù)據(jù),甚至可以把分析結(jié)果以各種圖表的形式展現(xiàn)出來。
查看登錄成功的所有事件:使用【LogParser.exe-i:EVT-o:DATAGRID "SELECT * FROM C:\Security.evtx where EventID=4624"】命令,可查看事件ID為4624,即登錄成功的所有事件,如圖2.5.15所示。

圖2.5.15 使用Log Parser工具查看登錄成功的所有事件
指定登錄時(shí)間范圍的事件:使用【LogParser.exe-i:EVT-o:DATAGRID "SELECT * FROM C:\Security.evtx where TimeGenerated>'2018-01-01 23:59:59' and TimeGenerated<'2019-06-01 23:59:59' and EventID=4625"】命令,可查看從2018年1月1日23時(shí)59分59秒到2019年6月1日23時(shí)59分59秒,事件ID為4625,即登錄失敗的所有事件,如圖2.5.16所示。

圖2.5.16 使用Log Parser工具查看指定登錄時(shí)間范圍的事件
提取登錄成功用戶的用戶名和IP地址:使用【LogParser.exe-i:EVT-o:DATAGRID "SELECT EXTRACT_TOKEN(Message,13,' ') as EventType,TimeGenerated as LoginTime,EXTRACT_TOKEN(Strings,5,'|') as Username,EXTRACT_TOKEN (Message,38,' ') as Loginip FROM c:\Security.evtx where EventID=4624"】命令,可查看事件ID為4624(即登錄成功的用戶)的用戶名和IP信息,如圖2.5.17所示。

圖2.5.17 使用Log Parser工具提取登錄成功用戶的用戶名和IP地址
查看系統(tǒng)歷史開關(guān)機(jī)記錄:使用【LogParser.exe-i:EVT-o:DATAGRID "SELECT TimeGenerated,EventID,Message FROM C:\System.evtx where EventID=12 or EventID=13"】命令,可查看系統(tǒng)歷史開關(guān)機(jī)記錄,如圖2.5.18所示。

圖2.5.18 使用Log Parser工具查看系統(tǒng)歷史開關(guān)機(jī)記錄
2.Linux系統(tǒng)
1)日志概述
Linux系統(tǒng)中的日志一般存放在目錄“/var/log/”下,具體的日志功能如下。
/var/log/wtmp:記錄登錄進(jìn)入、退出、數(shù)據(jù)交換、關(guān)機(jī)和重啟,即last。
/var/log/cron:記錄與定時(shí)任務(wù)相關(guān)的日志信息。
/var/log/messages:記錄系統(tǒng)啟動(dòng)后的信息和錯(cuò)誤日志。
/var/log/apache2/access.log:記錄Apache的訪問日志。
/var/log/auth.log:記錄系統(tǒng)授權(quán)信息,包括用戶登錄和使用的權(quán)限機(jī)制等。
/var/log/userlog:記錄所有等級(jí)用戶信息的日志。
/var/log/xferlog(vsftpd.log):記錄Linux FTP日志。
/var/log/lastlog:記錄登錄的用戶,可以使用命令lastlog查看。
/var/log/secure:記錄大多數(shù)應(yīng)用輸入的賬號(hào)與密碼,以及登錄成功與否。
/var/log/faillog:記錄登錄系統(tǒng)不成功的賬號(hào)信息。
通過查看相關(guān)的日志文件可以獲取相關(guān)的日志信息。以下列舉常用的日志使用方法。
使用【cat/var/log/cron】命令,可查看任務(wù)計(jì)劃相關(guān)的操作日志,如圖2.5.19所示。

圖2.5.19 查看任務(wù)計(jì)劃相關(guān)的操作日志
使用【cat/var/log/messages】命令,可查看整體系統(tǒng)信息,其中也記錄了某個(gè)用戶切換到root權(quán)限的日志,如圖2.5.20所示。
使用【cat/var/log/secure】命令,可查看驗(yàn)證和授權(quán)方面的信息,如sshd會(huì)將所有信息(包括失敗登錄)記錄在這里,如圖2.5.21所示。

圖2.5.20 查看整體系統(tǒng)信息

圖2.5.21 查看驗(yàn)證和授權(quán)方面的信息
使用【ls-alt/var/spool/mail】命令,可查看郵件相關(guān)日志記錄文件,如圖2.5.22所示。

圖2.5.22 查看郵件相關(guān)日志記錄文件
使用【cat/var/spool/mail/root】命令,可發(fā)現(xiàn)針對(duì)80端口的攻擊行為(當(dāng)Web訪問異常時(shí),及時(shí)向當(dāng)前系統(tǒng)配置的郵箱地址發(fā)送報(bào)警郵件),如圖2.5.23所示。

圖2.5.23 報(bào)警郵件日志查看
2)日志分析
對(duì)于Linux系統(tǒng)日志的分析主要使用【grep】、【sed】、【sort】和【awk】等命令。常用查詢?nèi)罩久罴肮δ苋缦隆?/p>
【tail-n 10 test.log】命令:查詢最后10行的日志。
【tail-n+10 test.log】命令:查詢10行之后的所有日志。
【head-n 10 test.log】命令:查詢頭10行的日志。
【head-n-10 test.log】命令:查詢除了最后10行的其他所有日志。
在*.log日志文件中統(tǒng)計(jì)獨(dú)立IP地址個(gè)數(shù)的命令如下。
【awk '{print $1}' test.log|sort|uniq|wc-l】
【awk '{print $1}'/access.log|sort|uniq-c|sort-nr|head-10】
查找指定時(shí)間段日志的命令如下。
【sed-n '/2014-12-17 16:17:20/,/2014-12-17 16:17:36/p' test.log】
【grep '2014-12-17 16:17:20' test.log】
定位有多少IP地址在暴力破解主機(jī)root賬號(hào)的命令如下。
【cat/var/log/secure |awk '/Accepted/{print $(NF-3)}'|sort|uniq-c|awk '{print $2"="$1;}'(CentOS)】
查看登錄成功的IP地址的命令如下。
【cat/var/log/auth.log |awk '/Failed/{print $(NF-3)}'|sort|uniq-c|awk '{print $2"="$1;}' ) (ubuntu)】
查看登錄成功日期、用戶名、IP地址的命令如下。
【grep "Accepted "/var/log/secure|awk '{print $1,$2,$3,$9,$11}'】
3.其他日志
除了可對(duì)Windows和Linux系統(tǒng)日志進(jìn)行分析,還可對(duì)Web日志、中間件日志、數(shù)據(jù)庫(kù)日志、FTP日志等進(jìn)行分析。日志分析的方法一般是結(jié)合系統(tǒng)命令及正則表達(dá)式,或者利用相關(guān)成熟的工具進(jìn)行分析,分析的目的是提取相關(guān)特征規(guī)則,對(duì)攻擊者的行為進(jìn)行分析。
需要重點(diǎn)排查的其他日志常見位置如下。
1)IIS日志的位置
%SystemDrive%\inetpub\logs\LogFiles;
%SystemRoot%\System32\LogFiles\W3SVC1;
%SystemDrive%\inetpub\logs\LogFiles\W3SVC1;
%SystemDrive%\Windows\System32\LogFiles\HTTPERR。
2)Apache日志的位置
/var/log/httpd/access.log;
/var/log/apache/access.log;
/var/log/apache2/access.log;
/var/log/httpd-access.log。
3)Nginx日志的位置
默認(rèn)在/usr/local/nginx/logs目錄下,access.log代表訪問日志,error.log代表錯(cuò)誤日志。若沒有在默認(rèn)路徑下,則可以到nginx.conf配置文件中查找。
4)Tomcat日志的位置
默認(rèn)在TOMCAT_HOME/logs/目錄下,有catalina.out、catalina.YYYY-MM-DD.log、localhost.YYYY-MM-DD.log、localhost_access_log.YYYY-MM-DD.txt、host-manager.YYYY-MM-DD.log、manager.YYYY-MM-DD.log等幾類日志。
5)Vsftp日志的位置
在默認(rèn)情況下,Vsftp 不單獨(dú)記錄日志,而是統(tǒng)一存放到/var/log/messages中。但是可以通過編輯/etc/vsftp/vsftp.conf配置文件來啟用單獨(dú)的日志。在日志啟用后,可以訪問vsftpd.log和xferlog。
6)WebLogic日志的位置
在默認(rèn)情況下,WebLogic有三種日志,分別是access log、server log和domain log。
access log的位置是$MW_HOME\user_projects\domains\<domain_name>\servers\ <server_name>\logs\access.log。
server log的位置是$MW_HOME\user_projects\domains\<domain_name>\servers\ <server_name>\logs\<server_name>.log。
domain log的位置是$MW_HOME\user_projects\domains\<domain_name>\servers\ <adminserver_name>\logs\<domain_name>.log。
7)數(shù)據(jù)庫(kù)日志
(1)Oracle數(shù)據(jù)庫(kù)查看方法如下。
使用【select * from v$logfile】命令,可查詢?nèi)罩韭窂健T谀J(rèn)情況下,日志文件記錄在$ORACLE/rdbms/log目錄下。使用【select * from v$sql】命令,可查詢之前使用過的SQL。
(2)MySQL數(shù)據(jù)庫(kù)查看方法如下。
使用【show variables like 'log_%'】命令,可查看是否啟用日志,如果日志已開啟,則默認(rèn)路徑為/var/log/mysql/。使用【show variables like 'general'】命令,可查看日志位置。
(3)MsSQL數(shù)據(jù)庫(kù)查看方法如下。
一般無法直接查看,需要登錄到SQL Server Management Studio,在“管理—SQL Server日志”中進(jìn)行查看。
- 物聯(lián)網(wǎng)(IoT)基礎(chǔ):網(wǎng)絡(luò)技術(shù)+協(xié)議+用例
- 高校網(wǎng)絡(luò)道德教育研究
- 物聯(lián)網(wǎng)安全(原書第2版)
- 智能網(wǎng)聯(lián)汽車V2X與智能網(wǎng)聯(lián)設(shè)施I2X
- 網(wǎng)管員典藏書架:網(wǎng)絡(luò)管理與運(yùn)維實(shí)戰(zhàn)寶典
- 中國(guó)互聯(lián)網(wǎng)發(fā)展報(bào)告2018
- 邁向自智網(wǎng)絡(luò)時(shí)代:IP自動(dòng)駕駛網(wǎng)絡(luò)
- Windows Server 2012 Hyper-V虛擬化管理實(shí)踐
- SAE原理與網(wǎng)絡(luò)規(guī)劃
- 組網(wǎng)技術(shù)與網(wǎng)絡(luò)管理
- 沖擊:5G如何改變世界
- 數(shù)據(jù)血緣分析原理與實(shí)踐
- 云工廠:開啟中國(guó)制造云時(shí)代
- 華為HCIA-Datacom認(rèn)證指南
- Guide to NoSQL with Azure Cosmos DB