<网络安全>《40 网络攻防专业课<第六课 - 木马与防范>》

1 木马

1.1 木马简介

木马是攻击者编写的一段恶意代码,它潜伏在被攻击者的计算机中。攻击者通过这个代码可远程控制被攻击者的计算机,以窃取计算机上的信息或者操作计算机。从本质上讲,木马也是病毒的一种,因此不少用户也把木马简单称为病毒。

木马通常有两个可执行程序:一个是客户端,即控制端(攻击者),另一个是服务端,即被控制端(被攻击者)。植入被攻击者电脑的是“服务端”部分,而攻击者利用“控制端”远程控制运行了“服务端”的电脑。

1.2 木马的特征

(1)隐蔽性:如其他所有的病毒一样,木马必须隐藏在系统之中。
(2)自动运行性:计算机系统启动时木马会自动运行。
(3)能自动打开特别的端口:木马程序潜入计算机后,会打开TCP/IP协议的某些端口,等待控制端进行连接,从而实现远程控制的目的。现在的木马还会主动连接到控制端。
(4)功能的特殊性:很多木马的功能十分特殊的,除了普通的文件操作以外,有些木马具有搜索Cache中的口令、设置口令、扫描目标计算机的IP地址、进行键盘记录、远程操作注册表、锁定鼠标、打开摄像头等功能

1.3 木马的种类

(1)破坏型:其功能就是破坏并且删除文件,可以自动删除电脑上的DLL、INI、EXE文件。
(2)密码发送型:可以找到隐藏密码并把它们发送到指定的信箱。
(3)远程访问型:可以实现远程控制。
(4)键盘记录木马:记录受害者的键盘敲击并且在LOG文件里查找密码。
(5)DoS攻击木马:计算机成为黑客DoS攻击的最得力助手了,称为肉鸡。
(6)代理木马:变成攻击者发动攻击的跳板,攻击者可以隐蔽自己的踪迹。
(7)程序杀手木马:关闭对方计算机上运行的防病毒软件,让木马更好地发挥作用。
(8)反弹端口型木马:服务端(被控制端)使用主动端口,客户端(控制端)使用被动端口。木马服务端定时监测控制端的存在,发现控制端上线立即主动连接控制端。

1.4 冰河木马

冰河木马属于第二代木马

刚开始是一个远程控制软件

国产木马的标志和代名词

冰河的服务器端程序为G-server.exe,客户端程序为G-client.exe,默认连接端口为7626。一旦运行G-server,那么该程序就会在C:/Windows/system目录下生成Kernel32.exe和sysexplr.exe,并删除自身。

Kernel32.exe在系统启动时自动加载运行,sysexplr.exe和TXT文件关联。即使你删除了Kernel32.exe,但只要你打开TXT文件,sysexplr.exe就会被激活,它将再次生成Kernel32.exe,于是冰河又回来了。

DEMO
1.配置冰河木马的服务器端
2.使用冰河木马远程控制计算机

1.被攻击者计算机运行木马服务端后,攻击者在客户端上可以手动添加计算机,可是攻击者无法知道服务端的IP地址。
2.在茫茫大海似的Internet中搜索冰河服务端也是一件纯粹靠运气的事情。
3.如果服务端采用私有网络的IP地址,或者是在防火墙的保护之内,控制端也将无法搜索或者连接到这些服务端。
4.于是反弹木马应运而生。

1.5 反弹木马

防火墙可以阻挡非法的外来连接请求,所以可以有效防范冰河这样的木马。然而再坚固的防火墙也不能阻止内部计算机对外的连接。反弹木马服务端在被攻击者的计算机启动后,服务端主动从防火墙的内侧向木马控制端发起连接,从而突破了防火墙的保护。反弹木马还有另外一个优点,服务端运行后会主动连接控制端,攻击者只需要开启控制端坐等服务端的连接就行了,而无需像使用冰河木马一样盲目地搜索服务端。

在这里插入图片描述

1.6 Rootkit介绍

Rootkit是一种特殊的、小巧的木马,Rootkit是攻击者用来隐藏自己的踪迹和保留Root访问权限的工具。
通常攻击者通过远程攻击获得目标主机的Root访问权限后,攻击者会在目标主机安装Rootkit,此后他将通过Rootkit这一后门软件保持对目标主机的持续控制。
wollf是一个典型的Rootkit工具,它扩展Telnet服务,集成文件传输、Ftp服务器、键盘记录、Sniffer(forwin2konly)、端口转发等功能,可反向连接,可通过参数选择随系统启动或作为普通进程启动。

