beef + msf 实现内网渗透
在内网渗透方面,最为大众所知道的就是xp系统的ms08067漏洞,通过这个漏洞可以对未打上补丁的xp系统实现getshell,
但是经过笔者发现,这种漏洞攻击在被攻击机开上windows防火墙的时候是没用的(连ping都会被拒绝),但是arp+dns欺骗仍然是可行的
那么问题来了,我们如何通过内网欺骗来getshell?

在被攻击机开启防火墙的时候,可以看到使用ms08067漏洞未能成功利用
但是由于是内网的特性,因此我想到利用dns欺骗结合metasploit进行渗透测试。
首先内网的arp欺骗或者dns欺骗利用ettercap我们可以成功做到,但是如何将metasploit结合起来变得很难。经过搜寻后,发现利用metasploit的browser_autopwn这个渗透测试模块(这个渗透测试模块集成了很多浏览器的漏洞,当用户在访问所给定的页面后就会执行浏览器漏洞,并将payload捆绑在notepad.exe,从而实现后续的渗透攻击),我们可以将两者结合起来。这里我们将会用到beef这个xss渗透测试框架。
具体做法是我们首先探测目标主机的网络流量,判断其经常所浏览的网页,这里假设是百度(www.baidu.com),之后我们利用dns欺骗将百度网址改为我们所建设的一个网站,这个网站里镶嵌了一个JavaScript,而这个JavaScript的作用就是xss攻击,当用户访问了这个网页,就会进入我们设下的“圈套”。
之后我们在beef里就可以对上线主机进行渗透测试,最终获得shell。这里我们在beef里使用页面重定向,将用户访问的假的页面重定向到broswer_autopwn所给定的页面(这里有一个小问题,就是我在进行dns欺骗的时候,为什么不直接将目标主机访问的网页重定向到这里所给定的页面,原先我的初衷是搭建一个钓鱼网站,这样会更具有迷惑性,同时用户在浏览网页时会占据大量时间,而这些时间我们就可以在beef里进行渗透尝试,但是后期在构造钓鱼网站的时候,那个JavaScript脚本总是不起作用,因此也就随便搭建了一个网站),这时候metasploit就能探测目标浏览器的漏洞从而完成渗透攻击。
接下来我将演示如何通过dns欺骗配合metasploit成功进行渗透测试。
下面是我写的一个配置脚本,总的来说一共有三个功能,一打开Apache服务器,即可以让别人访问我们的web服务器,二新建一个shell窗口打开ettercap并实现dns欺骗,三激活Beef浏览器测试框架并与metasploit相连接,即可以在Beef浏览器测试框架中使用metasploit所提供的渗透测试模块。
#openbeef.sh
service apache2 start
service postgresql start
gnome-terminal -x bash -c "ettercap -T -q -i eth0 -P dns_spoof -M arp /// ///"
gnome-terminal -x bash -c "msfconsole -r Beef.rc"
sleep 20
cd /usr/share/beef-xss/
./beef -x

激活Beef,可以看到Hook.js,我在网页源码上加入了这个JavaScript脚本,实现了xss自动攻击。
这个主要是ettercap文本界面,并且对所有的内网主机进行arp欺骗,同时使用dns_spoof插件进行dns欺骗。


这个主要是实现metasploit与Beef的互相连接,在使用Beef框架进行渗透测试时,可以使用metasploit所提供的测试模块。

这个是beef浏览器渗透测试框架的基本页面,下面我们开始对目标主机进行渗透测试。由于我在etter.dns中写的是www.*.com A 192.168.73.128,因此目标主机访问任何页面都将跳转到我设置好的带有js脚本的页面。

可以看到xp主机访问的是www.baidu.com,但是经过dns欺骗访问到了我们先前设置好的界面。同时我们回到beef界面,可以发现这台xp主机已经在渗透测试对象中了,关于他的浏览器信息也是一应俱全。

同时在command选项中,我们也可以看到诸多渗透测试模块,包括metasploit、Social Engineering、Broswer等。

