13451 字
67 分鐘
🐲 Kali Linux使用指南

目錄#

前言#

Kali系統預裝了大量的安全工具,可以說是一個安全工具的數據庫。在kali2018.2系統中就有600多個工具,工具如此之多,掌握所有的工具是不現實的,只有需要用的時候再去學習工具的使用即可。但是了解這些工具的用途,掌握一些常用的安全工具是必要的,本篇文章主要對一些常用的安全工具進行介紹,這里只需要簡單地了解一下這些工具的用途和使用方法,在後邊的文章中將會用到這些工具完成相應的實操,還會具體講解這些工具的使用。

kali提供的工具有很多,從應用和功能的角度可以將工具分成14種類型,分別是:

信息搜集、脆弱性分析、漏洞利用、嗅探和欺騙、密碼工具、權限提升、web應用、無線攻擊、硬件黑客、權限維持、取證工具、逆向工程、壓力測試、報告工具。

kali系統工具的介紹可參考官方網站:https://www.kali.org/tools/

一、信息收集工具#

信息收集時進行安全滲透測試必要的準備工作,其主要目的是收集滲透測試目標的基本信息,包括操作系統信息、網絡配置信息、應用服務信息等。kali提供的信息收集工具的模式分為三種,分別是:命令行模式、圖形用戶界面模式和Shell命令行模式

名稱模式描述
Amap命令行Amap是一個服務掃描工具,它是最早被稱為下一代掃描器的軟件,可以識別不同的應用程序,即使這些程序運行在一個異常的端口上。Amap最早開始支持UDP協議和IPv6地址空間的掃描,可作為nmap重要的補充工具。同時amap還提供未知應用特征的自動測定功能,讓我們可以方便定制掃描結果
arp-scan命令行arp-scan是一個用來進行系統發現和指紋識別的命令行工具,它可以構建並發送ARP請求到指定的IP地址,並且顯示返回的任何響應
DMitry命令行DMitry是一個用C語言開發的UNIX/(GUN)Linux命令行工具,能夠收集目標主機盡可能多的信息,包括主機所在的子域、電子郵件地址、運行時間、TCP端口掃描、whois查詢等。
dnmap命令行dnmap是一個能夠在多台客戶機上執行分布式nmap掃描的框架,它可以讀取包括nmap命令的文件,並把該命令文件發給與之相連的多台客戶機,在這些客戶機上執行nmap文件中的命令。dnmap框架采用的是客戶機/服務器模式,服務器發布命令,客戶機執行命令,從而實現分布式nmap掃描
dnsenum命令行dnsenum通過執行多線程Perl腳本來枚舉域的DNS信息,從而發現非相鄰的IP塊
Fierce命令行Fierce不是一個IP地址掃描器,也不是一個DDos工具,它不是涉及來掃描整個互聯網或執行任何非針對性的攻擊的。它是一個Perl腳本,是一個偵察工具,可以對域進行快速掃描,用來定位公司網絡內部和外部可能的目標
MaltegoTeeth圖形用戶界面Maltego是一個獨特的平台,用於向組織擁有和運營的環境傳遞清晰的威脅畫面。Maltego的獨特優勢在於證明單點故障的覆雜性和嚴重性以及網絡設備間的信任問題
Nmap命令行Nmap是一個免費的、開源的用於網絡發現和安全審計的工具,可用於網絡資產管理、網絡服務升級管理、監控主機或服務正常運行等任務Nmap功能強大,可判斷主機是否在線,判斷主機運行的操作系統類型和版本,判斷主機提供了哪些服務(應用程序名稱和版本)、使用了什麽類型的過濾器或防火墻,以及其他幾十種特性。
p0f命令行來對主機上的操作系統進行鑒別,即使是在系統上裝有性能良好的防火墻的 p0f是一款被動探測工具,能夠通過捕獲並分析目標主機發出的數據包 NAT、負載均衡、應用代理等,它是一個萬能的被動操作系統指紋工具。 情況下也沒有問題。同時p0f在網絡分析方面功能強大,可以用它來分析
Recon-NGShell命令行令行 Recon-NG是由Python編寫的一個開源的Web偵查(信息收集)框架, 成數據庫,可把查詢結果結構化存儲在其中,有報告模塊,把結果導出為報告。 使用它可以自動地收集信息和網絡偵查。其命令格式與Metasploit默認集
smtp-user-enum命令行大部分基於類Unix系統的郵件服務,采用操作系統賬號作為郵件賬號, 因此對於其郵件賬號的探測,其實就等同於對操作系統賬號的探測,以便進 行後續弱密碼口令的破解。smtp-user-enum基於三種方法驗證郵件賬號是否 存在,同時支持基於字典的批量驗證。
snmp-check命令行snmp-check是一款基於默認或指定團體名,對目標設備進行信息批量查 詢的工具,其默認支持Windows、類Unix、網絡設備和打印機等。完全依靠 人工來監控大型網絡的運行狀態,是一種令人崩潰的任務。SNMP協議可以大 大簡化系統和網絡管理員的工作,實現問題的快速定位和排查。
Unicornscan命令行Unicornscan是一款通過嘗試連接用戶系統(User-Land)分布式TCP/ IP堆棧獲得信息和關聯關系的端口掃描器。它是一個新的信息收集引擎,主 要用於安全研究和通訊測試,主要特點是精確、靈活而且高效。
Wireshark圖形用戶界面Wireshark從Ethereal發展而來,是一款網絡數據包捕獲和分析工具, 它使用WinPcap作為接口,可跳過TCP/IP協議棧直接與網卡進行數據包的 交換。

Kali系統提供的信息收集工具還有很多,以上是一些比較常用的工具,這些工具的功能幾乎涵蓋了信息收集的各個方面,有操作系統的信息、應用服務的信息、網絡信息等,熟練使用這些工具,對目標系統和網絡的信息進行收集,在後續的安全滲透測試過程中,就能做到“知己知彼,百戰不殆”。

