shell腳本加密工具shc使用詳解
shell腳本加密工具shc
shc是一個加密shell腳本的工具.它的作用是把shell腳本轉(zhuǎn)換為一個可執(zhí)行的二進制文件.
應用場景
用shell腳本對系統(tǒng)進行自動化維護,簡單,便捷而且可移植性好.但shell腳本是可讀寫的,很有可能會泄露敏感信息,如用戶名,密碼,路徑,IP等.
對于腳本中含有一些敏感信息的,通常我們都想做成二進制程序,不讓用戶看到源碼,對于有這種需求的通常我們一般采用shc或者gzexe,我個人還是比較推薦shc。
shc 安裝 和使用
yum -y install shc 或 apt install shc
我們隨便寫一個腳本
# cat test.sh #!/bin/bash echo "this is shc test"
用shc加密
shc -r -v -f test.sh
shc -r -f script-name 注意:要有-r選項, -f 后跟要加密的腳本名.
# ls -l total 36 -rw-r--r-- 1 root root 37 12月 20 21:48 test.sh -rwx--x--x 1 root root 11160 12月 20 21:48 test.sh.x -rw-r--r-- 1 root root 9433 12月 20 21:48 test.sh.x.c
加密后會生成二個文件
test.sh 源文件
test.sh.x 加密后二進制文件
test.sh.x.c 腳本對應的C語言版本源碼
執(zhí)行一下加密后文件
# ./test.sh.x this is shc test
shc解密
市面上面現(xiàn)在有對應的unshc解密程序,我們直接去github看看
https://github.com/yanncam/UnSHc/
支持x86 mips arm架構(gòu)CPU
但對于我測試結(jié)果對于x86支持應該是最好的,作者自己維護的,其它的是第三方個人維護,兼容性不好。
# ./unshc.sh /tmp/test.sh.x -o test.txt _ _ _____ _ _ | | | | / ___| | | | | | | |_ __ \ `--.| |_| | ___ | | | | '_ \ `--. \ _ |/ __| | |_| | | | /\__/ / | | | (__ \___/|_| |_\____/\_| |_/\___| --- UnSHc - The shc decrypter. --- Version: 0.8 ------------------------------ UnSHc is used to decrypt script encrypted with SHc Original idea from Luiz Octavio Duarte (LOD) Updated and modernized by Yann CAM - SHc : [http://www.datsi.fi.upm.es/~frosal/] - UnSHc : [https://www.asafety.fr/unshc-the-shc-decrypter/] ------------------------------ [*] Input file name to decrypt [/tmp/test.sh.x] [+] Output file name specified [test.txt] [+] ARC4 address call candidate : [0x400d06] [*] Extracting each args address and size for the 14 arc4() calls with address [0x400d06]... [0] Working with var address at offset [0x602179] (0x2a bytes) [1] Working with var address at offset [0x602121] (0x1 bytes) [2] Working with var address at offset [0x602319] (0xa bytes) [3] Working with var address at offset [0x602170] (0x3 bytes) [4] Working with var address at offset [0x6020e0] (0xf bytes) [5] Working with var address at offset [0x602141] (0x1 bytes) [6] Working with var address at offset [0x602127] (0x16 bytes) [7] Working with var address at offset [0x602144] (0x16 bytes) [8] Working with var address at offset [0x60215d] (0x13 bytes) [9] Working with var address at offset [0x6021ad] (0x1 bytes) [10] Working with var address at offset [0x6021ae] (0x1 bytes) [11] Working with var address at offset [0x6020f9] (0x26 bytes) [12] Working with var address at offset [0x6021b3] (0x13 bytes) [13] Working with var address at offset [0x6021c8] (0x13 bytes) [*] Extracting password... [+] PWD address found : [0x6021ec] [+] PWD size found : [0x100] [*] Executing [/tmp/MYoKED] to decrypt [/tmp/test.sh.x] [*] Retrieving initial source code in [test.txt] [*] All done! root@Develop:~/UnSHc-master/latest# cat test.txt #!/bin/bash echo "this is shc test"
可見直接解密出來源碼,對于x86的這種,支持非常的好。 其原理 就是 頭部增加4096字節(jié)亂碼。并且 shc加密的腳本在運行時ps -ef可以看到shell的源碼。 因此,shc其實不是真的很有用!
以上就是shell腳本加密工具shc的詳細內(nèi)容,更多關(guān)于shell腳本加密工具的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Ansible?Ad-hoc命令執(zhí)行模塊實戰(zhàn)教程
Ad-hoc是Ansible下臨時執(zhí)行的一條命令,對于復雜的命令會使用playbook。Ad-hoc的執(zhí)行依賴于模塊,ansible官方提供了大量的模塊,這篇文章主要介紹了Ansible?Ad-hoc命令執(zhí)行模塊?,需要的朋友可以參考下2024-02-02阿里云主機一鍵安裝lamp、lnmp環(huán)境的shell腳本分享
這篇文章主要介紹了阿里云主機一鍵安裝lamp、lnmp環(huán)境的shell腳本分享,需要的朋友可以參考下2014-07-07CCKiller:Linux輕量級CC攻擊防御工具,秒級檢查、自動拉黑和釋放
這篇文章主要介紹了CCKiller:Linux輕量級CC攻擊防御工具,秒級檢查、自動拉黑和釋放,需要的朋友可以參考下2016-02-02Shell腳本中調(diào)用、引用、包含另外一個腳本文件的兩種方法
這篇文章主要介紹了Shell腳本中調(diào)用、引用、包含另外一個腳本文件的兩種方法,本文介紹的兩種方法適合在當前目錄下,需要的朋友可以參考下2014-12-12