接下来我们利用metasploit中的broswer_autopwn测试模块,对用户所访问的界面进行页面重定向,将其定向到这个测试模块给出的页面(http://192.168.73.128:8080/qWhOf0KS),让其自动进行浏览器的漏洞检测与渗透。

这时候我们进行页面重定向,将用户的界面重定向到http://192.168.73.128:8080/qWhOf0KS。

这时候我们发现xp的浏览器页面变成了正在跳转,但是在metasploit中已经默默对浏览器的漏洞进行探测,并且将payload捆绑到notepad.exe

我们回到metasploit界面发现已经建立了session,并且进程也已经转移到了安全的地方。


利用meterpreter,我们已经成功返回了一个shell,完成渗透测试。
beef + msf 实现内网渗透的更多相关文章
- MSF 内网渗透笔记
进入meterpreter模式 在meterpreter中输入shell即可进入CMD窗口接着即可执行CMD命令,例如打开RDP服务REG ADD HKLM\SYSTEM\CurrentControl ...
- 利用MSF实现三层网络的一次内网渗透
目标IP192.168.31.207 很明显这是一个文件上传的靶场 白名单限制 各种尝试之后发现这是一个检测文件类型的限制 上传php大马文件后抓包修改其类型为 image/jpeg 上传大马之后发 ...
- 【CTF】msf和impacket联合拿域控内网渗透-拿域控
前言 掌控安全里面的靶场内网渗透,练练手! 内网渗透拿域控 环境:http://afsgr16-b1ferw.aqlab.cn/?id=1 1.进去一看,典型的sql注入 2.测试了一下,可以爆库,也 ...
- 后渗透阶段之基于MSF的内网主机探测
当我们通过代理可以进入某内网,需要对内网主机的服务进行探测.我们就可以使用MSF里面的内网主机探测模块了. 在这之前,先修改 /etc/proxychains.conf ,加入我们的代理. 然后 pr ...
- metasploit渗透测试笔记(内网渗透篇)
x01 reverse the shell File 通常做法是使用msfpayload生成一个backdoor.exe然后上传到目标机器执行.本地监听即可获得meterpreter shell. r ...
- Metasploit 内网渗透篇
0x01 reverse the shell File 通常做法是使用msfpayload生成一个backdoor.exe然后上传到目标机器执行.本地监听即可获得meterpreter shell. ...
- 3.内网渗透之reGeorg+Proxifier
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAxIAAAE2CAIAAAB6BDOVAAAgAElEQVR4Aey9Z5Aex3X327MRGVzkRH ...
- 记录一次坎坷的linux内网渗透过程瞎折腾的坑
版权声明:本文为博主的原创文章,未经博主同意不得转载. 写在前面 每个人都有自己的思路和技巧,以前遇到一些linux的环境.这次找来一个站点来进行内网,写下自己的想法 目标环境 1.linux 2. ...
- Cobalt strike与内网渗透
cobalt strike的用法参照我之前的博客: https://www.cnblogs.com/vege/p/12743274.html 这里只演示上线之后的操作. Socks代理 开启socks ...
随机推荐
- ThinkPHP5.0源码学习之注册错误和异常处理机制
在base.php文件中,用一句代码\think\Error::register();实现错误和异常处理机制的注册. // 注册错误和异常处理机制 \think\Error::register(); ...
- Ubuntu 16.04+GTX970 黑屏无法安装解决方法
参考http://www.linuxidc.com/Linux/2017-01/139318.htm http://blog.sciencenet.cn/blog-655584-877622.html ...
- UVa 10340 - All in All 水题 难度: 0
题目 https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&a ...
- cerebro 配置
cerebro 是 elastic search 的 监控平台 # Authentication auth = { type: ldap settings: { url = "ldap:// ...
- 学习animejs
1.安装方式 (1)npm install animejs 2.引入 import anime from 'animejs' 3.使用 (anime({ targets: 'div', transla ...
- .NET并行计算和并发3.2-多线程调用Invoke
以下这个例子是用一个后台线程执行计算逻辑,这样不影响前台界面操作,也就是说 可以在前台UI界面执行其他操作. 重点是新线程中,调用了一个委托方法,这个方法是需要填充数据到前台控件,因为 前台控件是在原 ...
- linux ipv6开启的配置文件
1./etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0TYPE=EthernetUUID=9d1d6e2a-cfc5-4e60-8f28-b77 ...
- SpringCloud分布式配置中心所遇问题
1.如果更换了获取配置文件的名称一定要在客户端配置文件的name更改2.不建议服务器设置下拉到git仓库的配置文件地址,可能导致更换地址之后无法获取到新更改的
- php环境和使用方法
下载好所需要的软件 (含phpmywind phpstudy navicat for my sql ) 如果Navicat 的试用期过期,请使用通杀navicat 的通杀Navica11_2-XX ...
- python: 文件的读写
#文件的读取.py a=open('test.txt').readline() #只读取文件第一行,保存为字符串格式 b=open('test.txt').read() #读取全部内容,保存为字符串格 ...