渗透测试——利用公网反弹shell到本地的两种方式,vmware虚拟机与主机的端口转发,本地ssh无法上线的问题解决

news2024/12/24 8:27:25

解决问题:

  1. 因长期使用本地模拟靶场,实战护网时并非模拟靶场,shell反弹需要利用公网测试。解决目标站无法反弹到本地的情况。
  2. 解决本地是windows,虚拟机是kail、linux,无法相互转换流量的情况。

环境搭建

  • 靶机 centOS7 (虚拟机), ip:192.168.203.156

  • 攻击机 kali(虚拟机) , ip: 192.168.199.128

  • 内网穿透工具 花生壳 网站:*https://console.hsk.oray.com/*

  • 宿主机 window 10

- 花生壳内网穿透

配置花生壳

注册花生壳,申请域名,按流程操作即可。

在这里插入图片描述选择加号,进入页面选择tcp端口转发。
在这里插入图片描述
成功以后右侧是全绿,而且会显示ip及端口
在这里插入图片描述
绿的前提是虚拟机的转发已经设置好了,没成功的看下面的虚拟机转发,设置成功在试试。


配置虚拟机转发

宿主机和虚拟机(网络模式为 NAT)也需要配置 端口转发,使用VMware的 转发工具即可(你也可以将虚拟机的 网络模式设置为 桥接模式,但是需要在kali上装 内网穿透客户端),VMware的端口转发配置如下:

使用第一种方法就可以

在这里插入图片描述
在这里插入图片描述
使用花生壳给定的端口对应至宿主机的1111端口并转发到虚拟机的1112端口,然后我们监听1112端口即可,测试是否可反弹shell。

测试结果:

监听kali1112端口
在这里插入图片描述
使用另一台电脑的虚拟机来连接kali。

在这里插入图片描述这边看见直接上线,分别是两台不同的主机的两台不同虚拟机的不同系统,试验成功。

在这里插入图片描述

frp方式

优势:长期使用,无需虚拟机转发,无需宿主机。 更加安全。需要有vps或公网ip。

二级标题

2024年了,应该用新版的,人也变新了。

下载地址:https://github.com/fatedier/frp/releases

vps操作步骤:这里选择的是debian,也就是类似kali。
把压缩包上传到vps。
在这里插入图片描述解压并配置frps(服务端)vim frps.toml

[common]
bind_port = 7000
dashboard_port = 7500
token = 12345678
dashboard_user = admin
dashboard_pwd = admin
#vhost_http_port = 10080
#vhost_https_port = 10443


如果没有必要,端口均可使用默认值,token、user和password项请自行设置。

“bind_port”表示用于客户端和服务端连接的端口,这个端口号我们之后在配置客户端的时候要用到。
“dashboard_port”是服务端仪表板的端口,若使用7500端口,在配置完成服务启动后可以通过浏览器访问 x.x.x.x:7500 (其中x.x.x.x为VPS的IP)查看frp服务运行信息。
“token”是用于客户端和服务端连接的口令,请自行设置并记录,稍后会用到。
“dashboard_user”和“dashboard_pwd”表示打开仪表板页面登录的用户名和密码,自行设置即可。
“vhost_http_port”和“vhost_https_port”用于反向代理HTTP主机时使用,本文不涉及HTTP协议,因而照抄或者删除这两条均可。

运行成功截图如下
在这里插入图片描述如果出现错误提示,请检查上面的步骤。
还没结束。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

别忘了这个是vps,自带策略的。
需要自行开通端口转发,才能正常通过端口。
在这里插入图片描述在这里插入图片描述

此时访问 x.x.x.x:7500 并使用自己设置的用户名密码登录,即可看到仪表板界面。
在这里插入图片描述如果你想在后台常驻此服务,使用 nohup命令将其运行在后台。

nohup ./frps -c frps.ini &

输出如下内容即表示正常运行nohup: ignoring input and appending output to 'nohup.out' 此时可先使用Ctrl+C关闭nohup,frps依然会在后台运行,使用jobs命令查看后台运行的程序​jobs
在结果中我们可以看到frps正在后台正常运行。

​jobs
[1]+  Running                 nohup ./frps -c frps.ini &

此时访问 x.x.x.x:7500 依然可以打开仪表板界面。
这里设置了后台运行。如果更改了配置需要重新运行这个程序 需要先结束这个进程。

至此,服务端配置结束。

客户端配置

解压删除服务端文件

加粗样式

编辑配置文件

在这里插入图片描述

此配置文件的意思是将服务端的59955端口代理到本地虚拟机的22端口,也就是可以通过服务端的59955端口SSH连接到本地虚拟机。

运行成功如图

在这里插入图片描述
添加策略不能忘。添加59955端口到策略才能成功。
使用ssh连接本地kali虚拟机
在这里插入图片描述
本地连接出现错误,那么远程肯定也是不行的。

解决方式
# vim /etc/ssh/sshd_config

