本文理論基礎(chǔ)知識(shí)來源于《測試工程師全棧技術(shù)進(jìn)階與實(shí)踐》,僅供學(xué)習(xí)使用,不做他用。感謝原作者提供的知識(shí)分享。
本文整理梳理了來源于書籍、網(wǎng)絡(luò)等方面滲透測試?yán)碚搩?nèi)容,旨在了解和學(xué)習(xí)滲透測試的基礎(chǔ),并不做實(shí)際的演示,僅用于學(xué)習(xí)目的。
1 什么是滲透測試?
- 滲透測試是指由專業(yè)的安全人員
模擬黑客
,從系統(tǒng)可能存在的漏洞位置進(jìn)行攻擊測試
,找到隱藏的安全漏洞,從而達(dá)到保護(hù)系統(tǒng)安全的目的; - 書中有一個(gè)例子說的非常不錯(cuò):
把軟件系統(tǒng)比喻一座房子,房子建好后會(huì)配備一些安全措施,比如防盜門、安全警報(bào)等。一般情況,我們認(rèn)為這已經(jīng)足夠安全,但我們不能十分確認(rèn)入侵者會(huì)使用怎樣的方式找到漏洞,從而攻擊我們的安全防線。
為了保護(hù)房子足夠安全,我們會(huì)聘請(qǐng)外部的安全專家進(jìn)行一系列的檢測,比如檢測防盜門是否牢固,窗戶是否容易被侵入等等,發(fā)現(xiàn)這個(gè)房子是否存在漏洞,確保房子的安全性。
- 從上邊的例子中,我們看出:
由外部安全專家驗(yàn)證房子的安全過程,就是對(duì)房子進(jìn)行滲透測試的過程。其中房子就是我們的軟件系統(tǒng),驗(yàn)證房子安全性采取的一系列措施,就是安全滲透測試。
- 這個(gè)例子非常好,通俗易懂的簡單了解什么是滲透測試。
2 有哪些常用方法?
- 關(guān)于滲透測試常用的方法,書中提及到了幾種方法,分別是:
2.1 針對(duì)性測試
- 針對(duì)性測試由公司內(nèi)部員工和專業(yè)滲透測試團(tuán)隊(duì)共同完成;
- 內(nèi)部員工提供安全測試所需要的基礎(chǔ)信息,并負(fù)責(zé)業(yè)務(wù)層面的安全測試;
- 專業(yè)滲透測試團(tuán)隊(duì)關(guān)注業(yè)務(wù)以外的、更普適的安全測試;
- 針對(duì)性測試屬于研發(fā)層面的滲透測試;
- 參與這類測試的人員,可得到被測系統(tǒng)的內(nèi)部資料(部署信息、網(wǎng)絡(luò)信息、詳細(xì)架構(gòu)設(shè)計(jì)、產(chǎn)品代碼等);
- 這種方法也叫“開燈測試”,就是測試人員完全了解系統(tǒng)內(nèi)部情況的前提下開展的。
2.2 外部測試
- 外部測試時(shí)針對(duì)外部可見的服務(wù)器和設(shè)備,模擬外部
攻擊者對(duì)其進(jìn)行攻擊
,檢查它們是否能夠被入侵
; - 這里的服務(wù)器和設(shè)備包括域名服務(wù)器、
Web
服務(wù)器、防火墻、電子郵箱服務(wù)器等; - 如果
入侵
成功,會(huì)入侵到系統(tǒng)
的哪一部分,又會(huì)泄露多少資料等等; - 由內(nèi)部測試人員或者專業(yè)滲透測試團(tuán)隊(duì)在假定完全不清楚系統(tǒng)內(nèi)部情況的前提下來開展。
2.3 內(nèi)部測試
- 內(nèi)部測試指由測試工程師模擬內(nèi)部人員在內(nèi)網(wǎng)進(jìn)行
攻擊
,檢查內(nèi)部攻擊可以給系統(tǒng)造成什么程度傷害; - 這里測試人員應(yīng)擁有較高的系統(tǒng)權(quán)限,也能查閱各種內(nèi)部資料等;
- 內(nèi)部測試主要是防止系統(tǒng)的內(nèi)部員工對(duì)系統(tǒng)進(jìn)行內(nèi)部
攻擊
。
2.4 盲測
- 盲測是指在嚴(yán)格限制提供給測試執(zhí)行人員或團(tuán)隊(duì)的信息的前提下,由他們來模擬真實(shí)者的行為;
- 一般測試人員指被告知被測系統(tǒng)的公開信息;
- 這種測試可能需要相當(dāng)長的時(shí)間進(jìn)行
偵查
; - 這類測試的效果很大程度上取決于測試人員的
技術(shù)水平
; - 盲測由專業(yè)滲透測試團(tuán)隊(duì)在測試
后期
開展; - 一般需要借助很多攻擊工具。
2.5 雙盲測試
- 雙盲測試也叫“隱秘測試”;
- 測試人員對(duì)系統(tǒng)內(nèi)部知之甚少,且被測試系統(tǒng)內(nèi)部也只有少數(shù)人知道正在進(jìn)行安全測試;
- 雙盲測試可反映軟件系統(tǒng)最真實(shí)的安全狀態(tài);
- 一般由外部專業(yè)滲透測試專家團(tuán)隊(duì)完成。
3 如何開展?jié)B透測試?
3.1 規(guī)劃和偵查
- 定義測試的范圍和目標(biāo);
- 初步確定要使用的工具和方法;
- 明確需要收集的情報(bào)信息(如網(wǎng)路和域名、郵件服務(wù)器等);
- 主要是為了了解目標(biāo)的工作方式及潛在的安全漏洞。
3.2 安全掃描
- 靜態(tài)分析:主要是掃描所有代碼進(jìn)行分析,可使用一些工具,比如
Fortify SCA
、Checkmarx Suite
; - 動(dòng)態(tài)分析:在代碼運(yùn)行時(shí)進(jìn)行掃描,可實(shí)時(shí)提供應(yīng)用程序的運(yùn)行時(shí)視圖,比靜態(tài)掃描更準(zhǔn)確。
3.3 獲取訪問權(quán)限
- 測試人員將模擬黑客對(duì)應(yīng)用程序進(jìn)行網(wǎng)絡(luò)攻擊(如SQL注入、跨站腳本攻擊等);
- 利用找到的漏洞,通過升級(jí)自己的權(quán)限、竊取數(shù)據(jù)、攔截流量等方式了解其對(duì)系統(tǒng)造成的傷害。
3.4 維持訪問權(quán)限
- 查看被發(fā)現(xiàn)的漏洞是否可以長期存在于系統(tǒng)中;
- 如果漏洞能夠持久化,那么在很長一段時(shí)間內(nèi)入侵者都可對(duì)系統(tǒng)進(jìn)行深入訪問或破壞。
3.5 入侵分析
- 將以上分析結(jié)果匯總成詳細(xì)的測試報(bào)告;
- 需要注明以下內(nèi)容:
1、可以被利用的特定漏洞;
2、利用該漏洞的具體步驟;
3、能夠被訪問的敏感數(shù)據(jù);
4、滲透測試人員能夠在系統(tǒng)中不被偵測到的時(shí)間。
4 常用的滲透測試工具有哪些?
4.1 Nmap
4.1.1 簡介
-
Nmap
是一個(gè)網(wǎng)絡(luò)連接端掃描軟件,用來掃描網(wǎng)上電腦開放的網(wǎng)絡(luò)連接端; - 確定哪些服務(wù)運(yùn)行在哪些連接端,并且推斷計(jì)算機(jī)運(yùn)行哪個(gè)操作系統(tǒng),用以評(píng)估網(wǎng)絡(luò)系統(tǒng)安全;
- 系統(tǒng)管理員可以利用
nmap
來探測工作環(huán)境中未經(jīng)批準(zhǔn)使用的服務(wù)器,但是黑客會(huì)利用nmap
來搜集目標(biāo)電腦的網(wǎng)絡(luò)設(shè)定,從而計(jì)劃攻擊
的方法。
4.1.2 主要功能
- 探測一組主機(jī)是否在線;
- 掃描 主機(jī)端口,嗅探所提供的網(wǎng)絡(luò)服務(wù);
- 推斷主機(jī)所用的操作系統(tǒng) 。
4.1.3 一些命令
# 以下是部分官方文檔中的示例
# 掃描主機(jī)scanme中 所有的保留TCP端口
nmap -v scanme.
# 秘密SYN掃描
nmap -sS -O
# 主機(jī)列舉和TCP掃描
nmap -sV -p
# 隨機(jī)選擇100000臺(tái)主機(jī)掃描是否運(yùn)行Web服務(wù)器(80端口)
nmap -v -iR 100000 -P0 -p 80
4.1.4 基本掃描方式
TCP connect()端口掃描(-sT參數(shù))。
TCP同步(SYN)端口掃描(-sS參數(shù))。
UDP端口掃描(-sU參數(shù))。
Ping掃描(-sP參數(shù))。
4.2 Aircrack-ng
4.2.1 簡介
-
Aircrack-ng
是一個(gè)與802.11
標(biāo)準(zhǔn)的無線網(wǎng)絡(luò)分析有關(guān)的安全軟件,主要功能有:網(wǎng)絡(luò)偵測,數(shù)據(jù)包嗅探,WEP
和WPA/WPA2-PSK破解
; -
Aircrack-ng
可工作在任何支持監(jiān)聽模式的無線網(wǎng)卡上并嗅探802.11a,802.11b,802.11g
的數(shù)據(jù);
4.2.2 aircrack-ng 套件
套件 | 說明 |
---|---|
aircrack-ng |
破解WEP 以及WPA (字典攻擊)密鑰 |
airdecap-ng |
通過已知密鑰來解密WEP 或WPA 嗅探數(shù)據(jù) |
airmon-ng |
將網(wǎng)卡設(shè)定為監(jiān)聽模式 |
aireplay-ng |
數(shù)據(jù)包注入工具(Linux 和Windows 使用CommView 驅(qū)動(dòng)程序) |
airodump-ng |
數(shù)據(jù)包嗅探:將無線網(wǎng)絡(luò)數(shù)據(jù)輸送到PCAP 或IVS 文件并顯示網(wǎng)絡(luò)信息 |
airtun-ng |
創(chuàng)建虛擬管道 |
airolib-ng |
保存、管理ESSID 密碼列表 |
packetforge-ng |
創(chuàng)建數(shù)據(jù)包注入用的加密包 |
Tools |
混合、轉(zhuǎn)換工具 |
airbase-ng |
軟件模擬AP
|
airdecloak-ng |
消除pcap 文件中的WEP 加密 |
airdriver-ng |
無線設(shè)備驅(qū)動(dòng)管理工具 |
airolib-ng |
保存、管理ESSID 密碼列表,計(jì)算對(duì)應(yīng)的密鑰 |
airserv-ng |
允許不同的進(jìn)程訪問無線網(wǎng)卡 |
buddy-ng |
easside-ng 的文件描述 |
easside-ng |
和AP 接入點(diǎn)通訊(無WEP ) |
tkiptun-ng |
WPA/TKIP 攻擊 |
wesside-ng |
自動(dòng)破解WEP 密鑰 |
4.3 sqlmap
4.3.1 簡介
-
sqlmap
是一個(gè)自動(dòng)化的sql
注入工具,其主要功能是掃描、發(fā)現(xiàn)并利用給定URL
的SQL
注入漏洞; - 內(nèi)置了很多繞過插件,支持的數(shù)據(jù)庫有
MySQL, Oracle,PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird,Sybase和SAP MaxDB
。
4.3.2 注入模式
- 基于布爾的盲注:
即可以根據(jù)返回頁面判斷條件真假的注入;
- 基于時(shí)間的盲注:
即不能根據(jù)頁面返回內(nèi)容判斷任何信息,用條件語句查看時(shí)間延遲語句是否執(zhí)行(即頁面返回時(shí)間是否增加)來判斷;
- 基于報(bào)錯(cuò)注入:
即頁面會(huì)返回錯(cuò)誤信息,或者把注入的語句的結(jié)果直接返回在頁面中;
- 聯(lián)合查詢注入:
可以使用union的情況下的注入;
- 堆查詢注入:
可以同時(shí)執(zhí)行多條語句的執(zhí)行時(shí)的注入。文章來源:http://www.zghlxwxcb.cn/news/detail-756892.html
4.3.3 一些命令
# 判斷是否存在注入
sqlmap.py -u url
# 判斷文本中的請(qǐng)求是否存在注入
sqlmap.py -r MM_test.txt
# 查詢當(dāng)前用戶下的所有數(shù)據(jù)庫
sqlmap.py -u url --dbs
# 獲取數(shù)據(jù)庫下的表名
sqlmap.py -u url -D security --tables
# 獲取表中的字段名
sqlmap.py -u url -D security -T users --columns
# 獲取數(shù)據(jù)庫的所有用戶
sqlmap.py -u url --users
.......
4.4 Wifiphisher
-
Wifiphisher
是一個(gè)安全工具,具有安裝快速、自動(dòng)化搭建的優(yōu)點(diǎn),利用它搭建起來的網(wǎng)絡(luò)釣魚攻擊WiFi可以輕松獲得密碼和其他憑證; - 與其它(網(wǎng)絡(luò)釣魚)不同,這是社會(huì)工程攻擊,不包含任何的
暴力破解
,它能輕松獲得門戶網(wǎng)站和第三方登陸頁面的證書或WPA/WPA2
的密鑰。
其他方面簡介,暫時(shí)略,后續(xù)詳解。文章來源地址http://www.zghlxwxcb.cn/news/detail-756892.html
4.5 AppScan
- 這個(gè)工具對(duì)于每個(gè)做滲透測試者來說,應(yīng)該用的比較多,它的功能非常強(qiáng)大;
-
AppScan
是一款網(wǎng)絡(luò)安全測試工具,用于WEB
安全防護(hù)的掃描防護(hù); - 掃描器的掃描結(jié)果生成
WAF
,對(duì)網(wǎng)站漏洞直接防護(hù); - 關(guān)于使用等其他介紹,后續(xù)再議。
5 滲透測試好處?
- 通過滲透測試,可以識(shí)別出主要漏洞,并及時(shí)進(jìn)行修復(fù),以確保系統(tǒng)環(huán)境的安全性;
- 因?yàn)楸苊饬税踩┒?,所以也就避免了不必要的損失。
到了這里,關(guān)于『滲透測試基礎(chǔ)』| 什么是滲透測試?有哪些常用方法?如何開展?測試工具有哪些?優(yōu)勢在哪里?的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!