二、脆弱性分析工具#

在信息收集的基礎上,要進行滲透,需要對目標系統或網絡的脆弱性(也就是漏洞)進行進一步的分析, Kali系統提供了大量實用的脆弱性分析工具來發現這些漏洞,為後續的漏洞利用提供支持。Kali提供的脆弱性分析工具如下表所示:

名稱模式描述
BBQSQLShell命令行BBQSQL是一款用Python寫的SQL盲注框架,對SQL注入漏洞 攻擊非常有效。它是一種半自動工具,自帶一個直觀的UI用戶界 面,允許許多難以觸發的SQL注入變得用戶化,使設置攻擊更容易。 BBQSQL用法非常靈活,與數據庫無關,不關心數據或數據庫,而大 多數SQL注入工具是要具體的數據庫或語言建立的。
BED命令行BED(Bruteforce Exploit Detector)是一款緩存區漏洞檢測 工具。它預置了十一種插件。這些插件針對不同的服務或系統,如 FTP、SMTP、POP等。同時,這些插件內包含了已知的各種攻擊載荷。 BED通過加載插件,向目標主機發送攻擊數據。如果發現目標無法響 應,說明目標可能存在溢出區漏洞。經過多次測試驗證,就可以判斷 漏洞出現的位置。然後手工執行驗證,采用代碼審核、反編譯等方式, 就可以找出漏洞具體觸發機制,從而加以利用
cisco-auditing- tool命令行cisco-auditing-tool簡稱CAT,是一款小型的安全審計工具, 可檢測出Cisco路由器常見的漏洞,可發現注入默認密碼、默認 SNMP字符串和老版本IOS上存在的漏洞。
cisco-global- exploiter命令行cisco-global-exploiter是一個小型的Perl腳本,是一個針對 思科設備的漏洞利用工具合集,支持對思科設備的14種獨立的漏洞 進行測試。
cisco-torch命令行cisco-torch是一款專門針對思科設備的掃描工具,它具備多種 應用層協議的指紋識別特性,借助與第三方指紋庫的比對,可以輕 松識別目標設備及系統類型。同時由於采用了多線程的開發方式, 所以在性能上torch也同樣表現突出。另外在密碼破解和漏洞利用 方面, torch也具備相應的能力。如果torch破解了設備讀寫權限的 SNMP Community,還可進一步利用其獲取設備的完整配置信息。
copy-router-config命令行copy-router-config專門針對思科設備而設計,利用SNMP協議 下載和上傳思科設備的配置文件。其使用需要tftp服務的配合。
Lynis命令行Lynis是個系統安全檢查工具,針對Unix和Linux系統而設計, 通過執行一些安全檢查發現系統安裝的軟件以及存在的配置問題。 它能生成一份全面的加固建議列表,並由使用者靈活地自行決定實 施哪些加固措施。
Nessus圖形用戶界面Nessus是世界上最流行的漏洞掃描程序,提供完整的電腦漏洞 掃描服務,並隨時更新其漏洞數據庫,可同時在本機或遠端上遙控, 進行系統的漏洞分析掃描。它完整支持SSL,可自定義功能插件。
OpenVAS圖形用戶界面OpenVAS是目前開源世界最重要的漏洞管理產品,它基於各種安 全行業的標準規範,廣泛覆蓋了已知的漏洞類型。它使用簡單方便, 可以自動發現系統中絕大部分已知漏洞,無論對於滲透測試者還是 安全運維工程師,這都是一個不能缺少的強大工具。

針對一些特定的應用, Kali也提供了相應的脆弱性分析工具,如VoIP、Oracle數據庫、IPv6協議等,有興趣的讀者可參考Kali官網,上面有這些工具的詳細介紹和使用方法,這里不再多言。

三、漏洞利用工具#

發現了操作系統、網絡和應用服務的漏洞,接下來怎麽利用這些漏洞發起攻擊呢? Kali提供了許多漏洞利用工具,這些工具有些功能強大,可以利用的漏洞類型很多,甚至可以定制,針對新的漏洞可通過添加腳本的方式擴展其功能,如Metasploit;有些工具則是針對特定的漏洞具有很好的效果。Kali系統提供的漏洞利用工具如下表所示

名稱模式描述
Armitage圖形用戶界面Armitage是一款Java寫的Metasploit圖形界面化的攻擊軟 件,可以用它結合Metasploit中已知的exploit來針對主機存在 的漏洞自動化攻擊。通過命令行的方式使用Metasploit難度較高, 需要記憶的命令過多,而Armitage完美地解決了這一問題,用戶 只需要簡單地點擊菜單,就可以實現對目標主機的安全測試和攻 擊。Armitage良好的圖形展示界面,使得攻擊過程更加直觀,用 戶體驗更好。因其操作的簡單性,尤其適合Metasploit初學者對 目標系統進行安全測試和攻擊。
Backdoor Factory命令行Backdoor Factory是一款安全測試工具,可以輕松地生成 win32PE後門測試程序,可對可執行文件進行自動化的後門部署。
BeEF圖形用戶 界面BeEF(Browser Exploitation Framework)是一款針對瀏覽 器的滲透測試工具。
Metasploit FrameworkShell命 令行Metasploit Framework簡稱MSF,是一個用Ruby語言寫的滲 透測試框架,該框架集成了很多可用的滲透利用工具(Exploit Tools),比如著名的ms08_067等。用戶可以在這個框架下進行一 系列的滲透測試,利用現有的裝備(Payload),如Meterpreter 等進一步拿取對方的Shell。Metasploit功能強大,幾乎每一個 從事滲透測試的人都會接觸到它,是滲透測試的利器。
Exploitdb命令行Exploitdb(Exploit Database)是一個由“Offebnsive Security”提供的漏洞利用程序集的數據庫,可以用於平時的參 考和使用。它存儲了大量的漏洞利用程序,可以幫助安全研究者 和滲透測試工程師更好地進行安全測試工作。