修改:

#PasswordAuthentication yes
为:

PasswordAuthentication yes
修改:

PermitRootLogin prohibit-password
为:

PermitRootLogin yes
接下来需要重新启动ssh。

# service sshd restart

如果上述方式没有用,重新安装ssh,并重启ssh

systemctl enable ssh
vim /etc/ssh/sshd.config
systemctl restart ssh

使用vps转发连接本地ssh。
成功转发并连接这里使用的是普通用户,因为不能连上超级用户,进去后su一下就好了。
在这里插入图片描述
既然ssh可以这样转发,那么同理反弹shell也是一样的道理。

反弹shell
  • 一台电脑的独立虚拟机centos192.168.203.156
  • 一台电脑的独立虚拟机kali192.168.199.128
  • 一个公网ip(已经配置好frp)
    设置frp转发。
    在ssh的基础上设置,不会冲突。
    在这里插入图片描述
    保存重启进程。
    在这里插入图片描述
    尝试返弹shell

方式一

nc监听本地端口
在这里插入图片描述
centos来连接kali
在这里插入图片描述
这里都是192,是因为名字一样,但是IP电脑都不是一样。
在这里插入图片描述

第二种方法

需要再开一个端口

首先配置策略
在这里插入图片描述修改配置文件frpc
在这里插入图片描述
重启frpc
尝试反弹shell
监听两个端口
在这里插入图片描述
双进程一个道理,再开个端口就行。
在这里插入图片描述

注意:

  1. 服务端配好不用管
  2. 本地端用完一定要kill -9 PID
  3. 如果进程占用就是没有杀死pid
  4. vps策略一定要设置
  5. 服务端是frps,本地端是frpc,查询进程时需要注意。

后面又改了一下,是这样的
[range:ssh]
# 指定TCP连接类型
type = tcp
# 客户端IP, 这里填本地IP就可以
local_ip = 127.0.0.1
# 当前设备开放的远程连接端口, 默认为22
local_port = 7777
# 表示服务端的代理端口号
remote_port = 59955
# 是否加密
use_encryption = true
# 是否压缩
use_compression = false
[range:8899]
# 指定TCP连接类型
type = tcp
# 客户端IP, 这里填本地IP就可以
local_ip = 127.0.0.1
# 当前设备开放的远程连接端口, 默认为22
local_port = 8888
# 表示服务端的代理端口号
remote_port = 59966
# 是否加密
use_encryption = true
# 是否压缩
use_compression = false


这样就试验成功了。

https://blog.csdn.net/jichencsdn/article/details/138253143
https://blog.csdn.net/weixin_43213815/article/details/121336968
https://www.freebuf.com/sectool/256330.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1948618.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

HarmonyOS(45) 控件拖动或者拖拽PanGesture

PanGesture实现控件拖动的效果,通过拖动的坐标位置调用position或者translate方法来更新UI的位置。效果见下图: 具体代码如下: // xxx.ets Entry Component struct PanGestureExample {State offsetX: number 0State offsetY: number 0pos…

做视频混剪都是去哪里找高清素材的?分享10个高清视频素材库

提升视频混剪质感的10个高清素材库推荐 在这个视觉体验至上的时代,视频的视觉质量对吸引观众至关重要。如果你正在寻找高清素材以提升视频混剪作品的层次,那么你来对地方了。今天,我将为你揭秘10个视频混剪达人常用的高清素材库,…

html+css+js前端作业 王者荣耀官网5个页面带js

htmlcssjs前端作业 王者荣耀官网5个页面带js 下载地址 https://download.csdn.net/download/qq_42431718/89574989 目录1 目录2 目录3 项目视频 王者荣耀5个页面(带js) 页面1 页面2 页面3 页面4 页面5

大数据-46 Redis 持久化 RDB AOF 配置参数 混合模式 具体原理 触发方式 优点与缺点

