Meterpreter 端口转发教程
如何转发无法远程访问的本地端口。在本地计算机上运行特定服务。在本地网络上,这些服务通常是用于在本地计算机上访问,外网是不能访问的,比如MySQL服务器。出于安全原因,MySQL服务器在安装时默认禁用远程访问,并要求系统管理员明确启用远程访问 以允许远程连接。在本教程中,我们将使用Meterpreter端口转发将隧道连接到无法远程访问的服务。
端口转发:远程访问本地端口
假如你已经控制了目标主机,就可以开始了。
运行ipconfig命令,我们可以看到第二个网卡的IP为10.0.2.15
要访问这个网络,必须设置一个socks4代理来将所有连接转发到这个子网。同样的也可以让我们从Metasploitable 肉鸡来扫描目标网络。这可在本地访问远程访问的开放端口和服务。 以3306端口上运行的MySQL服务为例。开始使用Nmap扫描没有显示开放了这个端口,因为肉鸡防火墙限制。可以在Metasploitable 上运行netstat命令可以验证机器上是否使用了3306端口,并且附带了PID 2224的服务:
通过运行的列表,我们可以验证在PID 2224上运行了MySQL.exe:
既然知道MySQL正在3306端口上运行,并且无法远程访问,那么我们进行隧道连接。由于Meterpreter shell在本地运行并且能够访问端口3306,因此我们需要将本地端口转发。最简单的方法是使用Meterpreter portfwd模块。在本地端口转发之前,首先来看看端口转发功能,以便更好地理解它到底做了什么。
Meterpreter端口转发
portfwd命令将中继与所连接机器的TCP连接。在以下步骤中,我们将使本地攻击机上的mySQL服务器3306端口可用,并将此端口上的流量转发到肉鸡.设置完成后,我们将使用mysql命令行连接到3306端口上的本地主机。连接到这些端口将被转发到肉鸡上。
使用以下命令创建隧道:
portfwd add -l 3306 -p 3306 -r 172.28.128.3
参数:
- -l 本地端口。这里随意设置,只要它尚未被其他服务占用。
- -p 肉鸡上的目标端口
- -r 肉鸡上的IP或主机名。
当成功运行Meterpreter会话中的命令时,表示两个端口都已转发:
通过运行netstat来验证本地端口3306是否在我们的本地机器上打开
接下来,我们可以通过让MySQL客户端连接到访问肉鸡上的MySQL服务
mysql -u root 127.0.0.1
连接到MySQL服务器也揭露了一个常见的安全问题; 我们没有在连接命令中加密码,也没有提示我们输入密码。正如在截图中看到的,我们可以列出MySQL服务器上的所有数据库,包括WordPress数据库。正如我们所看到的,当攻击者拥有对机器的shell访问权时,可以轻松地转发连接和端口。
现在我们可以访问WordPress数据库,我们可以使用以下SQL查询来提取用户密码哈希值:
select user_login, user_pass from wp_users;
使用john 运行字典攻击显示WordPress管理用户的密码:
john –wordlist=/usr/share/wordlists/rockyou.txt wpaccounts
ok说完了自己去看着搞把!反正具体教程在上面了。
- 用香蕉也能玩电脑游戏—Tensorflow对象检测接口的简单应用
- 通过图片定位给一张图片添加多个链接
- Struts Interceptor Example
- 微信服务号模板消息接口新增"设置行业"和"添加模板"及细节优化
- WPF备忘录(3)如何从 Datagrid 中获得单元格的内容与 使用值转换器进行绑定数据的转换IValueConverter
- WPF备忘录(2)WPF获取和设置鼠标位置与progressbar的使用方法
- WPF文字修饰——上、中、下划线与基线
- 微信公众平台数据接口正式对所有认证公众号开放
- 参考基因组没有,经费也没那么多,怎么办?
- .Net下SQLite的DBHelp
- 数据库进程间通信解决方案之MQ
- 【学术】算法交易的神经网络:强化经典策略
- java.util.logging 例子
- WPF命令(Command)介绍、命令和数据绑定集成应用
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- TRTC横竖屏切换
- Swift 元祖
- Flutter - 解决混合开发iOS脚本打包遇到的问题
- Shader 特效 —— Film Burn (炫光光晕)效果【GLSL】
- java selenium chromedriver浏览器驱动放在哪里?【两种位置】
- 56. Vue原生js的组件拆分结构设计
- 一步一步教你把 Redux Saga 添加到 React&Redux 程序中
- Octave的基本语句及函数的使用入门—ML Note 31
- JAVA的Lock锁接口实现
- 抽象语法树为什么抽象
- burpsuite IP伪造插件
- 用阻塞队列,再系一次鞋带
- I2C总线架构 之 设备驱动
- kail 安装及卸载 docker【亲测可用】
- mac 登录远程服务器(常规ssh+免密快捷方式)