震惊!一男子居然用杀软做出这种事情!
2020-07-08 17:15:42 Author: bbs.pediy.com(查看原文) 阅读量:355 收藏

  1. 看雪论坛
  2. 『软件逆向』

活跃值: 活跃值 (171)

能力值:

( LV3,RANK:30 )

在线值:

[病毒木马] [原创] 震惊!一男子居然用杀软做出这种事情!

1天前 1347

[病毒木马] [原创] 震惊!一男子居然用杀软做出这种事情!

目录

利用杀软对感染型病毒的清除过程中对文件名过滤的不严格实现任意目录写任意文件.(包括杀软目录, 但杀软目录下的文件无法覆盖)

最近搞polyransom.a. 这个感染型病毒会把目标文件整个包起来,然后执行时会释放, 而且它会保留原文件名信息.

之后我用各杀软清理了下被感染的文件,发现杀软会在当前目录下以原文件名创建恢复后的文件. 这时,我想到,如果保留的文件名中包含路径分隔符, 然后我再弄个目录符号链接, 岂不是可以利用杀软往任意目录下写任意文件了? 而且还是利用杀软的清除功能, 把内嵌的文件放到了我想要的位置!

那么,关键就在,杀软会不会对文件名信息进行检查. 经过试验发现, 不会,所以就有了这篇文章.

随意取一个能查杀的polyransom.a样本, 将路径信息更改成b\fuck.exe

原始文件名:

可以看到文件名为cuninst.exe, 后面紧跟着文件的PE数据. 此处是解密后的数据.

重跑程序,来到解密之前, 将数据填成解密之后的数据. 修改解密为加密流程, 得到新文件名的解密前数据:

od的显示有点bug, \fuck.exe前面的b也应该是被选中的. 得到的数据为:

利用010editor修改文件数据:

将修改完的文件跑下,看是否修改成功:

至此,样本构造完成.

卡巴斯基(kis20.0.14.1085_zh-hans-cn_full)

首先, 根据杀软安装目录,创建目录符号链接:

然后把构造的样本放到C:下, 选择查杀样本.

果然, 成功了.

360卫士 (2020-7-7版)

同理,测试,得到结果为:

360杀毒(2020-7-7版)

同理,测试,得到结果为:

​ 你在卡饭论坛上上传了一个这样的样本, 让大家帮你测测看能不能查杀, 于是....

  1. 创建符号链接可能会被拦截, 但这一步并非必须步骤, 只要把样本放到目标目录的上级目录, 或者利用..\相对路径(不过这点得看杀软是否使用的是\\?\开头支持超长路径的绝对路径了).
  2. 一般人点了扫描之后,看到扫出病毒, 点击立即处理,然后看到样本消失,肯定会以为病毒被删除了,却没想到还有这种骚招数,这样隐蔽性就比较高.

只需在样本所在目录下用mklink /d b <targetdir>,然后用杀软扫描样本, 就可以将文件释放到targetdir中.

最后于 5小时前 被bjtwokeight编辑 ,原因: 增加目录

最新回复 (18)

雪    币: 260

活跃值: 活跃值 (14)

能力值:

( LV4,RANK:50 )

在线值:

发帖

回帖

粉丝

ReeHeiHei 活跃值 1 1天前

2

0

放到自启动目录,杀软会自己报自己的警么

雪    币: 3035

活跃值: 活跃值 (171)

能力值:

( LV3,RANK:30 )

在线值:

发帖

回帖

粉丝

bjtwokeight 活跃值 1天前

3

0

ReeHeiHei 放到自启动目录,杀软会自己报自己的警么

2020-7-7 15:17:37 目前不会.

最后于 1天前 被bjtwokeight编辑 ,原因:

雪    币: 415

活跃值: 活跃值 (34)

能力值:

( LV2,RANK:10 )

在线值:

发帖

回帖

粉丝

越坏 活跃值 1天前

4

0

能放dll吗

雪    币: 279

活跃值: 活跃值 (30)

能力值:

( LV3,RANK:20 )

在线值:

发帖

回帖

粉丝

叶惠 活跃值 1天前

5

0

楼主真的风骚

雪    币: 6515

活跃值: 活跃值 (155)

能力值:

( LV3,RANK:20 )

在线值:

发帖

回帖

粉丝

ninebell 活跃值 1天前

6

0

360就一狗屎,上次去学校后边的复印店用U盘打印了点东西,结果他们安着360还是未能查出来。
回家电脑硬盘灯就亮,还好反映快,马上拔了。网上下载各种杀毒软件全是能检测到,说重启后干净。结果全是饭桶。
换上人家试用版的Norton AntiVirus就一次也没有重启病毒下次再用其他饭桶也没再查出来!这就是事实,一点扒瞎谁也没有。

老牌Norton好,饭桶当自强。

最后于 1天前 被ninebell编辑 ,原因:

雪    币: 2840

活跃值: 活跃值 (42)

能力值:

( LV4,RANK:50 )

在线值:

发帖

回帖

粉丝

逻辑错误 活跃值 1 23小时前

