欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

内网穿透——Android木马进入高级攻击阶段(二)

来源:本站整理 作者:佚名 时间:2017-05-25 TAG: 我要投稿

一.概述   
移动互联网时代的到来,企业内部数据越来越有价值。近年来,黑客以移动设备为跳板,入侵企业内网,窃取企业数据资产的趋势愈发明显。近日,360烽火实验室发现一批感染了一种名为“MilkyDoor”的恶意代码,这是继去年6月份首次出现的“DressCode”[1]恶意代码后,又一种利用移动设备攻击企业内网的木马。然而,与“DressCode”不同的是,“MilkyDoor”不仅利用SOCKS代理实现从攻击者主机到目标内网服务器之间的数据转发,而且利用SSH(Secure Shell)协议穿透防火墙,加密传输数据,进而实现数据更隐蔽的传输。
SSH协议[2]又称为安全外壳协议,其使用的传输机制是TCP/IP,通常使用的都是服务器的TCP端口22,并对经过连接传输的数据进行加解密操作。可以使用SSH对其他应用程序在别的TCP端口建立的TCP/IP传输进行加密与解密。这一过程称为端口转发。利用SSH转发,其他一切基于TCP的不安全协议都可以变得安全。
二.地域分布
360互联网中心数据显示,截至2017年5月份,“MilkyDoor”木马传播量已达到3万之多,其分布在世界160多个国家,其中土耳其、俄罗斯、印度、美国属于重灾区,中国的企业内网也面临着“MilkyDoor”木马的严重威胁。该木马在全世界的分布情况如下图所示:

图1 “MilkyDoor”木马在全世界的分布情况
三.详细分析
 “MilkyDoor”木马攻击内网的主要过程如下:
(1) 木马(SSH客户端)主动连接到攻击者主机(SSH服务器),建立一个SSH安全连接,并设置端口转发方式为远程端口转发。
(2) 木马作为SOCKS服务器创建一个Socket,等待位于本机的SSH客户端的连接,连接成功后就可以读取到SSH服务器发送的,且经过SSH客户端解密过的数据。
(3) 木马根据接收到的目标内网服务器IP和端口,与内网服务器建立一个数据传输通道。
(4) 木马收到内网服务器发送的数据后,通过SSH隧道转发给攻击者。
(一)SSH远程端口转发
“MilkyDoor”木马采用远程端口转发[3]实现数据加密传输,整个过程步骤如下:
(1) 木马主动与攻击者主机建立一个SSH安全连接。
(2) 攻击者主机将数据发送到它的R端口上。
(3) 位于攻击者主机端的SSH服务器接收到R端口上的数据后,将其加密并转发到位于木马端的SSH客户端上。
(4) SSH客户端解密收到的数据并将其转发到木马监听的L端口上。
通过上述过程,攻击者可以将数据加密传输到木马端。如下图所示:

图2 攻击者利用远程端口转发传输数据的过程
(二)SOCKS代理
“MilkyDoor”木马实现了一套SOCKS协议在内网服务器和攻击者主机之间转发流量。通过SOCKS代理,攻击者会通过感染了该木马的移动设备连接目标内网服务器,并将发送给处于内网中的移动设备的数据转发给攻击者,从而实现数据的窃取,转发过程如下图所示:

图3 利用SOCKS代理转发数据过程
(三)建立SSH安全传输隧道
木马运行时,一旦接收到手机解锁动作后,会启动ServiceWorker服务。该服务会首先从远程服务器上下载配置文件。该配置文件包含了攻击者主机的IP、木马作为SOCKS服务器要监听的端口、木马连接攻击者主机(SSH服务器)的口令、密码等重要信息。同时更新本地配置文件,并通过Handler机制将更新结果发送回ServiceWorker服务中,如果更新成功,那么开启子线程,在子线程中开启SS服务,同时,需要将配置文件中socks参数传递给该服务,这个参数在连接攻击者主机,设置远程端口转发都将用到。代码如下图所示:

图4 启动SS服务,将socks参数传递给该服务
在SS服务内部会执行一个异步任务,该任务首先根据socks参数读取用户名,主机IP,用户口令,远程端口等信息,然后连接攻击者主机,同时设置端口转发方式为远程端口转发,这样,木马发送到该端口的数据都会被SSH加密并转发到攻击者主机的端口。这个过程是由JSch包[4]里提供的接口实现,它是一个SSH2的纯Java实现。允许你连接到一个SSH服务器,并且可以使用端口转发、X11转发,文件传输等。该过程代码如下图所示:

图5 连接SSH服务器,设置远程端口转发
(四)窃取内网服务器数据过程
木马创建一个服务端Socket,接收攻击者主机的连接,一旦建立连接,那么木马与攻击者建立了一个数据传输通道。于是先启动子线程,子线程首次运行时,会读取攻击者主机传送过来的数据,它包括请求版本、攻击指令、目标内网服务器端口、IP,用户名。经分析处理,该数据格式如下图所示:

图6 攻击者主机请求报文格式
然后,木马会根据接收到的指令进行相应的操作,代码如下图所示:

[1] [2]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载