阅读本文之前建议了解 TCP 三次握手过程以及 TCP 的包头详细信息。

由于 TCP 协议并没有对 TCP 的传输包进行验证,所以在我们知道一个 TCP 连接中的 seq 和 ack 的信息后就可以很容易的伪造传输包,假装任意一方与另一方进行通信,我们将这一过程称为 TCP 会话劫持(TCP Session Hijacking)

(可见,tcp 协议并无验证部分)

为解决这个问题,通常会在网络层采用 IPSec 协议,在传输层采用 TLS 协议,在应用层采用对应的协议。各协议安放位置如下。

所以对于一些未进行防护的,采用明文传输的协议,我们就可以很容易的进行会话劫持。

这里以 telnet 连接为例,采用三台虚拟机进行演示。

虚拟机配置如下:

攻击机     192.168.204.130

服务器    192.168.204.131

客户机    192.168.204.132

实现条件:

攻击机工具: wireshark,netwox,shijack

服务器 需要配置 telnet 服务器(这里就不详细说明了,有兴趣的同学可以自行百度)

过程:

首先,我们让 客户机 连接 服务器 。按提示输入服务器的账户,密码(输入密码时字符不可显)。

终端输入命令:

telnet 192.168.204.131

此时,在同一网段的 攻击机 使用 wireshark 嗅探共用网卡,等待 客户机 和 服务器 通信,捕捉 telnet 包。

为了直接找到 telnet 包可以在 wireshark 设置过滤 telnet ,同时设置 wireshark 查看包实际序号(Edit Preferences->Protocols->TCP-> 不选 Relative Sequence Numbers)。

在 客户机 和 服务器 进行通讯后,我们成功捕捉到包。

直接找到最后的一个包,点击 TransmissionControl Protocol 查看其中的源端口,目的端口,next seq 和 ack 信息。(其中 服务器 的端口固定为 23 ,因为 telnet 端口是 23 )

因为我们要伪造发下一个包,所以直接采用 nextseq 作为下一个包的 ack ,采用 ack 作为下一个包的 seq(这里是 tcp 协议的规定,不懂的同学可以百度下 tcp 协议三次握手)

获取到信息之后,攻击机 使用 netwox 工具伪造 客户端3 给 服务器 发一个 tcp 包。发送成功后,原来的 客户端3 就会失去连接,同时 服务器 会把 攻击机 当作 客户端3 ,这样 攻击机 就实现了会话劫持。

攻击机 终端输入:

netwox 40 --ip4-dontfrag --ip4-offsetfrag 0 --ip4-ttl 64 --ip4-protocol 6 --ip4-src 192.168.204.132 --ip4-dst 192.168.204.131 --tcp-src 45116 --tcp-dst 23 --tcp-seqnum 3332505945 --tcp-acknum 4096321077 --tcp-ack --tcp-psh --tcp-window 128 --tcp-data "6c"

解释:因为是伪造 客户机 给 服务器 发送消息,所以源 ip 为 192.168.204.132,目的 ip 是 192.168.204.131 ,seq 和 ack 按刚才所说填写,末尾的 6c 是字母 l 的十六进制数,可以更换为别的,其余参数默认就可以了。

发送成功后 wireshark 显示出一个带着数据 l 的包,说明我们劫持成功。

上面每次伪造包的时候需要输入一大堆参数的实现过程是不是略显麻烦?这里推荐使用 shijack 工具(我的机子 hunt1.5 不能运行,,)。

同样,我们先让 客户机 连接 服务器 。此时 攻击机 打开 wireshark 抓包,获取到源,目的 ip 以及端口号。

根据上面的信息,使用 shijack 工具输入以下命令

./shijack-lnx eth0 192.168.204.132 45188 192.168.204.131 23

参数依次为网卡名,源地址,源端口,目的地址,telnet 端口

显示等待客户端和服务器通信以便工具自动获取 seq,ack进行劫持。

在通信之后显示劫持成功。此时我们输入 ls 并回车,用 wireshark 查看是不是真的成功发出伪造包。

Ok,劫持成功!

总结

那么会话劫持成功后,我们一遍可以采用反向 shell 的方法让攻击机直接获取服务器的权限,这部分内容以后再讲(我是不会告诉你们我是来刷文章数的 0.0 )。同时我们要注意的是在渗透的时候可以使用 nmap 这类工具对攻击点进行扫描,如果发现有类似 telnet 这种不安全的协议的端口开放的话就可以采用相应手段进行攻击了。

