beef局域网内模拟攻击

0x0环境

主机A win10:10.51.20.60(wifi)

主机A中的虚拟机kali(攻击者):192.168.110.129(NAT)

主机A中的虚拟机win2003(受害者):192.168.110.132(NAT)

 

0x1 配置

0x11 beef配置

 beef局域网内模拟攻击_第1张图片

 

 

Beef的配置文件在 /usr/share/beef-xss/config.yaml

 

Host:kali IP

Port:beef监听端口默认3000

 

public:主机A(接入外网的电脑IP)

public_port:主机A中空闲的端口,我设置的是20000

 

0x12 虚拟机端口映射

 beef局域网内模拟攻击_第2张图片

beef局域网内模拟攻击_第3张图片

 

 

修改虚拟机网关的端口映射,简单来说,就是设置后,所有访问主机A的20000端口的请求都会被转发到192.168.110.129的3000端口,也就是kali的3000端口上

虚拟网络编辑器在VM编辑栏

0x2 模拟攻击

0x21 kali

启动beef

 beef局域网内模拟攻击_第4张图片

 

Beef弹出浏览器打开beef的后台管理,这里注意,原本应该是打开上图中的地址,但出了点问题(最后总结会说),所以我们要把ip改成kali的ip,也就是192.168.110.129:3000/ui/authentication

用户名/密码:beef/beef

 beef局域网内模拟攻击_第5张图片

 

这就是beef的界面,复制basic demo link:http://192.168.110.129:3000/demos/basic.html

 beef局域网内模拟攻击_第6张图片

 

 

0x22 win2003,win10

地址转换:

复制的地址是:http://192.168.110.129:3000/demos/basic.html

受害者Win2003输入的地址应该是端口映射后的地址:10.51.20.60:20000/demos/basic.html

成功打开,此时应该是成功了才对(。。。。。。)

 beef局域网内模拟攻击_第7张图片

 

 

查看kali中的beef管理界面,并没有win2003的信息(慌了。。。)

 beef局域网内模拟攻击_第8张图片

 

此时,我试了下在主机A中打开hook地址,成功了

 

 

再看beef,有了主机A的信息了,hook成功了(摸不着头脑???)

 beef局域网内模拟攻击_第9张图片

beef局域网内模拟攻击_第10张图片

 

 

尝试利用social engineering(社会工程学模块)骗取facebook密码

 beef局域网内模拟攻击_第11张图片

 

再打开主机A上的页面,成功了

 beef局域网内模拟攻击_第12张图片

 

输入hello后,再回到kali看攻击效果

 beef局域网内模拟攻击_第13张图片

 

 

 

0x3 总结,思考

0x31关于beef配置的host

根据参考文章,一开始beef配置的host我是没有改动,也就是默认的0.0.0.0

但出现了如下图的问题,成功打开了demo,但是demo上的js一直不成功,原因是无法连接(Error connection)

后来把host改成了kali的ip,js连接上了,但是beef的管理页面,也就是127.0.0.1:3000/ui/panel却无法打开了,试了下192.168.110.129:3000/ui/authentication倒是成功了,但是这其中的原因我还没明白

 beef局域网内模拟攻击_第14张图片

 

0x32 win2003的失败

0x22中说到,win2003成功打开了demo,但是beef这没有收到信息

换成主机A尝试成功后,我又转回来研究2003失败的原因,因为只有ie,而且是旧版本的,没办法F12看具体的请求状况,我下了个47版本的火狐装上后,再次尝试访问demo,这次beef成功收到信息了,也就是2003被成功hook住了(我又摸不着头脑了???)

 beef局域网内模拟攻击_第15张图片

 

Beef页面

 beef局域网内模拟攻击_第16张图片

 

0x33 关于beef配置的public

因为此次用的是wifi,所以beef配置中的public填的是wlan的ip地址,如果是用网线,

应该要改成192.168.110.1

 beef局域网内模拟攻击_第17张图片

 

 

0x34 实际环境攻击的想法

这次是虚拟机网络模拟攻击,如果在实际情况下

根据参考文档A

需要一台能访问(有独立ip)的主机

服务器装好beef后,要修改后台管理页面的URL和用户名密码,因为你能登陆管理页面,别人也能登陆

还要修改host为主机的独立ip,port自设要大于1024

Public和public_port不用设置

以下来自文档A

 

### 指定某个网段,只有在这个网段的浏览器才能被hook
permitted_hooking_subnet: "0.0.0.0/0"

### 指定某个网段,只有在这个网段的浏览器才能访问管理UI
permitted_ui_subnet: "0.0.0.0/0"

### 上面这两项都是可以被绕过的,只要使用X-Forwarded-For首部绕过,一般不需要设置

### 设置beef服务器的主机, 如果有自己的域名, 那么可以设置自己的域名, 没有就使用默认
host: "0.0.0.0"

### 设置beef服务器监听的端口, 可以自己定一个,比如8080, 记得端口号需要大于1024
port: "3000"

### 受害浏览器轮询beef主机的时间, 默认为1秒,可以设置为更低。 
xhr_poll_timeout: 1000

#public: "" # public hostname/IP address
#public_port: "" # experimental
### 这是让BeEF运行在一个反向代理或者NAT环境下才需要设置的。

### 管理页面的URI, 默认是/ui, 建议修改,这样就不会让别人找到你的管理页面
web_ui_basepath: "/ui"

### hook_file 的名称, 建议修改, 可以修改为jquery.js之类的来提升隐蔽性
hook_file: "/hook.js"

### 管理页面登录的用户名和密码, 这个一定要改,两个都改是最好的
credentials:
user: "beef"
passwd: "beef"

 

0x4参考文档

A:https://www.freebuf.com/articles/web/175755.html

B:https://www.cnblogs.com/heijuelou/p/7804771.html

两篇文章的作者都有对beef的进一步研究,可以看看

转载于:https://www.cnblogs.com/Rain99-/p/10659686.html

你可能感兴趣的:(beef局域网内模拟攻击)