病毒分析技巧

病毒分析入门:工具、技巧与实战案例解析 恶意软件分析是网络安全领域的关键技术,通过静态与动态分析方法揭示程序行为本质。静态分析涉及PE结构解析、字符串提取等基础技术,而动态分析则通过沙箱监控API调用、网络流量等运行时行为。在勒索软件和挖矿病毒等实际案例中,这些技术能有效识别持久化机制、反调试手段等恶意特征。企业防护可结合应用白名单和SIEM日志分析构建纵深防御体系,应急响应需遵循隔离-取证-溯源的标准流程。掌握病毒分析技能对提升终端安全防护、应对APT攻击具有重要实践价值。 阅读详情
讨论病毒调试技术



病毒调试技术跟一般的解密或者逆向分析过程类似,但是由于病毒独有的破坏性,因此决定了调试时候的一些特殊特。

如果你有一台专门的机器供你虐待,那你可以略过本文不提;

如果你自认为可以用VM对付各种病毒,你也可以略过本文不提,直到有一天某xx病毒检测VM并对此做出反应;

下面仅仅讨论一般的病毒调试时候需要注意的事项。

1、
  如果仅仅出于学习目的,可以找一些经典的病毒进行分析,既可以学习东西,也可以在万一分析不出来的时候请出AV将其杀掉;

2、
  将病毒文件备份,防止AV不甚将正在分析的样本处理掉;

3、
  修改病毒文件后缀名为不可执行文件后缀,比如 *.a之类,可以防止不甚将病毒运行,也可以在一定程度上防止AV误处理;

4、
  建议采用IDA等先对病毒文件进行分析,看看是文件感染病毒或者是网络传播病毒。有些病毒进行了处理,可以防止IDA分析,对于这种情况,不妨采用下面的方法:

  用IDA载入文件的时候采用Binary File模式;
  修正loading offset参数;
  载入以后跳转到入口点,按 C 键进行分析。

5、
  对于加壳的文件,尽量采用静态脱壳,如果动态脱,可以手工。当心动态脱壳机将病毒运行;

6、
  动态调试时候小心谨慎,防止不甚将病毒运行,为此可以在调试时候对一些敏感API函数下断点,比如CreateFile,send函数等,这样即使不甚将病毒运行,也可以防止病毒修改本地文件,或者进行网络传播;

7、
  初次分析时候以分析病毒功能为主,对数据的细节处理可以暂且不管。比如说注意病毒对注册表、文件、网络的操作,从而大体知道病毒感染、传播、破坏功能;

8、
  并非所有病毒都用asm编写,很多病毒采用MFC或者ATL或者其他进行编写,因此病毒里面很多call对我们来说是冗余无用的。而新手不明故里,往往见call就进,这样反而浪费精力。比如下面这个病毒,载入后停在入口点:

00415478 P2P-Wo>/$ 55           push ebp
        ...............
0041549A     │. 57           push edi
0041549B     │. 8965 E8         mov dword ptr ss:[ebp-18],esp
0041549E     │. FF15 D4B04200     call dword ptr ds:[<&KERNEL32.GetVersion>]     ; KERNEL32.GetVersion
        ...............
004154CF     │. 6A 01         push 1
004154D1     │. E8 FD2D0000     call P2P-Worm.004182D3
004154D6     │. 59           pop ecx
        ...............
004154DD     │. E8 C3000000     call P2P-Worm.004155A5
004154E2     │. 59           pop ecx
004154E3     │> E8 64150000     call P2P-Worm.00416A4C
004154E8     │. 85C0           test eax,eax
004154EA     │. 75 08         jnz short P2P-Worm.004154F4
004154EC     │. 6A 10         push 10
004154EE     │. E8 B2000000     call P2P-Worm.004155A5
        ...............
