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

解决问题:

  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.mzph.cn/web/48785.shtml

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

相关文章

CentOS7系统安装CMake3.6.2

文章目录 前言一、下载CMake二、拷贝CMake三、解压CMake四、重命名五、编译及安装六、系统文件中增加变量七、查看CMake版本 前言 CentOS7系统如何安装CMake3.6.2?本文记录其安装过程。 一、下载CMake wget https://cmake.org/files/v3.6/cmake-3.6.2.tar.gz二、拷贝CMake …

Android 12系统源码_窗口动画(二)应用程序间的切换动画

前言 在 Android 系统中,系统主要是通过AppTransitionController和AppTransition这两个类是用于管理应用程序间切换动画的重要类。 一、简介 1、AppTransitionController AppTransitionController 是一个系统级别的类,用于管理应用程序间切换时的动画…

《简历宝典》20 - 简历中“自我评价”,如何能够“画龙点睛”

前两节我们针对 “项目经历” 和 “技术能力” 模块做了内功与实战的讲解,可以说是重中之重,是简历优化新思路的核心所在。这一节开始对自我评价做讲解,自我评价一般都会放置在简历的末尾,HR在迅速浏览完个人信息、技术能力、学历…

VScode 批量操作

VScode 批量操作 批量修改 按住 alt/option 键, 选择需要批量操作的位置 如果是多行,则按住 altshift 键 可以直接操作 但是有时候比如变量命名,可能需要递增操作的命名 需要下载插件 Increment Selection 按照1的方法多选光标之后&am…

后端面试题日常练-day04 【Java基础】

题目 希望这些选择题能够帮助您进行后端面试的准备,答案在文末 在Java中,以下哪个关键字用于表示接口? a) interface b) implements c) extends d) interfaceOf Java中的静态变量有什么特点? a) 静态变量属于对象实例 b) 静态变…

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

php接口返回的json字符串,json_decode()失败,原来是多了红点

问题: 调用某个接口返回的json,json_decode()失败,返回数据为null, echo json_last_error();返回错误码 4 经过多次调试发现:多出来一个红点,预览是看不到的。 解决:要去除BOM头部 $resul…

【SmartBi】错位时的解决办法

【背景】 使用SmartBi时,有时会存在分页后某一个位置的字段错位的情况。 【分析】 很可能是单元格的延申导致挤占位置,使后续位置相关单元格错位。 【解决思路】 取消相应单元格的SmartBi属性中的延申选项。将相应单元格合并或拉长,确保…

vue 搜索框

效果 创建搜索组件: 在Vue项目中,首先需要创建一个搜索组件。这个组件通常包含一个输入框和一个搜索按钮。使用v-model指令将输入框与组件的数据属性(如searchKeyword)进行双向绑定,以便获取用户输入的关键词。处理搜索…

【前端】JavaScript入门及实战66-70

文章目录 66 原型(1)67 原型(2)68 toString69 垃圾回收70 数组 66 原型(1) <!DOCTYPE html> <html> <head> <title></title> <meta charset "utf-8"> <script type"text/javascript">/*原型prototype我们所创…

Linux网络:传输层协议TCP(二)三次挥手四次握手详解

目录 一、TCP的连接管理机制 1.1三次握手 1.2四次挥手 二、理解 TIME_WAIT 状态 2.1解决TIME_WAIT 状态引起的 bind 失败的方法 三、理解CLOSE_WAIT状态 一、TCP的连接管理机制 在正常情况下, TCP 要经过三次握手建立连接, 四次挥手断开连接 1.1三次握手 三次握手顾名思…

Docker从零开始:安装、部署到卸载,一文搞定全流程

Docker是一种开源容器化平台&#xff0c;它允许开发者将应用程序及其依赖打包成轻量级、可移植的容器。这些容器能确保软件在任何环境中稳定运行&#xff0c;无论是开发者的笔记本电脑还是生产服务器。Docker流行的原因在于其提供的隔离性、可移植性和可扩展性&#xff0c;它简…

2024年展望:人工智能领域将呈现怎样的发展趋势?

2024年&#xff0c;人工智能&#xff08;AI&#xff09;领域将继续保持强劲的发展势头&#xff0c;并呈现出多个重要的发展趋势。以下是对该领域未来发展趋势的详细展望&#xff1a; 一、技术创新与融合 多模态生成式AI的崛起&#xff1a; 多模态生成式AI系统能够处理文本、声…

C# 将字符串数组以树型结构化

例如字符串数组&#xff1a; string[] arr { "1","3-4-5-6-7", "2","3-4","3-4-5","3-4-5-6", "3", "6", "4", "6-1", "6-2", "5", "6-1-1&…

李艳波医生怎么挂号?

对于想要预约李艳波医生的患者来说&#xff0c;北京仁爱堂提供了两种便捷的预约方式&#xff1a;来院面诊和视频会诊。来院面诊是传统的就诊方式&#xff0c;患者可以直接前往仁爱堂&#xff0c;与李艳波医生面对面交流&#xff0c;详细了解自己的病情并接受专业的治疗建议。这…

LangChain自定义Embedding封装 之 ERNIE Bot

LangChain自定义Embedding封装 之 ERNIE Bot 百度飞浆平台的 ERNIE Bot 导入下面方法 和 环境 &#xff0c;即可验证 embedding ERNIE_Bot_embedding() class ERNIE_Bot_embedding(BaseModel, Embeddings):client: Anyroot_validator()def validate_environment(cls, value…

解决Github Copilot无效,无法使用的问题

如果是在Copilot的终端报错 Invalid copilot token: missing token: 403 原因有三种 1&#xff0c;你的账号没有订阅正版的服务&#xff0c;解决办法是购买正版服务 2&#xff0c;你在购买服务的时候&#xff0c;Github上 billing information 地址信息和支付卡片的地址信息不…

Amazon Bedrock基础指南:参考资料、模型特点、价格、使用方法及运行时API执行示例

这次我整理了2023年9月28日正式发布的Amazon Bedrock的基本信息和Runtime API的执行示例。此外&#xff0c;还在文中插入了最基本的术语解释&#xff0c;以帮助理解令牌和参数的概念。 ※本文及其他由本文作者发表的文章中所包含的源代码均为自主研究活动的一部分。如需使用&am…

关卡1-3:Git

关卡1-3&#xff1a;Git Git基础fork并拉取本次课程的源创建一个gitee自己的仓库 这个是internLM的3期训练营的通关笔记。 任务&#xff1a; 熟悉git熟悉使用git托管平台&#xff0c;常见有github、giteefork官方的训练营的教程项目&#xff0c;提交文件到自己的项目&#xf…

项目部署到服务器

(相关资源都给出来了) 1 下载MobaXterm,然后打开 正常连接输入你的服务器IP&#xff0c;用户名可以起名为root 2 将JDK,Tomcat,mysql安装包 布置到服务器中&#xff08;JDK官网地址&#xff1a;https://www.oracle.com/java/technologies/downloads/#java8 mysql官网地址: …