7

0

震惊, 一男子每次踢完杀软的场子以后就 溜了溜了... 

雪    币: 3035

活跃值: 活跃值 (171)

能力值:

( LV3,RANK:30 )

在线值:

发帖

回帖

粉丝

bjtwokeight 活跃值 22小时前

8

0

都行

雪    币: 3035

活跃值: 活跃值 (171)

能力值:

( LV3,RANK:30 )

在线值:

发帖

回帖

粉丝

bjtwokeight 活跃值 22小时前

9

0

越坏 能放dll吗

都行

雪    币: 3035

活跃值: 活跃值 (171)

能力值:

( LV3,RANK:30 )

在线值:

发帖

回帖

粉丝

bjtwokeight 活跃值 22小时前

10

0

ninebell 360就一狗屎,上次去学校后边的复印店用U盘打印了点东西,结果他们安着360还是未能查出来。回家电脑硬盘灯就亮,还好反映快,马上拔了。网上下载各种杀毒软件全是能检测到,说重启后干净。结果全是饭桶。换上 ...

复印店一般比较破, 然而每所大学(尤其是重点大学)里面或周围都会有这么一个店.  复印店的员工, 来复印的学生和教师, 安全意识基本没有. 即便有规定U盘绝不可以插内部电脑, 但有时候就是会插, 所以有人会选择这个作为突破口, 再把自己的代码伪装成以前发现过的古老病毒, 这样即便被查杀, 也不会引起重视. 

雪    币: 136

活跃值: 活跃值 (16)

能力值:

( LV2,RANK:10 )

在线值:

发帖

回帖

粉丝

靴子 活跃值 19小时前

11

0

我比较关心你是怎么解密的 又是怎么把自己的EXE放里面的?

雪    币: 104

活跃值: 活跃值 (30)

能力值:

( LV2,RANK:10 )

在线值:

发帖

回帖

粉丝

xlshn 活跃值 17小时前

12

0

没看懂,似乎省略了很多上下文

雪    币: 1498

活跃值: 活跃值 (40)

能力值:

( LV2,RANK:10 )

在线值:

发帖

回帖

粉丝

Rookietp 活跃值 16小时前

13

0

广告模块我最强、

雪    币: 3035

活跃值: 活跃值 (171)

能力值:

( LV3,RANK:30 )

在线值:

发帖

回帖

粉丝

bjtwokeight 活跃值 8小时前

14

0

靴子 我比较关心你是怎么解密的 又是怎么把自己的EXE放里面的?

简单的办法就是你弄好自己的exe, 然后让polyransom.a感染你, 之后你把信息中的名字改了就行.
麻烦的办法就是找出被识别为polyransom的exe的构造方法.
这个变种具体解密方式不属于这帖子讨论的内容, 逆向自己看看就知道了.
理论上来说, 这个病毒有问题, 那么其他的满足以下条件的病毒可能都有问题:
1. 清除过程中会释放文件
2. 名字由被感染体中信息指定

雪    币: 3035

活跃值: 活跃值 (171)

能力值:

( LV3,RANK:30 )

在线值:

发帖

回帖

粉丝

bjtwokeight 活跃值 8小时前

15

0

xlshn 没看懂,似乎省略了很多上下文

其实就是这样的过程, 假设以下是杀软的清除代码:

// szdir: 当前扫描目录

int fuckpolyransom(wchar_t* szdir)
{
    //得到被感染文件的原始文件名
    wchar_t* originalfilename = GetInfectedFileOriginalFileName(xxxx);
    
    wchar_t* fulloriginalfilename = (wchar_t*)malloc(sizeof(wchar_t)*(32767));
    
    //没有对originalfilename进行检查是否包含'\\','//', 导致了问题.
    StringCbPrintfW(fulloriginalfilename,32767*sizeof(wchar_t),L"%s\\%s",szdir,originalfilename);
    
    CreateFile(fulloriginalfilename,xxxx);
    
    return 0
}

雪    币: 455

活跃值: 活跃值 (27)

能力值:

( LV2,RANK:10 )

在线值:

发帖

回帖

粉丝

9521 活跃值 6小时前

16

0

这个思路有意思

雪    币: 1619

活跃值: 活跃值 (57)

能力值:

( LV2,RANK:10 )

在线值:

发帖

回帖

粉丝

whitehack 活跃值 5小时前

17

0

说不定已经有牛逼大佬在用了. 细思极恐.

雪    币: 1951

活跃值: 活跃值 (81)

能力值:

( LV12,RANK:360 )

在线值:

发帖

回帖

粉丝

UzJu 活跃值 7 38分钟前

18

0

NIU

雪    币: 1037

活跃值: 活跃值 (492)

能力值:

( LV2,RANK:10 )

在线值:

发帖

回帖

粉丝

梨子 活跃值 9分钟前

19

0

喔嚯,不明觉厉

游客

登录 | 注册 方可回帖

返回


文章来源: https://bbs.pediy.com/thread-260539.htm
如有侵权请联系:admin#unsafe.sh