滲透測試學習之隱藏蹤跡與規避檢測二

working發表於2022-06-17

對安全審校員、安全管理員以及IT人員而言,日誌檔案是最重要的工具之一。應當定期審查日誌檔案,以及時發現悉意活動或可能提示不良行為的事件ID。可以用人工或專用的日誌分析軟體審查這些日誌,並報告異常行為或活動。

日誌檔案中可能出現的事件包括:

  • 嘗試登入失敗
  • 更改檔案
  • 使用特權
  • 系統重啟
  • 安裝軟體
  • 嘗試登入成功
  • 清除日誌檔案
  • 更改或刪除重要的系統檔案
  • 安裝應用程式
  • 應用程式故障與崩潰

在現實中,取決於所發生的活動型別以及系統所有者選擇進行日誌記錄的專案,可能在系統的日誌檔案中出現不同的事件。例如,如果入侵者嘗試透過反覆登入獲取賬戶的密碼,系統將鎖定該賬戶。通常本地系統或域會記錄此類的活動。但是,如果入侵者將資料複製到快閃記憶體驅動器,對於作業系統而言,該活動和日常使用別無兩樣。如果未將系統或網路配置為記錄對特定檔案或目錄的訪問,那麼它將不過是一條成功訪問嘗試的稽核記錄。

還應謹記的是,雖然並非所有的活動都可能被系統記錄,但是日誌在檢測安全變更、調查事件、執行影響分析以及針對入侵採取行動等方面是非常有用的。另外,一個配置良好的稽核系統可以用於威懾濫用現象。最後,從記錄事件消耗的硬碟空間、記憶體和處理器等系統資源考慮,記錄系統上的每個事件是不可取的。

禁用Windows中的日誌記錄過程

處理遺留痕跡的最佳方法之一是:一開始就不要,或者儘可能少地遺留痕跡。實現這個目的的方法之一就是暫時禁用日誌記錄。

在Windows系統中,可以禁用系統上的日誌記錄/稽核功能,並阻止活動出現在日誌檔案中。在禁用稽核後,攻擊者就有效地斷絕了防禦者的一個重要資訊水源,並迫使他們採用其他檢測機制。

在Windows環境中,可以在命令列中使用AuditPol實用程式與系統進行互動、配置或更改稽核設定。AuditPol用於控制和修改 Windows作業系統中的稽核設定。可以使用該應用程式啟用或禁用本地和遠端系統上的安全稽核。

AuditPol的語法通常如下所示:

auditpol \\<目標的ip地址><命令名>

auditpol <命令名>

AuditPol可用於調整對多種不同安全事件的稽核標準。

在Windows中,需要在命令提示符中使用提升的許可權執行該命令,或者提升命令提示符本身的許可權。
該命令的語法很簡單,以下是一些AuditPol命令的示例。

該命令將列出所有稽核策略設定:

Auditpol /get /category:*

僅列出 “賬戶管理(Account Management)〞 類的稽核策略設定:

Auditpol /get /category: "Account Management"

僅列出“使用者賬戶管理(User Account Management)”子類別的策略設定:

Auditpol /get /subcategory: "User Account Management"

將“賬戶管理”類稽核策略設定為“成功”

Auditpol /set /category: "Account Management" /success: enable

將“賬戶管理”類稽核策略設定為“失敗”

Auditpol /set /category: "Account Management" /failure: enable

禁用或刪除“賬戶管理”類稽核策略的 “成功”設定:

Auditpol /set /category: "Account Management" /success:disable

禁用或刪除“賬戶管理”類稽核策略的“失敗”設定:

Auditpol /set /category: "Account Management" /failure:disable

僅將子策略類別 “使用者賬戶管理”設定為 “成功

Auditpol /set /subcategory: "User Account Management" /success: enable

僅將子策略類別 “使用者賬戶管理”設定為 “失敗”

Auditpol /set /subcategory: "User Account Management" /failure:enable

僅列出使用者Administrator的 “詳細跟蹤(Detailed Tracking)” 類策略設定:

Auditpol /get /user:Administrator /category:"Detailed Tracking"

僅將使用者Administrator 的“詳細跟蹤”類策略設定為“成功”:

Auditpol /set /user:Administrator /category:"Detailed Tracking"success: enable

刪除日誌檔案中的事件

透過關閉系統日誌刪除整個時問段的日誌很容易引起懷疑,但是有選擇性地從日誌檔案中刪除條目卻是另一回事。

有很多方法能夠選擇性地修改日誌檔案,從而使攻擊不那麼明顯。以下是其中一些工具:

Log Parser Lizard是一個Windows應用程式,可以下載(免費)並安裝在任何Windows系統中。在安裝該工具後,不僅可以使用它檢視系統上的日誌檔案,還可以構造查詢以查詢特定事件。但是,為了避免汙染證據,我們不建議將此應用程式安裝在正在調查的系統中。

Log Parser Lizard實際上只不過是Microsoft Log Parser(日誌解析器)程式的一個圖形介面。Log Parser是一個多功能的軟體,可使用SQL查詢檢視和搜尋日誌檔案。該程式可以搜尋所有型別的日誌檔案源,包括基於文字的資料,如日誌檔案、XML檔案和TSV/CSV文字檔案,以及Windows作業系統中的關鍵資料來源,如Windows事件日誌、IIS日誌、登錄檔、檔案系統、活動目錄服務等。

那麼Linux呢?可以清除Linux中的日誌嗎?當然可以,下面就將介紹相關內容。

清除Linux計算機上的事件日誌

Linux系統的日誌檔案儲存在/var/1og目錄中。可以使用任何文字編輯器(如gedit)開啟並檢視包含日誌訊息的明文檔案:

gedit/var/log/messages

在離開攻陷的系統之前,應注意開啟該檔案並刪除能夠反映攻擊活動的條目,如果時間緊迫,則可刪除所有條目。雖然刪除單個條目不容易引起懷疑,並且可以幫助規避防護,刪除所有條目更為有效,但是缺少日誌檔案這種異常事件足以引起注意。

在使用在此列出的任何一種技術時,要記住,作為善意者,這樣做可能會破壞你行為的證據或文件,而這些證據和文件在後續與客戶的討論中可能用到。而一個壞人(或是說不懷好意者)如果選擇刪除系統中的日誌檔案和其他專案以隱藏行跡,他可能會發現自己陷入困境。在一些法庭和法律體系中,刪除日誌檔案的行為可作為實施了犯罪的證據。

擦除命令歷史

在完成Linux系統測試之前,可以刪除命令歷史,從而防止檢索到曾經進行的操作。記住,Linux中的shell通常會記錄系統中最後執行的那些命令。知識淵博的系統管理員(或鑑證專家)會檢查你執行的所有命令,從而檢測和破譯你在系統上的行動,並可能將其用作證據。

想要檢視歷史操作,可使用如下命令:

more ~/ .bash history

歷史檔案的大小由環境變數HISTSIZE確定。可透過輸入

echo SHISTSIZE

檢視HISTSIZE變數的大小。
然後,可輸入:

export HISTSIZE=0

將該變數設為零。

現在,shel將不儲存任何歷史記錄。如果深謀遠慮,可在執行所有命令前,將該變數值更改為零,以減少後續清理工作量。但如果不這樣做,之後將仍然需要將該變數設定為零。

如果還想進一步清理,可以粉碎歷史檔案,使它再無用處(如果方式正確)。

shred -zu root/.bash history

該行命會使用帶-2u 開關選項的shred命令,用零值覆蓋歷史記錄,然後刪除該檔案。要檢查歷史記錄是否已經被粉碎,可透過輸入以下命令檢視歷史檔案。

more /root/ .bashhistory

恭喜!日誌檔案現己從Linux中刪除。

本作品採用《CC 協議》,轉載必須註明作者和本文連結
理想的光照不到現實的黑暗,明燈是黑夜中的奢侈品。如果你接受不了真實生活千瘡百孔的消極,那麼,請移步兒童區...

相關文章