忠告 & 基礎

從第一篇之后接下來就要正式開始滲透測試的部分了,首先引用《指南》中的幾點忠告:

  • 不要進行惡意的攻擊
  • 不要做傻事
  • 在沒有獲得書面授權時,不要攻擊任何目標
  • 考慮你的行為將會帶來的后果
  • 如果你干了些非法的是事情,天網恢恢疏而不漏,你總會被抓到牢里的

謹記。


專業術語介紹

  1. 滲透攻擊(Exploit)
    滲透攻擊是指由攻擊者或滲透測試者利用一個系統、 應用服務中的安全漏洞, 所進行的攻擊行為。 攻擊者使用滲透攻擊去入侵系統時,往往會造成開發者所沒有預期的一種特殊結果。 流行的滲透攻擊技術包括緩沖區溢出、Web應用程序漏洞攻擊 (比如 SQL 注入), 以及利用配置錯誤等。
  1. 攻擊載荷(Payload)
    攻擊載荷是我們期望日標系統在被滲透攻擊之后去執行的代碼。 在 Metasploit 框架中可以自由地選擇、傳送和植入。例如, 反彈式Shell是一種從目標主機到攻擊主機創建網絡連接, 并 提供命令行shell的攻擊載荷。而Bind Shell攻擊載荷則在目標上將命令行Shell綁定至一個打開的監聽端口,攻擊者可以連接這些端口來取得Shell交互。 攻擊載荷也可能是簡單的在目標操作系統上執行 一些命令, 如添加用戶賬號等。
  1. Shellcode
    Shellcode 是在滲透攻擊時作為攻擊載荷運行的一組機器指令。Shellcode 通常用匯編語言編寫。在大多數倩況下, 目標系統執行了 Shellcode 這一組指令之后. 才會提供一個命令行 Shell 或者 Meterpreter Shell, 這也是 Shellcode 名稱的由來。
  1. 模塊(Module)
    在本書的上下文環境中, 一個模塊是指 Metasploit 框架中所使用的一段軟件代碼組件. 在 某些時候, 你可能會使更用一個滲透攻擊模塊(exploit module)。也就是用于實際發起滲透攻擊的軟件代碼組件。而在其他時候,則可能使用一個輔助模塊(auxiliary module), 用來執行一些諸如掃描或系統查點的攻擊動作. 這些在不斷變化和發展中的模塊才是使 Metasploit 框架如此強大的核心所在。
  1. 監昕器(Listener)
    監聽器是 Metasploit 中用來等待連入網絡連接的組件. 舉例來說,在目標主機被滲透攻擊之后, 它可能會通過互聯網畫連至回攻擊主機上, 而監聽器組件在攻擊主機上等待披滲透攻擊的系統來連接,并負責處理這些連接。

使用MSF的幾種方式

MSF 終端

使用 MSF 最常用的方式就是通過 MSF 終端。

在啟動了postgresql 數據庫服務和 metasploit 服務后,在終端輸入msfconsole即可打開 MSF 終端,見下圖

msf-console-cmd.png

經過一堆輸出后,最終顯示大概如下:

msf-console-finish.png

輸入 help 命令可以查看簡單的描述信息。

對 MSF 終端將在后文詳細介紹,現在先來看看另一種使用 MSF 的方法。

在終端直接執行 MSF 命令

使用msfcli后家命令的方式能在終端直接執行 MSF 提供的命令。

使用示例:

msfcli-example.png

現在看不懂具體的輸出沒關系,這個示例只是讓你有個初步的印象。

在這里使用了
msfcli windows/smb/ms08_067_netapi O
這行命令,其中windows/smb/ms08_067_netapi是一個模塊,末尾的O參數表示options,意為查看模塊的選項參數。

如果末尾為P表示Payload,意為查看可以附加上的攻擊載荷。

如果設置好了Options,然后末尾加上E參數的話可以執行(Execute)模塊,樣例代碼為

msfcli windows/smb/ms_08_067_netapi RHOST=192.168.1.3 PAYLOAD=windows/shell/bind_tcp E

沒有示例截圖。

PS:

現在執行msfcli會出現「msfcli 工具已經被棄用,請使用msfconsole -r 或 -x 來代替」
代替方法:
msfcli windows/smb/ms08_067_netapi O
基本等價于
msfconsole -x "use exploit/windows/smb/ms08_067_netapi;show options"

圖形界面……

《指南》里還稍微介紹了一下圖形界面,我從來不用……就算了吧。

MSF 功能程序

msfpayload 和 msfencode

《指南》里介紹的msfpayloadmsfencode兩個命令,被整合成了msfvenom工具,就不做筆記了,詳情請看這里

Nasm Shell

將匯編命令轉換為opcode的工具。

《指南》里說在/opt/framework/msf3/tools目錄中,但是 Kali Linux 里并沒有這個目錄,用locate nasm_shell.rb查找之后發現在
/usr/share/metasploit-framework/tools/nasm_shell.rb

運行實例:

nasm_shell-example.png

PS

如果出現錯誤提示,請按錯誤提示處理。
我的折騰過程:首先提示找不到gem包,要運行:
bundle install
第一次中斷在pg包上,要運行:
gem install pg
然后提示缺少 libqp-dev,運行:
apt-get install libpq-dev
然后重新運行 gem install pg && bundle install,中斷在:
Metasploit - InstallError: metasploit_data_models requires Ruby version >= 2.1
然后安裝rvm,
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
curl -sSL https://get.rvm.io | bash
按提示初始化后運行rvm install 2.1.0
繼續返回bundle install,成功了
執行./nasm_shel.rb 正常。


MSF 基礎結束,下一篇介紹情報收集的基礎知識。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容