004154F9     │. E8 12560000     call P2P-Worm.0041AB10
004154FE     │. FF15 64B14200     call dword ptr ds:[<&KERNEL32.GetCommandLineA>] ; [GetCommandLineA

  从GetVersion到GetCommandLineA函数中间的n多xxx函数,对我们来说是关系不大的,基本都是进行初始化,因此没必要跟进去。对付这些就是直接执行到GetCommandLineA,因此有些病毒需要获取commandline,如果没有这个,可以拦截在GetModuleHandle或者别的常用初始化函数。

9、
  该备份的备份,做好偷鸡不成蚀把米的准备。

上面只是针对常用的情况,如有不对请酌情处理。 
汇总病毒样本的常用反调试技术、反分析技巧(持续更新) 自己在看到一些没见过的反调试技术时,感觉很好奇,不清楚时如何反调试的,但是还是会很努力的去弄懂它们,现在呢,我希望记录下我见过的一些反调试手段,这样后面大家如果碰到类似的反调试技术时,都会很容易理解这段恶意代码的作用了。 1、下图中是通过检测kernel32.dll模块中是否有导出wine_get_unix_file_name函数,来判断当前环境是否是Wine模拟器环境 2、下图中的v3的... 阅读详情

相关推荐

计算机病毒分析师必看书籍

计算机病毒 病毒分析 蠕虫分析 病毒概念 病毒解析 中国式病毒 源码

病毒分析整体思路

对于病毒分析,其实比拼的就是windows api的理解还有足够的信心和耐心,需要一个很长久的一个时间去磨一个病毒文件,否则这个病毒想做什么,你可能是一直都不知道的,只要耐心的去看,去磨,去查,慢慢的就自己能看懂了,做好标记,因为有很多时候,都有防止你破解的动作,比如加壳,花指令,混淆等,但是这里没有,以后会碰到。这是整个静态调试的大题,但是静态调试有一些东西是看不出来的,所以要进行一次动态调试,由于这个有个验证网站的限制,导致病毒是运行不起来的,所以我们可以在前面看一下内存转储看一下。

include_voidmain的博客 1521

典型病毒分析

对网络病毒的深入理解对网络病毒的深入理解对网络病毒的深入理解

病毒分析流程总结

前段时间拜读了《恶意代码分析实战》一书,算是对整个病毒分析的流程和常用方法有个大致的了解,现在总结一下,也算是给自己做的一个笔记。         首先,病毒分析师必须具备以下知识:编程、汇编/反汇编、逆向分析、PE文件结构以及一些常用行为分析软件。下面开启我们的旅程。                 一、在一个已经感染了病毒的机器上如何找到病毒文件?                找到

auriel的博客 6909

SkyWalking跨线程Trace传递实战:手把手教你用RunnableWrapper解决异步链路中断问题

本文深入解析了SkyWalking在异步编程场景下链路追踪中断的根源,并提供了使用RunnableWrapper等官方包装类的实战解决方案。通过详细的原理解析和代码示例,手把手指导开发者如何实现跨线程的Trace传递,确保分布式系统监控链路的完整性,有效解决异步任务导致的链路中断问题。

sand8的博客 495

SE-0526激光避障雷达扫描传感器输入输出连线方法及PLC联机实例说明

SE-0526激光避障雷达扫描传感器广泛应用于原材料运输与处理、移动装配、托盘或货架运输、产成品自动运输、生产线自动对接,餐厅自助送餐等AGV小车、服务机器人、仓储机器人、无人叉车导航、避障、定位等。 本文重点介绍SE-0526激光避障雷达扫描传感器输入输出连线方法及PLC联机实例说明。

华翔天诚科技 2695

病毒样本分析学习一

简单的一次静态病毒样本分析

weixin_45299049的博客 3252

lattice Diamond Programmer程序下载

Lattice Diamond Programmer(支持Lattice FPGA与CPLD程序下载)

qq_44385725的博客 5188

病毒分析工具和使用方法(二)——分析方法

所有可疑文件的分析都是在虚拟机中进行的,虚拟机中内置了病毒分析所要用到的各类工具和软件(各类工具详见上一篇博客),根据可疑文件分析的一般流程,对文件进行分析,得出分析结论。 上传漏洞平台检测 分析一个可疑文件时,第一步就是上传该文件到开源的病毒检测平台进行检测,病毒库收录了数量庞大的已经提交过的病毒文件,当上传可疑文件时,检测平台会计算文件的md5或hash值,与收录在库中的文件进行对比,...

lirunling的博客 6735

【水文学法总结】河道内生态流量计算方法(含MATLAB实现代码)

简介水文学法实现河道内生态流量计算

WW、forever的博客 5020

把开源 Skills 集成到 LangGraph 项目

1. 定义智能体状态(必须包含 messages,其他字段按需扩展)messages: List[HumanMessage | AIMessage | ToolMessage] # 消息流(核心)skill_output: Optional[str] # 存储 Skill 执行结果next_node: str # 控制流程跳转# 2. 定义智能体决策节点(决定是否调用 Skill)"""智能体决策逻辑:根据用户输入判断是否调用开源 Skill"""# 获取最后一条用户消息。

lpfasd123的博客 906

病毒分析基础

第 1 章病毒分析病毒分析是将病毒行为还原的过程,在此过程中病毒的行为流程将被分解,病毒的每一步操作都有可能影响正常的操作系统配置或文件。病毒分析的基础是依托于逆向工程的基础,所以在做病毒分析工作之前好好学习下逆向工程知识。 如果在实体机里分析病毒的话,会影响到实体机的日常使用,所以我们需要建立虚拟的环境来分析病毒。 1.1 建立病毒分析环境用虚拟环境来分析恶意程序早在2000年就已经开始采

hanyang291的专栏 2253

金融机构和贷款产品数据抓取:使用Python爬虫技术获取金融机构的贷款产品信息与条件

本文介绍了如何使用Python爬虫技术抓取金融机构的贷款产品信息,包括静态网页抓取和动态网页抓取两种方法。通过requestsSelenium等工具,我们能够轻松抓取银行和消费金融平台上的贷款信息,并存储和分析数据。随着技术的发展,我们还可以扩展爬虫功能,抓取更多的金融机构网站,或者结合自然语言处理技术对贷款产品的评论进行情感分析,为用户提供更多维度的贷款决策支持。

2201_76125261的博客 1735

Android病毒分析技巧和方法总结

Android病毒分析技巧和方法分析前的准备工作: 析前首先了解应用自身的的功能,不要将应用自身的工作当作恶意行为来处理. 看权限,根据应用的权限判断应用可以产生哪些行为,并判断出这些权限是否和应用的功能相关,如果有与应用本身不相关的功能那么针对这些权限的产生的行为要进行确认 的病毒属于在正常应用中插入恶意代码,并且病毒行为需要的权限和应用本身需要的权限是重复的,此时要辨别出那些代码是病毒的代码,那

进击的星空 2713

Android CCodec (十一) Codec2Buffer BufferPool分析

1、序言 2、C2BlockPool分析 3、SimpleC2Component关于BlockingBlockPool的实现 4、总结

给大佬递杯卡布奇诺的博客 4024

HTML粉色爱心(完整代码)

HTML语言实现粉色爱心的完整代码。

AIGC 1118

小技巧——病毒分析中关闭ASLR

原文来自:https://bbs.ichunqiu.com/thread-41359-1-1.html 病毒分析中关闭ASLR 分析病毒的时候,尽可能用自己比较熟悉的平台,这样可以大大地节省时间,像我就喜欢用xp了,然而有时候病毒非要在更高版本的系统上运行,如win7,server2008等。然而这些平台都使用了ASLR技术,每次od载入时,其映像基址都是会变化的,而你...

dfdhxb995397的博客 291

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Android病毒分析基础(二)—ChatGPT提问技巧

今天我们来用最近比较火的“ChatGPT”学习一下Android病毒分析基础,看看和我们之前学的有什么不同,又能学习到什么新的东西,同时了解一下“ChatGPT”提问的一些精髓。 和我们之前的“Android病毒分析基础(一)”一样,我们先看一下环境搭建、工具使用、在线查杀、病毒分析方法以及特征提取等问题。 以下各项均是“ChatGPT”回答,本人只做了些许删减。 如何便捷的使用ChatGPT ...

Andy0214的专栏 384

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

病毒分析之我见

转自:UNPACK 作者:乌龟                这两天逛了几个国内知名的反病毒的论坛或是版块,不知道是各位同行没有兴趣讨论还是为什么。病毒分析报告看到了不少,可是难道我们真正需要的只是一个答案?一份报告吗?或许我们更需要的是如何提高自身的分析能力。我们都想有更高的收入,但对于一个公司来说,付出更高的回报也许不是问题,前提是员工能创造更大的价值,怎样才能让自己的逆向能力合法的转化为

W Blog 1678

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

病毒分析常用技巧-修复内存dump文件

病毒常用的技俩之一就是创建一个傀儡进程,借助傀儡进程,执行自己的恶意代码。 其实现方法: 1.以挂起方式创建一个进程 2.写入一个PE文件到这个挂起的进程的内存,可能会使用API WriteProcessMemory或MapViewOfSection那一套API来完成这个操作 3.调用ResumeThread恢复进程执行 对付这种我们可以在它写入数据到目标进程时下断点,例如WriteProcess...

Sven的忘却日记 4297

病毒分析技巧之API地址获取

点击蓝字关注我们0x00目的 通过该实验,使学生掌握使用PEB结构确定kernel32.dll基地址的方法与原理,通过对PE导出表结构分析来理解获取API函数地址的方法,最终通过编码完...

蚁景网安学院 1567

宏病毒分析技巧 - 绕过密码保护

在分析宏病毒样本时,偶尔会遇到带密码的宏病毒样本,有些工具可以直接读取或绕过输入密码 这里使用一种简单粗暴的方法来绕过宏密码保护,使用任意一款16进制编辑器,搜索DPB 将其修改为DPX 保存后,重新打开宏病毒样本,WORD弹出错误提示,点击 是 使用ALT+F11打开宏编辑器,然后打开右键Project属性 在属性窗口-&gt;保护 我们可以取消密码保护,或输入一个新密码 这里...

u012871930的博客 642

宏病毒分析要点

练习过一些宏病毒,总结一些最基本的方法 一.查看 提示启用内容,选择启用 Alt+F11即可查看宏代码 二.加密 部分宏加了密码 可以用如下工具破解 三.快速查找关键语句 大量简单的宏病毒直接在代码中搜索shell或者run即可找到关键的执行部分Ctrl+F,输入shell或者run查找,找到后下断点执行过来 选择左侧点击即可下断 然后运行 本地窗口查看,调试 添加监视即可看到关键部...

weixin_42539095的博客 771
上一篇: 财富快车中的几个比较有用的逆向代码
下一篇: 一款木马的分析
iiprogram
博客等级 码龄25年 1068粉丝 1515原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值