{"id":4401,"date":"2018-03-22T22:42:57","date_gmt":"2018-03-23T01:42:57","guid":{"rendered":"https:\/\/blog.clusterweb.com.br\/?p=4401"},"modified":"2018-03-22T22:42:57","modified_gmt":"2018-03-23T01:42:57","slug":"criptografando-shell-script","status":"publish","type":"post","link":"https:\/\/blog.clusterweb.com.br\/?p=4401","title":{"rendered":"CRIPTOGRAFANDO SHELL SCRIPT"},"content":{"rendered":"<p>Ol\u00e1!<\/p>\n<p>Aqui, voc\u00ea ver\u00e1 uma forma simples de &#8220;criptografar&#8221; um Shell Script que voc\u00ea quer passar a algu\u00e9m, mas n\u00e3o quer liberar o fonte ou que seja edit\u00e1vel por qualquer um.<\/p>\n<h1>B\u00c1SICO DE CRIPTOGRAFIA<\/h1>\n<p>Bom, um conceito b\u00e1sico sobre criptografia:<\/p>\n<blockquote><p>Criptografia (do Grego krypt\u00f3s, &#8220;escondido&#8221;, e gr\u00e1phein, &#8220;escrita&#8221;) \u00e9 o estudo dos princ\u00edpios e t\u00e9cnicas pelas quais a informa\u00e7\u00e3o pode ser transformada da sua forma original para outra ileg\u00edvel.<\/p><\/blockquote>\n<p>Mais sobre isso:\u00a0<a href=\"http:\/\/pt.wikipedia.org\/wiki\/Criptografia\" target=\"_blank\" rel=\"nofollow noopener\">Criptografia \u2013 Wikip\u00e9dia, a enciclop\u00e9dia livre<\/a><br \/>\n<!--more--><\/p>\n<h1>NECESS\u00c1RIO<\/h1>\n<p>Para realizar o procedimento, iremos usar o seguinte:<\/p>\n<p>Acesse:\u00a0<a href=\"http:\/\/www.datsi.fi.upm.es\/~frosal\/\" target=\"_blank\" rel=\"nofollow noopener\">Francisco Rosales, home page<\/a><\/p>\n<p>Fa\u00e7a download do arquivo (estava nessa vers\u00e3o ate o momento)\u00a0shc-3.8.9.tgz.<\/p>\n<p>Descompacte o arquivo, entre no diret\u00f3rio de download e execute:<\/p>\n<p><strong><i class=\"fa fa-usd\"><\/i>\u00a0tar -xzvf shc-3.8.9.tgz<\/strong><\/p>\n<p>Entre no novo diret\u00f3rio com os arquivos e execute:<\/p>\n<p><strong><i class=\"fa fa-usd\"><\/i>\u00a0make test<\/strong><\/p>\n<p>Logo ap\u00f3s:<\/p>\n<p><strong><i class=\"fa fa-usd\"><\/i>\u00a0make<\/strong><\/p>\n<p>Obs.: em caso de erro, ignore. Para mim deu erro, mas funcionou.<\/p>\n<p>Ser\u00e1 criado um arquivo\u00a0shc. Se tiver, o arquivo est\u00e1 correto.<\/p>\n<p>Para mais informa\u00e7\u00f5es o\u00a0manpage\u00a0mesmo, diz:<\/p>\n<blockquote><p>&#8220;shc em si n\u00e3o \u00e9 um compilador, como cc, antes a codifica e criptografa um Shell Script e gera o c\u00f3digo fonte C com a capacidade de expira\u00e7\u00e3o adicionada. Em seguida, ele usa o sistema compilador para compilar um bin\u00e1rio despojado que se comporta exatamente como o script original. Ap\u00f3s a execu\u00e7\u00e3o, o compilado bin\u00e1rio ir\u00e1 descriptografar e executar o c\u00f3digo com a op\u00e7\u00e3o shell -c. Infelizmente, n\u00e3o lhe dar\u00e1 qualquer velocidade ou melhoria como um programa C verdadeiro faria.&#8221;<\/p><\/blockquote>\n<p>Resumindo, ele pega o fonte do script, gera um arquivo de\u00a0C\u00a0e dele, gera um bin\u00e1rio.<\/p>\n<h1>ENCRIPTANDO SEU SHELL SCRIPT<\/h1>\n<p>Com isso, a sintaxe \u00e9 b\u00e1sica:<\/p>\n<p><strong><i class=\"fa fa-usd\"><\/i>\u00a0.\/shc -f seu_script.sh<\/strong><\/p>\n<p>Obs.: a \u00fanica op\u00e7\u00e3o obrigat\u00f3ria \u00e9 o\u00a0-f, caso queira, pode colocar o bin\u00e1rio\u00a0shc\u00a0criado no seu PATH. Da\u00ed, n\u00e3o \u00e9 necess\u00e1rio o\u00a0.\/\u00a0na frente.<\/p>\n<p>Com isso, ser\u00e1 criado um arquivo com o mesmo nome, mais\u00a0.x:\u00a0seu_script.sh.x\u00a0= bin\u00e1rio<\/p>\n<p>E um outro arquivo com o mesmo nome, mais\u00a0x.c, com o fonte em\u00a0C:\u00a0seu_script.sh.x.c\u00a0= fonte em\u00a0C<\/p>\n<p>Outras op\u00e7\u00f5es v\u00e1lidas:<\/p>\n<ul>\n<li>-e\u00a0:: a data de vencimento no formato dd\/mm \/aaaaa. Ou seja, validade para que o script seja executado, se passar dessa data, uma mensagem ser\u00e1 exiba: &#8220;Por favor, contacte o seu fornecedor&#8221;.<\/li>\n<li>-m\u00a0:: mensagem a ser exibida ap\u00f3s a expira\u00e7\u00e3o. Voc\u00ea informa qual a mensagem que ser\u00e1 exibida quando expirar a data (usada no\u00a0-e).<\/li>\n<li>-f\u00a0:: nome do script do arquivo para compilar.<\/li>\n<li>-v\u00a0:: verbose.<\/li>\n<li>-T\u00a0:: compatibilidade para usar o strace, ptrace, truss, etc.<\/li>\n<li>-r\u00a0:: relaxe a seguran\u00e7a. Fa\u00e7a um bin\u00e1rio redistribu\u00edvel que executa em sistemas diferentes executando o mesmo sistema de pacote ( \ud83d\ude00 ).<\/li>\n<li>-h\u00a0:: ajuda.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h1>EXECUTANDO<\/h1>\n<p>Ap\u00f3s criar o bin\u00e1rio, voc\u00ea pode executar das seguintes formas:<\/p>\n<p><strong><i class=\"fa fa-usd\"><\/i>\u00a0.\/seu_script.sh.x<\/strong><br \/>\nOu<br \/>\n$<strong>\u00a0bash -c seu_script.sh.x<\/strong><\/p>\n<p>Ou ainda, colocar no seu PATH e executar:<\/p>\n<p><strong><i class=\"fa fa-usd\"><\/i>\u00a0seu_script.sh.x<\/strong><\/p>\n<h1>EXTRA: ENCRIPTANDO ARQUIVO DE TEXTO<\/h1>\n<p>Dica r\u00e1pida para criptografar um arquivo de texto, voc\u00ea pode fazer da seguinte forma, usando o\u00a0<em>Vim<\/em>\u00a0(vi):<\/p>\n<p>Op\u00e7\u00e3o:\u00a0-x<\/p>\n<p><strong><i class=\"fa fa-usd\"><\/i>\u00a0vim -x senhas_bla.txt<\/strong><\/p>\n<p>Processo:<\/p>\n<ul>\n<li>Ir\u00e1 pedir a &#8220;palavra passe&#8221; duas vezes, digite a mesma;<\/li>\n<li>Edite o arquivo e saia (n\u00e3o precisa editar, mas \u00e9 necess\u00e1rio sair SALVANDO);<\/li>\n<li>Ap\u00f3s isso, ele j\u00e1 est\u00e1 &#8220;criptografado&#8221;;<\/li>\n<li>Se tentar editar com o Vim (vi), ser\u00e1 solicitado a senha;<\/li>\n<li>Se der um\u00a0cat\u00a0no arquivo, ir\u00e1 aparecer criptografado.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h1>CONCLUS\u00c3O<\/h1>\n<p>Era isso pessoal, espero que seja \u00fatil!!<\/p>\n<p>Fonte:<\/p>\n<ul>\n<li><a href=\"http:\/\/www.vivaolinux.com.br\/dica\/SHC-Compilando-seu-shell-script\">SHC &#8211; Compilando seu shell script [Dica]<\/a><\/li>\n<li><a href=\"http:\/\/www.datsi.fi.upm.es\/~frosal\/\" target=\"_blank\" rel=\"nofollow noopener\">Francisco Rosales, home page<\/a><\/li>\n<li><a href=\"http:\/\/elias.praciano.com\/2012\/05\/como-encriptar-um-shell-script-com-shc\/\" target=\"_blank\" rel=\"nofollow noopener\">Como encriptar um Shell Script com SHC Elias Praciano<\/a><\/li>\n<\/ul>\n<p>Abra\u00e7o.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ol\u00e1! Aqui, voc\u00ea ver\u00e1 uma forma simples de &#8220;criptografar&#8221; um Shell Script que voc\u00ea quer passar a algu\u00e9m, mas n\u00e3o quer liberar o fonte ou que seja edit\u00e1vel por qualquer um. B\u00c1SICO DE CRIPTOGRAFIA Bom, um conceito b\u00e1sico sobre criptografia: Criptografia (do Grego krypt\u00f3s, &#8220;escondido&#8221;, e gr\u00e1phein, &#8220;escrita&#8221;) \u00e9 o estudo dos princ\u00edpios e t\u00e9cnicas [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[730,1,42,51,495,514,271,501],"tags":[1136,502,64],"class_list":["post-4401","post","type-post","status-publish","format-standard","hentry","category-clusterweb","category-viazap","category-leitura-recomendada","category-linux-linuxrs","category-profissional-de-ti","category-programacao","category-seguranca-2","category-shell-script","tag-criptografando","tag-script","tag-shell"],"_links":{"self":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/4401","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4401"}],"version-history":[{"count":1,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/4401\/revisions"}],"predecessor-version":[{"id":4402,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/4401\/revisions\/4402"}],"wp:attachment":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4401"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4401"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4401"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}