Re: OT: nedělní chvilka dekódování...

Pavel Kořenský pavel.korensky na dator3.cz
Úterý Květen 21 01:29:36 CEST 2024


Zdravím,

tak ona je pravda, že na louskání kódů nebo hacking musí mít člověk 
nastavený mozek maličko jinak.
Já pracuji v oblasti IT Security a říkám tomu "umět myslet jako zločinec" :)

Dneska už mi to taky nemyslí jako před pár lety, ale pro ilustraci uvedu 
kopii poněkud delšího mailu, který jsem někdy v roce 2019 posílal 
kolegům z firmy, aby si uvědomili, jak mají myslet, když se chystají na 
certifikace. A použil jsem k tomu právě popis postupu, jak jsem hackoval 
jeden ten testovací stroj na hackthebox.eu.
Omlouvám se za poněkud delší příspěvek, ale zpětně viděno, je to docela 
zábava a hackovat ty stroje mně baví dodnes, když nemám na práci nic 
lepšího. Je to jako luštit křížovky... :)

======================================================================================================================================================================================================

Ahoj XXXXX,


jak jsme se bavili o tom hackthebox.eu tak jsem tam právě hacknul další 
treningový server, už třetí v pořadí. Strávil jsem na tom docela dost 
času už od pondělka, protože fůra technik které jsem musel použít byla 
pro mně úplně nová.
Ovšem co byla docela pecka (a důvod proč dávám YYYYYY a ZZZZZ do kopie) 
byla technika, kterou bylo nutné použít. Když člověk ví jak na to, tak 
některé možnosti jsou docela šílené. V tomhle případě to bylo takhle:


