在尝试学习分析的过程中,判断结论不一定准确,只是一些我自己的思考和探索。敬请批评指正!

涉及内容:
INetSim安装及使用
ApateDNS安装及使用

1. 搭建病毒分析网络环境原因

使用虚拟机作为沙箱能把病毒与外界完全隔离开,但是很多病毒需要连接网络才能触发特定的行为,所以我们需要搭建一个尽量真实的网络环境。
  • 在断网模式下,病毒很可能保持静默或者做一些无关紧要的事来迷惑我们。
  • 在不了解病毒之前直接把病毒接入互联网是非常危险的,原因有如下几点:
    • 会将自己的主机以及网内的设备都会暴露在感染中
    • 该虚拟机可能变成黑客所操控的僵尸机来执行DDOS攻击
    • 可能让黑客知悉我们在解剖他的病毒。
  • 因此我们需要在虚拟机之间搭建一个虚假的网络环境来欺骗病毒。

2. 网络环境的配置

(1)配置目标

  • 运行恶意代码进行分析的虚拟机:WinXP
  • 启动服务器的虚拟机:Kali
  • 配置需求:虚拟机互相连接,但不与主机和外部网络连接。

(2)虚拟机的设置

  • 首先编辑网络编辑器,新增一个HOST ONLY的网络:

  • 将虚拟机的网络适配器都选用这个网络:(WinXP反应很慢,建议重启更新配置)

(3)配置虚拟服务器

  • 安装INetSim

    • kali:自带有INetSim,无需安装。环境变量中已经加入其路径,直接输入INetSim(root权限)就可运行:

    • Ubuntu中第一次安装时无法运行,会出现缺少依赖的问题,可以通过重新配置数据源并更新依赖来解决:(教程ubuntu 14.04安装INetSim模拟Internet)

        - 配置数据源>wget -q -O - http://www.inetsim.org/inetsim.org-archive-signing-key.asc | sudo apt-key add ->sudo sh -c 'echo "deb http://www.inetsim.org/debian/ binary/" >> /etc/apt/sources.list.d/getdeb.list'- 添加组>groupadd inetsim- 更新数据源,安装依赖>sudo apt-get update>sudo apt-get install perl perl-base perl-modules libnet-server-perl libnet-dns-perl  libdigest-sha-perl  libipc-shareable-perl libio-socket-ssl-perl libiptables-ipv4-ipqueue-perl- 安装inetsim>sudo apt-get install inetsim
    • 中间出现的apt-get问题可尝试使用sudo aptitude update && install提供的不同版本兼容性解决方法(但是后来还是安不成功libiptables-ipv4-ipqueue-perl包)。但是不管怎样,至少在Ubuntu里能安装上INetSim而且可以运行起来了。

  • 配置INetSim
    编辑INetSim的配置文件(kali中工具的配置文件在/usr/share目录下, Ubuntu下载后安装的文件在/usr/bin目录下,不同版本可能会有所不同)

  • 找到inetsim.conf文件(kali在conf/中),更改下面的配置(去掉注释):

第一处更改:绑定本机IP

service_bind_address 192.168.134.129(INetSim安装的虚拟机机IP)

第二处更改:DNS解析IP,将流量重定向到本机。

dns_default_ip  192.168.134.129(INetSim安装的虚拟机机IP)

第三处更改:重定向开启

redirect_enable yes

第四处更改:连接绑定ip的tcp端口

redirect_exclude_port tcp:22

第五处更改:重定向外部地址(非注释信息,有些机器更改配置时自动更改,最好确认一下)

redirect_external_address 192.168.134.129(INetSim安装的虚拟机机IP)

(4)主机中配置网络方法一:直接更改

  • 直接在网络属性中更改

(5)主机中配置网络方法二:使用ApateDNS

在ApteDNS里设置解析后的IP为我们Ubuntu服务器的IP然后运行它。这样病毒都会去连接我们的假服务器。

下载运行ApateDNS

  • 下载ApateDNS
  • 阅读ReadMe文件:
    • apatedns是一种控制DNS响应的GUI工具。它将响应DNS请求设置为任何你指定的IP地址。
    • 可以指定一些不存在的域(NXDOMAIN)响应返回之前有效的响应发送。
    • 默认情况下,它将可以使用DNS或默认网关设置为一个IP地址用于DNS响应。在退出后,还原本地DNS设置。
  • 运行环境要求:

      Windows XP or greaterMicrosoft .NET Runtime >= 2.0
    • 实际上直接在XP环境运行是有问题的,win7可以运行。
    • 使用Net framework4.0版本无法运行,2.0、3.5可以运行。
  • XP中出现问题一:

  • 解决方法:安装Net framework2.0或3.0或3.5。(注意:在安装了之后需要重启)

  • 出现问题二:提示“Please set registry key HKLM\Microsoft.NET Framework\InstallRoot to point to the .NET Framework install location”

  • 原因:可能是NET Framework没有安装或是虽然安装成功但是没有在注册表中设置成功。

  • 解决方案一:如果是安装中出现提示,可以删除所有相关文件重新安装。
  • 解决方案二:如果是安装成功后提示错误,修改注册表 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework
  • 如果其中有InstallRoot这一键值,则将其值修改为.NET Framework的安装路径(一般为 C:\WINDOWS\Microsoft.NET\Framework\ )。如果没有则右击.NET Framework选择新建“字符串值”,设置数值名称为 InstallRoot,数值数据为 C:\WINDOWS\Microsoft.NET\Framework\ 或其他安装路径。

  • 应该可以正常打开了。

