Ncat/nc 学习(未完待续)

Ncat/nc 学习(未完待续)

本篇主要记录ncat/nc工具的学习使用,接下来具体的使用以ncat命令为主,主要是是考虑到nc在各个操作系统存在多个版本,造成很多参数都不能同步使用。

Ncat是由Nmap下的一个新的项目,因此可以直接代替使用。

本文主要参考官方文档以及国光师傅的文章:nc 命令教程

基础使用

参考官网使用手册:Basic usage

ncat的使用主要分为两种模式:connect mode连接模式以及listen mode监听模式

Connect mode 连接模式
  • ncat <host> [<port>]
  • ncat会向一个正在监听的服务发起一个连接
  • 类似于socket网络编程中的 connect 方法,而发起者可以看作是client客户端
Listen mode 监听模式
  • ncat –listen [<host>] [<port>]
  • ncat -l [<host>] [<port>]
  • ncat会启动服务并等待连接
  • 类似于socket网络编程中的bind和listen方法,监听端可以看作是server服务端
  • 默认的host为任何本地接口(INADDR_ANY)
  • 默认的port为31337
  • 默认只有root用户才能监听低于1024(服务端口)的端口号
  • 默认使用TCP连接,且只接收一个连接,并且在客户端退出之后断开连接
  • 可以使用 -k, --keep-open 选项来允许多个连接并保持

实验环境

操作系统 IP地址 定位
macOS 12.4 192.168.0.100 服务端监听
kali 5.18.0-kali5-arm64 172.16.232.135 客户端连接

文字交互

-l, --listen               listen mode, for inbound connects

我们使用macOS来监听本地2333端口的入站连接

ncat -l 2333

在kali端进行连接,之后就可以进行通信了

ncat 192.168.0.100 2333

Figure 1: 基础文字交互

Figure 1: 基础文字交互

任意一方按下 Ctrl+C 结束连接之后,双方都会断开

当macOS服务端加上 -k, --keep-open 选项之后,kali客户端断开连接后,macOS服务端仍然监听,方便多个客户端在之后连入

命令交互

-e, --exec <command>       Executes the given command
    --lua-exec <filename>  Executes the given Lua script
-v, --verbose              Set verbosity level (can be used several times)

macOS服务端监听本地2333端口的入站连接,并将收到的信息发送的/bin/zsh

ncat 192.168.0.100 2333

Figure 2: 命令交互

Figure 2: 命令交互

内网弹shell

因为没有现成的服务器,考虑时间成本问题,待更新

Licensed under CC BY-NC-SA 4.0
Last updated on Sep 23, 2022 11:04 CST
comments powered by Disqus
Cogito, ergo sum
Built with Hugo
Theme Stack designed by Jimmy