上述漏洞利用工具中Metasploit可以說是最重要也最強大的,Metasploit的Exploit腳本主要用Ruby語言編寫,在Kali系統中可看到腳本的源代碼,掌握Ruby語言將有助於對這些滲透腳本的理解。

四、嗅探與欺騙工具#

嗅探與欺騙主要針對的是網絡。嗅探是指利用計算機的網絡接口截獲其他計算機數據報文的一種手段,在嗅探到的數據包中提取有價值的信息,比如用戶名、密碼等。欺騙則是利用一些技術手段,騙取目標主機的信任,取得有價值的信息。Kali系統提供的嗅探與欺騙工具如下表所示:

名稱模式描述
Burp Suite圖形用戶界面Burp Suite是Web應用程序測試的最佳工具之一,其功能強大,可 破解登陸表單,執行會話令牌等多種的隨機性檢查。 以執行多種任務,如請求的攔截和修改,掃描web應用程序漏洞,以暴力破解登錄表單,執行會話令牌等多種的隨機性檢查
HexInject命令行HexInject是一款進行數據注入的工具,它可以直接向網絡注入滲透 人員構造的數據包,也可以篡改網絡傳輸的數據,為了避免修改帶來的數 據驗證問題,它默認對包進行校驗,並重新計算包的大小,從而提高數據 的真實性。
Inviteflood命令行Inviteflood攻擊的目標是VoIP,它針對VoIP信令協議SIP中的 INVITE會話請求指令發起洪水攻擊,被攻擊者會瞬間接到大量呼叫請求, 導致類似電話占線的效果,嚴重時可令IP電話客戶端程序崩潰。
iSMTP命令行iSMTP是一款SMTP用戶枚舉和測試工具。
Mitmporary命令行Mitmproxy俗稱中間人攻擊的神器,是一款有篡改功能的http代理 工具,支持http通信與https通信,既可用於中間人攻擊,也可用於 html抓包調試。mitmproxy共有五種代理模式:正向代理模式、反向代理 模式、上行代理模式、透明代理模式和socks5代理模式。
SniffJoke命令行SniffJoke是一款網絡防嗅探工具。在滲透測試中,通過網絡嗅探, 可以獲取網絡通信主機的各種信息。SniffJoke可以防止嗅探,它能夠自 動對用戶的網絡數據進行附加處理,如發包延時、修改部分包、注入無效 包,使得嗅探工具無法正確讀取數據包,並且所有這些附加處理不會影響 數據接收方的處理。
SSLstrip命令行SSLstrip也叫https降級攻擊,攻擊者攔截用戶流量後,欺騙用 戶與攻擊者進行http通信,攻擊者與服務器保持正常通信(http或 https),從而獲取用戶信息。
WebScarab圖形用戶界面WebScarab是由開放式Web應用安全項目(OWASP)組開發的一個用 來分析使用HTTP和HTTPS協議的應用程序框架。WebScarab可以記錄它 檢測到的會話內容(請求和應答),並允許使用者通過多種形式來查看記 錄。可以用它來調試程序中較難處理的漏洞,也可以幫助安全專家發現潛 在的程序漏洞。

嗅探與欺騙是安全滲透的常用手段,它充分利用網絡協議自身在安全方面不完善的問題,通過IP欺騙、ARP欺騙等手段非法攔截或捕獲網絡中傳輸的數據包,通過對網絡數據包的分析進一步獲取有用的用戶信息。通過上述工具的學習和使用,將有助於對網絡協議的理解。

五、密碼攻擊工具#

密碼攻擊可以說是安全滲透至關重要的一步,也是最為關鍵的一步。很多系統的安全大門就靠密碼守護著,很多攻擊者攻擊到最後一步就是攻不破那道密碼防線。一個好的、強健的密碼是很難依靠技術手段攻破的,除非采用一些社會工程手段,如威逼、利誘或者利用對方的疏忽套取密碼。那麽密碼攻擊是否毫無用武之地呢?事實上,網絡中充斥著很多弱口令,這些弱口令產生的原因是很多用戶缺乏安全意識,為了容易記憶,設置的密碼過於簡單或者有規律可循。另外,一些工具可以幫助我們對弱口令進行自動嘗試,節省了手動嘗試的時間和繁瑣操作,這些工具對弱口令的攻擊還是非常有效率的。kali系統提供的密碼攻擊工具如下表所示:

