Criptare script bash con Shc – metodo 1

Ci sono dei casi in cui può risultare utile criptare il contenuto di uno script bash per rendere il codice non accessibile o per proteggere alcune informazioni sensibili.

Fino a qualche tempo fa nei repository Ubuntu e Debian esisteva un pacchetto chiamato shc. SHC è un compilatore che consente di criptare in modo semplice e veloce i nostri script bash. SHC è stato realizzato da Francisco Javier Rosales García. Attualmente shc non è più presente nei repository di Ubuntu, ma ho provveduto a pacchettizzarlo e a inserirlo nel mio ppa.

INSTALLAZIONE

Per installare SHC su Ubuntu Natty Narwhal 11.04 vi basta aggiungere il mio ppa eseguendo:

sudo add-apt-repository ppa:ingalex/sources.list

Poi procedete all’installazione eseguendo:

sudo apt-get update
sudo apt-get install shc

CRIPTARE SCRIPT BASH

Supponiamo di voler criptare uno script chiamato script.sh. Allora ci basta eseguire:

shc -v -r -f script.sh

Verranno generati due file con i seguenti nomi:

script.sh.x : questo è il file binario eseguibile criptato che potremo utilizzare

script.sh.x.c : questo è il file contenente il codice sorgente C

In pratica shc converte prima lo script bash in un programma C e poi in un binario usando un algoritmo di crittografia:

Shell Script-> C source code Program-> binario eseguibile

Quindi potete cancellare senza problemi il file script.sh.x.c e il vostro eseguibile originale script.sh se non dovete applicare ulteriori modifiche.

Esistono varie opzioni a disposizione:

OPTIONS       The command line options are:
-e     date                      Expiration date in dd/mm/yyyy format [none]
-m    message              message to display upon expiration [“Please contact your provider”]
-f      script_name       File name of the script to compile
-i      inline_option       Inline option for the shell interpreter i.e: -e
-x     comand                eXec command, as a printf format i.e: exec(\\’%s\\’,@ARGV);
-l      last_option          Last shell option i.e: —
-r     Relax security. Make a redistributable binary which executes on different systems running the same operating system.
-v     Verbose compilation
-D     Switch on debug exec calls
-T     Allow binary to be traceable (using strace, ptrace, truss, etc.)
-C     Display license and exit
-A     Display abstract and exit
-h     Display help and exit

Aggiornamento: SHC è stato rimosso dai repository Debian e Ubuntu in quanto garantiva una falsa sicurezza in quanto il sorgente può essere facilmente reso leggibile eseguendo:
comando & tail -f /proc/$(pidof comando)/cmdline
Però se si è consapevoli che SHC non è garanzia di sicurezza, può comunque essere utilzzato proprio nei casi in cui non si necessita di un elevanto livello di sicurezza.

Fonte: http://linux.koolsolutions.com

3 Responses to “Criptare script bash con Shc – metodo 1”

  1. Merlin scrive:

    add-apt-repository ppa:ingalex/sources.list
    Ok

    apt-get update
    Ok

    apt-get install shc
    Lecture des listes de paquets… Fait
    Construction de l’arbre des dépendances
    Lecture des informations d’état… Fait
    E: Impossible de trouver le paquet shc

    ???

    Thx 😉

  2. Ingalex scrive:

    What Ubuntu version are you using?

  3. Merlin scrive:

    Salut, LinuxMint Julia 10 basé sur Ubuntu 10.10 maverick

Leave a Reply

 

Login

Google Pagerank

...loading

Friend Site

PaperblogIl BloggatoreGiornaleBlog Notizie Blog di Informatica e Internethttp://www.wikio.itAdd to Technorati FavoritesSegnala FeedVero GeekTecnolandiaAggregatore di blogAggregati a KikkeMania.comSmilla MagazineColombo’S Blogiwinuxfeed.altervista.orgFeedelissimobloghissimoAggregatore di feedMiglior AggregatoreBlogItalia.itIscritto su Mondo Geek.it- aggregatore di news sulle tecnologieAggregatore Blogtua notiziaWebShake – tecnologiaWebsoblipperaggregatuttolimegatorMarco Robutti - Software Newseppoliano.net Blognotiziedalweb map of RSS
Wikio - Top dei blog - Linux

Blogroll

    '); ?>

Help us!

contact us map of RSS


Calendar

ottobre: 2016
L M M G V S D
« Apr    
 12
3456789
10111213141516
17181920212223
24252627282930
31