應急響應:日誌分析

mcrock發表於2024-08-13

記一下之前打玄機靶場學到的東西
日誌檔案:
apache日誌:/var/log/apache2/access.log
但是由於日誌輪替的存在,access.log是最新的日誌,可能內容較少,上一個日誌的內容在access.log.1

系統日誌:/var/log
/auth.log登入和認證的日誌
/messages系統啟動和服務日誌
/dmesg核心訊息
/kern.log檢查計劃任務
/daemon使用者(組)的變動

注:查log如果只有當前賬戶的log的話一定要檢查.log.1檔案!

使用工具簡化搜尋過程:
apache日誌審查:
檢查訪問最多次數的IP:
awk '{print $1}' /var/log/apache2/access.log | sort | uniq -c | sort -nr | head -1
1. awk '{print $1}' /var/log/apache2/access.log:
○ awk 是一個文字處理工具,這裡用來提取日誌檔案中每行的第一個欄位(通常是 IP 地址)。
○ print $1 表示列印每行的第一個欄位。
2. sort:
○ 將提取的 IP 地址進行排序。
3. uniq -c:
○ 統計排序後每個 IP 地址出現的次數。uniq -c 需要輸入是有序的,所以前面用了 sort。
4. sort -nr:
○ 將統計結果按次數從大到小排序。-n 表示按數值排序,-r 表示逆序。
5. head -1:
○ 輸出排序後結果的第一行,即訪問次數最多的 IP 地址和對應的次數。

grep "/index.php" /var/log/apache2/access.log | wc -l
這裡使用/index.php與index.php有區別,但是不知道區別在哪
1. wc -l:
a. wc:單詞計數命令,用於統計字數、行數等。
b. -l:選項,表示統計行數
同理可以獲得駭客訪問的次數,這裡仍有兩種不同的命令,結果會產生微小的偏差

grep "要查的IP" /var/log/apache2/access.log.1 | wc

  1. grep "要查的IP" access.log.1 | cut -d' ' -f1 | sort | uniq -c
    1. cut -d' ' -f1:
      ○ 使用空格作為分隔符,提取每一行的第一個欄位(通常是IP地址)。
    2. sort:
      ○ 對提取出的IP地址進行排序。
    3. uniq -c:
      ○ 統計每個唯一IP地址出現的次數。

按照時間戳查詢同理:
grep "03/Aug/2023:08" /var/log/apache2/access.log | cut -d' ' -f1 | sort | uniq -c | wc -l

相關文章