10.4. 概括
Kali Linux 可以从桌面扩展到中型或大规模部署,甚至扩展到企业级别。 在本章中,我们介绍了如何使用 SaltStack 集中管理多个 Kali 安装,使您能够快速部署为您的特定需求预先配置的高度安全的 Kali 系统。 由于 Kali 的(半自动)安装包更新,我们还透露了如何使它们保持同步。
我们讨论了包分支,它允许您创建自己的自定义可分发源包。
总之,让我们回顾一下建立 Salt Master 和 Minion 所需的主要步骤,它们允许您远程控制和配置远程主机。
总结提示:
• 使用PXE 从网络引导机器,至少有一个TFTP 文件服务器、一个DHCP/BOOTP 服务器(以及一个用于debconf 预置的Web 服务器)。 域名 处理 DHCP 和 TFTP,以及 apache2 Web 服务器预装(但已禁用)在 Kali 上。
• Debian 安装手册涵盖了 isc-dhcp服务器 和 tftpd-hpa 对于 PXE 启动:
➨ https://www.debian.org/releases/stable/amd64/ch04s05.html
• 域名 通过配置 /etc/dnsmasq.conf. 基本配置仅包含几行关键代码:
# 处理interface=eth0的网络接口
# DHCP 选项
#要分配的IP范围
dhcp 范围=192.168.101.100,192.168.101.200,12h
# 通知客户端的网关
dhcp 选项=选项:路由器,192.168.101.1
# DNS 服务器向客户端宣布
dhcp-option=选项:dns-server,8.8.8.8,8.8.4.4
# 启动文件通知客户端
# 处理interface=eth0的网络接口
# DHCP 选项
#要分配的IP范围
dhcp 范围=192.168.101.100,192.168.101.200,12h
# 通知客户端的网关
dhcp 选项=选项:路由器,192.168.101.1
# DNS 服务器向客户端宣布
dhcp-option=选项:dns-server,8.8.8.8,8.8.4.4
# 启动文件通知客户端
dhcp-boot=pxelinux.0
# TFTP 选项启用-tftp
# 用于服务的目录托管文件 tftp-root=/tftpboot/
dhcp-boot=pxelinux.0
# TFTP 选项启用-tftp
# 用于服务的目录托管文件 tftp-root=/tftpboot/
• 将 32 位 (i386)、64 位 (amd64)、标准或图形 (gtk) 安装引导文件从 Kali 存档解压缩到 /tftpboot/. 档案可以在这里找到:
➨ http://http.kali.org/dists/kali-rolling/main/installer-amd64/current/ images/netboot/gtk/netboot.tar.gz
➨ http://http.kali.org/dists/kali-rolling/main/installer-amd64/current/ images/netboot/netboot.tar.gz
➨ http://http.kali.org/dists/kali-rolling/main/installer-i386/current/ images/netboot/gtk/netboot.tar.gz
➨ http://http.kali.org/dists/kali-rolling/main/installer-i386/current/ images/netboot/netboot.tar.gz
# mkdir /tftpboot
# 光盘 /tftpboot
# wget http://http.kali.org/dists/kali-rolling/main/installer-amd64/current/
➥ 图像/netboot/netboot.tar.gz
# tar xf netboot.tar.gz
# mkdir /tftpboot
# 光盘 /tftpboot
# wget http://http.kali.org/dists/kali-rolling/main/installer-amd64/current/
➥ 图像/netboot/netboot.tar.gz
# tar xf netboot.tar.gz
• 可选择修改 文件.cfg 预置参数或自定义超时。 请参见第 4.3 节“无人值守安装” [第 91 页]。 接下来,您可以利用配置管理工具来管理机器或将远程计算机配置为任何所需的状态。
• SaltStack 是一个集中的配置管理服务:一个 Salt Master 管理许多 Salt Minion。 安装 盐师 在可访问的服务器上打包,并且 盐奴 在托管主机上。
• 编辑 /etc/盐/爪牙 YAML 格式的配置文件并设置 主 Salt Master 的 DNS 名称(或 IP 地址)的键。
• 在中设置 minion 的唯一标识符 /etc/salt/minion_id:
奴才# echo kali-scratch >/etc/salt/minion_id
奴才# systemctl 启用 salt-minion
奴才# systemctl 启动 salt-minion
奴才# echo kali-scratch >/etc/salt/minion_id
奴才# systemctl 启用 salt-minion
奴才# systemctl 启动 salt-minion
• 随后将进行密钥交换。 在 master 上,接受 minion 的标识密钥。 后续连接将自动进行:
掌握# systemctl 启用盐主 掌握# systemctl 启动 salt-master 掌握# 盐键 -- 列出所有
掌握# systemctl 启用盐主 掌握# systemctl 启动 salt-master 掌握# 盐键 -- 列出所有
接受的密钥:拒绝的密钥:不接受的密钥:kali-scratch 拒绝的密钥:
掌握# salt-key --接受kali-scratch
将接受以下密钥: 未接受的密钥:
kali-scratch 继续? [无/是] y
接受了 minion kali-scratch 的密钥。
接受的密钥:拒绝的密钥:不接受的密钥:kali-scratch 拒绝的密钥:
掌握# salt-key --接受kali-scratch
将接受以下密钥: 未接受的密钥:
kali-scratch 继续? [无/是] y
接受了 minion kali-scratch 的密钥。
• 一旦连接了minion,您就可以从master 对它们执行命令。 例子:
掌握# 盐'*' test.ping
卡利划痕:
真
卡利大师:
真
掌握# salt kali-scratch cmd.shell '正常运行时间; uname -a'
掌握# salt kali-scratch sys.doc' 掌握# salt '*' service.enable ssh [...]
掌握# 盐'*' service.start ssh
[...]
掌握# 盐'*' pkg.refresh_db
[...]
掌握# 盐'*' pkg.upgrade dist_upgrade=True
服务器# 盐'*' cmd.shell 'pkill -f dnmap_client'
掌握# 盐'*' test.ping
卡利划痕:
真
卡利大师:
真
掌握# salt kali-scratch cmd.shell '正常运行时间; uname -a'
掌握# salt kali-scratch sys.doc' 掌握# salt '*' service.enable ssh [...]
掌握# 盐'*' service.start ssh
[...]
掌握# 盐'*' pkg.refresh_db
[...]
掌握# 盐'*' pkg.upgrade dist_upgrade=True
服务器# 盐'*' cmd.shell 'pkill -f dnmap_client'
• 完整的执行模块列表可以在 https://docs.saltstack.com/en/latest/ref/modules/all/index.html 找到。
• 使用Salt 状态文件(可重复使用的配置模板)来安排操作、收集数据、在多个minion 上组织操作序列、供应云系统并对其进行管理等等。 使用预定义的盐配方节省时间:
➨ https://docs.saltstack.com/en/latest/topics/development/conventions/ formulas.html
• 当需要 fork 一个包时,首先确定它是否是您需要处理的任务。 有明显的优点和缺点。 仔细检查它们。 这 卡利梅塔, 台式机及 卡利菜单 包是有趣的,可能的选择。 分叉包的过程可能令人生畏,并且难以总结。
现在我们已经涵盖了 Kali Linux 的安装、配置、定制和部署方面的所有基础,让我们转向 Kali Linux 在信息安全领域的作用。
关键词
评估类型
漏洞评估 合规渗透测试 传统渗透测试 应用评估 攻击类型
拒绝服务 内存损坏 Web 漏洞 密码攻击 客户端攻击