記一次有點抽象的滲透經歷

蚁景网安实验室發表於2024-05-17

0x01 獲取webshell

在各種資訊蒐集中,發現某個ip的埠掛著一個比較老的服務。

記一次有點抽象的滲透經歷

首先看到了員工工號和手機號的雙重驗證,也不知道賬號是什麼結構組成的,基本上放棄字典爆破這一條路。於是乎開啟之前用燈塔的掃描結果,看看檔案洩露是否有什麼可用的點。發現其中有一個略顯突出的help.html。可能是系統的幫助文件

記一次有點抽象的滲透經歷

看得出來也是一個年久失修的系統了,圖片的連結都已經404了。但是這裡得到了一個示例賬號zs001,也知道了初始密碼是123456(吐槽:果然年久失修了,這個系統就沒有輸入密碼的input,只有一個手機號驗證碼)。

記一次有點抽象的滲透經歷

知道了賬號,這裡還缺一個手機號。感覺這個系統應該沒做驗證,畢竟看上去是一個老舊的系統,估計有沒有人用用都不好說,可能是單位那種廢棄了但是還沒下架的邊緣資產。然後隨便輸入一個手機號上去。果然!

記一次有點抽象的滲透經歷

然後隨便找個手機接碼平臺等待驗證碼發過來,然後過了十幾分鍾無果,想到可能是廢棄資產的原因驗證碼介面早就失效了。於是沒辦法只能掏出burp開始爆破,估計驗證碼也是四位數,如果是六位數驗證碼大機率沒繫了。但是這波運氣還算可以。也是成功爆破出來了。

記一次有點抽象的滲透經歷

然後登入後臺直接上傳一個木馬,沒有任何過濾。emmmmmmm開始懷念過去。那時候的洞是真好挖啊。

記一次有點抽象的滲透經歷

但是訪問的時候出現了一個壞訊息。404了,404了怎麼辦呢。想到了可能目標伺服器上有殺軟之類的東西。木馬可能是上傳到伺服器上了,然後再上傳到伺服器之後被殺軟自動隔離,那麼這時候訪問就會出現404。

記一次有點抽象的滲透經歷

【----幫助網安學習,以下所有學習資料免費領!加vx:dctintin,備註 “部落格園” 獲取!】

 ① 網安學習成長路徑思維導圖
 ② 60+網安經典常用工具包
 ③ 100+SRC漏洞分析報告
 ④ 150+網安攻防實戰技術電子書
 ⑤ 最權威CISSP 認證考試指南+題庫
 ⑥ 超1800頁CTF實戰技巧手冊
 ⑦ 最新網安大廠面試題合集(含答案)
 ⑧ APP客戶端安全檢測指南(安卓+IOS)

0x02 webshell免殺

這裡中途又替換了幾個github上的免殺木馬,均無效。ps:我是懶狗,免殺什麼的能不寫程式碼就不寫程式碼。php這玩意有個好處,就是語法特別髒,各種免殺手法層出不窮,花裡胡哨。這裡就簡單的介紹幾種比較偷懶的方法。

2.1 無字母webshell

個人在實際滲透過程中還算挺好用的,無字母webshell本來是ctf的一些題目,但是事實上免殺效果確實也挺強,而且適應性也比較高,適合一句話木馬。之後可以直接上蟻劍連結。

舉例:

ps:當然都說了偷懶,肯定不是我寫的,直接去ctf平臺的題目的writeup偷一個就好了。或者直接百度搜尋無字母webshell。

記一次有點抽象的滲透經歷

免殺效果如下:

ps: emmmmmmm,我只能說,無敵好吧。

記一次有點抽象的滲透經歷

2.2 一鍵免殺工具免殺

這裡不多說了,去github直接找就是,但是github特徵過於明顯,以至於被多個殺軟廠商標記。現在感覺免殺的效果也不太好了。基本上start高一些的工具生成的webshell都是秒殺。但是可以找一些start數量少的,效果也還不錯。

記一次有點抽象的滲透經歷

