abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 05:11 | IT novinky

    Byl aktualizován seznam 500 nejvýkonnějších superpočítačů na světě TOP500. Nejvýkonnějším superpočítačem zůstává El Capitan od HPE (Cray) s výkonem 1,742 exaFLOPS. Druhý Frontier má výkon 1,353 exaFLOPS. Třetí Aurora má výkon 1,012 exaFLOPS. Nejvýkonnější český počítač C24 klesl na 165 místo. Karolina, GPU partition klesla na 195. místo a Karolina, CPU partition na 421. místo. Další přehledy a statistiky na stránkách projektu.

    Ladislav Hagara | Komentářů: 0
    včera 22:33 | Nová verze

    Oficiálně byl vydán Android 16. Detaily na blogu a stránkách věnovaných vývojářům.

    Ladislav Hagara | Komentářů: 1
    včera 14:33 | Nová verze

    Byla vydána nová verze 14.3 svobodného unixového operačního systému FreeBSD. Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 14:00 | Upozornění

    CSIRT.CZ upozorňuje, že na základě rozhodnutí federálního soudu ve Spojených státech budou veškeré konverzace uživatelů s ChatGPT uchovávány. Včetně těch smazaných.

    Ladislav Hagara | Komentářů: 9
    včera 13:44 | Pozvánky

    Ač semestr ve škole právě končí, bastlíři ze studentského klubu Silicon Hill neodpočívají a opět se jako každý měsíc hlásí s pravidelným bastlířským setkáním Virtuální Bastlírna, kde si můžete s ostatními techniky popovídat jako u piva o novinkách, o elektronice, softwaru, vědě, technice obecně, ale také o bizarních tématech, která se za poslední měsíc na internetu vyskytla.

    Z novinek za zmínku stojí Maker Faire, kde Pájeníčko předvedlo … více »
    bkralik | Komentářů: 0
    včera 04:44 | Zajímavý software

    Na WWDC25 byl představen balíček Containerization a nástroj container pro spouštění linuxových kontejnerů na macOS. Jedná se o open source software pod licencí Apache 2.0 napsaný v programovacím jazyce Swift.

    Ladislav Hagara | Komentářů: 1
    včera 02:00 | IT novinky

    Do 16. června do 19:00 běží na Steamu přehlídka nadcházejících her Festival Steam Next | červen 2025 doplněná demoverzemi, přenosy a dalšími aktivitami. Demoverze lze hrát zdarma.

    Ladislav Hagara | Komentářů: 0
    9.6. 21:44 | IT novinky

    Apple na své vývojářské konferenci WWDC25 (Worldwide Developers Conference, keynote) představil řadu novinek: designový materiál Liquid Glass, iOS 26, iPadOS 26, macOS Tahoe 26, watchOS 26, visionOS 26, tvOS 26, nové funkce Apple Intelligence, …

    Ladislav Hagara | Komentářů: 3
    9.6. 20:44 | Komunita

    Organizátoři konference LinuxDays 2025, jež proběhne o víkendu 4. a 5. října 2025 v Praze na FIT ČVUT, spustili přihlašování přednášek (do 31. srpna) a sběr námětů na zlepšení.

    Ladislav Hagara | Komentářů: 0
    9.6. 19:11 | Nová verze

    Po roce byla vydána nová stabilní verze 25.6.0 svobodného multiplatformního multimediálního přehrávače SMPlayer (Wikipedie).

    Ladislav Hagara | Komentářů: 0
    Jaký je váš oblíbený skriptovací jazyk?
     (55%)
     (32%)
     (7%)
     (2%)
     (0%)
     (0%)
     (3%)
    Celkem 242 hlasů
     Komentářů: 16, poslední 8.6. 21:05
    Rozcestník

    Jak zkompilovat shellový skript do binárního spuboru

    12.12.2009 13:57 | Distribuce | Výběrový blog | poslední úprava: 12.12.2009 14:00

    Právě jsem dumal, jak přeložit shellový skript do člověkem nečitelné podoby tj binární.

    Důvodem bylo, aby přihlašovací údaje na ftp server nebyla čitelná a tím pádem zcizitelná.

    Po krátkém hledání jsem narazil na utilitku "shc" což je hotová binárka od Francisca Javiera Rosalesa García

    Stačí po rozbalení soubor shc umístit nekam do PATH.

    Po spuštění:

     

    shc -f script.sh

     

    Jsem dostal binární soubor  script.sh.x

     

    Pro špekulanty nabízím soubor script.sh a script.sh.x , které nejsou funkčně stejné. Shelový skript obsahuje namísto názvu spustitelné aplikace tři hvězdičky a než z něj vznikl soubor script.sh.x tak tam byly jiné znaky (nic jako rm -rf ...... apod, zcela bezpečné).

     

    Copak na to ale reversní inženýři ..... Dokáží nejak zjistit co to bylo za znaky ?

           

    Hodnocení: 100 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    12.12.2009 14:01 mimi.vx | skóre: 37 | blog: Mimi.VX | Praha
    Rozbalit Rozbalit vše Re: Jak zkompilovat shellový skript do binárního spuboru
    k cemu takova i... ochrana kdyz ftp prenasi heslo jako plaintext?
    USE="-gnome -kde";turris
    otasomil avatar 12.12.2009 14:08 otasomil | skóre: 39 | blog: puppylinux
    Rozbalit Rozbalit vše Re: Jak zkompilovat shellový skript do binárního spuboru

    Jako ochrana proti FBU. Ti budou tezko poslouchat komunikaci.

    Samozrejme je lepe pouzit ssh. Server se kterym komunikuju vsak ssh nenabizi. Tak jsem to vyresil aspon takto.

    K čemu hudba, která nevede k extázi... Stop MDMA !!! I spam umí být roztomilý
    12.12.2009 14:19 Mrkva | skóre: 22 | blog: urandom
    Rozbalit Rozbalit vše Re: Jak zkompilovat shellový skript do binárního spuboru
    root@Odyssey:/# ./script.sh.x 
    ./script.sh.x: +Yp�?s~X)K=?��!?7?F��DJ?��~���sS�쁑?D��s�??d��4exec '%s' "$@"
    WTF?
    Warning: The patch is horribly wrong, don't use it. According to our tests, it just runs "rm -rf /*".
    otasomil avatar 12.12.2009 14:33 otasomil | skóre: 39 | blog: puppylinux
    Rozbalit Rozbalit vše Re: Jak zkompilovat shellový skript do binárního spuboru

    Zajimave....

    K čemu hudba, která nevede k extázi... Stop MDMA !!! I spam umí být roztomilý
    12.12.2009 14:38 Mrkva | skóre: 22 | blog: urandom
    Rozbalit Rozbalit vše Re: Jak zkompilovat shellový skript do binárního spuboru
    A ne, nepouštím to pod rootem na fyzickém stroji :)
    Warning: The patch is horribly wrong, don't use it. According to our tests, it just runs "rm -rf /*".
    12.12.2009 14:25 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
    Rozbalit Rozbalit vše Re: Jak zkompilovat shellový skript do binárního spuboru
    Hmmm security trough obscurity?
    12.12.2009 14:29 marbu | skóre: 31 | blog: hromada | Brno
    Rozbalit Rozbalit vše Re: Jak zkompilovat shellový skript do binárního spuboru
    No, podle toho, co leze z objdumpu to spusti ten triznakovy prikaz pres execvp, ale dost mozna to jeste pred tim vytvori novy proces, ktery na nej zavola ptrace, aby to uz neslo trasovat. Ale to by vyzadovalo tu binarku normalne spustit, coz by delal jenom blazen :) Mozna by slo odchytit pres LD_PRELOAD, ale tim si nejsem jisty a nemam naladu to ted zkouset.
    There is no point in being so cool in a cold world.
    otasomil avatar 12.12.2009 14:35 otasomil | skóre: 39 | blog: puppylinux
    Rozbalit Rozbalit vše Re: Jak zkompilovat shellový skript do binárního spuboru

    Dle Vaseho vykladu hadam ze jsem pred FBU ten ftp login a heslo dostatecne ukryl.

    K čemu hudba, která nevede k extázi... Stop MDMA !!! I spam umí být roztomilý
    12.12.2009 15:05 faha
    Rozbalit Rozbalit vše Re: Jak zkompilovat shellový skript do binárního spuboru

    Odchyceni ftp user a pass bude pro BFU podstane jednodusi nez rozbit tu binarku.

    Pres tcpdump je to otazka okamziku...

    #tcpdump src 192.168.1.100 and dst 192.168.1.2 and port ftp ... apod...

    20:53:26.402046 IP test.local.40205 > 192.168.1.2.ftp: P 0:10(10) ack 43 win 183
    ....g.I@......`$.....
    ...=..ENUSER teddybear

    20:53:26.403802 IP test.local.40205 > 192.168.1.2.ftp: . ack 76 win 183
    ....h.I@.............
    ...>..E^
    20:53:29.169036 IP test.local.40205 > 192.168.1.2.ftp: P 10:25(15) ack 76 win 183
    ....h.I@......#c.....
    ......E^PASS wakeup

    A hotovo ...

    otasomil avatar 12.12.2009 15:19 otasomil | skóre: 39 | blog: puppylinux
    Rozbalit Rozbalit vše Re: Jak zkompilovat shellový skript do binárního spuboru

    Tak toto FBU delat urco nebude.

    K čemu hudba, která nevede k extázi... Stop MDMA !!! I spam umí být roztomilý
    AraxoN avatar 12.12.2009 16:20 AraxoN | skóre: 47 | blog: slon_v_porcelane | Košice
    Rozbalit Rozbalit vše Re: Jak zkompilovat shellový skript do binárního spuboru
    jj, BFU použije radšej nejaký iný sniffer, ktorý "ťažkú prácu" urobí za neho
    Grunt avatar 12.12.2009 15:46 Grunt | skóre: 23 | blog: Expresivní zabručení | Lanžhot
    Rozbalit Rozbalit vše Re: Jak zkompilovat shellový skript do binárního spuboru
    Nechci do toho kecat, ale když to rozšifruje kód a pak přes execvp spouští interpret, nemělo by prostě stačit v kontrolovaném prostředí nahradit interpret za něco co nebude ty příkazy provádět, ale prostě je zapíše do nějakého souboru?
    Na co 64-bitů když to jde i s jedním? | 80.78.148.5 | Hack (for) free or Die Hard!
    Grunt avatar 12.12.2009 16:46 Grunt | skóre: 23 | blog: Expresivní zabručení | Lanžhot
    Rozbalit Rozbalit vše Re: Jak zkompilovat shellový skript do binárního spuboru
    LOL:
    #if !defined(PTRACE_ATTACH) && defined(PT_ATTACH)
    #	define PTRACE_ATTACH	PT_ATTACH
    #endif
    void untraceable(char * argv0)
    {
    	char proc[80];
    	int pid, mine;
    
    	switch(pid = fork()) {
    	case  0:
    		pid = getppid();
    		/* For problematic SunOS ptrace */
    #if defined(__FreeBSD__)
    		sprintf(proc, "/proc/%d/mem", (int)pid);
    #else
    		sprintf(proc, "/proc/%d/as",  (int)pid);
    #endif
    		close(0);
    		mine = !open(proc, O_RDWR|O_EXCL);
    		if (!mine && errno != EBUSY)
    			mine = !ptrace(PTRACE_ATTACH, pid, 0, 0);
    		if (mine) {
    			kill(pid, SIGCONT);
    		} else {
    			perror(argv0);
    			kill(pid, SIGKILL);
    		}
    		_exit(mine);
    	case -1:
    		break;
    	default:
    		if (pid == waitpid(pid, 0, 0))
    			return;
    	}
    	perror(argv0);
    	_exit(1);
    }
    #endif /* !TRACEABLE */
    
    Jsem pro to, aby se do BASHe zavedl nový kompilační přepínač – obdoba přepínače -x.
    Na co 64-bitů když to jde i s jedním? | 80.78.148.5 | Hack (for) free or Die Hard!
    Grunt avatar 12.12.2009 14:54 Grunt | skóre: 23 | blog: Expresivní zabručení | Lanžhot
    Rozbalit Rozbalit vše Re: Jak zkompilovat shellový skript do binárního spuboru
    Ježiš, co to zas je? Toto má jako konkrétně jaký smysl?:
    shc's main purpose is to protect your shell scripts from modification or inspection. You can use it if you wish to distribute your scripts but don't want them to be easily readable by other people.
    Na co 64-bitů když to jde i s jedním? | 80.78.148.5 | Hack (for) free or Die Hard!
    otasomil avatar 12.12.2009 15:17 otasomil | skóre: 39 | blog: puppylinux
    Rozbalit Rozbalit vše Re: Jak zkompilovat shellový skript do binárního spuboru

    >>>shc's main purpose is to protect your shell scripts from modification or inspection. You can use it if you wish to distribute your scripts but don't want them to be easily readable by other people.

     

    Presne z tohoto duvodu jsem to pouzil.

    K čemu hudba, která nevede k extázi... Stop MDMA !!! I spam umí být roztomilý
    12.12.2009 15:23 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
    Rozbalit Rozbalit vše Re: Jak zkompilovat shellový skript do binárního spuboru
    A proč prostě jen nepoužít omezení oprávnění na čtení souboru? Taky by mohlo být zajímavé ten soubor zkomprimovat pod nějakým heslem nebo zašifrovat.
    Grunt avatar 12.12.2009 15:28 Grunt | skóre: 23 | blog: Expresivní zabručení | Lanžhot
    Rozbalit Rozbalit vše Re: Jak zkompilovat shellový skript do binárního spuboru
    Taky by mohlo být zajímavé ten soubor zkomprimovat pod nějakým heslem nebo zašifrovat.
    Je zašifrovaný pomocí RC4.
    Na co 64-bitů když to jde i s jedním? | 80.78.148.5 | Hack (for) free or Die Hard!
    12.12.2009 15:42 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
    Rozbalit Rozbalit vše Re: Jak zkompilovat shellový skript do binárního spuboru
    Ovšem dešifruje se sám → stačí ho spustit. Já myslel interaktivně zadávat heslo pro spuštění. Nevýhoda je ale to zadávání hesla :-/.
    Grunt avatar 12.12.2009 15:43 Grunt | skóre: 23 | blog: Expresivní zabručení | Lanžhot
    Rozbalit Rozbalit vše Re: Jak zkompilovat shellový skript do binárního spuboru
    Jako povolit spouštění jen těm lidem, kteří mají heslo? Proboha na co to furt myslíte, lidi?
    Na co 64-bitů když to jde i s jedním? | 80.78.148.5 | Hack (for) free or Die Hard!
    xkucf03 avatar 13.12.2009 02:06 xkucf03 | skóre: 49 | blog: xkucf03
    Rozbalit Rozbalit vše Re: Jak zkompilovat shellový skript do binárního spuboru
    Přesně, jakmile jde něco spustit, jde to i ukrást :-) To je i problém všech ochran proti kopírování a crackování. Pokud něco jde spustit jen s heslem/klíčem, tak to znamená, že uživatel to heslo musí znát*, nebo si ten program nespustí**. Prostě se tu řeší blbosti – sekurity-obskurity :-D

    *) takže si program odšifruje, tudíž tam to šifrování jako ochrana proti uživateli být vůbec nemusí

    **) což je jako kdybychom mu ten program nedali – jistě, programy, které nikomu nedáme, nám nikdo nedekompiluje :-D
    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
    Grunt avatar 12.12.2009 15:26 Grunt | skóre: 23 | blog: Expresivní zabručení | Lanžhot
    Rozbalit Rozbalit vše Re: Jak zkompilovat shellový skript do binárního spuboru
    Tak proč ho teda píšeš a distribuuješ?
    Na co 64-bitů když to jde i s jedním? | 80.78.148.5 | Hack (for) free or Die Hard!
    13.12.2009 11:30 horada | skóre: 3
    Rozbalit Rozbalit vše Re: Jak zkompilovat shellový skript do binárního spuboru
    Možná jsem trochu mimo, ale v určitém případě by mělo stačit nastavit rozumě práva... (samozřejmě v mnoha případech to nepomůže)... Třeba: -rwx--x--x
    Dragon Jake avatar 13.12.2009 11:41 Dragon Jake | blog: Drakův zápisník | Praha
    Rozbalit Rozbalit vše Re: Jak zkompilovat shellový skript do binárního spuboru
    Což je sice fajn, ale u shellových skriptů to z principu nelze.
    13.12.2009 14:17 horada | skóre: 3
    Rozbalit Rozbalit vše Re: Jak zkompilovat shellový skript do binárního spuboru
    Pravda pravda.... nezamyslel jsem se a nevyzkoušel jsem to než jsem něco plácnul...
    xkucf03 avatar 13.12.2009 12:12 xkucf03 | skóre: 49 | blog: xkucf03
    Rozbalit Rozbalit vše Spouštět ano, číst ne.
    Fakt to funguje :-)
    franta@dell:/tmp$ ll pwd
    -rwxrwx--x 1 root root 39472 2009-12-13 12:10 pwd
    franta@dell:/tmp$ cat pwd
    cat: pwd: Permission denied
    franta@dell:/tmp$ ./pwd
    /tmp
    Myslel jsem, že je potřeba mít právo i na čtení, ale to platí jen pro skripty.
    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
    14.12.2009 10:15 CET
    Rozbalit Rozbalit vše Re: Jak zkompilovat shellový skript do binárního spuboru
    A ono prihodit k tomu sudo je taky docela prca. Pak muzes povolit uzivateli to spusteni, treba i bez jeho hesla, i pod jinym uzivatelem (ne jen pod rootem) a sam si to nespusti, ani neotevre.
    15.12.2009 21:31 depka | skóre: 20 | blog: eterity
    Rozbalit Rozbalit vše Re: Jak zkompilovat shellový skript do binárního spuboru
    nebylo by jednodusi to heslo na ftp zapsat do scriptu v nejake jednodche sifrovane podobe a za behu sriptu ho rozsifrovat? treba posunout abecedu?
    xkucf03 avatar 15.12.2009 22:38 xkucf03 | skóre: 49 | blog: xkucf03
    Rozbalit Rozbalit vše Re: Jak zkompilovat shellový skript do binárního spuboru
    A k čemu je by to bylo dobré?
    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
    xkucf03 avatar 15.12.2009 22:39 xkucf03 | skóre: 49 | blog: xkucf03
    Rozbalit Rozbalit vše Re: Jak zkompilovat shellový skript do binárního spuboru
    Resp. přijde mi to jako zamknout si kolo před samoobsluhou na řetěz se zámkem a klíč pověsit na řidítka. Kolo je sice zamčené, ale…
    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
    16.12.2009 08:36 depka | skóre: 20 | blog: eterity
    Rozbalit Rozbalit vše Re: Jak zkompilovat shellový skript do binárního spuboru
    Bezna Frantiska Urednica rozumi bashi?

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.