wollf[选项]:
-install:安装wollf服务,默认参数
-remove:停止并清除wollf服务
-update:升级wollf服务
-debug:调试wollf服务,用于安装失败后查看出错信息
-once:作为普通进程运行,重启后不自动加载
-connect[host][port]:连接到远程wollf服务,主要用于连接后传输文件
-listen[port]:监听指定端口,等待远程连接,主要用于反向连接方式
-setup:对wollf.exe进行设置,包括监听端口、访问口令或设置为反向连接方式,完成后将生成wollf_new.exe,设置内容及示例见“config_howto.txt”。

wollf使用案例
1.“wollf”安装并启动服务,监听默认端口7614
2.“wolf -remove”停止并卸载服务
3.“wolf -update”用当前wollf升级旧版本
4.“wollf- debug”无法安装服务,加-debug参数运行,以便查看失败原因
5.“wolf -once”作为普通进程运行,重新启动后不自动加载,指定监听2000端口
6.“wolf –connect 192.168.0.1 7614”连接到远程主机7614端口
7.“wolf –listen 2000”监听2000端口,等待远程机器主动连接
8.“wolf -setup”对wollf.exe进行配置,并生成wollf_new.exe

2 木马免杀

木马要发挥作用,必须能经得起防病毒软件的查杀,这个就称为木马免杀。木马免杀技术和防病毒软件查杀技术之间的关系,可谓是“魔高一尺,道高一丈”。一旦有的新木马出现,防病毒软件厂商很快就找到查杀新木马的方法;而造马者也总是不时地推出新的木马。任何木马和木马免杀技术一旦广泛使用,都将被防病毒软件所识别,因此木马的生存周期也就是被防病毒软件识别之前的那一小段时间。

防病毒软件对病毒的查杀是建立在拥有该病毒的特征码的基础上的。黑客为了让木马程序不被防病毒软件查杀,会通过各种方法对它进行修改或伪装,也就是进行免杀处理。

目前常见的免杀方法有加壳、加花(指令)、修改特征码、变换入口点、入口点加密等。同时当前主流的防病毒软件都采用了复合特征码,因此很多时候通过一种方法很难达到免杀效果,这时需要几种方法配合才能起到免杀效果。

2.1 加壳工具的使用

所谓加壳,是一种通过一系列数学运算,将可执行程序文件(EXE)或动态链接库文件(DLL)的编码进行改变(目前加壳软件还可以压缩、加密),以达到缩小文件体积或加密程序编码的目的。当被加壳的程序运行时,外壳程序先被执行,然后由这个外壳程序负责将用户原有的程序在内存中解压缩,并把控制权交还给脱壳后的真正程序。
较常见到的压缩壳有“UPX”、“北斗程序压缩”、“ASPack”等,加密壳有“PE-Armor”、“ASProtect”等等。

2.2 加花工具的使用

和对文件进行加壳一样,加花也是一种木马免杀的手段。所谓的加花是在木马程序中加入一段无用代码或者垃圾代码,有了这些代码程序还是正常运行,当然没有这些代码程序也是正常运行。这些代码实际上是一些汇编代码,让程序到处转跳,这样防病毒软件将难以查找病毒特征码,从而实现木马免杀的目的。

有很多的加花工具,例如:牧马游民的“超级加花器”、“怒剑狂花加花器”等。

2.3 VMProtect软件的使用

VMProtect是一个软件保护软件。通过这个软件保护的代码部分在虚拟机上执行,这使得被保护的程序很难被分析与破解。VMProtect可将被保护文件中的部分代码转化到在虚拟机(以下称作VM)上运行的程序。可也把VM想象为具备命令系统的虚拟处理器,该命令系统与X86处理器所使用的完全不同。用VMProtect保护的木马服务端,很可能躲过防病毒软件的查杀。

3 木马的传播

木马只有在被攻击者的电脑中运行才能发挥作用,所以攻击者经常采取各种办法传播木马。木马的传播主要有以下方式:
(1)利用系统漏洞:攻击者通过网络扫描程序扫描到有漏洞的电脑,再利用漏洞进入电脑,在电脑上中偷偷安装上木马程序。
(2)文件捆绑:这是黑客种植木马最常用的手段之一。将木马程序捆绑在正常的程序中,当别人下载并运行后,被捆绑了木马的程序可以正常运行,但在运行正常程序的过程中木马程序也已经悄悄运行了。黑客通常会将木马程序捆绑到一个广为传播的热门软件上来诱使他人下载,并把它放到下载网站或网站论坛中使其在网络上传播。
(3)文件伪装:将木马程序伪装成其他文件是黑客种植木马最简单也是最常用的手段之一。比如修改木马程序的图标、文件名或后缀名,使它看起来与另外一个正常文件别无二样,而且为了让人容易接受,常常会伪装成热门文件来诱使对方打开。伪装木马最常用的传播方式就是通过电子邮件和QQ等即时通信软件来传播。
(4)网页木马:网页木马是通过网页浏览传播的一种木马种植方式,这是黑客种植木马最常用的手段之一。此方法非常隐蔽,常常让人在不知不觉间中招。黑客会将制作好的木马程序放到网页中,当人们在浏览这些网页时木马程序会通过系统或软件的漏洞自动安装,或是以浏览该网页必须的插件等名义诱骗用户点击安装。