名稱模式描述
BruteSpray命令行BruteSpray是一個基於Nmap掃描結果的端口爆破工具,它可以載入Nmap的掃描結果(gnmap/XML文件),然後對我們指定的端口和IP進行枚舉口令爆破,爆破過程可通過自動調用Medusa來進行。
Cain&Abel圖形用戶界面Cain&Abel 是由0xid.it開發的一個針對Microsoft操作系統的免費口令回覆工具,號稱窮人使用的LC,這是一款網絡管理員必備的工具,它可以用來檢測Windows,UNIX用戶是否使用了不安全的密碼。它的功能十分強大,可以進行網絡嗅探、網絡欺騙、破解加密口令、解碼被打亂的口令、顯示口令框、顯示緩存口令和分析路由協議,甚至還可以監聽內網中他人使用V0IP撥打電話。
Crunch命令行Crunch是一款密碼生成工具,可以按照指定的規則(用戶可以指定字符集)生成密碼字典。它可以產生所有有可能的組合和排列,其生成的字典字符序列可以輸出到屏幕、文件或重定向到另一個程序中。
Findmyhash命令行Findmyhash是一款可以破解哈希值的強大腳本,用python語言編寫,如果用戶希望破解一些難以理解的Hash值,使用Findmyhash腳本可以一鍵閱讀出Hash值內的所有內容。
Hash-Identifier命令行Hash-Identifier並不是Hash破解工具,而是用來判斷Hash值所使用的加密方法的工具。
Hydra Hydra-gtk(九頭蛇)命令行圖形用戶界面Hydra是由THC(黑客優選)社區開發的一個在線快速破譯密碼工具,目的是為研究人員及安全顧問展示如何從遠程侵入系統,其密碼詞庫支持超過50種網絡協議,包括Telnet、RDP、SSH、FTP、HTTP、HTTPS、SMB等等,還支持多種數據庫的密碼破譯,Hydra-gtk是其圖形用戶界面
John the Ripper(開膛手約翰)命令行John the Ripper是免費開源軟件,是一個快速的密碼破解工具,用於在已知密文的情況下嘗試破解出明文的破解密碼軟件,支持目前大多數的加密算法,如DES、MD5等。它支持多種不同類型的系統架構,包括Unix,Linux,Windows,Dos模式、BeOs和openVMS,主要目的是破解不夠牢固的Unix。Linux系統密碼。
Medusa(美杜莎)命令行Medusa和Hydra一樣是一款在線密碼破解工具。優點是Medusa的穩定性較好,但Medusa支持的模塊要比Hydra少很多,也不支持RDF服務協議。同時它的表單破解也存在一些問題。
RainbowCrack命令行 圖形用戶界面RainbowCrack是一個使用內存時間交換技術加速口令破解過程的口令破解器。它使用了彩虹表也就是一張預先計算好的明文和散列值的對照表。通過預先花費時間創建這樣的彩虹表,能夠再以後破解口令時節約大量的時間
rtgen命令行rtgen工具用來生成彩虹表。彩虹表是一個龐大的,針對各種可能的字母組合預先計算好的哈希值的集合,不一定是針對MD5算法的,各種算法的都有,有了它可以快速地破解各種密碼。越是覆雜的密碼,需要的彩虹表就越大,現在主流的彩虹表都是100G以上的。不同的加密方式要用不同的彩虹表。
Samdump2命令行Samdump2是一款破解Windows SAM 密碼文件的工具。

密碼破解采用窮舉法,利用工具對密碼進行自動嘗試,這個過程比較耗時,並且只對弱口令有效。為了縮短時間,往往要用到密碼字典,將常用的密碼組合寫在字典文件中,簡單的排在前面,覆雜的排在後面,破解密碼時從字典文件的開頭一個個地嘗試,直到嘗試出密碼為止。對於一些覆雜的密碼,密碼工具往往會失去作用,達不到效果。

六、權限提升工具#

目前的操作系統往往是多用戶系統,不同的用戶有不同的訪問權限,從而起到保護系統安全的目的。對系統的訪問權限越大,能執行的功能就越多,安全滲透一個很重要的目標就是提升用戶權限,獲得更大的系統訪問權,執行更多的操作。kali提供的權限提升工具如下表所示:

名稱模式描述
MeterpreterShell命令行Meterpreter是一種後滲透工具,它屬於一種在運行過程中可通過網絡進行功能擴展的動態可擴展型Payload。這種是基於“內存DLL注入”理念實現的,它能夠通過創建一個新進程並調用注入的DLL來讓目標系統運行注入的DLL文件。在Meterpreter中可以執行Getsystem命令快速提權,Meterpreter會自己嘗試用多種方法去提升權限,使得用戶只需要運行一條指令就能獲得System權限。
SETShell命令行SET是社會工程包,是一個為社會工程設計的開放源碼的滲透測試框架。它有許多自定義攻擊向量,允許用戶快速發起可信攻擊。

kali系統提供的很多漏洞利用和密碼攻擊附帶權限提升的功能,用戶可以參考kali官網中對這些工具的介紹。

七、Web應用工具#

Web應用是互聯網最重要的應用之一,其應用範圍十分廣泛,正是由於Web的普及,使得它幾乎成為網絡的代名詞。同樣地,Web應用存在的安全問題很多,是最容易受到攻擊的應用之一,因此針對web應用的安全滲透測試十分重要,通過滲透測試有助於發現Web應用的缺點和漏洞,從而彌補web應用的脆弱性,使得Web應用更加完善。kali系統提供的Web應用工具如下表所示:

名稱模式描述
Arachni命令行Arachni是一個多功能、模塊化、高性能的Ruby框架,旨 在幫助滲透測試人員和管理員評估Web應用程序的安全性。同時 Arachni開源免費,可安裝在Windows、Linux以及Mac系統上,並 且可導出評估報告。
BlindElephant命令行BlindElephant是一款Web應用程序指紋識別工具。該工具可 以讀取目標網站的特定靜態文件,計算其對應的哈希值,然後和預 先計算出的哈希值做對比,從而判斷目標網站的類型和版本號。目 前,該工具支持15種常見的Web應用程序的幾百個版本。同時, 它還提供WordPress和Joomla的各種插件。該工具還允許用戶自 已擴展,添加更多的版本支持。
CutyCapt命令行CutyCapt是基於Qt實現的跨平台的將HTML網頁轉化成矢量 圖形和位圖圖像格式的命令行工具(比如,SVG、PDF、PS、PNG、 JPEG、TIFF、GIF等)。
DIRB命令行DIRB是一個專門用於爆破目錄的工具,在Kali中默認已經安 裝,類似工具還有國外的patator、dirsearch、DirBuster,國內 的御劍等。
Nikto命令行Nikto是一款開源的(GPL)網頁服務器掃描器,它可以對網頁 服務器進行全面的多種掃描,包含超過3300種有潛在危險的文件/ CGIs、超過625種服務器版本、超過230種特定服務器問題。掃描 項和插件可以自動更新(如果需要)。基於Whisker/libwhisker 完成其底層功能。這是一款非常棒的工具,但其軟件本身並不經常 更新,最新和最危險的可能檢測不到。
OWASPZAP圖形用戶界面OWASP Zed Attack Proxy Project攻擊代理,是一款查找網頁 應用程序漏洞的綜合類滲透測試工具。它包含了攔截代理、自動處 理、被動處理、暴力破解、端口掃描以及蜘蛛搜索等功能。OWASP ZAP為會話類調試工具,調試功能對網站不會發起大量請求,對服 務器影響較小。
Paros圖形用戶界面Paros Proxy是一個對Web應用程序的漏洞進行評估的代理程 序,它是一個基於Java的Web代理程序,可以評估Web應用程序 的漏洞。它支持動態地編輯/查看HTTP/HTTPS,從而改變cookies 和表單字段等項目。它包括一個Web通信記錄程序、Web圈套程序、 hash計算器,還有一個可以測試常見的Web應用程序攻擊的掃描器。 該工具檢查漏洞形式包括注入、跨站點腳本攻擊、目錄遍歷等。
ProxyStrike圖形用戶界面ProxyStrike是一款用於web漏洞掃描的工具,需要配置代理使用,帶有爬蟲模塊、請求報告、日志、配置等功能模塊
Vega圖形用戶界面Vega是一個開放源代碼的Word應用程序安全測試平台, Vega能夠幫助驗證SQL注入、跨站腳本、敏感信息泄露和其他一些安全漏洞。Vega使用Java編寫,有GUI,可以在Linux、OS X和 Windows下運行。
W3af命令行 圖形用戶界面Wild(Web Application Attack and Audit Forwardwork)是 個Web應用程序攻擊和審計框架。它的目標是創建一個易於使用和 擴展、能夠發現和利用Web應用程序漏洞的主體框架。W3af的核心 代碼和插件完全由Python編寫。項目已有超過130個的插件,這 些插件可以檢測SQL注入、跨站腳本、本地和遠程文件包含等漏洞。
Webshag命令行Webshag是一個對Web服務器進行安全審計的跨平台多線程工具。Webshag會收集那些通常對Web服務器有用的功能,比如 Webshag是一個用於對Web服務器進行安全審計的跨平台多線 端口掃描、URL掃描和文件模糊測試。可以通過代理和HTTP身份認 證(基於認證或摘要認證),以HTTP或HTTPS的方式掃描Web服務器。 此外Webshag可以憑借IDS規避能力,使請求之間的相關性變得更 覆雜。
WebSploitShell命令行WebSploit是一個開源項目,主要用於遠程掃描和分析系統漏 洞。使用它可以非常容易和快速發現系統中存在的問題,並用於深 入分析。
WhatWeb命令行Whatweb是一個基於Ruby語言的開源網站指紋識別軟件,正如 它的名字一樣,Whatweb能夠識別各種關於網站的詳細信息,包括: CMS類型、博客平台、中間件、Web框架模塊、網站服務器、腳本類型、 JavaScript庫、IP、cookie等等。

Web應用廣泛,相應的技術層出不窮,無論是用戶前端還是服務器後端,都存在大量的漏洞,是黑客攻擊的重點,因此Web的安全問題是網絡安全一個十分重要的分支。但是學習Web安全滲透十分不易,各種客戶端和服務器端技術非常龐雜,需要掌握大量的背景知識,熟悉各種腳本語言和網站架構。在學習Web安全滲透的過程中,熟練使用上述工具將對用戶有很大的幫助,從而事半功倍

八、無線攻擊工具#

隨著無線網絡基礎設施的提升,以智能手機為代表的無線網絡通信得到了廣泛的應用。無線網絡擺脫了有線網絡的限制,攜帶方便,用戶可以隨時隨地訪問網絡。隨著無線網絡帶寬的提升,有線網絡帶寬快這一優勢已不明顯,因此目前無線網絡在智能終端應用方面已經遠超有線網絡,甚至在筆記本的應用上也有超越有線網絡的趨勢。隨著越來越多的應用轉移到智能手機平台,特別是手機購物、手機支付、手機理財應用的普及,近幾年針對無線網絡的攻擊也甚囂塵上,愈演愈烈。無線網絡的安全問題與Web應用的安全問題一樣,已成為安全領域一個重要的問題,不容忽視。Kali系統提供的無線攻擊工具如下表所示:

名稱模式描述
Aircrack-ng圖形用戶界面Aircrack-ng是一個與802.11標準的無線網絡分析有關的 安全軟件,主要功能有:虛擬管道創建、網絡偵測、數據包嗅 探、WEP和WPA/WPA2-PSK破解、essid密碼列表的保存和管理。 Aircrack-ng可以工作在任何支持監聽模式的無線網卡上並嗅探 802.11b,802.11b,802.11g的數據。該程序可運行在Linux和 Windows上。
Arpspoof命令行Arpspoof是一款專業的ARP斷網攻擊軟件,能夠直接欺騙網 關,使得通過網關訪問網絡的電腦全被欺騙攻擊,通過ARP欺騙 達到中間人嗅探和捕獲網絡數據包的目的,並替換傳輸中的數據, 方便用戶開啟ARP斷網攻擊,搶占網速。
Easy-Creds命令行Easy-Creds是一款欺騙嗅探為主的攻擊腳本工具,它具備 ARP毒化、DNS毒化等一些嗅探攻擊模式。它最亮的地方就是它 的fake AP(欺騙訪問點)功能。它比一般自行搭建的fake AP 要穩定得多,而且里面還包含了針對802.1x的攻擊模式。
Gerix Wifi Cracker圖形用戶界面Gerix Wifi Cracker是一個aircrack圖形用戶界面的無線 網絡破解工具,可破解無線網絡密碼。
Kismet命令行Kismet是一款802.11二層無線網絡探測器、嗅探器和入侵 檢測系統,使用該工具可以檢測周圍的無線信號,並查看所有可 用的無線接入點,並能嗅出802.11a/b/g/n的流量。
Reaver命令行Reaver是一款針對開啟Wi-Fi安全防護設定(Wi-Fi Protected Setup,WPS)服務的無線網絡的破解工具。
Wifte圖形用戶界面Wifte是一款使用Aircrack-ng工具集來破解無線網絡的帶 圖形用戶界面的工具,是一款自動化WEP、WPA以及WPS破解工具, 特點是可以同時攻擊多個采用WEP和WPA加密的網絡。