配置ApateDNS使对任何网站访问都指向固定的网站

  • Ping一下指向的网站(以校网为例)

  • 将ApateDNS的DNS Reply IP设为123.127.3.2,开启服务。
  • 再次打开网页,所有的都显示校网的页面。

  • 在ApateDNS中可以看到,第一条是访问百度的DNS解析,后面几条是加载校网页面上的相关连接地址解析

  • 出现问题一:第一次ping校网的时候显示了一个111.13.100.2的地址,使用这个地址作为返回的DNS:

  • 访问百度,出现了校网的图标,但是无法显示出信息:

  • 出现问题二:刚开始的时候使用的百度的ip,但是无法实现这个功能,显示网页无法显示,然后我又尝试了使用ping到的hao123、扇贝网的ip,这两个页面倒是没说无法显示,但是也没有出来相应的网页,而且两者显示的不同。
  • 下图是设置为hao123的效果:

  • 下图为设置成扇贝网ip的效果:

  • 由于担心是浏览器的问题,我又尝试了IE、UC浏览器,但没有解决这个问题,还是一样的效果。
  • 经过老师的点拨,说是因为有些网站使用ip无法访问,我就回来试了一下,确实是这样的:

  • 百度了一下,这个Nginx是一个高性能的HTTP和反向代理服务器,就跟Apache差不多,对于有些ip无法访问的问题,我通过阅读资料觉得有两种解释的可能:
    • 可能性一:基于Nginx平台的服务器为了防止恶意DDOS攻击(通过IP访问)或避免别人把未备案的域名解析到自己的服务器IP而导致服务器被断网,会设置IP访问限制,一般会设置成直接禁止使用ip访问或限制ip段重复访问,还可以绑定多个ip段显示不同内容。
    • 可能性二:如果服务器是把域名指向了IP,其中本身含有加载Web服务的功能,输入的ip就能够被直接重定位到对应的 Web 服务器。否则,在共享主机的服务器网络中,输入IP只能访问服务器上的一个站,无法确认去哪个目录访问对应网站的服务器主机。

3. 运行病毒程序

  • 现在配置的环境:

    • 两台虚拟机在同一个仅主机虚拟网络中。
    • kali中开启INetSim服务。
    • WinXP中运行ApateDNS或更改网络配置使重定向到INetSim虚拟服务器。
  • 在配置好的环境中运行恶意代码:

4. 小结

  • 这次实践花了大量的时间去解决软件问题,没有针对病毒进行分析。在这个过程中,通过不断地修改虚拟机的配置和对Linux系统的软件、关系依赖修改,锻炼操作能力。
  • 感觉看过的每一个教程都写得非常简单,实际上操作中会有各种问题,由于系统环境的不同问题也不同,虽然办法总比问题多,但是整个过程极为艰辛,尤其是电脑总是崩。而且一定选择适合的方法,比如这次经验教训就是对网上的解决方法要慎重使用:
    • 在尝试各种安装deb包的过程中,搜到一个解决办法是先sudo apt-get –f install修复依赖关系,结果我在kali里面运行之后,各种依赖都被解除了,重启机器了之后连开机启动图形化界面都找不到了….而且一开始忘记存快照,做Linux实践的文档还在里面找不到了…恢复了很早以前存的快照,所有的东西还要重新安装和更新,整个人极度崩溃。
    • 在做成功之后,解决别的同学出现的问题时深切地体会到:实践做得早虽然可以花更多的时间解决问题,但显然机器好更重要…有的虚拟机只要每一步都配置正确,几乎不用花什么功夫就出来了。
  • 在不知道问题所在的时候,就耐心的阅读说明吧,尽管我的英语不好,但是通过INetSim配置文件主要内容阅读,真的发现了问题所在并成功解决。

参考资料

  • 参考资料1:病毒木马查杀实战第001篇:基本查杀理论与实验环境配置
  • 参考资料2:浅谈病毒分析中的虚拟网络环境配置
  • 参考资料3:ubuntu 14.04安装INetSim模拟Internet
  • 参考资料4:Installing and Configuring InetSim
  • 参考资料5:下载ApateDNS

