從第一篇之后接下來就要正式開始滲透測試的部分了淑翼,首先引用《指南》中的幾點忠告:
- 不要進行惡意的攻擊
- 不要做傻事
- 在沒有獲得書面授權(quán)時邑蒋,不要攻擊任何目標
- 考慮你的行為將會帶來的后果
- 如果你干了些非法的是事情疗垛,天網(wǎng)恢恢疏而不漏毫别,你總會被抓到牢里的
謹記胖喳。
專業(yè)術(shù)語介紹
- 滲透攻擊(Exploit)
滲透攻擊是指由攻擊者或滲透測試者利用一個系統(tǒng)、 應(yīng)用服務(wù)中的安全漏洞, 所進行的攻擊行為洗显。 攻擊者使用滲透攻擊去入侵系統(tǒng)時,往往會造成開發(fā)者所沒有預(yù)期的一種特殊結(jié)果原环。 流行的滲透攻擊技術(shù)包括緩沖區(qū)溢出挠唆、Web應(yīng)用程序漏洞攻擊 (比如 SQL 注入), 以及利用配置錯誤等。
- 攻擊載荷(Payload)
攻擊載荷是我們期望日標系統(tǒng)在被滲透攻擊之后去執(zhí)行的代碼嘱吗。 在 Metasploit 框架中可以自由地選擇玄组、傳送和植入。例如, 反彈式Shell是一種從目標主機到攻擊主機創(chuàng)建網(wǎng)絡(luò)連接, 并 提供命令行shell的攻擊載荷谒麦。而Bind Shell攻擊載荷則在目標上將命令行Shell綁定至一個打開的監(jiān)聽端口俄讹,攻擊者可以連接這些端口來取得Shell交互。 攻擊載荷也可能是簡單的在目標操作系統(tǒng)上執(zhí)行 一些命令, 如添加用戶賬號等绕德。
- Shellcode
Shellcode 是在滲透攻擊時作為攻擊載荷運行的一組機器指令患膛。Shellcode 通常用匯編語言編寫。在大多數(shù)倩況下, 目標系統(tǒng)執(zhí)行了 Shellcode 這一組指令之后. 才會提供一個命令行 Shell 或者 Meterpreter Shell, 這也是 Shellcode 名稱的由來耻蛇。
- 模塊(Module)
在本書的上下文環(huán)境中, 一個模塊是指 Metasploit 框架中所使用的一段軟件代碼組件. 在 某些時候踪蹬, 你可能會使更用一個滲透攻擊模塊(exploit module)。也就是用于實際發(fā)起滲透攻擊的軟件代碼組件臣咖。而在其他時候跃捣,則可能使用一個輔助模塊(auxiliary module), 用來執(zhí)行一些諸如掃描或系統(tǒng)查點的攻擊動作. 這些在不斷變化和發(fā)展中的模塊才是使 Metasploit 框架如此強大的核心所在。
- 監(jiān)昕器(Listener)
監(jiān)聽器是 Metasploit 中用來等待連入網(wǎng)絡(luò)連接的組件. 舉例來說夺蛇,在目標主機被滲透攻擊之后, 它可能會通過互聯(lián)網(wǎng)畫連至回攻擊主機上, 而監(jiān)聽器組件在攻擊主機上等待披滲透攻擊的系統(tǒng)來連接疚漆,并負責處理這些連接。
使用MSF的幾種方式
MSF 終端
使用 MSF 最常用的方式就是通過 MSF 終端刁赦。
在啟動了postgresql 數(shù)據(jù)庫服務(wù)和 metasploit 服務(wù)后娶聘,在終端輸入msfconsole
即可打開 MSF 終端,見下圖
經(jīng)過一堆輸出后甚脉,最終顯示大概如下:
輸入 help
命令可以查看簡單的描述信息丸升。
對 MSF 終端將在后文詳細介紹,現(xiàn)在先來看看另一種使用 MSF 的方法宦焦。
在終端直接執(zhí)行 MSF 命令
使用msfcli
后家命令的方式能在終端直接執(zhí)行 MSF 提供的命令发钝。
使用示例:
現(xiàn)在看不懂具體的輸出沒關(guān)系,這個示例只是讓你有個初步的印象波闹。
在這里使用了
msfcli windows/smb/ms08_067_netapi O
這行命令酝豪,其中windows/smb/ms08_067_netapi
是一個模塊,末尾的O
參數(shù)表示options精堕,意為查看模塊的選項參數(shù)孵淘。
如果末尾為P
表示Payload,意為查看可以附加上的攻擊載荷歹篓。
如果設(shè)置好了Options瘫证,然后末尾加上E
參數(shù)的話可以執(zhí)行(Execute)模塊揉阎,樣例代碼為
msfcli windows/smb/ms_08_067_netapi RHOST=192.168.1.3 PAYLOAD=windows/shell/bind_tcp E
沒有示例截圖。
PS:
現(xiàn)在執(zhí)行
msfcli
會出現(xiàn)「msfcli 工具已經(jīng)被棄用背捌,請使用msfconsole -r 或 -x 來代替」
代替方法:
msfcli windows/smb/ms08_067_netapi O
基本等價于
msfconsole -x "use exploit/windows/smb/ms08_067_netapi;show options"
圖形界面……
《指南》里還稍微介紹了一下圖形界面毙籽,我從來不用……就算了吧。
MSF 功能程序
msfpayload 和 msfencode
《指南》里介紹的msfpayload
毡庆,msfencode
兩個命令坑赡,被整合成了msfvenom
工具,就不做筆記了么抗,詳情請看這里毅否。
Nasm Shell
將匯編命令轉(zhuǎn)換為opcode的工具。
《指南》里說在/opt/framework/msf3/tools
目錄中蝇刀,但是 Kali Linux 里并沒有這個目錄螟加,用locate nasm_shell.rb
查找之后發(fā)現(xiàn)在
/usr/share/metasploit-framework/tools/nasm_shell.rb
運行實例:
PS
如果出現(xiàn)錯誤提示,請按錯誤提示處理吞琐。
我的折騰過程:首先提示找不到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
繼續(xù)返回bundle install
,成功了
執(zhí)行./nasm_shel.rb
正常翻默。
MSF 基礎(chǔ)結(jié)束,下一篇介紹情報收集的基礎(chǔ)知識修械。