實戰 | 記一次曲折的釣魚溯源反制

2022-10-01 06:00:45

故事起因

這天風和日麗,我正在摸魚,忽然QQ群彈出一條訊息,我開啟一看,我感覺不簡單。如下圖:

掃碼後發現跳轉到了QQ郵箱登陸介面,確定為釣魚網站,看到其域名為http://****kak2.cn。

這裡隨便輸入,頁面跳轉到如下介面。

好傢伙,小夥子你挺會玩啊,收集完QQ郵箱賬號密碼,再來收集一波個人資訊,做人不能太貪心啊。開始幹活!

溯源釣魚者

我們現在拿到了他的域名,現在收集一下域名的相關資訊。使用站長工具,如下圖。

可以查到域名註冊人的姓名和郵箱。郵箱顯示不全,這裡再通過微步來進行一下查詢。如下圖

這裡有兩點可以關注一下,這裡拿到了完整的郵箱和知道了這裡是阿里雲的。

進行一下郵箱反查,發現該郵箱下在五六月份註冊多個域名,姓名都是劉聚達,大概率都是用來釣魚的。

嘗試新增QQ,發現查不到這個人,這就尷尬了。

關於釣魚者的資訊收集就告一段落,接下來開始幹它網站。

進攻釣魚網站

之前我們拿到了域名,現在對網站進行滲透,那思路是什麼呢?我們可以進行一下子域名、目錄等掃描,如果沒什麼資訊,那就開始對釣魚網站本身看看有沒有能利用的地方。

首先進行一下子域名掃描,沒什麼發現,如下圖:

然後開始對域名進行一下目錄掃描,如下圖

掃出來的目錄,基本沒有許可權,都是403。沒什麼利用的點。

現在看來只能對網站本身進行一下滲透了,看看有沒有能夠利用的。現在開啟收集個人資訊的表單,按F12看看有沒有我們值得關注的,如下:

之前目錄掃描發現了uploads目錄但是沒有許可權,這裡找到了uploads/ads路徑,嘗試一下這裡路徑後端是否接收檔案,構造上傳封包,傳送資料,還是失敗了。如下:

不要灰心,接著搞,我們還發現這裡使用了form表單提交資料,然後自定義了一個函數chk(),現在我們跟進這個函數去看一眼。如下

在這裡我們能夠了解到,網站使用了ajax來進行資料傳輸,將資料提交到了本站的wap目錄,然後身份證號碼進行了一下簡單的正則判斷,規定輸入為數位且位數為18位元。既然是將資料提交到本站了,那麼如果釣魚者再後端接收資料時直接將引數拼接到SQL語句中,那麼就可能存在SQL隱碼攻擊。現在我們構造資料,提交資料,然後抓取封包來進行測試,抓取的封包如下:

接下來開始測試是否存在SQL隱碼攻擊,name引數後新增單引號,傳送資料,發現報錯,存在SQL隱碼攻擊!

猜解一下資料庫名,資料庫版本,構造payload