3.1 文件捆绑

Demo
EXE捆绑机
Winrar压缩捆绑
插入捆绑

3.2 木马伪装

1.图片捆绑机
2.资源编辑器
3.伪造数字签名

4 木马的防范

对于普通用户来说,掌握防范某个木马的方法或者检查木马的某一方法已经没有实际的意义。用户需要有普遍意义上的木马防范方法,如下:
(1)及时升级浏览器,安装防病毒软件、修复系统漏洞,务必及时更新病毒库。
(2)不下载来历不明的文件,更不要运行这些文件。
(3)不浏览身份不明的网站,特别注意浏览网页时不安装不明的控件。
(4)收到来历不明的邮件直接删除,不要打开或运行邮件中的文件。
(5)和他人QQ聊天时,不打开来历不明的链接。

国内的防病毒软件主要有瑞星、金山、360、腾讯的电脑管家、卡巴斯基、诺顿等。建议每天进行软件更新,并且定期(每周、每个月)进行全盘查杀

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

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

相关文章

代码随想录算法训练营DAY20 | 二叉树 (8)

一、LeetCode 701 二叉搜索树中的插入操作 题目链接: 701.二叉搜索树中的插入操作https://leetcode.cn/problems/insert-into-a-binary-search-tree/description/ 思路:见缝插针罢辽。 class Solution {public TreeNode insertIntoBST(TreeNode root, i…

ChatGPT-01 用ChatGPT指令,自学任何领域的系统知识

1. 指令位置 Github仓库:Mr Ranedeer AI Tutor 但是需要开通chatgtp plus版本,并且打开代码解释器 2 使用 学习内容 开始学习 GPT甚至可以给你思考题,给出的答案还能进行评价 配置 通过配置表修改 深度 学习风格 沟通风格 语气风格 …

花费200元,我用全志H616和雪糕棒手搓了一台可UI交互的视觉循迹小车

常见的视觉循迹小车都具备有路径识别、轨迹跟踪、转向避障、自主决策等基本功能,如果不采用红外避障的方案,那么想要完全满足以上这些功能,摄像头、电机、传感器这类关键部件缺一不可,由此一来小车成本也就难以控制了。 但如果&a…

深度学习基础之《TensorFlow框架(3)—TensorBoard》

一、TensorBoard可视化学习 1、TensorFlow有一个亮点就是,我们能看到自己写的程序的可视化效果,这个功能就是TensorBoard 2、TensorFlow可用于训练大规模深度神经网络所需的计算,使用该工具涉及的计算往往复杂而深奥。为了方便TensorFlow程…

C++11---(2)

目录 一、新增容器 1.1、array 1.2、forward_list 1.3、unordered系列 二、右值引用和移动语义 2.1、什么是左值,什么是左值引用 2.2、什么是右值,什么是右值引用 2.3、左值引用和右值引用比较 2.4、右值引用使用场景和意义 2.5、右值引用引用…

EasyRecovery易恢复中文破解版2024最新破解序列号

EasyRecovery易恢复是一款来自美国的数据恢复软件,已有35年(或38年)的历史。它支持不同存储介质的数据恢复,包括电脑系统硬盘、移动硬盘等,并针对不同的数据丢失原因提供了相应的恢复方案。 EasyRecovery易恢复是一款功…

基于java的企业校园招聘平台的设计与实现

分享一个自己的毕业设计,想要获取源码的同学加V:qq2056908377 链接:https://pan.baidu.com/s/1It0CnXUvc9KVr1kDcHWvEw 提取码:1234 摘要: 摘要:本毕业设计旨在设计和实现一个企业校园招聘平台&#xf…

2024-02-19(Flume,DataX)

1.flume中拦截器的作用:个人认为就是修改或者删除事件中的信息(处理一下事件)。 2.一些拦截器 Host Interceptor,Timestamp Interceptor,Static Interceptor,UUID Interceptor,Search and Rep…