TCP会话劫持原理与测试相关推荐

  1. php会话劫持,TCP会话劫持原理与测试

    阅读本文之前建议了解 TCP 三次握手过程以及 TCP 的包头详细信息. 由于 TCP 协议并没有对 TCP 的传输包进行验证,所以在我们知道一个 TCP 连接中的 seq 和 ack 的信息后就可以 ...

  2. 浅谈会话劫持原理及实践

    <监视你的一举一动> ---浅谈会话劫持原理及实践 前言 通常,大家所说的入侵,都是针对一台主机,在获得管理员权限后,就很是得意:其实,真正的入侵是占领整个内部网络.针对内部网络的攻击方法 ...

  3. TCP/IP攻击实验(ARP,ICMP,SYN,RST,TCP会话劫持)

    一.实验背景 由于TCP/IP协议是Internet的基础协议,从开始设计的时候并没有考虑到现在网络上如此多的威胁,由此导致了许多形形色色的攻击方法,一般如果是针对协议原理的攻击,尤其DDOS,我们将 ...

  4. 『网络协议攻防实验』TCP会话劫持攻击

    前言 靶机1:seedubuntu 12.01,IP:192.168.199.137 靶机2:WindowsXP SP2,IP:192.168.199.135 攻击机:Kali-2020.4,IP:1 ...

  5. 【HUST】网络攻防实践|TCP会话劫持+序列号攻击netcat对话

    文章目录 一.前言 1. 实验环境 2. 攻击对象 3. 攻击目的 4. 最终效果 docker的使用 新建docker docker常用指令 二.正式开始 过程记录 1. ARP欺骗 2. 篡改数据 ...

  6. TCP会话劫持攻击实验

    会话劫持攻击实验 实验环境: kali(192.168.157.2)(攻击机) centos 7(192.168.157.3)(服务端) ubuntu(192.168.157.4)(客户端) 使用工具 ...

  7. 基于hunt1.5的TCP会话劫持

    基于hunt的TCP会话劫持 TCP会话劫持攻击,是劫持通信双方已建立的TCP会话连接,假冒其中一方身 份与另一方进行进一步通信.攻击者通过ARP欺骗.ICMP路由重定向攻击等 方法实现中间人攻击,嗅 ...

  8. SSClone非ARP会话劫持原理分析

    作者:robur 来源:CSNA网络分析论坛 前两天买的过期杂志上看到的一款软件,刚开始还没注意,后来就恨自己杂志买晚了.(今年3月份的<黑客防线>) 那个神奇的软件,就像我标题上说的,叫 ...

  9. SSClone非ARP会话劫持原理分析-ARP原理

    前两天买的过期杂志上看到的一款软件,刚开始还没注意,后来就恨自己杂志买晚了.(今年3月份的<黑客(利用系统安全漏洞对网络进行攻击破坏或窃取资料的人)防线>) 那个神奇的软件,就像我标题上说 ...

最新文章

  1. JUnit注解与hamcrest
  2. 利用__index和__newindex实现默认值表、监控表、只读表(转)
  3. Python编程基础:第三十七节 石头剪刀布游戏Rock, Paper, Scissors Game
  4. oracle数据转成sqlserver,oracle数据库转换到Sqlserver的几点经验
  5. oracle flashback 深入研究,oracle 之flashback 深入研究。
  6. 山东鲁能轨道智能巡检机器人_城市轨道智能巡检机器人原来你这么酷炫!
  7. 第5堂:看到词句就会读-上
  8. linux驱动基础开发1——linux 设备驱动基本概念-转
  9. 公司软件架构设计的现状分析 第二弹
  10. easyexcel 在 设置标题_EasyExcel 自定义单元格式的问题。
  11. 金蝶K3常用数据表(整理)
  12. android中jni的调用过程,Android 调用jni的过程简述
  13. 台式计算机有hdmi口,我的台式电脑没有hdmi接口怎么解决
  14. 小程序设置按钮分享功能
  15. 【论文笔记】Image Tampering Localization Using a Dense Fully Convolutional Network
  16. Ionic for Angular 环境搭建
  17. LeetCode,无它,唯手熟尔(一)
  18. 英语--日常生活名词收集 Daily Life Nouns Collection
  19. Input dispatching timed out ANR问题分析
  20. 离散数学 群,环和域

热门文章

  1. sas 分析分类数据(1)
  2. vba有下拉框的模糊查找_输入快10倍,带模糊查找的Excel下拉菜单来了!
  3. 511遇见易语言循环遍历删除数组中重复成员方法
  4. web前端自动化测试(基于QT4W框架)
  5. 用 Python 批量提取 PDF 的图片,并存储到指定文件夹
  6. 人工智能概述、人工智能发展历程、人工智能主要分支、机器学习工作流程、完整机器学习项目的流程、机器学习算法分类、独立同分布、模型评估、深度学习简介
  7. Flink的部署模式session 、pre job、aplication
  8. 搭建个人网站--搭建网站
  9. Ubuntu19.1 最新版WineHQ安装
  10. 【大数据】Hadoop (一) 入门