转载于:https://www.cnblogs.com/hyq20135317/p/5515675.html

计算机病毒实践汇总五:搭建虚拟网络环境相关推荐

  1. 使用VMware搭建虚拟网络

    一.实验目的 通过本实验可以: ① 了解VMware虚拟机软件的应用和特点: ② 掌握利用VMware 搭建单一子网的方法: ③ 掌握利用VMware 搭建具有路由功能的多个子网的方法: 为网络安全基 ...

  2. 如何搭建php虚拟主机环境,在本地如何搭建虚拟主机环境?

    现在很多中小型企业在建站的时候,也都会选择虚拟主机建站.因为虚拟主机价格便宜,有其独到的优点和优势,所以现在还是很受企业用户和站长使用的.但是对于一些新手站长来说,在使用虚拟主机的时候在本地如何搭建虚 ...

  3. Linux搭建tor网络环境

    tor(The Onion Router)是第二代洋葱路由(onion routing)的一种实现,用户通过Tor可以在因特网上进行匿名交流.Tor专门防范流量过滤.嗅探分析,让用户免受其害.最初该项 ...

  4. VirtualBox中的虚拟网络环境设置

    网络连接其实是面向网卡的,当一台电脑拥有多块网卡,并且每块网卡连接了不同的网络就能理解了. 默认情况下,VirtualBox为虚拟网卡提供了四种网络环境:Network AddressTranslat ...

  5. 在VMware搭建虚拟网络和NAT路由器

    在vm上实验搭建一个虚拟网络做实验,安装了两台CentOS6.6的虚拟机,一台作为路由主机,一台作为普通客户机. 网络配置 首先来单介绍一下VMware的虚拟机网络适配器,进入VMware,在 编辑 ...

  6. mac搭建IPV6网络环境

    1.为什么要搭建IPV6环境? 因苹果审核要求,iOS设备需在ipv6网络环境下正常运行. 2.如何搭建IPV6环境? 有2种方式.1,有一些网站可以用来测试网络链接检查是否在ipv6下工作正常.2. ...

  7. VirtualBox虚拟网络环境配置【两台虚拟机互通】

    有帮助的话请点个赞吧~ 之前一直用VMware,新电脑内存小了点就换了个VirutalBox,然后因为要搞个课设需要两台虚拟机互通,就来学习一下虚拟网络的配置. Ubuntu安装.必需配置.花里胡哨配 ...

  8. 利用VMware搭建虚拟开发环境及VMware虚拟机上网

    局域网xp系统,VMware装linux 9, 局域网 xp自动获取IP:59.64.157.90, 启用 VMware Network AdapterVMnet8.设 IP: 59.64,157.2 ...

  9. 计算机病毒实践汇总六:IDA Pro基础

    在尝试学习分析的过程中,判断结论不一定准确,只是一些我自己的思考和探索.敬请批评指正! 1. IDA使用 (1)搜索.下载并执行IDA Pro,对可执行程序lab05-01.dll进行装载,分别以图形 ...

最新文章

  1. 如何使用jQuery检查单选按钮?
  2. 鸟哥的Linux私房菜(服务器)- 第二十一章、文件服务器之三: FTP 服务器
  3. Tensorflow Lite 编译
  4. 低代码开发平台_低代码开发平台系列:6、低代码是编程技术发展大势所趋
  5. 设计模式学习笔记五——Prototype模式
  6. 深入理解== 和 equals 的区别
  7. cpu负载转移内存_为什么将所有工作负载转移到云中是个坏主意
  8. 机器学习总结之第一章绪论
  9. Django常用命令
  10. 【力学】基于matlab立铣刀力模拟仿真【含Matlab源码 193期】
  11. 财务人员福音,财务收支报告模板
  12. 简单实用的php爬虫系统
  13. 小白学测试入门之测试分析方法
  14. C语言简易程序设计————6、用*号输出字母C的图案
  15. 乐游TGapi接口平台(接口商)
  16. 前端通信:ajax设计方案(三)--- 集成ajax上传技术
  17. Android开发之——银联支付深入
  18. 东北大学大学物理实验报告——2.2刚体转动惯量的测定
  19. Android 极光推送SDK集成
  20. 开学季·东莞理工学院

热门文章

  1. canvas java 上传截图_在Vue项目中使用html2canvas生成页面截图并上传
  2. 2022-2028年中国酒行业投资分析及前景预测报告
  3. 【spring】编程式事务控制
  4. log4j屏蔽掉某个包下的log日志打印
  5. word2vec 中的数学原理详解(二)预备知识
  6. seq2seq(1)- EncoderDecoder架构
  7. LeetCode简单题之图像渲染
  8. Camera系列规格参数
  9. 如何在小型pcb的移动设备上获得更好的无线性能
  10. 构建一个移动应用程序要花多少钱?