摘自:http://kczxsp.hnu.edu.cn/upload/20150504165623705.pdf 里面对于木马的实验过程写得非常清楚,值得一看。
 
木马是隐藏在正常程序中的具有特殊功能的恶意代码,是具备破坏、删除和
修改文件、发送密码、记录键盘、实施
DOS
攻击甚至完全控制计算机等特殊功
能的后门程序。它隐藏在目标的计算机里,可以随计算机自动启动并在某一端口
监听来自控制端的控制信息。
1
、木马的特性
木马程序为了实现某特殊功能,一般应该具有以下性质:
1
) 伪装性
:
程序把自己的服务器端伪装成合法程序,并且诱惑被攻击者执
行,使木马代码会在未经授权的情况下装载到系统中并开始运行。
2
) 隐藏性:木马程序同病毒一样,不会暴露在系统进程管理器内,也不会让
使用者察觉到木马的存在,它的所有动作都是伴随其它程序进行的,因此
在一般情况下使用者很难发现系统中有木马的存在。
3
) 破坏性:通过远程控制,攻击者可以通过木马程序对系统中的文件进行删
除、编辑操作,还可以进行诸如格式化硬盘、改变系统启动参数等个性破
坏操作。
4
) 窃密性:木马程序最大的特点就是可以窥视被入侵计算机上的所有资料,
这不仅包括硬盘上的文件,还包括显示器画面、使用者在操作电脑过程中
在硬盘上输入的所有命令等。
2
、木马的入侵途径
木马入侵的主要途径是通过一定的欺骗方
法,如更改图标、把木马文件与普
通文件合并,欺骗被攻击者下载并执行做
了手脚的木马程序,就会把木马安
装到被攻击者的计算机中。
3
、木马的种类
1
) 按照木马的发展历程,
可以分为四个阶段:
第一代木马是伪装型病毒,
将病毒伪装成一合法的程序让用户运行。第二代木马是网络传播型木
马,它具备伪装和传播两种功能,可以近些年歌迷马窃取、远程控制。
第三代木马在连接方式上有了改进,利用率端口反弹技术。第四代木
马在进程隐藏方面作了较大改动,让木马服务器运行时没有进程,网
络操作插入到系统进程或者应用进程完成。
2
) 按照功能分类
,
木马可以分为
:
破坏型木马,主要功能是破坏删除文
 
件;密码发送型木马,它可以找到密码并发送到指定的邮箱中;服务
型木马,它通过启动
FTP
服务或者建立共享目录,使黑客可以连接并
下载文件;
DOS
攻击型木马,
它可以作为被黑客控制的肉鸡实施
DOS
攻击;代理型木马,它作为黑客发起攻击的跳板;远程控制型木马,
可以使攻击者利用客户端软件完全控制。
4
、木马的工作原理
下面介绍木马的传统连接技术、反弹端口技术和线程插入技术。
1
) 木马的传统连接技术
一般木马都采用
C/S
运行模式,因此它分为两部分,即客户端和
服务器端木马程序。其原理是,当服务器端程序在目标计算机上被执
行后,一般会打开一个默认的端口进行监听,当客户端向服务器端主
动提出连接请求,服务器端的木马程序就会自动运行,来应答客户端
的请求,从而建立连接。
第一代和第二代木马都采用的是
C/S
连接方式,都属于客户端主
动连接方式。服务器端的远程主机开放监听端口等待外部的连接,当
入侵者需要与远程主机连接时,
便主动发出连接请求,
从而建立连接。
2
) 木马的反弹端口技术
随着防火墙技术的发展,它可以
有效拦截采用传统连接方式从
外部主动发起连接的木马程序。但防火墙对内部发起的连接请求则认
为是正常连接,第三代和第四代“反弹式”木马就是利用这个缺点,
其服务器端程序主动放弃对外连接请求,再通过某些方式连接到木马
的客户端,就是说“反弹式”木马是服务器端主动发起连接请求,而
客户端是被动的连接。
根据客户端
IP
地址是静态的还是动态的,反弹式端口连接可以
有两种方式。
反弹端口连接方式一要求入侵者在设置服务器
端的时候,指明客
户端的
IP
地址和待连接端口,
也就是远程被入侵的主机预先知道客户
端的
IP
地址和连接端口。所以这种方式只适用于客户端
IP
地址是静
态的情况。
反弹端口连接方式二在连接建立过程中,入侵者利用一个“代理
服务器”保存客户端的
IP
地址和待连接端口,在客户端的
IP
地址是
动态的情况下,只要入侵者更新“代理服务”中存放的
IP
地址预端
口号,远程被入侵主机就可以通过
先连接到“代理服务器”
。查询最
新木马客户端信息,再和入侵者
(
客户端)进行连接。因此,这种连接
方式适用于客户端和服务器端都是动态
IP
地址的情况,况且还可以
穿透更加严密的防火墙

