20145217《网络对抗》 恶意代码分析

20145217《网络对抗》 免杀原理与实践

知识点学习总结

进行恶意代码分析之前必须具备以下知识:编程、汇编/反汇编、网络基本知识、PE文件结构以及一些常用行为分析软件。

一、在一个已经感染了恶意代码的机器上如何找到病毒文件?

  • 找到恶意代码才能对其分析,找到恶意代码文件就是就是分析的第一步,一般来讲,恶意代码运行必然会创建一个进程,而这个进程就是我们找到他的突破口,一个打开的进程,可以通过任务管理器、Process Explorer等来找到其映像文件的地址,这样就能找到恶意代码文件了

  • 但是,现在的恶意代码可能其自身的进程隐藏,一般来讲,隐藏进程的方式就是“脱链”,在PEB中有三条链表,其中一条链表的指向进程,该链表的每一个元素代表着每一个进程,如果想对某进程隐藏,那么进行“脱链”即可。

二、如何通过静态基础分析获取一些相关信息?

  • 首先,我们用PEID查看一些基本信息,用PE explorer等软件查看导入表,一个程序想对你的电脑进行某些操作,那么它必然会调用系统API,而导入表可以告诉我们这个程序调用了哪些API,我们凭借这些导入函数,可以大致猜测一下这个程序作了什么。

  • 可以对我们提供有效信息的不是只有导入表,查看字符串也经常会有一些意外收获,这个时候我们可以使用微软提供的控制台工具Strings查看程序的字符串信息,通过查看字符串,可以获取很多提示。

三、如何确定恶意代码究竟干了些什么?

  • 这个时候那就需要用到动态基础分析了,别犹豫,上虚拟机,跑起来看看吧,跑之前我们先要打开一些行为监控软件,常用的是微软提供的Process Monitor、Process Explorer等这些软件可以监控到注册表、文件、进程、模块、网络、用户等等等等信息。还可以使用systracer拍摄快照并对比。

  • 很多后门和木马程序还会采用反弹式连接的方式链接到别的主机,这是可以采用nestat、wireshark等抓包工具进行抓包,确定其网络行为,发现攻击的主机,后期杀毒再做针对处理。

实验过程概述

一、virscan扫描结果分析

  • 编译器:visual C++5.0

  • 两大主要行为:网络行为和注册表行为,反弹连接一个IP并修改注册列表。

886760-20170328192526873-2118411090.jpg

二、peid扫描结果分析

  • 结果显然是没有加壳。在这里我们又见到了编译器信息。pied能够显示反汇编代码以及一些地址信息,不过最重要的作用还是查壳脱壳,对文件信息的分析不如接下来的两款PE软件好用。

886760-20170328193327967-456903860.jpg

三、Dependency Walker扫描结果分析

  • 这个软件把程序的dll层级调用列出来了,他调用了什么dll,那些dll又调用了哪些文件。

886760-20170328195443592-1825582850.jpg

  • 通过分析可以得到该程序对注册列表有改动的动作。

886760-20170328195757014-1698063547.jpg

四、PE explorer扫描结果分析

  • 文件头信息:可以看到文件编译时间,连接器等信息。

886760-20170328200138576-777380899.jpg

  • 表信息:这里主要查看第二个导入表,即调用了什么dll。

886760-20170328200558670-597980160.jpg

  • 分节信息:缺点是显示以ascll码表示,看不出所以然来。

886760-20170328200733108-527535627.jpg

五、systracer分析恶意代码回连前后情况

  • 运行程序:多了cad5217.exe这样一个进程。

886760-20170329201526873-583955261.jpg

  • 载入的dll文件:cad5217调用了大量dll文件,很多在之前的引入表中也能看到。

886760-20170329201951811-61265691.jpg

  • 开放端口:可以看到cad5217程序通过tcp连接一个192.168.150.132的443端口。

886760-20170329202151811-1014126913.jpg

六、wireshark分析恶意代码回连前后情况

  • 我们知道443端口是https服务端口,通常采用ssl/tls安全通信协议。这里的大量ssl包和tcp包数据部分都是乱码,是经过加密处理的。

886760-20170329202435639-1077289771.jpg

七、TCPview分析恶意代码回连前后情况

  • 易看出在回连后出现cad5217这个进程,PID为3617,并且具有网络行为是连接另一台主机的https端口。

886760-20170329205507826-293794512.jpg

  • TCPview不仅可以查看还可以结束这个进程,还可以告诉你这个程序在你的机器上那个位置,为清除提供方便。

886760-20170329205730373-892535994.jpg

  • 结束进程后,linux这边显示程序die了。

886760-20170329205738717-195181409.jpg

八、Process monitor查看恶意代码回连前后情况

  • 可以看到回连后程序信息,成功运行、日期时间

886760-20170330153907586-422995350.jpg

  • 可以看到父进程PID,查了一下是windows资源管理器

886760-20170330153912180-1148495445.jpg

