深入浅出openssl

查看openssl版本信息
在这里插入图片描述
查看openssl具体可以使用哪些命令
在这里插入图片描述
有了上面这两步参考,后面有些文中没有提及的用法也可以自行参照学习了

现在来试一下简单的加密,比如想使用AES算法使用CBC模式和256位密钥加密文本“Hello World!”,可以执行以下操作
创建明文文档,写入hello world
在这里插入图片描述
然后使用openssl,指定模式进行加密
在这里插入图片描述
会要求输入两次秘钥,我这里输的是example
现在有了一个encrypted.bin的文件
在这里插入图片描述
接下里尝试使用openssl解密
在这里插入图片描述
注意,pass后面跟的是之前输入的密码,密码正确输入后就得到了解密结果hello world

接下来我们演示下如何使用openssl管理公钥,这里我们以最流行的RSA为例
输入以下命令以创建1024位的RSA密钥:
在这里插入图片描述
现在生成了一个名为key.pem的文件。正如文件名所示,私钥使用Privacy Enhanced Email(PEM)标准进行编码。 使用cat查看:
在这里插入图片描述
如果想查看关于密钥生成的详细信息,可以
在这里插入图片描述
此命令应返回有关公共和私有指数,模数以及用于优化算法的其他方法和数字的信息。
要加密我们的私钥,我们使用以下代码:
在这里插入图片描述
密钥文件加密后,系统将提示创建密码,这儿我输入的是test。 接下来,我们可以使用以下命令从文件key.pem中提取公钥
在这里插入图片描述
最后,我们可以使用我们的密钥加密文件了:
先创建一个待加密的文件,这里我创建了test.txt,内容如下
在这里插入图片描述
加密
在这里插入图片描述
in参数跟的是待加密的文件,-inkey参数跟的是包含公钥的文件,-out跟的是加密后的文件名
查看加密后的文件名内容,已经无法识别了
在这里插入图片描述
尝试解密
在这里插入图片描述
查看解密后的文件
在这里插入图片描述
又恢复了

接下来,我们演示下如何生成数字签名并进行验证。
使用公钥算法直接签署大文件效率很低,因此我们应首先计算要签名的信息的摘要值。 这可以使用以下命令完成:
在这里插入图片描述
dgst后面跟的是消息摘要的算法,上图中选的是md5,-out后面跟的是输出的摘要文件名,上图是dige,然后指定要进行消息摘要的文件,上图还是以test.txt为例
生成摘要后,可以查看
在这里插入图片描述
下一步是计算摘要值的签名,如下所示:
在这里插入图片描述
-In参数后跟的是上一步生成的摘要,-out跟的是输出的签名,-inkey跟的是私钥
查看生成的签名
在这里插入图片描述
有了签名,那么怎么判断这个签名是否确实是某人生成的呢,这时候可以用对方的公钥进行验证
在这里插入图片描述
-inkey后面跟的是公钥,-in后面跟的是上一步生成的签名
将结果与之前计算的摘要进行对比,可以看到这个签名是合法的

介绍完了openssl的一些基本使用之后,我们来看看openssl在CTF中的用武之地,比较典型的题目都是和wireshark结合在一起出的,所以这里以一道该类型的题目为例进行示范。
题目给了一个数据包,使用wireshark打开
在这里插入图片描述
直接跟踪tcp数据流,右键->follow->tcpstream即可
在这里插入图片描述
在右下角的stream出可以继续看其他的数据流
在这里插入图片描述

一直查看,出现了公钥
在这里插入图片描述
出现了私钥
在这里插入图片描述
那么大概思路有了:可以从数据包提取出一个加密过的文件,然后使用私钥解密
所以先把私钥单独保存到private.key
在这里插入图片描述
接下来任务就是那么加密过文件了
这里直接采取简单粗暴的办法,使用foremost直接提取
在这里插入图片描述
可以看到一个key.txt
在output/zip中解压找到了
在这里插入图片描述
查看内容
在这里插入图片描述
然后使用之前保存的私钥解密
在这里插入图片描述
得到flag

在这里插入图片描述

接下来看看openssl在实际攻防场景中的应用。我们知道openssl可以用于加密流量,而在渗透测试中经常会有反弹shell的步骤,一般情况下反弹shell的流量都是明文的,如果目标机安装了ids之类的设备可能攻击行为一下子就被发现了,这时候我们是不是可以考虑使用openssl加密反弹shell时的流量呢?
我们在攻击机上生成秘钥
在这里插入图片描述
这里为了方便,需要我们填写的信息直接为空,一路回车就可以
接下来在攻击机上使用openssl建立一个监听端口
在这里插入图片描述
下图中左边是攻击机的ip,右边是靶机输入用于反弹shell的命令
在这里插入图片描述
执行后在靶机回显如图
在这里插入图片描述
这时候在靶机上开启wireshark抓包
在靶机上输入id,ifconfig两条命令
在这里插入图片描述
此时在wireshark中的流量已经被加密了,无法看到流量的明文信息

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值