点一下关注吧!!!非常感谢!!持续更新!!! 目前已经更新到了: Hadoop(已更完)HDFS(已更完)MapReduce(已更完&am…

前端文件下载word乱码问题

记录一次word下载乱码问题: 用的请求是axios库,然后用Blob去接收二进制文件 思路:现在的解决办法有以下几种,看看是对应哪种,可以尝试解决 1.将响应类型设为blob,这也是最重要的,如果没有解决…

LeetCode 2766题: 重新放置石块(原创)

【题目描述】 给你一个下标从 0 开始的整数数组 nums ,表示一些石块的初始位置。再给你两个长度 相等 下标从 0 开始的整数数组 moveFrom 和 moveTo 。 在 moveFrom.length 次操作内,你可以改变石块的位置。在第 i 次操作中,你将位置在 moveF…

C++STL详解(一)——String接口详解(上)!!!

目录 一.string类介绍 二.string类的构造赋值 2.1string类的拷贝和构造函数 2.2深拷贝 三.string类的插入 3.1push_back 3.2append 3.3操作符 3.4insert 四.string的删除 4.1pop_back 4.2erase 五.string的查找 5.1find 5.2rfind 六.string的比较 6.1compare函…

LeetCode 热题 HOT 100 (011/100)【宇宙最简单版】

【图论】No. 0200 岛屿数量 【中等】👉力扣对应题目指路 希望对你有帮助呀!!💜💜 如有更好理解的思路,欢迎大家留言补充 ~ 一起加油叭 💦 欢迎关注、订阅专栏 【力扣详解】谢谢你的支持&#xf…

使用AOP优化Spring Boot Controller参数:自动填充常用字段的技巧

欢迎来到我的博客,代码的世界里,每一行都是一个故事 🎏:你只管努力,剩下的交给时间 🏠 :小破站 使用AOP优化Spring Boot Controller参数:自动填充常用字段的技巧 前言为什么使用AOP为…

web网站组成

web网站由四部分组成:浏览器 前端服务器 后端服务器 数据库服务器 流程: 1.浏览器输入网站后,向前端服务器发送请求,前端服务器响应,静态的数据给浏览器。 2.前端代码中script中有url,这个是向后台发送请求的网…

项目标红,识别不了maven项目,解决办法

首先,检查 preferences 其次,检查IDEA 的 jdk。File-》Project Structure 最后: 1. 2. mvn clean install -Dmaven.test.skiptrue 跳过单元测试 maven跳过单元测试-maven.test.skip和skipTests的区别-CSDN博客

vue3+g2plot实现词云图

词云图 效果预览: 核心代码: import {WordCloud } from @antv/g2plot;fetch(https://gw.alipayobjects.com/os/antfincdn/jPKbal7r9r/mock.json).then((res) => res.json()).then((data) => {const wordCloud = new WordCloud(container, {data,wordField: x,weigh…

细说MCU用DMA实现DAC输出的方法

目录 一、建立新工程 1.项目依赖的硬件 2.配置DAC 3.配置DMA 4.配置TIM3 5.选择时钟源和Debug 6.配置系统时钟 二、代码修改 1. 启动定时器和DMA 2.定义输出波形数据 3.通过MATLAB产生这个波形数据的方法 三、查看结果 用DMA的方式将位于存储器(数组)中的数据传递…

centos中zabbix安装、卸载及遇到的问题

目录 Zabbix简介Zabbix5.0和Zabbix7.0的区别监控能力方面模板和 API 方面性能、速度方面 centos7安装Zabbix(5.0)安装zabbix遇到的问题卸载Zabbix Zabbix简介 Zabbix 是一个基于 WEB 界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix 能监视各种网络参…

三分钟带你了解Python文件操作与IO流

在探索编程世界的奇幻旅程中,文件操作和IO(输入/输出)流是每一个探险者必须掌握的基础技能。在Python的世界中,这些技能尤为关键,它们像是巫师手中的魔杖,能让我们与文件进行深度的交流。本文将带你快速了解…

springboo 整合 redis

springBoot 整合 redis starter启动依赖。—包含自动装配类—完成相应的装配功能。 引入依赖 <!--引入了redis整合springboot 的依赖--> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis&…

泵浦光与斯托克斯光相遇耦合效应的matlab模拟与仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 4.1拉曼散射基础 4.2非线性耦合方程 5.完整程序 1.程序功能描述 泵浦光与斯托克斯光相遇耦合效应的matlab模拟与仿真. 2.测试软件版本以及运行结果展示 MATLAB2022A版本运行 &#xff0…

面试场景题系列--(2)短 URL 生成器设计:百亿短 URL 怎样做到无冲突?--xunznux

文章目录 面试场景题&#xff1a;短 URL 生成器设计&#xff1a;百亿短 URL 怎样做到无冲突&#xff1f;1. 需求分析2. 短链接生成算法2.1 自增法2.2 散列函数法2.3 预生成法 3. 部署模型3.1 其他部署方案 4. 设计4.1 重定向响应码4.2 短 URL 预生成文件及预加载4.3 用户自定义…

redis 基础命令

1.数据库命令 select 库名&#xff1b;切换库 flushdb 清空库 flushall 清空所有库 redis支持的数据类型有很多&#xff0c;使用最频繁的有String 字符串类型&#xff0c;List队列&#xff0c;Hash&#xff0c;Zset有序集合&#xff0c;Set集合。 2.字符串类型命令 表示k…

[IMX6ULL]移植NXP Linux Kernel 5.15

移植NXP Linux Kernel 5.15 2024-7-7 hongxi.zhu 1. 下载NXP Linux Kernel 5.15 仓库[nxp-imx/linux-imx] git clone -b lf-5.15.y https://github.com/nxp-imx/linux-imx.git 2. 编译NXP Linux Kernel 5.15 make ARCHarm CROSS_COMPILEarm-linux-gnueabihf- distclean make…