Shellcode加密与解密
这个是自己写的小工具(其实没什么脸还原回来的,因为太垃圾了,但是,想想还是算了,还原吧)。
居家办公了几天,就写出来这么一个小玩意,而且大部分代码还是百度参考别人的,就实现了自己的设计思路,最终实现了C#的AES加密解密,DES加密解密,RSA加密解密,Base64编码,XOR异或运算这些方式。
还有就是,只支持beacon.bin的shellcode加密,不支持payload加密。
介绍
参考前面两篇文章,shellcode注入技术中,测试过程中会遇到杀软查杀原生shellcode的情况,所以想写一个加密器,然后正好疫情居家,时间足够多 ,就想了想写出来了。
技术
该工具没什么技术含量,本来是打算写命令行版本的,但是想学一下WPF桌面应用以及命令行版本操作起来稍微麻烦了点,所以就一边百度一边写WPF,最终实现了想要的效果。
总的来说,就是WPF程序以及结合了多种C#中的加解密算法,从而组成了这个程序。
!
使用
加密:加密包括了对文件内容进行读取并加密,或者对输入的文本进行识别并加密。
解密:解密包括了对加密后的文件内容进行读取并尝试解密,或者对输入的密文尝试解密。
导出:导出功能主要是展示各种加密解密方式所使用的加解密方法,进行参考。
Base64
文本或路径框:可直接输入待加密的文本或待解密的文本,也可以将待加密的文本文件或待解密的文本文件拖动待文本框,文本框会自动识别文件路径,并等待下一步操作。
加密密钥:一般是用于aes加密、des加密、rsa加密创建密钥、xor加密使用,输入密钥后点击加密即可对指定文件或者文本进行加密和解密操作。
保存:保存一般用于将加密后的结果保存到文件当中,解密的结果不建议保存,所以解密后的结果保存,功能写了限制。
加密按钮:进行加密操作,输入密钥后进行加密。
解密按钮:进行解密操作,若密钥正确,则成功解密吗,反之失败。
AES,DES,XOR
和上面的介绍一致,只是加解密的密钥只能接收16/24/32位字符,这里我规定了只允许小写字母+数字的组合,其他操作一致。
加密测试:
解密测试:
- RSA
因为RSA涉及到公钥和私钥的问题,所以若是本地没有公钥或私钥的话,需要先生成公钥和私钥才能进行加解密操作。
默认情况下,加密密钥文本框是不可写的状态,若是本地没有公钥私钥,需点击一次加密按钮,然后加密密钥文本框才可写,然后输入密钥并生成加密用的公钥和解密用的私钥。
密钥文本框输入密钥后,点击生成密钥按钮,会在程序的当前目录生成,“你输入的密钥”+日+时+分.xml的文件,一个是公钥,一个是私钥。
!
公钥私钥文本框:这里是需要填写加密的公钥文件路径,或者解密的私钥文件路径,直接将文件拖动到文本框中即可。
加密测试:
解密测试:
导出
导出用于输出各种加密解密的参考方法,且该方法就是本应用实际的工作过程。
!
类型里面包含了:Base64、AES、DES、RSA、XOR这几种选项。
是否为文件包含了:isFile和notFile两种选项,因为在加解密过程中,有读取文件进行加解密的方式和获取输入文本进行加解密的方式,中间的方法稍微有一点点不一样,所以分类出来了。
显示加密,展示指定方法:
显示解密,展示指定方法:
导出这个功能展示的代码,可能有一点点问题,主要是检查这东西脑阔都看花了,所以就这样了,应该没啥大问题,稍微修改修改就能行了。
## 工具获取
太low了,还是不放出来了。