1. Máme web server založený na Linuxu (nějaký Debian, ale docela dobře 
patchovaný) který se tváří jako server na kterém se dá zaregistrovat a 
udělat si na něm svoje web stránky.
2. Při ohledání portů zjistíme, že přístupné porty jsou jenom http/80 a 
ssh/22 který ovšem dovoluje jen sftp a nikoli ssh shell. Takže jak na něj ?
3. Zaregistrujeme se, dostaneme jméno a heslo a taky adresář do kterého 
můžeme nahrát přes sftp svoje web stránky. Náš username je 
"ots-hZjhkOWY" a heslo je nějaký krutě přísný řetězec "d7af8d9f"
4. Otevřeme si tedy sftp a zkusíme klasicky jestli admin byl lempl tím, 
že uděláme "ln -s ../../../../ test"
5. Když se podíváme browserem na svou vlastní stránku (na testovacím 
serveru tedy " http://10.10.10.133/~ots-hZjhkOWY/test") tak se nám 
ukáže, že admin sice částečně byl lempl, ale nedostaneme se skoro nikam.
6. Ale když se díváme tam, kam se dívat můžeme, tak zjistíme, že ve 
/var/www/admin-http je zapomenutý .swp soubor od editoru vim ve kterém 
je relikt zdrojáku nějakého .php scriptu, který lze stáhnout a zkoumat.
7. V tom .swp souboru najdeme kus PHP kódu který řeší přihlášení admina 
těch web stránek a je tam jednak username toho admina a pak taky SHA256 
hash jeho hesla.
8. A taky zjistíme, že administrátorská část webu je přístupná jen na 
portu 60080 který ovšem blokuje firewall, takže zvenku se na něj 
nedostaneme.
9. Louskneme tedy ten SHA256 hash pomocí brute-foce slovníkového útoku a 
zjistíme, že admin je nejspíš domácký typ, protože jeho heslo je 
"Homesweethome1" :)
10. Ten firewall je vážně opruz, takže uděláme lokální port tunneling 
přes ssh pomocí "ssh -L 80:127.0.0.1:60080 -N ots-hZjhkOWY na 10.10.10.133" 
a použijeme své osobní heslo. To je dobrý trik, to jsem fakt neznal, že 
se dá skrz sftp-only port 22 udělat ssh tunel.
11. V browseru se podíváme na adresu http://127.0.0.1  a voilá, je tady 
administrátorská část webu do které se lze přihlásit jménem a heslem 
toho admina, které jsme získali v bodu 9.
12. Tak admin rozhraní bychom měli, ale ouha není tu víceméně nic, čím 
by si člověk mohl nahrát na server vlastní PHP script. Tedy ona tady ta 
možnost byla, ale je zamčená, prý "For security reasons" :)  a 
existující script addon-upload.php nelze přímo spustit.
13. Naštěstí se z toho admin účtu můžeme podívat na PHP skripty, které 
tam už jsou nahrané a v jednom  z nich objevíme takovou malou botu:

  # Download addon from addons folder.

     case preg_match('/\/addon-download.php/',$_SERVER['REQUEST_URI']):
         if ($_GET['addon']) {
             $addon_file = basename($_GET['addon']);
             if ( file_exists($addon_file) ) {
                 header("Content-Disposition: 
attachment;filename=$addon_file");
                 header("Content-Type: text/plain");
                 readfile($addon_file);
             } else {
                 header($_SERVER["SERVER_PROTOCOL"]." 404 Not 
Found",true, 404);
                 die();
             }
         }
         break;


14. Poeditujeme maličko tu web stránku aby se odemkla ta možnost udělat 
POST na server a taky tam dodáme jako akci pro jeden prvek
"addon-download.php?a=/addon-upload.php" abychom zkusili jestli je ten 
addon-download skript vážně tak blbý, aby sežral návnadu a načetl a 
spustil ten addon-upload.php. Jako payload k té návnadě dáme náš 
oblíbený pentest-monkey reverse shell skript
(
https://github.com/pentestmonkey/php-reverse-shell
).
15. Fajn, ono to návnadu fakt sežralo, náš reverse-shell.php se podařilo 
nahrát na web server. Tak se holt koukneme do toho adresáře addons kde 
jsou skripty uložené a ten náš si pustíme.
16. Ještě předtím si ovšem v dalším okně na našem Kali pustíme Netcat
"nc -l -p 1234" aby měl kdo poslouchat ten reverse-shell.
17. Hurá, máme reverse shell. Tak zkontrolujeme co všechno můžeme dělat.
Takže "sudo -l" a zjistíme, že pod účtem www-admin-data (nebo jaké je to 
jméno) nemůžeme dělat skoro nic, akorát nastavovat shell proměnnou 
http_proxy a taky máme oprávnění udělat apt-get update a apt-getupgrade. 
To má asi admin nastavené kvůli automatickým updatům apache2, aby se o 
to nemusel starat...
18. Takže adminovi pomůžeme (protože rádi pomáháme lidem a adminům 
obzvlášť) a něco mu updatujeme na opravdu aktuální versi. Tak aktuální, 
že jí zatím ještě nikdo ani nenapsal. :)
19. Takže si na našem Kali pustíme náš vlastní apache2, uděláme si na 
něm minimální fungující repository (to mně zabralo asi nejvíc času, 
protože jsem to nikdy nedělal a dokumenty na Netu nejsou příliš jasné 
ani jednoduché) a taky si pomocí našeho vlastního /etc/hosts poštelujeme 
Kali box tak aby se ozval na jméno nějaké opravdové repository.
20. Serveru trochu pomůžeme aby nás našel (zadáme naší IP a port do 
proměnné http_proxy).
21. Na Netu najdeme nějaký pěkný balíček který je na serveru už 
nainstalovaný. Třeba telnet_0.17-36_amd64.deb Ten si rozbalíme, 
poštelujeme čísla versí tak, aby se to tvářilo jako 
telnet_0.18-něco_amd64.deb a přidáme preinstall skript o kterém víme 
(tedy teď už víme, předtím jsem to netušil), že bývá spouštěn pod root 
oprávněním.
22. Ten náš mírně upravený a zbrusu nový .deb balíček přidáme do repository.
23. Z našeho reverse shellu uděláme "sudo apt-update" a pak "sudo 
apt-upgrade" a když se nás server zeptá, jestli chceme nainstalovat ten 
telnet_0.18-něco tak mu řekneme, že rozhodně ano, protože radostně 
očekávámé jaké nové featury bude mít :)
24. No a je to, náš preinstall skript proběhl a vypsal soubor 
/root/root.txt což je konec hry. Obsahem toho souboru se na HTB 
dokazuje, že člověk hacnul root na tom serveru. Místo "cat 
/root/root.txt" bych pochopitelně mohl dát do toho scriptu cokoli. Třeba 
si založit dalšího admina, povolit ssh nebo smazat server.

