漏洞測試

在某次HW行動中對一個學校的資產進行滲透測試,在其一個智慧校園管理系統發現了一處sql注入。

可以看到可以選擇以什么身份登陸,而且選擇學生登陸的時候,還可以選擇年級。

抓包看下是否存在數據庫交互:

可以看到,會去服務器請求對應年級的數據,嘗試添加單引號,出現報錯,證實存在sql注入。

因為網站沒有waf,所以直接拿sqlmap跑:

可以跑出管理員的賬號,并且拿到了os-shell。因為os-shell不方便,所以想彈個cs的shell或者上個webshell。

但是當時局限于直接在web目錄寫shell,還有powershell反彈shell。前者不知道web絕對路徑(嘗試過在os-shell中利用dir命令來尋找web目錄,但是他的目錄是中文的,os-shell一直出錯),后者被殺毒軟件阻止。

Getshell

當時沒有想到利用bitsadmin等系統工具來下載木馬執行,所以想著利用管理員賬號進行網站后臺看看。

在后臺發現了一處文件上傳

嘗試上傳aspx(簡單的前端檢測繞過)。

返回500,但是文件卻成功上傳到了服務器。

訪問aspx文件,出現403錯誤

應該是iis限制了目錄文件的權限,這里有兩種辦法,一種是上傳web.config文件來增加文件的執行權限,一種是嘗試進行路徑穿越。

這里選擇上傳web.config文件

再次訪問,出現未編譯錯誤

大概是因為整套源碼都是已經預編譯好的,無法直接使用ASPX腳本。

嘗試上傳asp文件,成功解析:

接著上傳asp webshell,用蟻劍連接:

權限提升

查看一下權限:

接下來想彈shell到cs進行提權和進一步橫向。

tasklist看下有沒有殺軟:

有賽門鐵克會檢測流量,所以得繞下流量檢測,可以利用合法證書來加密cs的流量。

ssl證書的話可以自己申請,也可以利用keytools偽造,申請完證書之后用openssl生成 keystore。

openssl pkcs12 -export -in fullchain.pem -inkey key.pem -out stao.p12 -name stao.site -passout pass:mypass
keytool -importkeystore -deststorepass mypass -destkeypass mypass -destkeystore stao.store -srckeystore stao.p12 -srcstoretype PKCS12 -srcstorepass mypass -alias stao.site

這里我還替換了cs的profile,c2 profile可以用來控制Beacon payload的行為,直接用了github現成的。

https://github.com/threatexpress/malleable-c2/blob/master/jquery-c2.4.0.profile

其他可以默認,但是要改一下其中ssl修改證書的配置,指定為我們剛剛生成的證書。

修改好profile之后,運行./c2lint2 xxx.profile檢測一下。

沒問題就可以運行cs服務器,并指定profile,啟動客戶端連接服務器,然后添加一個listeners,選擇https的beacon。

nohup ./teamserver x.x.x.x password c2.profile &

然后生成C#的payload,利用AVlator進行一下簡單的免殺處理。

將生成的exe利用蟻劍上傳到服務器并執行,成功反彈shell。

接下來進行提權,systeminfo看下補丁。

嘗試下ms16-075,成功提權。

提權之后發現沒有什么值得進一步滲透拿分的地方,因此寫報告提交,over。