摘自: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. Crazyflie 2.0 System Architecture

    Crazyflie 2.0架构包含两个微控制器: A NRF51, Cortex-M0, 用于实现无线通信和电源管理: (1)按键开关逻辑(ON/OFF logic) (2)控制给其它系统供电(STM ...

  2. Linux文件查找命令具体解释-which whereis find locate

    原创BLog.转载请注明出处 http://blog.csdn.net/hello_hwc? viewmode=contents which命令 首先查看man which的说明 which - sh ...

  3. ruby on rails错误undefined method `title' for nil:NilClass

    首先搞清楚这句话,在 Ruby 中,方法分为 public.private 和 protected 三种,仅仅有 public 方法才干作为控制器的动作. 我的出错的代码例如以下: controlle ...

  4. C++中的字节对齐

    本博客(http://blog.csdn.net/livelylittlefish)贴出作者(三二一.小鱼)相关研究.学习内容所做的笔记,欢迎广大朋友指正! 字节对齐 1. 基本概念字节对齐:计算机存 ...

  5. Google Maps API 将开始收费

    Google Maps API 将开始收费 一.总结 一句话总结:国外的话openstreetmap或许不错 国内的话就高德吧 二.Google Maps API 将开始收费 曾经免费的 Google ...

  6. FireEye APT检测——APT业务占比过重,缺乏其他安全系统的查杀和修复功能

    摘自:https://zhidao.baidu.com/question/1694626564301467468.html火眼,APT威胁下快速成长 FireEye的兴起开始于2012年,这时段正好迎 ...

  7. hihocoder 1407 重复旋律2

    思路: 二分一哈答案 height分个块 //By SiriusRen #include <cstdio> #include <cstring> #include <al ...

  8. Java多线程编程模式实战指南(一):Active Object模式--转载

    本文由黄文海首次发布在infoq中文站上:http://www.infoq.com/cn/articles/Java-multithreaded-programming-mode-active-obj ...

  9. C# 运算符 ?、??、?: 、?. 、 各种问号的用法和说明

    1. 可空类型修饰符(?):引用类型可以使用空引用表示一个不存在的值,而值类型通常不能表示为空.例如:string str=null; 是正确的,int i=null; 编译器就会报错.为了使值类型也 ...

  10. vector ----- size函数注意事项

    vector 的size函数返回vector大小,返回值类型为size_type,Member type size_type is an unsigned integral type,即无符号整数: ...