2.3 混淆免殺

混淆免殺,php有很多線上混淆的網站,也就是在不改變程式碼的功能情況下打亂語法的結構使得程式碼變為不可讀或者可讀性很差的程式碼防止其他人去修改。

可以直接去網上搜尋php混淆

記一次有點抽象的滲透經歷

記一次有點抽象的滲透經歷

這裡就是用的就是線上混淆php程式碼的方式直接過了目標主機上的殺軟。

記一次有點抽象的滲透經歷

0x03 繞過殺軟上線

接下來就是傳frp代理,上cs的操作了。這裡先上一個cs,但是由於目標機器上有殺軟,所以採用shellcode加載入器的方式去進行繞過。眾所周知,cs的特徵較為明顯,很容易就會被殺軟攔截。

首先是shellcode免殺,shellcode免殺可以使用github上的sgn加密工具,免殺效果能達到vt0檢測。github連結:https://github.com/EgeBalci/sgn

使用方法也很簡單,把cs生成的shellcode放在sgn資料夾中執行 ,***.sgn就是免殺之後的shellcode了。

sgn.exe shellcode檔名

記一次有點抽象的滲透經歷

免殺前效果

記一次有點抽象的滲透經歷

免殺後效果

記一次有點抽象的滲透經歷

剩下的就是載入器本身的免殺了,這裡我就用github隨便clone下來的載入器。可以看到編譯完成都沒來得及執行就直接被殺了。那麼怎麼在不動載入器的原始碼的情況下。完成免殺效果呢。

記一次有點抽象的滲透經歷

其實有一個比較抽象的技巧,就是當檔案足夠大之後,殺軟的沙箱就不會去執行該程式,從而實現繞過殺軟的檢測。比如一個幾百m的exe殺軟就不會去檢測。

那麼怎麼能讓檔案變得足夠大呢?就是不斷往檔案後面填充垃圾字元,比如\x00這樣既不會影響exe執行,又能夠讓exe變得足夠大。比如我用python不斷往檔案後面追加\x00字元。

這裡上程式碼

with open('1.exe', 'ab') as f:\f.write(b'\x00' * 1024 * 1024 * 100)

可以看到每次執行add.py 1.exe就大了100m。

記一次有點抽象的滲透經歷

然後多次執行,當1.exe達到2g的時候,根據每個防毒軟體版本不一定能用。有些新的殺軟不會檢測檔案大小判斷是否執行。(這個方法很玄學,不是很穩定,有時候能有有時候不能用。但是還是值得一試,畢竟是老前輩傳承下來的經典免殺手法。)

記一次有點抽象的滲透經歷

但是問題來了,2個g的檔案怎麼上傳到伺服器又是一個問題,這裡就要說明一下\x00的好處了,可以透過壓縮成zip的方式把exe壓縮,壓縮檔案的體積其實還是和之前編譯好的檔案差不多大。然後只能很方便的就能夠把壓縮包上傳到伺服器,然後透過伺服器的命令去進行解壓。也可以透過webshell去實現解壓檔案的功能。

記一次有點抽象的滲透經歷

0x04 內網移動

之後便是熟悉的內網橫向環節了。首先是看到了一個弱口令,然後直接連結資料庫然後getshell。

記一次有點抽象的滲透經歷

記一次有點抽象的滲透經歷

然後直接net user add,之後3389連結上伺服器,翻出了一個密碼本。

記一次有點抽象的滲透經歷

找到一個雙網路卡的sql server伺服器,然後上線,掃一波SMB

記一次有點抽象的滲透經歷

最後找到重要系統10.x.x.x 這個系統,看著是java寫的後端,也是一個看起來很老的介面了。

記一次有點抽象的滲透經歷

掃了一下路徑發現存在druid。

記一次有點抽象的滲透經歷

原本想找session登入的,然後想了一下試一下運氣直接懟一波st2,成功拿下(也是運氣爆棚)

記一次有點抽象的滲透經歷

更多網安技能的線上實操練習,請點選這裡>>

相關文章