远控木马病毒分析

一、病毒简介

SHA256:880a402919ba4e896f6b4b2595ecb7c06c987b025af73494342584aaa84544a1

MD5:0902b9ff0eae8584921f70d12ae7b391

SHA1:f71b9183e035e7f0039961b0ac750010808ebb01

 

二、行为分析

同样在我们win7虚拟机中,使用火绒剑进行监控,分析行为特征:

 

 

首先是一个拷贝自身,而在后面也被行为检测标蓝;

 

其次就是大量的枚举进程;

 

这里启动了释放的文件,并设置了自启动;

 

结合这里,获取信息没有和服务端取得联系,IP已经失效,所以在火绒剑中也没有检测到网络链接。

三、逆向分析

拖进DIE查查壳,显示无壳:

 

看看导入表信息:

 

这里有检索主机信息之类的函数,还有网络链接之类的函数,基本可以确定大致行为,结合这里,在IDA中静态分析,进入winmain,F5看伪代码:

 

 

 

 

 

 

以上就是main函数主体,接下来对关键函数进行详细分析:

 

 

3.1、sub-406A30

进入函数内部,是俩个函数:

 

 

根据特征,很明显这里是rc4的解密,当然我是动态调试直接看他解密结果,解密一个服务名,一个IP地址,SuperProServer和127.0.0.1;

3.2、sub-4056C0

 

这里获取当前进程路径;

 

这里生成随机数并进行拼接,生成一个路径,创建一个文件并写入内容;

 

这里进行shell启动进程,可见这里是一个拷贝自身并启动的操作;

3.3、sub-406B50

 

进入此函数,内部有函数sub_407660,根据传参是rundll32.exe,进入此函数:

 

可以看到这里是进程遍历,返回进程信息,回到上一层:

 

这里是启动命令行杀掉rundll32.exe,返回主函数;

3.4、sub_4070E0

 

进入函数内部:

 

 

可以看到这里是设置病毒为服务并设置相关注册表版本类信息;

3.5、sub-407660

 

这里是循环三次,找病毒本体,通过函数40766寻找,找到后进行启动,进入函数内部:

 

这里是创建快照找相应进程的操作,而传入的参数就是Terms.exe;

3.6、sub_405480

 

 

这里是设置自启动;

3.7、sub_406B10

跟进此函数:

 

 3.7.1、sub_406290

 

进入406170:

 

这是一套令牌提权的组合拳,返回上一层;

 

这里是拿到句柄复制句柄;

 3.7.2、sub_4066C0

这边就开始和服务通信sub_401470:

 

sub_401660:

 

 

这里有一个开辟线程,进入回调函数发现,是和服务器链接,接受内容,并通过rc4解密,在自身开辟空间,进行写入操作,后面这块分析比较粗浅,但大体内容就是这些;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/50650.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++ Day3

目录 一、类 【1】类 【2】应用实例 练习: 【3】封装 二、this指针 【1】this指针的格式 【2】必须使用this指针的场合 三、类中的特殊成员函数 【1】构造函数 i)功能 ii)格式 iii)构造函数的调用时机 iv)…

Golang使用消息队列(RabbitMQ)

最近在使用Golang做了一个网盘项目(类似百度网盘),这个网盘项目有一个功能描述如下:用户会删除一个文件到垃圾回收站,回收站的文件有一个时间期限,比如24h,24h后数据库中记录和oss中文件会被删除…

C语言之扫雷游戏实现篇

目录 主函数test.c 菜单函数 选择循环 扫雷游戏实现分析 整体思路 问题1 问题2 问题3 问题4 游戏函数(函数调用) 创建游戏盘数组mine 创建游戏盘数组show 初始化游戏盘数组InitBoard 展示游戏盘DisplayBoard 游戏盘置雷SetMine 游戏…

设计模式之创建者模式

文章目录 一、介绍二、应用三、案例1. 麦当劳11随心配2. 代码演示3. 演示结果 四、优缺点五、送给读者 一、介绍 建造者模式(Builder Pattern)属于创建型设计模式,很多博客文章的对它的作用解释为用于将复杂对象的创建过程与其细节表示分离。但对于初学者来说&…

VS2022 C++ 批量追加hosts文件IP地址与域名脚本V1.0

这是自己使用VS2022 C++开发的批量追加"C:\Windows\System32\drivers\etc\hosts"文件IP地址与域名的脚本。它可以把cfg.txt文件中例如: 192.168.1.9 test.email 192.168.123.9 doutia.com批量追加到hosts文件 详细源代码如下: AddToHostHosts.cpp //#includ…

Pyqt5打开电脑摄像头进行拍照

目录 1、设计UI界面 2、设计逻辑代码,建立连接显示窗口 3、结果 1、设计UI界面 将ui界面转为py文件后获得的逻辑代码为:(文件名为 Camera.py) # -*- coding: utf-8 -*-# Form implementation generated from reading ui file …

【ES6】—【必备知识】—深拷贝与浅拷贝