Query Rewrite —— 基于大模型的query扩展改写,如何减少LLM的幻觉问题,召回提升15%(北大论文)

北大论文,关于使用模型进行query扩展,提升召回率。并且合理解决模型的幻觉问题。 论文地址:SYNERGISTIC INTERPLAY BETWEEN SEARCH AND LARGE LANGUAGE MODELS FOR INFORMATION RETRIEVAL 一、论文的核心思想 如何有效的丰富扩展query&#…

Datawhale零基础入门金融风控Task1 赛题理解

Task1 赛题理解 Tip:本次新人赛是Datawhale与天池联合发起的0基础入门系列赛事第四场 —— 零基础入门金融风控之贷款违约预测挑战赛。 赛题以金融风控中的个人信贷为背景,要求选手根据贷款申请人的数据信息预测其是否有违约的可能,以此判断是否通过此项…

qt QTableWidget 表头没有间隔

使用时,发现表头没有间隔线 表头样式表设置为: /*设置表格整体样式*/ QTableView{border:1px solid #A1B7CF;background-color:#FFFFFF; /*注意:设置下面值时不要再设置background-color,不然会被覆,不信你试试看!*/alternate-bac…

RHEL8提示需要注册才可以yum解决办法

关闭注册以及修改更新远(已注册的RHEL8忽略本步骤) 原因:因为没注册的红帽子是无法连接到官方的Yum源的 箭头所指的改成0 vi /etc/yum/pluginconf.d/subscription-manager.conf 箭头所指的改成0 cd /etc/yum.repos.d/ wget https://mirro…

DP读书:《openEuler操作系统》(十)套接字 Socket 数据传输的基本模型

10min速通Socket 套接字简介数据传输基本模型1.TCP/IP模型2.UDP模型 套接字类型套接字(Socket)编程Socket 的连接1.连接概述(1)基本概念(2)连接状态(3)连接队列 2.建立连接3.关闭连接 socket 编程接口介绍数据的传输1. 阻塞与非阻塞2. I/O复用 数据的传输…

虹科方案丨低负载ECU老化检测解决方案:CANCAN FD总线“一拖n”

来源:虹科汽车智能互联 虹科方案丨低负载ECU老化检测解决方案:CANCAN FD总线“一拖n” 原文链接:https://mp.weixin.qq.com/s/4tmhyE5hxeLFCiaeoRhlSg 欢迎关注虹科,为您提供最新资讯! #汽车总线 #ECU #CAN卡 导读 …

Linix与Windows上使用nc命令测试某一个服务器端口网络是否正常可访问详细安装及测试步骤

一、windows 1、下载nc安装包 https://nszyf.lanzoum.com/ihtqS0v0lwwh 2、下载后解压放置在自己电脑合适的位置,并且配置到环境变量中 3、配置成功环境变量,winr打开运行,输入cmd,回车,打开一个终端测试 测试成功…

【9-1】实验——Neo4j实战操作

目录 一、Neo4j操作——CQL 1、常用CQL命令 2.常用CQL函数 3.图数据的形式 二、实战代码1.create命令 2. MATCH命令 三、使用neo4j工具导入知识图谱 1、工具:neo4j-admin 2、图谱导入: 3、更新图谱: 一、Neo4j操作——CQL 1、常用…

JAVA高并发——锁的优化

文章目录 1、减少锁持有时间2、减小锁粒度3、用读写分离锁来替换独占锁4、锁分离5、锁粗化 锁是最常用的同步方法之一。在高并发的环境下,激烈的锁竞争会导致程序的性能下降,因此我们有必要讨论一些有关锁的性能的问题,以及一些注意事项&…

CSS-基础-MDN文档学习笔记

CSS构建基础 查看更多学习笔记:GitHub:LoveEmiliaForever MDN中文官网 CSS选择器 选择器是什么 CSS 选择器是 CSS 规则的第一部分,它用来选择HTML元素,选择器所选择的元素,叫做选择器的对象 选择器列表 如果有多…

Android轻量级进程间通信Messenger源码分析

一. 概述 Android中比较有代表性的两大通信机制:1. 线程间Handler通信 2. 进程间Binder通信,本篇文章中我们在理解AIDL原理的基础上来解读一下Messenger的源代码, 并结合示例Demo加深理解。 在看本篇文章前,建议先查阅一下笔者的…

举例说明什么是人机耦合

在呼叫中心行业,人机耦合是指将计算机自动化技术与人工服务相结合,以提高呼叫中心的效率和服务质量。具体来说,它包括通过智能语音识别、自然语言处理、机器学习等技术实现自动应答、自动导航、自动响应等功能,以及将人工客服与智…