Trojan.Backdoor分析

总结:这是一个HTTP的后门,以安装(-in)||移除(-re)||配置(-c)为目的运行此程序时, 必须指定abcd为最后一个参数. 安装时他会把自身拷贝到%SYSTEMROOT%\WINDOWS\system32目录下,并创建一个自启动服务来保证其可持续性. 安装之后, 该后门会从注册表中得到服务配置信息, 并向远程服务器发送HTTP/1.0 GET请求,根据请求的返回值,解析成参数,指导恶意软件的行为--共有五种:SLEEP UPLOAD DOWNLOAD CMD NOTHING.

此五种分别对应的行为是:睡眠指定时间, 连接远程服务器得到内容并保存到本地, 从本地文件读取内容发送到远程服务器, 在本机上执行CMD命令并将结果发送到远程主机, 什么都不做

使用peid查看:

用IDA分析:

下面开始标志位检测, 使用了fs:[0x30]得到了PEB地址,

之后判断processheap中的某个标志:

再之后找到NtGlobalFlag,必须不为0x70:

接下来判断参数个数,根据参数个数不同进行不同操作:

如果参数是一个,那么走左边,否则右边.

左边:调用sub_401100:

在sub_401100中,再次执行了上述的三个判断,过了之后,打开注册表项

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft \XPS: 注意Microsoft后有空格

调用成功之后访问名为"Configuration"的项的值

此API成功后返回ERROR_SUCCESS(0)

所以成功后sub_401100返回1,否则返回0

继续:

loc_4035cb调用了:

进入sub_402c40中后:

再次重复了那三个标志位检测,之后:

此循环就是左边支路的最后一个循环,如果这里退出了,那么此次程序执行结束.

可以知道sub_4014B0和sub_402880必须返回0,那么这个循环才能继续下去

 

进入sub_4014b0:

同样地进行了三个标志位的检测:之后打开HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft \XPS

访问configuration的值, 值存储在局部数组中,之后把这个值分部分拷贝到a1,a3,a5,a7处,猜想这个值之间有3个空格,那么分成四段,就刚好解析:

设4段值为XX YY ZZ KK

那么接下来的调用就是:

说明kk应该是秒数的字符串,用于指定线程睡眠时间

进入sub_402880后再次进行了标志位检测,之后:

在sub_402650中,v14得到了一个字符串,这字符串用于后边的比较,

可以看出这字符串是个命令,用于选择执行恶意代码:

命令有:SLEEP,UPLOAD,DOWNLOAD,CMD,NOTHING

v14使用了strtok来分割字符串,例如sleep时字符串应该是

"SLEEP 10"

这样v2就是10,atoi将v2转换成整数传入sleep实现了睡眠,同理

UPLOAD命令的格式应该是:UPLOAD port filename

DOWNLOAD命令的格式应该是:DOWNLOAD port filename

CMD命令的格式应该是: CMD port command

上述分隔符asc_40c0d8是一个unicode的空格, asc_40c0bc是一个unicode的"`"符号

 

接下来走右边

v10是传入的最后一个参数,sub_402d70必须返回非零

进入sub_402d70:

可以知道最后一个参数长度为4,第一个字节的值为97(a),第二个字节的值为98,第三个字节的值为99,第四个字节的值为100, 转换成字符就是abcd,所以最后一个参数必须是abcd

接下来相当于参数1的switch:

如果字符串相等那么_mbscmp返回0,依据这逻辑,最内层括号内应该是argv[1]为"-cc"的情况:

此时参数个数必须为3.

之后调用sub_4014b0从注册表中获取配置字符串并解析

:之后调用sub_403939按格式

aKSHSPSPerS     text "UTF-8", 'k:%s h:%s p:%s per:%s',0Ah输出到控制台

 

如果argv[1]是"-c",那么参数必须有7个

进入sub_4011D0:

这段代码将argv[2]~arg[5]拼成一个字符串并将注册表中的

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft \XPS中Configuration的值设置为拼好的数据.

也就是说-c命令是设置配置的.

如果argv[1]是-re,那么

当参数是3个的时候,此时argv[0]是EXE名,argv[1]是-re,argv[2]是abcd

之后进入sub_402e70:

获取了当前模块完整路径文件名,并将文件名分离出来放入a1中,也就是v8

之后进入sub_4032c0, 这个模块主要就是删除指定服务,删除文件,将其完全移除.

如果参数是4个,那么argv[2]是要移除的服务名

 

如果argv[1]是-in,那么

当参数是3个,也就是没有指定服务名时,获取模块文件名作为服务名;否则使用指定的服务名来创建服务. 服务名后连接上' Manager Service'

于sub_402f40中, 并将自身拷贝到system32目录下, 初始化configuration的值...

所以-in是安装此恶意程序.

 

转载于:https://www.cnblogs.com/cqubsj/p/6617779.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这一段讲的是什么:Abstract—A recent trojan attack on deep neural network (DNN) models is one insidious variant of data poisoning attacks. Trojan attacks exploit an effective backdoor created in a DNN model by leveraging the difficulty in interpretability of the learned model to misclassify any inputs signed with the attacker’s chosen trojan trigger. Since the trojan trigger is a secret guarded and exploited by the attacker, detecting such trojan inputs is a challenge, especially at run-time when models are in active operation. This work builds STRong Intentional Perturbation (STRIP) based run-time trojan attack detection system and focuses on vision system. We intentionally perturb the incoming input, for instance by superimposing various image patterns, and observe the randomness of predicted classes for perturbed inputs from a given deployed model—malicious or benign. A low entropy in predicted classes violates the input-dependence property of a benign model and implies the presence of a malicious input—a characteristic of a trojaned input. The high efficacy of our method is validated through case studies on three popular and contrasting datasets: MNIST, CIFAR10 and GTSRB. We achieve an overall false acceptance rate (FAR) of less than 1%, given a preset false rejection rate (FRR) of 1%, for different types of triggers. Using CIFAR10 and GTSRB, we have empirically achieved result of 0% for both FRR and FAR. We have also evaluated STRIP robustness against a number of trojan attack variants and adaptive attacks. Index Terms—Trojan attack, Backdoor attack
最新发布
07-24
这段摘要讲述了关于深度神经网络(DNN)模型的特洛伊木马攻击。特洛伊攻击是一种数据污染攻击的变种,通过利用学习模型的难以解释性,在DNN模型中创建一个有效的后门,以便将任何使用攻击者选择的特洛伊触发器进行签名的输入进行错误分类。由于特洛伊触发器是攻击者保护和利用的秘密,因此在模型处于活动运行状态时,检测此类特洛伊输入是一项挑战。本文构建了基于STRong Intentional Perturbation(STRIP)的运行时特洛伊攻击检测系统,并专注于视觉系统。我们有意地扰乱传入的输入,例如通过叠加各种图像模式,并观察给定部署模型对扰动输入预测类别的随机性-恶意或良性。预测类别的低熵违反了良性模型的输入依赖性属性,并意味着存在恶意输入-这是特洛伊输入的特征。我们通过对三个流行且对比鲜明的数据集(MNIST、CIFAR10和GTSRB)进行案例研究,验证了我们方法的高效性。在给定1%的预设误拒绝率(FRR)的情况下,我们实现了总体误接受率(FAR)小于1%。使用CIFAR10和GTSRB,我们在FRR和FAR方面实现了0%的实证结果。我们还评估了STRIP对多种特洛伊攻击变种和自适应攻击的鲁棒性。 关键词:特洛伊攻击,后门攻击。 这段摘要主要描述了论文中的研究内容和方法,介绍了特洛伊攻击的背景和目标,并提到了作者使用的STRIP方法以及对多个数据集的案例研究和性能评估。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值