日志分析(偏linux)
在取證這一塊,通常的就是日志取證,技術要求更高的還有內存取證等
日志分析包括:系統日志分析、中間件日志分析、數據庫日志分析
通常,系統自帶的日志數量龐大,一般都挑重點分析
文章目錄
- windows日志分析
- windows事件日志
- 常見事件日志分析
- 用戶登錄、注銷
- 無線網絡接入
- 移動設備使用
- Linux日志分析
- 系統日志基礎
- 日志分析實例
- 中間件日志分析
- APACHE
- IIS
- mysql日志
- 判斷網站是否被入侵過
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事件:
用戶登錄、注銷
比如現在有一個事件,它有如下信息:
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日志分析
分類:
日志默認保存位置:/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內容:
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其實和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多次重復
總結
以上是生活随笔為你收集整理的日志分析(偏linux)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于 DolphinDB 的行情中心解决
- 下一篇: linux 其他常用命令