No bylo to docela dílo. Vyjmenoval jsem jen věci které bylo potřeba 
udělat. O slepých cestách raději nepíšu, bylo jich moc a moc.
Ale ten scénář je celkem reálný a tak nějak mi nepřipadá, že by tohle 
všechno vůbec mohl admin odpovědný za bezpečnost serveru uhlídat.

Některé cesty jsou prostě spletité.


Zdraví PavelK

==============================================================================================================================================================================================================

Dne 20.05.2024 v 22:29 Jan Kuba napsal(a):
> Já jsem se k tomu přichomejtnul náhodou, v podstatě je to pro mě novinka.
> Bohužel na to nemám hlavu, tam je třeba myslet , já byl na 
> myšlení vždycky línej.
> Pro mě to byla zkušenost, že existují lidi, co maj v mozku procesor a 
> coprocesor... :-)
> To, že se někdo za chvíi naučí básničku je nezajímavý. Ale že někdo 
> koukne na změť znaků a za chvíli vyhodí
> o co jde, je neuvěřitelný...
>
> <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail> 
> 	Neobsahuje žádné viry.www.avast.com 
> <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail> 
>
>
>
> po 20. 5. 2024 v 22:20 odesílatel Pavel Kořenský 
> <pavel.korensky na dator3.cz> napsal:
>
>     Jestli Vás tyhle věci baví, tak se mrkněte na ten zmíněný
>     hackthebox.eu <http://hackthebox.eu> (hackthebox.com
>     <http://hackthebox.com> ony jsou ty stránky stejné, akorát to .eu
>     má servery v Evropě).
>     Tam je oddělení kódování/dekódování taky a hlavně jsou tam stroje
>     na hacking, které se každý měsíc mění, takže je tam pořád co dělat :)
>     Pointa je, že máte soukromou VPN na nějaký jejich stroj, který má
>     někde díru či řetězec děr a cílem je mašinu hacknout a získat
>     postupně práva uživatele a pak dalším hackem práva admina. To se
>     prokazuje tím, že uživatel i root mají v domovském adresáři
>     textový soubor s SHA256 hashem a cílem je získat ten hash.
>     Na procvičování hackingu třeba při přípravě na různé certifikace
>     typu CEH v.10 nebo OSCP je to k nezaplacení.
>
>     Zdraví PavelK
>
>
>     Dne 20.05.2024 v 21:13 Jan Kuba napsal(a):
>>     Ano, je to tak...je to obdoba Cicada 3301.
>>     Já jsem do toho čuměl docela dost dlouho a nic mě nenapadlo.
>>     O to víc mám hubu otevřenou a čumím, jak někteří jedinci dokážou
>>     defakto  během chvíle
>>     vyřešit  takový úkol. Evidentně je to myšlení posunutý na jiný
>>     level  a opravdu  před vámi  smekám!
>>     Ten odkaz je správně, a navíc jak někdo uvedl, ten původní kód,
>>     než se ke mě dostal je opravdu trochu pomršený.
>>
>>     Ten odkaz  je klíč k další části - kachna se prožene
>>     Steanographic Decoderem <https://futureboy.us/stegano/decinput.html>
>>      a výstupní flag je zadání k další úloze..
>>
>>     V každém případě moc díky všem za to vyřešení původního zadání,
>>     opravdu jsem velmi překvapen schopnostmi  jedinců, co se na úkolu
>>     podíleli..
>>
>>
>>     <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>
>>     	Neobsahuje žádné viry.www.avast.com
>>     <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>
>>
>>
>>
>>     ne 19. 5. 2024 v 23:53 odesílatel Pavel Kořenský
>>     <pavel.korensky na dator3.cz> napsal:
>>
>>         Jo, asi to tak bude.
>>
>>         Mně ani nenapadlo to zkoušet dekódovat, na to nemám v neděli
>>         večer náladu.
>>         Akorát když to kolega Smejkal napsal, tak mně napadlo zkusit
>>         strejdu
>>         Googla co si myslí o doméně haxagon.něco
>>
>>         A vzhledem k tomu, že ta stránka nemá nikde tlačítko ve
>>         smyslu "Vytvořit
>>         účet" tak to nejspíš bude nějaká česká obdoba oblíbeného
>>         https://www.hackthebox.com/
>>         kam se člověk musí nejprve prohackovat, aby dostal přístup na
>>         stránku
>>         kde si lze vytvořit účet (což slouží jako lama-filter).
>>
>>         Zdraví PavelK
>>
>>         Dne 19.05.2024 v 23:44 Jindroush napsal(a):
>>         > Je
>>         > https://static.haxagon.xyz/decoy.jpg
>>         >
>>         > Podle meho je ten retezec proste utf zprasenej nekde po
>>         ceste a to, ze
>>         > znaky X, X, Z jsou videt jako stejne, je jen kvuli tomu.
>>         > Ale kloboucek panu Smejkalovi, ze videl ty trojice, ja se
>>         upnul na
>>         > dvojice.
>>         >
>>         > J.
>>         >
>>         > On 19.05.2024 23:29, Pavel Kořenský wrote:
>>         >> Není to odkaz na haxagon.xyz <http://haxagon.xyz> ?
>>         >>
>>         >> https://haxagon.xyz/sign/in
>>         >>
>>         >> To by celkem dávalo smysl, protože jsou to nějaké stránky
>>         o výuce
>>         >> počítačové bezpečnosti.
>>         >> Ale na ten odkaz by se dostal jen někdo, kdo už tam má účet.
>>         >>
>>         >> Zdraví PavelK
>>         >>
>>         >>
>>         >> Dne 19.05.2024 v 23:10 Stanislav Šmejkal napsal(a):
>>         >>> V hexa to je ze začátku:
>>         >>> E7 B1 B1 E7 B1 BD E7 B1 BD E7 B1 B9 E7 B1 BC E7
>>         >>> E7 je asi oddělovač dvouznaků
>>         >>> B1 B1 - v HEX 11 - v DEC 17 - přičíst 55 = 72 - znak H
>>         >>> B1 BD - v HEX 1D - v DEC 29 - přičíst 55 = 84 - znak T
>>         >>> B1 BD - v HEX 1D - v DEC 29 - přičíst 55 = 84 - znak T
>>         >>> B1 B9 - v HEX 19 - v DEC 25 - přičíst 55 = 80 - znak P
>>         >>> B1 BC - v HEX 1C - v DEC 28 - přičíst 55 = 83 - znak S
>>         >>>
>>         >>> B1 AA - znak A
>>         >>> ...
>>         >>> B1 AF - znak F
>>         >>> B1 B0 - znak G
>>         >>> ...
>>         >>> B1 BF - znak V
>>         >>>
>>         >>> pak už je tam jen pár kombinací znaků
>>         >>> B1 20 - : (znak HEX 3A)
>>         >>> B0 B7 - . (znak HEX 2E)
>>         >>> B0 B8 - / (znak HEX 2F)
>>         >>> B2 20 - nevím
>>         >>> B2 82 - nevím
>>         >>>
>>         >>> S.
>>         >>>
>>         >>> Dne 19.05.2024 v 22:54 Jan Kuba napsal(a):
>>         >>>> Děkuji
>>         >>>> ...vypada to asi spravne, klobouk dolu, jak jste
>>         postupoval,
>>         >>>> neni-li to tajne?
>>         >>>>
>>         >>>>
>>         <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail
>>         <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>>
>>
>>         >>>> Neobsahuje žádné viry.www.avast.com
>>         <http://viry.www.avast.com>
>>         >>>>
>>         <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail
>>         <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>>
>>         >>>>
>>         >>>>
>>         <#m_-7400417641530875088_DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
>>         >>>>
>>         >>>> ne 19. 5. 2024 v 22:16 odesílatel Stanislav Šmejkal
>>         >>>> <smejkal na smejkal.com <mailto:smejkal na smejkal.com>> napsal:
>>         >>>>
>>         >>>> https://static.haXagon.X_X/deco.jpg
>>         <https://static.haXagon.X_X/deco.jpg>
>>         >>>>     <https://static.haXagon.X_X/deco.jpg
>>         <https://static.haXagon.X_X/deco.jpg>>
>>         >>>>
>>         >>>>     nedokázal jsem dekódovat znaky označené X a _
>>         >>>>
>>         >>>>     S.
>>         >>>>
>>         >>>>     Dne 19.05.2024 v 19:42 Jan Kuba napsal(a):
>>         >>>>      > mějme řetězec:
>>         >>>>      >
>>         >>>>      >
>>         >>>>
>>         籱籽籽籹籼�簸簸籼籽籪籽籲籬簷籱籪�籪籰籸籷簷�粂�簸籭籮籬籸粂簷米籹籰
>>
>>         >>>>
>>         >>>>      >
>>         >>>>      > má to být nějaká forma úkolu - vyřešit, o co jde...
>>         >>>>      > Zkoušel jsem AI , neúspěšně.
>>         >>>>      > Nemá někdo prosím nějaký nápad?
>>         >>>>      >
>>         >>>>      >
>>         >>>>      >
>>         >>>>
>>         <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail
>>         <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>
>>
>>         >>>>
>>         <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail
>>         <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>>>
>>
>>         >>>> Neobsahuje žádné viry.www.avast.com
>>         <http://viry.www.avast.com> <http://viry.www.avast.com>
>>         >>>>
>>         <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail
>>         <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>
>>
>>         >>>>
>>         <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail
>>         <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>>>
>>
>>         >>>>
>>         >>>>      >
>>         >>>>      > <#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
>>         >>>>      >
>>         >>>>      > _______________________________________________
>>         >>>>      > HW-list mailing list  - sponsored by www.HW.cz
>>         <http://www.HW.cz>
>>         >>>> <http://www.HW.cz <http://www.HW.cz>>
>>         >>>>      > Hw-list na list.hw.cz <mailto:Hw-list na list.hw.cz>
>>         >>>>      > http://list.hw.cz/mailman/listinfo/hw-list
>>         >>>>     <http://list.hw.cz/mailman/listinfo/hw-list>
>>         >>>> _______________________________________________
>>         >>>>     HW-list mailing list  - sponsored by www.HW.cz
>>         <http://www.HW.cz> <http://www.HW.cz <http://www.HW.cz>>
>>         >>>> Hw-list na list.hw.cz <mailto:Hw-list na list.hw.cz>
>>         >>>> http://list.hw.cz/mailman/listinfo/hw-list
>>         >>>>     <http://list.hw.cz/mailman/listinfo/hw-list>
>>         >>>>
>>         >>>>
>>         >>>> _______________________________________________
>>         >>>> HW-list mailing list  -  sponsored by www.HW.cz
>>         <http://www.HW.cz>
>>         >>>> Hw-list na list.hw.cz
>>         >>>> http://list.hw.cz/mailman/listinfo/hw-list
>>         >>> _______________________________________________
>>         >>> HW-list mailing list  -  sponsored by www.HW.cz
>>         <http://www.HW.cz>
>>         >>> Hw-list na list.hw.cz
>>         >>> http://list.hw.cz/mailman/listinfo/hw-list
>>         >>
>>         >>
>>         >> _______________________________________________
>>         >> HW-list mailing list  -  sponsored by www.HW.cz
>>         <http://www.HW.cz>
>>         >> Hw-list na list.hw.cz
>>         >> http://list.hw.cz/mailman/listinfo/hw-list
>>         >
>>         >
>>
>>         _______________________________________________
>>         HW-list mailing list  -  sponsored by www.HW.cz
>>         <http://www.HW.cz>
>>         Hw-list na list.hw.cz
>>         http://list.hw.cz/mailman/listinfo/hw-list
>>
>>
>>     _______________________________________________
>>     HW-list mailing list  -  sponsored bywww.HW.cz  <http://www.HW.cz>
>>     Hw-list na list.hw.cz
>>     http://list.hw.cz/mailman/listinfo/hw-list
>
>
>     _______________________________________________
>     HW-list mailing list  -  sponsored by www.HW.cz <http://www.HW.cz>
>     Hw-list na list.hw.cz
>     http://list.hw.cz/mailman/listinfo/hw-list
>
>
> _______________________________________________
> HW-list mailing list  -  sponsored bywww.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list

------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20240521/b0c70935/attachment.htm>


Další informace o konferenci Hw-list