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 ...
随机推荐
- vsto-Word相关操作
//添加页码到页脚 Document doc = Globals.ThisAddIn.Application.ActiveDocument; HeaderFooter hprimary= doc.Se ...
- redis 版的 hello world
为 redis 添加一个命令,效果如下图: 在 Server.h 中加入命令处理函数的声明: void meCommand(client *c); 在 Server.c 的命令表中加入: struct ...
- day16_python_1124
圈子 圈子是互相影响,走着走着就散了. 道不同不相为谋,与人的认知相关. 圈子如何正向引导? 圈子能决定你的人生走向. 圈子能决定你的格局. 01 昨日内容回顾 序列化模块 将一个数据结构 ----& ...
- 树形结构表的存储【转自:http://www.cnblogs.com/huangfox/archive/2012/04/11/2442408.html】
在数据库中存储树形结构的数据,这是一个非常普遍的需求,典型的比如论坛系统的版块关系.在传统的关系型数据库中,就已经产生了各种解决方案. 此文以存储树形结构数据为需求,分别描述了利用关系型数据库和文档型 ...
- Kotlin(一)
Kotlin(一) 写在前面: 参考资料: <Kotlin官方文档><Kotlin for Android 开源中文版> 准备工作: Android-Studio2.x:添加K ...
- java数学函数Math类中常用的方法
Math类提供了常用的一些数学函数,如:三角函数.对数.指数等.一个数学公式如果想用代码表示,则可以将其拆分然后套用Math类下的方法即可. Math.abs(12.3); ...
- java面向对象编程(一)-类与对象
1.问题的提出 张老太养了两只猫猫:一只名字叫小白,今年3岁,白色.还有一只叫小花,今年100岁,花色.请编写一个程序,当用户输入小猫的名字时,就显示该猫的名字,年龄,颜色.如果用户输入的小 ...
- 如何利用 LTE/4G 伪基站+GSM 中间人攻击攻破所有短信验证
这次公开课请来的嘉宾对自己的简介是: 连续创业失败的创业导师:伪天使投资人:某非知名私立大学创办人兼校长:业余时间在本校通信安全实验室打杂. 自从他在黑客大会上演讲<伪基站高级利用技术——彻底攻 ...
- char * p = "abc"与const char *p = "abc"
char * p = "abc"与const char *p = "abc"的区别是什么呢? 第一个语句会产生问题: warning: deprecated c ...
- JDBC ---获取数据字段 -- 转成map
getConn = JdbcDataBaseUtil.getConnection(user,pwd,serverUrl,mysqDriver); //建立一个结果集,用来保存查询出来的结果 Resul ...