上述無線網絡攻擊工具很多集中在對無線接入點的攻擊上,包括偽造接入點、幹擾無線信號、破解WEP/WPA密碼等。針對無線網絡應用的攻擊與有線網絡應用類似,可以采用相同的方法。

九、硬件黑客工具#

針對一些特定的軟硬件平台、產品和文件格式,如Android、Arduino、樹莓派、Jave虛擬機、APK文件, Kali提供了一些軟硬件環境模擬器,及對應文件格式的轉換、編譯和反編譯的工具,放在硬件黑客工具類下面,這些工具如下表所示

名稱模式描述
Android-sdk圖形用戶界面Android-sdk是一款運行於Kali Linux系統的安卓模擬器,為 用戶提供了構建、測試和調試安卓應用程序所需的API庫和開發工具。
Apktool命令行Apktool是一款APK(Android安裝包)反編譯工具,具有編譯、 反編譯、簽名等功能。
Arduino圖形用戶界面Arduino是一款便捷靈活、方便上手的開源電子原型平台,旨在 為藝術家、設計師、愛好者和任何感興趣的人創造互動對象或環境。
Dex2jar命令行Dex2jar是一個能操作Android的dalvik(. dex)文件格式和 Java(. class)的工具集合。Dex2jar是一個可以將. dex文件轉換 成Java的. class文件的轉換工具。Dex2jar與JD-GUI組合起來就 能很好地對apk文件進行一個反編譯。
Sakis3G命令行Sakis3G是一個經過修改的shell腳本,它能與不同廠商生產的 調制解調器建立3G連接。它能自動設置USB或藍牙調制解調器,甚 至可以檢測操作人員的設置。
Smali/Baksmali命令行Smali/Baksmali分別是指安卓系統里的Java虛擬機(Dalvik) 所使用的一種. dex格式文件的匯編器/反匯編器。

采用上述工具可以模擬特定的軟硬件環境,提供特定文件格式的轉換,幫助用戶實地了解目標環境的運行情況,為進一步的安全滲透測試提供支持。

十、維持訪問工具#

在滲透進入對方系統,獲取訪問控制權限並提升權限之後,攻擊者如想進一步維持這一訪問權限,往往需要使用木馬程序、後門程序和Rootkit來達到這一目的。Kali系統提供的維持訪問工具如下表所示:

名稱模式描述
Cryptcat命令行Cryptcat是網絡工具Netcat的加密版本。Cryptcat支持TCP、UDP兩種 網絡協議。它可以在兩個計算機之間建立指定的連接,並使用特定的密鑰對 傳輸數據進行加密。為了提高加密效果,該工具允許用戶在每次連接時使用 自定義的密鑰,從而保證數據的安全性。
Cymothoa命令行Cymothoa是一款可以將ShellCode注入現有進程(插入進程)的後門工具。 借助這種注入手段,它能夠把ShellCode偽裝成常規程序。它所注入的後門 程序能夠與被注入的程序共存,以避免被管理或維護人員懷疑。將ShellCode 注入其他進程,還有另外一個優勢就是:即使目標系統的安全防護工具能夠 檢驗可執行程序的完整性,只要它不檢查內存,就不能發現後門程序的進程。
Intersect命令行Intersect是一款適合在漏洞利用以後使用的能夠自動完成多種後期任 務的程序。它能夠自動收集密碼文件、賦值SSH密鑰、收集網絡信息,並能 識別殺毒軟件和防火墻程序。若要它自動執行後期任務,用戶需要創建自己 的腳本文件,腳本中指定需要執行的各種功能。對於Inetersect來說,每個 功能都有對應的執行模塊。
NetCat命令行NetCat是一個非常簡單的Unix工具,可以讀、寫TCP或UDP網絡連接 (Network Connection)。它被設計成一個可靠的後端(Back-End)工具, 能被其他的程序或腳本直接地或容易地驅動。同時,它又是一個功能豐富的 網絡調試和開發工具,因為它可以建立用戶可能用到的幾乎任何類型的連接, 以及一些非常有意思的內建功能。
Weevely命令行Weevely是一款針對PHP的webshell的自由軟件,可用於模擬一個類似 於Telnet的連接shell, Weevely通常用於Web程序的漏洞利用,隱藏後門 或者使用類似Telnet的方式來代替Web頁面式的管理, Weevely生成的服 務器端php代碼是經過了base64編碼的,所以可以騙過主流的殺毒軟件和 IDS,上傳服務器端代碼後通常可以通過Weevely直接運行。

維持訪問工具可以幫助攻擊者維持對目標系統的訪問控制權限,防止攻擊行為被發現,同時可以留下後門,方便攻擊者的下次訪問。

十一、取證工具#

在對電子證據進行取證的過程中,相應的取證工具必不可少。取證工具是在調查計算機犯罪時,為了保護證據的完整性和有效性所使用的一些輔助工具。取證工具一般分為勘查取證工具和檢查取證工具兩種,其中勘查取證工具包括在線取證工具、硬盤覆制機、寫保護接口硬件、數據擦除設備、手機取證系統等;檢查取證工具則包括數據恢覆工具、密碼譯破工具、專用計算機法證工具等。這些工具往往需要對磁盤數據、文件數據、加密數據等進行恢覆和提取,從中尋找電子證據。Kali系統提供的取證工具如下表所示:

名稱模式描述
Bulk _ extractor命令行Bulk _ extractor是從數字證據文件中提取諸如電子郵件地址、信 用卡號、URL和其他類型的信息的功能的程序。它是一個有用的取證 調查工具,可以用於許多任務,如惡意軟件和入侵調查、身份調查和 網絡調查,以及圖像分析和密碼破解。
Capstone命令行Capstone是一款優秀的反匯編框架,支持多種CPU架構,支持多 個平台,提供反匯編指令的語義詳情,用一個授權許可便可以為所有 重要編程語言提供捆包等。
Dumpzilla命令行Dumpzilla是用Python 3.x開發的,目的是提取Firefox, Iceweasel和Seamonkey瀏覽器的相關信息進行分析。它在Unix和 Windows 32/64位系統下工作,采用命令行界面,所以信息可以通過 管道重定向工具(如grep, awk, cut, sed)進行轉儲。
Galeta命令行Galeta是一個取證工具,用於檢查微軟公司Internet Explorer 生產的Cookie文件的內容。它解析文件並輸出可以在電子表格中加載 的字段。
Peepdf命令行Peepdf是一個用Python開發的、集成了多個組件的、用於檢測 和分析PDF文件是否有害的取證工具。
RegRipper圖形用戶界 面RegRipper是一款用來對Windows操作系統的注冊表進行取證的 工具。
Volatility命令行Volatility是開源的Windows, tinus, Android的內存取 證分析工具、由Python編寫成,命令行操作,支持各種操作系統。

電子證據其實就是計算機能夠處理的數字化的數據,它以各種文件格式存儲在不同類型的存儲介質上。從上表中可以看出,針對不同類型的數據,需要相應的工具去讀取,進行取證,有時對於加密數據,需要解密後才能取證。

十二、逆向工程工具#

逆向工程(又稱反向工程),是一種產品設計技術再現過程。在軟件工程領域,一般是先進行UML設計,然後用工具生成代碼,這個過程叫正向工程;相應地,從代碼生成UML設計圖叫作逆向工程。最典型的逆向工程就是程序代碼的反匯編或反編譯,通過對可執行文件的反向編譯還原出其源代碼的過程。對於一些危害系統安全的、感染了病毒或者含有惡意代碼的可執行文件,如果讓其執行可能會引起破壞,造成無法挽回的損失,這時可通過逆向工程手段還原其源代碼,在不執行代碼的情況下通過對源代碼的分析能夠更容易地判斷並找出惡意代碼。Kali系統提供的逆向工程工具如下表所示:

名稱模式描述
diStorm3命令行diStorm3是Kali Linux自帶的一款輕量級、容易使用的反匯編 引擎。它可以反匯編生成16位、32位和64位指令。它支持的指令 集包括FPU、MMX、SSE、SSE2、SSE3、SSSE3、SSE4、x86-64、VMX、 AMDs、SVM等。雖然diStorm3采用C語言編寫,但可以被Python、 Ruby、Java快速封裝。這樣,用戶可以使用Python、Rudy等腳本語言編寫腳本,並引入diStorm33,從而定制自己的反匯編工具。
edb-debugger圖形用戶界面edb-debugger是一個跨平台的x86/x86-64調試器。它受到 Ollydbg的啟發,但是其目標是在x86和x86-64以及多個操作系 統上運行。Linux是目前edb-debugger唯一官方支持的平台,但 FreeBSD,OpenBSD,OSX和Windows端口正在進行不同程度的功能實現。
Flasm命令行Flasm可以對Flash的SWF文件進行拆解,包括所有的時間表和 事件。通過反匯編,用戶可以了解Flash編譯器的工作原理,從而提 高用戶的ActionScript技能。用戶也可以手動對反匯編代碼進行優 化,或者根據需要調整代碼,然後利用Flasm將用戶的更改應用於原 SWF,替換原始操作
JavaSnoop圖形用戶界面JavaSnoop是一個java應用程序安全測試工具,它允許已攔截的方法,篡改數據和hack運行在計算機上的java應用程序。通常在沒 JavaSnoop是一個java應用程序安全測試工具,它允許以攔截的 有源代碼的情況下,測試java客戶端的安全性是不可預知的。在有源 代碼的情況下,可以運行一個簡單的java程序,並在遠程附加一個調 試器來調試它,單步運行,根據需要改變變量,但對於一個applet來 說要想做到這一點是有點困難的。有時,可能需要修改客戶端和服務 器之間的通信,一般的做法是在客戶端配置一個代理,在代理上修改 數據。問題的關鍵是,通信的數據通常不是明文的,可能使用了自定 義的協議、序列化的對象、加密的數據或者多種方式混合應用。這樣 要想修改通信過程中的數據是比較困難的。JavaSnoop試圖解決這些 問題,它可直接附加到一個運行中的進程,類似於調試器,然後,篡 改方法調用、運行自定義代碼或者對系統進行監視。
011yDbg圖形用戶界面011yDbg是一個新的動態追蹤工具,將IDA與SoftICE結合起來, Ring 3級調試器,非常容易上手,已代替SoftICE成為當今最為流行 的調試解密工具。同時還支持插件擴展功能,是目前最強大的調試工具。
Valgrind命令行Valgrind是一款用於內存調試、內存泄漏檢測以及性能分析的軟 件開發工具。

在信息安全領域,逆向工程往往與編程相關,涉及程序代碼的編譯、反編譯、調試等,其目的是分析代碼、跟蹤代碼的運行,判斷並評估代碼執行的安全性,從中發現可能的惡意代碼。

十三、壓力測試工具#

壓力測試是一種基本的質量保證行為,測試的對象可以是一個獨立的應用軟件或者是一個完整的系統。它是每個產品在流向市場之前進行的一項重要的、全方位的質量檢測。壓力測試的基本思路很簡單,它不是在常規條件下運行手動或自動測試,而是在計算機數量較少或系統資源匱乏的條件下運行測試。通常要進行壓力測試的資源包括內存、CPU、磁盤空間和網絡帶寬。壓力測試的時間往往持續很久,其目的是通過大量的、全面的操作使得產品長時間、高負荷地工作來檢驗產品的質量。Kali系統提供的壓力測試工具如下表所示:

名稱模式描述
DHCPig命令行DHCPig可以發起一個高級的DHCP耗盡攻擊。它將消耗局域網內的所 有IP地址以及阻止新客戶端獲取IP,同時它也防止舊客戶端釋放IP地址。 另外,它會發送無效的ARP去把所有的Windows主機震下線。
FunkLoad命令行FunkLoad是一個功能和負載的Web測試儀,主要用於Web項目,對網 站項目進行功能測試、性能測試、負載測試(如音量的測試或壽命測試) 和壓力測試。
iaxflood命令行IAX是Inter-Asterisk eXchange的縮寫,也就是Asterisk內部交換 協議。iaxflood則是利用IAX設計缺陷而發起洪水式攻擊的工具。
Inundator命令行Inundator是一個支持多目標的、多線程的、隊列驅動的、匿名的、 誤用入侵檢測系統。
MDK3命令行MDK3是一款無線DOS攻擊測試工具,能夠發起Beacon Flood、 Authentication DoS、Deauthentication/Disassociation Amok等模式的 攻擊,另外它還具有針對隱藏ESSID的暴力探測模式、802.1X滲透測試、 WIDS幹擾等功能。
rtpflood命令行rtpflood可以洪水攻擊RTP通話設備,實現拒絕服務的效果。
inviteflood命令行inviteflood通過TCP/UDP進行泛洪攻擊的SIP/SDP會話,該工具可 以在本機產生大量的流量,因為需要在本地讀取數據進行對外發送。所以 在流量監控時可能會產生40M/s的速度。
SlowHTTPTest命令行lowHTTPTest是依賴HTTP協議的慢速攻擊DoS攻擊工具,設計的基 本原理是服務器在請求完全接收後才會進行處理,如果客戶端的發送速度 緩慢或者發送不完整,服務端為其保留連接資源池占用,大量此類請求並 發將導致DoS。
THC-SSL-DOS命令行HC-SSL-DOS是一款針對SSL的壓力測試工具。該工具默認會同服務 器建立400個SSL連接,並且快速進行重新協商Renegotiations,以達到 大量消耗服務器CPU資源的目的。該工具目前只針對開啟重新協商功能的 服務器,所以只要關閉該功能,就可以抵御該工具的攻擊。

目前很多用於DoS攻擊的工具被用來作為壓力測試工具,它們的工作原理其實是相同的,都是通過大量的任務耗盡系統資源(CPU、存儲和網絡帶寬)的方法來測試目標的抗壓能力。

十四、報告工具#

在一次滲透測試結束後,往往需要利用報告工具來生成報告,供工作人員進行存檔或者工作報告。一些功能強大且友好的報告工具生成的報告不只包含最終的結果,還包括一些重要的原始數據、中間數據和對數據的分析,並且最終的報告形式可以是多樣的、可視化的,用各種圖表來生動形象地將結果更好地展示出來。Kali系統提供的報告工具如下表所示:

名稱模式描述
CaseFile圖形用戶界面CaseFile是Maltego的姊妹工具,功能非常類似於Maltego。 CaseFile主要針對數據進行離線分析,缺少Maltego的數據采集功能。 它可以導入各類數據,包括Maltego導出的數據。用戶可以為信息添 加連接線、標簽和注釋,標記數據的關系。CaseFile以圖形化的方式 展現數據,方便分析人員找出隱含的數據關系。
CherryTree圖形用戶界面支持富文本編輯和代碼高亮,支持Linux和Windows平台。數據采用 CherryTree是一個支持無限層級分類的筆記軟件,由Python編與, sqlite或XML存儲,支持密碼保護。支持從NoteCase、KeepNote、 Knowit、Tomboy、TuxCards、Treepad、Leo等筆記軟件導入數據。
dos2unix命令行dos2unix命令用來將DOS格式的文本文件轉換成UNIX格式的文 本。
Dradis圖形用戶界面Dradis框架是一個開源的、用Ruby開發的協作和報告平台。可 生成滲透測試報告,內容包括所提供的服務、使用的方法、發現的結 果和建議。
MagicTree圖形用戶界面MagicTree是一個面向滲透測試人員的工具,可以幫助用戶輕松 直接地進行數據合並、查詢、外部命令執行和報告生成,所有的數據 都會以樹形結構存儲,非常方便。
MetagoofilShell命令行Metagoofil是一款利用Google收集信息的工具,目前支持的文 件類型有Word、PPT、Excel和PDF,結果可生成HTML報告文件。

上述報告工具都有其各自的應用領域,在使用時要根據實際情況來選擇。但不管是哪種工具,都使得報告的生成更加自動和便利,節省了工作人員的時間。

十五、kali Top10 工具#

針對繁多的Kali工具,業界總結出Kali Top10工具,這些工具功能強大、使用廣泛,是Kali工具集中使用最為頻繁的十大工具。
這些工具分別是:

Nmap(信息收集、脆弱性分析)、Metasploit(漏洞利用)、John the Ripper(密碼攻擊)、THC-Hydra(密碼攻擊)、Wireshark(信息收集、嗅探與欺騙)、Aircrack-NG(無線攻擊)、Maltego Teeth(信息收集、漏洞利用、密碼攻擊、Web應用)、OWASPZAP(Web應用)、Cain&Abel(嗅探與欺騙、密碼攻擊)、Nikto(Web應用、信息收集)。這些工具在前面的部分都有介紹,掌握這些工具的使用對從事安全滲透測試工作有著很大的幫助,是信息安全的利器。

本章小結#

本篇文章按照安全工具的類型,對Kali系統自帶的、常用的安全工具做了介紹。無論是對於安全專家還是攻擊者,安全工具都是他們從事安全工作的利器。一個好的安全從業人員,熟練掌握各種類型的安全工具是必不可少的。Kali系統免去了人們尋找、安裝安全工具的煩惱,大大方便了對安全的學習、研究和工作。但是Kali系統自帶的安全工具如此之多,這些工具的功能、作用是什麽?什麽時候應該使用什麽工具?也是一件令人煩惱的事情。為此本篇文章對一些常見的工具按照功能進行了分類介紹,為安全工作人員提供了便利。

🐲 Kali Linux使用指南
https://illumi.love/posts/指南向/kali-linux-使用指南/
作者
Illumi糖糖
發布於
2025-07-02
許可協議
🔒CC BY-NC-ND 4.0