木马——本质就是cs socket远程控制,反弹木马是作为c端向外发起网络请求的更多相关文章

  1. 反弹木马——本质上就是一个开80端口的CS程序,伪造自己在浏览网页

    反弹端口型木马分析了防火墙的特性后发现:防火墙对于连入的链接往往会进行非常严格的过滤,但是对于连出的链接却疏于防范.于是,与一般的木马相反,反弹端口型木马的服务端(被控制端)使用主动端口,客户端(控制 ...

  2. 木马suppoie 处理的几个思路 木马文件的权限所有者 属主数组 定时任务 目录权限

    木马suppoie 处理的几个思路  木马文件的权限所有者  属主数组  定时任务   目录权限

  3. JAVA之旅(三十二)——JAVA网络请求,IP地址,TCP/UDP通讯协议概述,Socket,UDP传输,多线程UDP聊天应用

    JAVA之旅(三十二)--JAVA网络请求,IP地址,TCP/UDP通讯协议概述,Socket,UDP传输,多线程UDP聊天应用 GUI写到一半电脑系统挂了,也就算了,最多GUI还有一个提示框和实例, ...

  4. java 网络编程基础 TCP/IP协议:服务端ServerSocket;客户端Socket; 采用多线程方式处理网络请求

    1.Java中客户端和服务器端通信的简单实例 Java中能接收其他通信实体连接请求的类是ServerSocket,ServerSocket对象用于监听来自客户端的Socket连接,如果没有连接,它将一 ...

  5. web框架的本质(使用socket实现的最基础的web框架、使用wsgiref实现的web框架)

    import socket def handle_request(client): data = client.recv(1024) client.send("HTTP/1.1 200 OK ...

  6. puppet开源的软件自动化配置和部署工具——本质就是CS,服务端统一管理配置

    1.  概述 puppet是一个开源的软件自动化配置和部署工具,它使用简单且功能强大,正得到了越来越多地关注,现在很多大型IT公司均在使用puppet对集群中的软件进行管理和部署,如google利用p ...

  7. 浅谈android Socket 通信及自建ServerSocket服务端常见问题

    摘  要:TCP/IP通信协议是可靠的面向连接的网络协议,它在通信两端各建立一个Socket,从而在两端形成网络虚拟链路,进而应用程序可通过可以通过虚拟链路进行通信.Java对于基于TCP协议的网络通 ...

  8. java socket 多线程通讯 使用mina作为服务端

    客户端代码不变,参照 http://www.cnblogs.com/Westfalen/p/6251473.html 服务端代码如下: import java.io.IOException; impo ...

  9. linux socket编程:简易客户端与服务端

    什么是socket? socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,都可以用“打开open –> 读写write/read –> 关闭close”模式来 ...

随机推荐

  1. springboot启动嵌入式tomcat报错找不到jar包,关键字:FileNotFoundException,derbyLocale_cs.jar,StandardJarScanner.scan

    异常: java.io.FileNotFoundException: /Users/lanhuajian/.m2/repository/org/apache/derby/derby/10.13.1.1 ...

  2. echarts 设置x轴的和y轴的属性

    axisLabel:{ interval:0,//横轴信息全部显示 rotate:-30,//-30度角倾斜显示 } splitNumber:10

  3. UESTC 1143 数据传输 网络流 最大流 Dinic

    数据传输 Time Limit: 3000/1000MS (Java/Others)     Memory Limit: 65535/65535KB (Java/Others) Submit  Sta ...

  4. Hadoop自学笔记(一)常见Hadoop相关项目一览

    本自学笔记来自于Yutube上的视频Hadoop系列.网址: https://www.youtube.com/watch?v=-TaAVaAwZTs(当中一个) 以后不再赘述 自学笔记,难免有各类错误 ...

  5. Qt Quick 简单介绍

    Qt Quick 是 Qt 提供的一种高级用户界面技术.使用它可轻松地为移动和嵌入式设备创建流畅的用户界面. 在 Android 设备上, Qt Quick 应用默认使用 OpenGL ES ,渲染效 ...

  6. Linux就该这么学 20181005(第七章磁盘管理)

    参考链接https://www.linuxprobe.com lsblk检测硬盘使用情况 RAID 技术把多块物理硬盘设备(至少两块)通过硬件或软件的方式串联在一起,组成一个大的卷组,并将数据依次写入 ...

  7. css文字换行问题white-space:pre-line或者white-space:pre-wrap,解决word-wrap:break-word解决不了的

    想让文字换行必须要写的那几个css样式就略过了.当一行文字是数字或字母时或者数字字母组合时会出现不换行局面,这时候加个word-wrap:break-word:就基本可以解决但是有种情况是它解决不了的 ...

  8. HD-ACM算法专攻系列(11)——Exponentiation

    问题描述: 源码: 考察对大数的计算,需要注意去除前导0与后导0. import java.math.BigDecimal; import java.util.*; public class Main ...

  9. Install the high performance Nginx web server on Ubuntu

    Look out Apache, there's a web server – Nginx (pronounced Engine X) – that means to dismantle you as ...

  10. Codeforces 988E. Divisibility by 25

    解题思路: 只有尾数为25,50,75,00的数才可能是25的倍数. 对字符串做4次处理,以25为例. a. 将字符串中的最后一个5移到最后一位.计算交换次数.(如果没有找到5,则不可能凑出25,考虑 ...