886760-20170330153916430-800551094.jpg

九、Process Explorer查看恶意代码回连前后情况

  • 可以看到回连后程序信息

886760-20170329210034217-1772194664.jpg

  • Process Explorer更像一个详细版的任务管理器,把进程的各种信息都直观地展示出来。双击后可以查看各种属性。
  • 具有网络连接行为:

886760-20170329210244983-1292329013.jpg

  • 改程序跟ntdll.dll直接相关。ntdll.dll描述了windows本地NTAPI的接口。是重要的Windows NT内核级文件。

886760-20170329210256811-220933746.jpg

十、netstat查看恶意代码回连前后情况

  • 可以看到正在联网到192.168.150.132:443,连接时建立的。这个小程序并不是太好用,虽然可以通过建立新任务的方式让它在后台不停地进行记录,但并不详细,当有其他程序时显然用其他程序更好。

886760-20170329215710029-2426127.jpg

  • 还遇到权限不够的问题

886760-20170329222656811-1159531971.jpg

  • 权限解决:勾选以最高权限运行。

886760-20170330114415733-2045259550.jpg

  • 效果图

886760-20170330114545045-1836839577.jpg

十一、sysmon查看恶意代码回连前后情况

  • 安装失败了
    886760-20170329222743326-413026648.jpg

886760-20170329222836358-906554330.jpg

转载于:https://www.cnblogs.com/jokebright/p/6642187.html

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

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

相关文章

cvRemap 对图像进行普通几何变换

cvRemap 对图像进行普通几何变换 函数 cvRemap 利用下面指定的矩阵变换输入图像:   dst(x,y)<-src(mapx(x,y),mapy(x,y))   与其它几何变换类似&#xff0c;可以使用一些插值方法&#xff08;由用户指定&#xff0c;同cvResize&#xff09;来计算非整数坐标的像素值 vo…

一篇需要膜拜的文篇--Javascript异步编程模型进化(转)

要我能用得这么熟&#xff0c; 那前端出师了哈。 http://foio.github.io/javascript-asyn-pattern/ 改天一个一个亲测一下。 Javascript语言是单线程的&#xff0c;没有复杂的同步互斥&#xff1b;但是&#xff0c;这并没有限制它的使用范围&#xff1b;相反&#xff0c;借助于…

CvMat,Mat和IplImage之间的转化和拷贝

1、CvMat之间的复制 //注意&#xff1a;深拷贝 - 单独分配空间&#xff0c;两者相互独立 CvMat* a; CvMat* b cvCloneMat(a); //copy a to b 2、Mat之间的复制 //注意&#xff1a;浅拷贝 - 不复制数据只创建矩阵头&#xff0c;数据共享&#xff08;更改a,b,c的任意一…

rtp协议详解/rtcp协议详解

、简介 目前&#xff0c;在IP网络中实现实时语音、视频通信和应用已经成为网络应用的一个主流技术和发展方向&#xff0c;本文详细介绍IP协议族中用于实时语音、视频数据传输的标准协议RTP&#xff08; Real-time Transport Protocol&#xff09;和RTCP&#xff08;RTP Control…

MVC开发中的常见错误-04-“System.NullReferenceException”类型的异常在 BBFJ.OA.WebApp.dll 中发生,但未在用户代码中进行处理...

未将对象引用设置到对象实例,又名空指针异常,伴随程序员开发的一生. 查看详细信息得知: SetUserRoleInfo() 首先想到的是 IBLL.IRoleInfoService RoleInfoService { set; get; }应该是config文件中反射出现了问题 <?xml version"1.0" encoding"utf-8"…

RTSP协议介绍

1. 实 时流协议RTSP RTSP[3]协 议以客户服务器方式工作&#xff0c;它是一个多媒体播放控制协议&#xff0c;用来使用户在播放从因特网下载的实时数据时能够进行控制&#xff0c;如&#xff1a;暂停/继 续、后退、前进等。因此 RTSP 又称为“因特网录像机遥控协议”。 1.1. …

mysql中出现没有权限访问或者查看全部数据库的问题---用客户端第一次打开的时候...

在my.cnf中mysqld目录下的socket/var/lib/mysql/mysql.sock一行下面添加skip_grant_tables---------------报错退出然后重新启动server mysqld restart 登录进去转载于:https://www.cnblogs.com/yecao8888/p/5661250.html

HALCON示例程序resistor.hdev通过不同焦距图像提取深度信息

小哥哥小姐姐觉得有用点个赞呗&#xff01; HALCON示例程序resistor.hdev通过不同焦距图像提取深度信息 示例程序源码&#xff08;加注释&#xff09; 关于显示类函数解释 Names : [] dev_close_window () for i : 1 to 10 by 1 Names : [Names,‘dff/focus_’ (i$’.2’)…

优秀项目解析:区块链上的房地产交易