一、如何把一个对象复制给另一个对象 1.Object.assign() let target {} let source {a: 1,b: 2 } Object.assign(target,source) console.log(target) // {a: 1, b: 2}2.Object.assign() 只能实现浅拷贝 let target {a: {b:1,c: 8} } let source {a: {b:2} } Object.ass…

无涯教程-PHP - File 函数

文件系统功能用于访问和操纵文件系统&#xff0c;PHP为您提供了操纵文件的所有功能。 运行时配置 这些功能的行为受php.ini中的设置影响。 NameDefaultChangeableChangelogallow_url_fopen"1"PHP_INI_ALLPHP_INI_ALL in PHP < 4.3.4. PHP_INI_SYSTEM in PHP &l…

Linux:如何创建用户

“useradd” 命令用于在 Linux 或类 Unix 系统上创建新用户账户。它是一个需要超级用户权限的命令&#xff0c;因此你需要以 root 或具有 sudo 权限的用户身份运行它。下面是使用 “useradd” 命令创建新用户的基本语法&#xff1a; useradd [选项] 用户名 下面是一些常用选项…

windows上ffmpeg如何录制双屏幕中的一个屏幕上的视频

首先&#xff0c;如何在window上安装ffmpeg自己查找scoop安装ffmpeg. 如题&#xff1a; 如果你有两个屏幕&#xff0c;如何让ffmpeg来录制其中的一个屏幕的视频呢。 很简单&#xff0c;首先你要查看另外一个屏幕的分辨率&#xff1a; 第一步&#xff1a;进入系统中 第二步&am…

硬件产品的量产问题------硬件工程师在产线关注什么

前言&#xff1a; 产品开发测试无误&#xff0c;但量产缺遇到很多不良甚至DOA问题。 硬件开发过程中如何确保产线的治具、生产及硬件工程师在产线需要关注一些什么。 坚信&#xff1a;好的产品是要可以做出来的。 1、禁忌&#xff1a; 禁忌热插拔&#xff1b;禁忌测试不防呆…

Python Opencv实践 - 图像直方图均衡化

import cv2 as cv import numpy as np import matplotlib.pyplot as pltimg cv.imread("../SampleImages/pomeranian.png", cv.IMREAD_COLOR) print(img.shape)#图像直方图计算 #cv.calcHist(images, channels, mask, histSize, ranges, hist, accumulate) #images&…

link 和 @import 有什么区别

页面导入样式时&#xff0c;使用 link 和 import 有什么区别 HTML中使用 link 标签 <link rel"stylesheet" href"style.css" />CSS 中 import import "style.css"; import url("style.css"); /* 两种方式无差别 */两者的区别…

数学建模知识之小白入门篇

数学建模知识--小白入门篇 一、数学模型的定义二、建立数学模型的方法和步骤1. 模型准备2. 模型假设3. 模型构成4. 模型求解5. 模型分析 三、数模竞赛出题的指导思想四、竞赛中的常见题型1. 实际问题背景2&#xff0e;若干假设条件3&#xff0e;要求回答的问题 五、提交一篇论文…

ModStartBlog v8.0.0 博客归档页面,部分组件升级

ModStart 是一个基于 Laravel 模块化极速开发框架。模块市场拥有丰富的功能应用&#xff0c;支持后台一键快速安装&#xff0c;让开发者能快的实现业务功能开发。 系统完全开源&#xff0c;基于 Apache 2.0 开源协议。 功能特性 丰富的模块市场&#xff0c;后台一键快速安装会…

C语言入门 Day_9 条件判断

目录 前言&#xff1a; 1.if判断 2.else判断 3.易错点 4.思维导图 前言&#xff1a; 我们知道比较运算和逻辑运算都会得到一个布尔型的数据&#xff0c;要么为真&#xff08;true&#xff09;&#xff0c;要么为假&#xff08;false&#xff09;。 今天我们来学习真和假在…

面试热题(复原ip地址)

有效 IP 地址 正好由四个整数&#xff08;每个整数位于 0 到 255 之间组成&#xff0c;且不能含有前导 0&#xff09;&#xff0c;整数之间用 . 分隔。 例如&#xff1a;"0.1.2.201" 和 "192.168.1.1" 是 有效 IP 地址&#xff0c;但是 "0.011.255.24…

pyqt5-自定义停靠栏头部

import sys from PyQt5.QtWidgets import * from PyQt5.QtCore import * from PyQt5.QtGui import *class CustomDock(QDockWidget):def __init__(self, title: str, parentNone):super().__init__(title, parent)"""停靠栏的头部"""h_layout Q…

行式存储与列式存储

1.概述 数据处理大致可分为两大类&#xff0c;联机事务处理OLTP(on-line transaction processing) 和联机分析处理OLAP(on-line analytical processing)。 OLTP是传统关系型数据库的主要应用&#xff0c;用来执行一些基本的、日常的事务处理&#xff0c;比如数据库记录的增、删…

android NullPointerException externalCacheDir

先看代码&#xff1a; fun Context.getMyCacheDir(): String {return externalCacheDir!!.absolutePath "/my_cache" }如上代码&#xff0c;在某些手机可能会出现crash。 原因详细阅读api&#xff0c;注意他有一个大大的注解Nullable&#xff1a; Nullablepublic a…