' and updatexml(1,concat(0x7e,(select database()),0x7e),1)%23
and updatexml(1,concat(0x7e,(select @@version,0x7e),1)%23

資料庫名是a7,猜解一下表名,構造payload如下

'and updatexml(1,concat(0x7e,(select table_name from information_schema.tables where table_schema='a7')),0)%23

發現無法獲取表名,我有一種不詳的預感。

果然換用一些其他的函數,發現也是無法獲取表名,可能是沒有許可權。真讓人傷心,這個老六。

現在用sqlmap跑一下吧,結果如下

只能跑出來a7這個資料庫,information_schema這個庫獲取不到,怪不得手工注入也拿不到表名呢。唉,現在嘗試一下os-shell吧,看看有沒有運氣。如下

看來運氣並不好,失敗了。不過,雖然失敗了,但是我們也知道了現在的伺服器系統為Linux,並且有了路徑,我們就把它當成絕對路徑吧,死馬當活馬醫,看看能不能寫入檔案,構造payload:

into outfile '\\www\\wwwroot\\p******7.a******ka.cn\\config\\wap\\test.php' FIELDS TERMINATED BY '<?php phpinfo();?>'%23

結果如下,還是失敗了。

又嘗試了一些其他的方法,發現收穫不大。

峰迴路轉

真的拿不下它伺服器了嗎?我不信,晚上的時候,事情迎來了轉機,當時我正在划水,一條好友申請打破了平靜,當我同意時,大哥人狠話不多,直接URL和賬號密碼發了過來,包括原始碼的壓縮包也掃出來了。在這裡給大師傅遞根菸。

這裡大師傅也給我寬展了思路,掃目錄的時候多嘗試幾個工具,可能會有不一樣的驚喜。存取url使用賬號密碼登陸,介面如下。

登陸後,我們發現,這是一個帝國備份王的一個開源CMS。當我們知道是開源的時候,首先的思路是網上有沒有一些公開的漏洞供我們使用。比如我們可以這樣搜尋 EmpireBak v2010 後臺 RCE,結果如下

紅箭頭指的這篇文章就很合適,通過看文章,我們也瞭解了getshell的思路,就是替換檔案內容。具體流程就是我們可以先備份資料,然後點選管理備份目錄,點選替換檔案內容。

思路是有了,但是現在還有問題,就是備份王連結不上mysql,導致備份功能無法使用,但是不著急,這裡備份王提供了一個功能,就是引數設定。如下

如果我們知道了資料庫的賬號密碼和資料庫名,是不是就可以嘗試連線資料庫了。所以現在重點是獲取資料庫賬號密碼。這如何獲取呢?不要忘記了,之前我們拿到了釣魚網站的原始碼壓縮包,現在來解壓來分析一下原始碼。找一找組態檔,可能有我們需要的資訊。原始碼目錄如下

現在嘗試找一下資料庫的組態檔,如下,果然拿到的我們想要的資訊

現在去網站嘗試一下看看是否連線成功,果然不出所料,連線成功,如下

現在可以嘗試拿shell了。喝口水壓壓驚,和大師傅同步一下資訊,一個人孤軍奮戰,怎麼能抵得上兩個人一起日站的快樂呢。

進後臺

之前咱們看原始碼,發現有一個a1資料夾,檢視資料夾相關檔案,知道這是後臺的路徑

我們存取一下,發現404

應該是把後臺路徑改掉了,不要緊,我們簡單嘗試一下,發現改為a7了,現在存取a7介面如下

還是嘗試使用備份王的賬號密碼,發現登陸成功

後臺也就拿下了。檢視資訊,發現大部分都是髒資料了。再去問大師傅看看他那裡有沒有什麼資訊。

登陸師傅提供的地址如下

這裡還是有一些資料的,還是有上當受騙的,自己的個人資訊被騙完了,最後還輸入了自己的手機號,接到了驗證碼,還把驗證碼提交到了釣魚網站。騰訊的防盜機制,二次認證也擋不住釣魚網站套路多。在這裡提醒大家一定要提高警惕,提示輸入個人資訊的地方一定要留個心眼。

Getshell

現在咱們按照之前的思路Getshell,先壓縮,然後將壓縮包下載下來。

然後遇到了新的問題,下載下來的檔案都是空檔案,

沒有資料,所以也就無法替換,也就無法Getshell了。這是什麼人間疾苦。現在問問大師傅,看看大師傅進行到哪一步了。

看來也卡住了,不要灰心,不要放棄任何一個細節,再去看看備份目錄,嘗試將最初備份檔案下載下來,進行檢視。

功夫不負有心人,成功。

到如下介面替換,上面填寫原內容,替換內容填入冰蠍木馬。

正要嘗試替換config.php檔案的內容。想著先存取一下,居然出現了大馬介面,大師傅先我一步下手了?去問一下

果然是大師傅乾的,沒想到冰蠍和哥斯拉的馬子已經上去了,愛了愛了。上冰蠍,檢視檔案管理如下

提權之路

上面我們拿到了webshell,完成了第一步,現在開始提權了,冰蠍為我們提供了反彈shell的功能,這裡我們使用冰蠍將shell彈到MSF中。去瞅一眼大師傅進度。

這就是大腿的感覺嗎?太幸福了。這裡說一下提權的思路。msf裡面有個可以自動提權的suggester,我們直接選擇就可以了,如下

選擇第一個後,開始提權!

在這裡我們也是成功的拿到了伺服器的root許可權。如下圖

拿到root許可權就好辦事了,檢視賬戶,也是發現了ssh的埠和賬號密碼,登陸ssh如下:

因為釣魚網站是用寶塔搭建的,所以這裡看了看寶塔相關資訊,包括面板登陸頁,賬號密碼等等。大師傅也是貼心的把拿到的資產都整理好了。

第一個師傅發第一個json檔案中有洩露的Access key 我們可以通過使用相關工具直接接管相關伺服器。

網上有現成的工具,如下圖,工具連結:https://github.com/mrknow001/aliyun-accesskey-Tools

最後,大師傅貼心的總結了文字,愛了。總結了寶塔,phpmyadmin,SSH等相關資產。

小結

關於釣魚網站的相關內容就分享到這裡啦,咱們從最開始的一個Web弱口令,到日穿釣魚伺服器,中間也是幾經波折,最後還是幸不辱命,咱們下期見。