区块链前哨导语&#xff1a;买房租房中&#xff0c;需要了解多少知识从而规避欺诈风险&#xff1f;如果区块链这一新兴技术与房地产这个古老的概念相结合&#xff0c;会碰撞出怎样的火花&#xff1f;房地产物业的所有权验证与转让将呈现出怎样的面貌&#xff1f;美国有家科技初…

HALCON示例程序rim.hdev轮圈孔检测提取字符

小哥哥小姐姐觉得有用点个赞呗&#xff01; HALCON示例程序rim.hdev轮圈孔检测提取字符 示例程序源码&#xff08;加注释&#xff09; 关于显示类函数解释 dev_update_off () dev_close_window () dev_open_window (0, 0, 768, 576, ‘black’, WindowID) set_display_font …

德国汽车厂发生机器人杀人事件 人机协作是大势所趋

OFweek机器人网讯&#xff1a;《金融时报》报道称&#xff0c;德国大众汽车制造厂中一个机器人杀死了一名人类工作人员。当时这名21岁的工人正在安装和调制机器人&#xff0c;后者突然“出手”击中工人的胸部&#xff0c;并将其碾压在金属板上。这名工人当场死亡。 调查人员正对…

HALCON示例程序sequence_diff.hdev通过两张连续图像进行车辆流量监控

小哥哥小姐姐觉得有用点个赞呗&#xff01; HALCON示例程序sequence_diff.hdev通过两张连续图像进行车辆流量监控 示例程序源码&#xff08;加注释&#xff09; 关于显示类函数解释 Thresh : 35 dev_update_window (‘off’) dev_update_pc (‘off’) dev_update_var (‘of…

HALCON示例程序stamp_catalogue.hdev分割图片与文字

小哥哥小姐姐觉得有用点个赞呗&#xff01; HALCON示例程序stamp_catalogue.hdev分割图片与文字 示例程序源码&#xff08;加注释&#xff09; 关于显示类函数解释 gen_rectangle1 (Rect, 0, 0, 5, 5) dev_update_var (‘off’) dev_update_window (‘off’) dev_close_win…

[BZOJ]1023: [SHOI2008]cactus仙人掌图

Time Limit: 1 Sec Memory Limit: 162 MB Description 如果某个无向连通图的任意一条边至多只出现在一条简单回路&#xff08;simple cycle&#xff09;里&#xff0c;我们就称这张图为仙人掌图&#xff08;cactus&#xff09;。所谓简单回路就是指在图上不重复经过任何一个顶…

实现RTP协议的H.264视频传输系统

1. 引言 随着信息产业的发展&#xff0c;人们对信息资源的要求已经逐渐由文字和图片过渡到音频和视频&#xff0c;并越来越强调获取资源的实时性和互动性。但人们又面临着另外一种不可避免的尴尬&#xff0c;就是在网络上看到生动清晰的媒体演示的同时&#xff0c;不得…

机器人网首页应用实例工业自动化 EtherCAT 技术在库卡机器人控制系统上的应用

自 2010 年以来&#xff0c;库卡一直采用 EtherCAT 技术作为所有库卡机器人控制系统中的系统总线。最新的 KR AGILUS 机器人和 LBR iiwa 轻型机器人的紧凑型控制器也是在 EtherCAT 基础上实施的。Beckhoff 基于工业以太网的 EtherCAT因而可以作为整个当前库卡控制系统范围内的…

KVM虚拟机共享存储动态迁移与冷迁移

运行环境一、 配置nfs共享服务器二、 配置KVM虚拟化三、 创建桥接网卡四、 配置kvm服务器并实现动态迁移五、 配置冷迁移运行环境KVM虚拟机两台&#xff08;linux 7.4&#xff09;IP地址&#xff1a;192.168.80.100&#xff08;KVM01&#xff09;IP地址&#xff1a;192.168.80.…

HALCON示例程序surface_scratch.hdev提取划痕

小哥哥小姐姐觉得有用点个赞呗&#xff01; HALCON示例程序surface_scratch.hdev提取划痕 示例程序源码&#xff08;加注释&#xff09; 关于显示类函数解释 dev_update_off () dev_close_window () read_image (Image, ‘surface_scratch’) get_image_size (Image, Width…

理解LSTM/RNN中的Attention机制

转自&#xff1a;http://www.jeyzhang.com/understand-attention-in-rnn.html&#xff0c;感谢分享&#xff01; 导读 目前采用编码器-解码器 (Encode-Decode) 结构的模型非常热门&#xff0c;是因为它在许多领域较其他的传统模型方法都取得了更好的结果。这种结构的模型通常将…

[BZOJ2326] [HNOI2011] 数学作业 (矩阵乘法)

Description Input Output Sample Input Sample Output HINT Source Solution 递推式长这样&#xff1a;$f[n]f[n-1]*10^kn$ 对于每一段位数个数相同的$n$&#xff08;如$10\sim99,100\sim999,23333\sim66666,1018701389\sim2147483647$&#xff09;&#xff0c;$k$是个定值 然…