細述SQL注入攻擊殺傷鏈的七個步驟
-
網絡攻擊會對一家組織的系統造成巨大的破壞,而且近些年來越來越頻繁。SQL注入攻擊是一種破壞性特別大的攻擊。這種形式的攻擊指,通過使用結構化查詢語言(SQL),利用網站或應用程序代碼的漏洞。SQL注入攻擊被認為是最嚴重的網絡威脅之一,因為它讓攻擊者可以訪問存儲在數據庫中的敏感數據、篡改或刪除數據,甚至創建新的用戶帳戶。借助這種手段,攻擊者就可以控制整個系統。
與其他網絡攻擊非常相似,惡意分子在整個攻擊生命周期的不同階段執行SQL注入攻擊。只有剖析這種攻擊的每個階段,并了解其工作原理,組織才能夠更好地保護自己,同時改善整體網絡安全狀況。
了解SQL注入攻擊的網絡殺傷鏈
SQL注入攻擊的網絡殺傷鏈由七個階段組成。下面將詳細闡述每一個階段。
1. 偵察
在偵察階段,攻擊者確定有關攻擊目標的信息,比如對方的弱點和漏洞。這通過從各種來源收集數據來完成,包括社交媒體帳戶、公共記錄和搜索引擎結果。攻擊者還可能使用端口掃描器等黑客工具來識別系統上敞開的端口。特別是在SQL注入攻擊期間,攻擊者使用眾多技術來訪問目標。
了解攻擊目標的弱點可以幫助攻擊者集中精力,花更小的力氣更快速地發動有效的攻擊。攻擊者了解系統或網站上存儲的數據類型后,就能確定使用哪種類型的惡意代碼植入到系統上。這個階段還讓攻擊者可以先嘗試不同的方法來攻擊小目標,然后嘗試攻擊更大的目標。
2. 武器化
武器化階段發生在攻擊者識別并利用系統中的漏洞之后。這類漏洞可能包括代碼缺陷、錯誤配置,或者甚至因不安全的編程實踐而留下的后門。在這個階段,攻擊者將設計惡意攻擊載荷,旨在訪問敏感信息或破壞操作。這些攻擊載荷可能以多種形式出現,包括惡意軟件、腳本或注入到脆弱系統中的其他惡意代碼。
SQL攻擊者設計明確為目標環境定制的惡意載荷。這些載荷旨在繞過組織的安全措施、訪問敏感信息或破壞操作。攻擊者可能會使用Metasploit之類的自動化工具,快速輕松地生成惡意載荷。此外,攻擊者可能使用自動化工具和數據提取方法(比如SQLmap或XSS攻擊),將這些載荷注入到目標系統中。
3. 投放
投放階段是指向目標系統發送惡意代碼或腳本,以獲得未經授權的訪問權。攻擊者可能使用網絡釣魚電子郵件或受攻擊的網站作為途徑,比如含有惡意代碼的JavaScript文件或HTML文檔。這些載荷所含的指令可以利用目標系統上易受攻擊的Web應用程序存在的漏洞,并訪問特權信息。
攻擊者還可能使用跨站腳本(XSS)技術,通過客戶端腳本(比如JavaScript或HTML文檔)將惡意代碼注入到Web應用程序中。這使得攻擊者可以通過在網站或應用程序的服務器端執行未經授權的命令來竊取敏感數據,比如登錄憑據。在投放階段,攻擊者可以在服務器端應用程序接受用戶輸入內容之前對輸入內容做手腳,從而篡改現有的應用程序功能。
4. 利用
一旦攻擊者獲得了公司系統的訪問權限,就會開始利用其資源。攻擊者可以控制整個數據庫,甚至控制整個網絡,具體取決于他們獲得的信息類型。比如說,如果他們獲得了網絡上具有全面特權的管理憑據,就可以刪除文件、篡改設置和配置,甚至刪除整個數據庫。
如果惡意分子可以利用現有系統或數據庫上被盜的憑據來創建擁有全面權限的新用戶帳戶,SQL注入攻擊構成的威脅會進一步加大。借助不受限制的訪問權,他們可以創建擁有特權訪問權限的新用戶帳戶,或篡改擁有更高權限的現有用戶帳戶。這種類型的活動會使攻擊者可以全面控制組織的IT基礎設施和敏感數據,等到有人注意時為時已晚。
5. 安裝
安裝階段發生在攻擊者將惡意載荷成功地投放到攻擊目標之后。在這個階段,攻擊者通常會在易受攻擊的系統上安裝后門,以保持訪問權限,并在未經授權的情況下執行另外的命令。攻擊者可以通過利用已知的漏洞或使用泄露的憑據安裝后門。威脅分子可以使用這些后門來訪問敏感信息,比如密碼、信用卡號碼或其他機密數據。
一旦攻擊者安裝了后門,他們通常會在未經授權的情況下遠程連接并執行惡意命令。這可能會安裝另外的惡意軟件、竊取數據、篡改現有配置或控制整個系統。此外,如果攻擊者能夠訪問系統的根目錄,就可以安裝他們選擇的任何軟件,并繞過大多數安全措施。
6. 指揮和控制
指揮和控制階段發生在攻擊者獲得了易受攻擊系統的訪問權限,但尚未啟動惡意載荷之后。在這個階段,攻擊者將建立持久性的遠程訪問和機制,對受攻擊系統保持控制,即使系統被重新啟動或與互聯網的連接暫時中斷也難逃魔掌。此時,攻擊者還可能收集更多的信息,或部署另外的惡意文件,以幫助自己達成目的。
7. 目標行動
目標行動階段是SQL注入攻擊的最后一個階段。在這個階段,攻擊者通常會啟動惡意載荷,并采取他們想要采取的任何行動。這可能包括訪問敏感數據、篡改現有配置或執行惡意命令,以進一步訪問網絡中的其他系統。攻擊者可能利用受攻擊系統作為跳板,進而對其他網絡或系統執行分布式拒絕服務(DDoS)攻擊,或者使用該系統來存儲被盜數據或托管惡意代碼。
在這個階段,攻擊者可能會通過刪除表明他們參與的任何證據來企圖掩蓋蹤跡。在攻擊得逞后,他們通常會斷開與遠程接入點的連接,刪除其活動留下的所有痕跡。
對付SQL注入時,知識就是力量
SQL注入攻擊是任何一家組織面臨的嚴重威脅。它們可能導致機密數據被盜、組織的IT基礎設施受到破壞,甚至導致收入損失。然而,如果了解SQL注入攻擊的不同階段,組織就可以采取措施來減小這些風險。此外,實施強大的安全措施(比如限制對特權帳戶的訪問和定期掃描易受攻擊的系統),有助于確保挫敗任何企圖實施SQL注入攻擊的活動,以免造成重大破壞。
參考及來源:
https://securityintelligence.com/articles/seven-steps-sql-injection-kill-chain/