Komentáře k článku

Jdu hacknout váš server… díl 3

Hacker inside

Naposledy jsem na cílovém serveru získal omezený přístup přes PHP shell. Pro připomenutí – jedná se o krátký skript, který přes exec/passthru pouští příkazy, které mu zadáme pomocí GET nebo POST požadavku. Na server jsem ho v tomto příkladu dostal přes SQL injection, další možností mohlo být třeba nesprávně ošetřené nahrávání souborů.

Zpět na článek

25 komentářů k článku Jdu hacknout váš server… díl 3:

  1. Sim

    Protiopatření

    Ahoj,

    bylo by milé kdyby jsi své články obohati a nějaké nápady jak zamezit/zmírnit/de­tekovat/automa­ticky odstřihnout/… případné útočníky. Různé programy, vhodné konfigurace a praktiky,…

    1. RPajik

      Re: Protiopatření

      Dobry zacatek je v php zakazat vsechy fce, ktere zde hacker zminuje – tedy exec, system apod – na netu najdete jiste spolehlivy seznam ( klicove slovo je disable_functions )

      Pak je treba klienta uzavrit do jeho adresare pres open_basedir.

      No a na zaver pridejte parametr noexec pro oddil daty co se zobrazuji na webu.

      Striktnim firewallem utocnikovi take zivot minimalne hodne zneprijemnite.

      1. NN

        Re: Protiopatření

        suhosin: suhosin.execu­tor.eval.blac­klist system,shell_e­xec,popen,proc_o­pen,exec,passthru

    2. maleprase

      Re: Protiopatření

      spoustu veci resi selinux – nepovoli httpd_t otevrit port 4444, nepovoli rootovi ale zase s httpd_t upravovat ssh_home_t soubory (~/.ssh/…), …

    3. martin-ux

      Re: Protiopatření

      na zaciatok urcite davat weby do jailu (fbsd), pripadne zon (*solaris) alebo domU (xen/linux). ak nieco rootne, tak stale len sandbox.

      1. michal_sjx

        Re: Protiopatření

        300 webu a kazdy do vlastniho jailu? Nebo jeden jail a do nej 300 webu? A nebo kombinaci?
        Tak jednak na tu „virtualizaci“ spotrebujes dost systemovych prostredku a druhak je jedno jestli ma roota v jailu nebo v hostujicim systemu. Stejne muze editovat weby, vidi hesla k DB a muze rozesilat spam.
        Podle me je potreba zabezpecit oboje ;). Jedina pridana hodnota jailu v tomto pripade je, ze nemusis kvuli preinstalaci ownuteho systemu startovat auto.

        1. martin-ux

          Re: Protiopatření

          no tvrdit, ze to bude stacit by bola velka hlupost :) .. preto som napisal, ze ‚na zaciatok’.

          najviac co moze jail brat je miesto na disku. ale vsak si spravis flavor jailu pre web (apache/php/per­l,etc.), ten pouzijes potom na kazdom webe. ostatne resources su – diplomaticky povedane – take iste, ako keby bezal ten process v nejail systeme.

          to ze to nezaisti posielanie spamu a dostane sa k DB – to je uz druha vec. to je uz problem aplikacny, nie OS. k zabezpeceniu appl sa vyjadrit neviem.

          ono toto je na diskusiu na dlsie. pri fbsd+zfs mi nerobi problem (== sa da krasne vyuzit zfs) tie weby sekat do jailov, kazdy na vlastny dataset.

          1. michal_sjx

            Re: Protiopatření

            Toho „na zacatek“ jsem si asi nevsiml.
            Z hlediska zabezpeceni proti neopranenemu pristupu se musi provest stejna opatreni na virtualnim i na fyzickem serveru. To jsem tim chtel rict :). No a taky ze je to kanon na komara.

            Aby mne hacker z 3. dilu nenapadl, tak staci mit DB na jinem stroji/jaiu, nemit dostupne vyvojove nastroje, fierewall vse zakazano a jen poskytovane sluzby povoleno, kazdy vhost aby mel vlastni uid.

    1. flv

      Re: Cumim

      Tak on si to nejlepsi autor nechal pro sebe, viz. „Stane-li se, že žádný použitelný exploit nenajdete, čeká vás dlouhá cesta“. Slovo „nejlepsi“ mozna patri do uvozovek, osobne jestli si mam vybrat mezi tim studovat nizkourovnovy programovani za ucelem tvorby exploitu a klasickym OOP pro tvorbu neceho uzitecnyho tak je pro me jasnym kanidadatem druhe uvedene. Uznavam ze prvni ma v sobe kouzlo studia „systemu“, nicmene odrazuje me ucel, druhe mi proste prijde vic potrebne.

        1. František Kučera

          Re: Cumim

          I kdybys tu efektivitu* měřil čistě jen výpočetním výkonem, tak je to sporné – v mnoha případech bude stroják/asembler vyrobený kompilátorem efektivnější než asembler naspaný ručně člověkem.

          *) kromě toho efektivita je taky to, za kolik člověkodnů dokážeš vyvinout software podle zadání

  2. wr

    wtf?

    Tak nějak mi příjde, že moc nepobírám o čem, že tenhle díl vlastně je?
    O bezpečnosti?
    Težko.
    O hackování?
    Ani omylem.
    Systém konfigurovaný způsobem jaký popisuje autor článku bych asi standardně objevil u někoho, kdo si předevčírem nahodil nějakou hodně špatnou LAMP instalaci a snaží se na ní rozběhat turoriálové přiklady php.
    Vzhledem k tomu, že článek budou předpokládám hlavně číst lidi z oboru, očekával bych uvedení nějaké reálné konfigurace systému, popisy průniků a aktuálních hrozeb spojených s danou technologií a né obecné nic neříkajicí tlachy o exploitech. Když už si autor hraje na hackera, měl by alespoň zmínit jak si zaručí, že nebude při útocích odhalen a vystopován a jak takový typický postup vypadá, co s tím může dělat admin serveru aby takové pokusy identifikoval apod.
    Hlášky typu: „Složitějším se může zdát nahrání binárního souboru na cílový server; pochopitelně to nepůjde z prohlížeče přes GET, ale jde využít curl, případně je možností napsat si na to nějakou utilitu/skriptík.“
    nebo „Nyní mám neomezené (=root) možnosti a můžu se serverem dělat, co si zamanu“
    Ve mě vyvolávají pocit, že autor by měl psát raději o něčem jiném.
    Navíc na laika to celé může klidně působit, že apache s php jsou technologie děravé jak cedník, což samozřejmě jsou, ale lze je poměrně jednoduše a dobře zabezpečit, případně izolovat tak, aby v případě průniku nedošlo k žádným zásadním škodám jak už bylo zmíněno v jiných příspěvcích.

    1. Jenda

      Re: wtf?

      „Systém konfigurovaný způsobem jaký popisuje autor článku bych asi standardně objevil u někoho, kdo si předevčírem nahodil nějakou hodně špatnou LAMP instalaci a snaží se na ní rozběhat turoriálové přiklady php.“

      Nebyl podobným způsobem vyownován NBÚ SR a různé podobné instituce?

      1. wr

        Re: wtf?

        Když si někto nezamyká auto, případně nechává ztažené okýnko a ještě lépe klíček v zapalování, je velmi pravděpodobné, že mu tam někdo vleze a něco mu ukradne.
        Je to v celku logické a samozřejmě stává se to i dnes :)
        Myslíte si, že článek s titulkem „Jdu vykrást vaše auto“ popisující průnik do tímhle způsobem zabezpečeného vozu je na místě?
        Poenta byla trochu jiná, to co autor popsal není pro většinu zkušenějších adminů reálná hrozba. Málo kdo (výjma snad statních institucí) vystavuje do internetu tímto způsobem zabezpečené důležité služby, bez monitoringu, bez zónování kde ideálně všechno běží na jednom systému pod rootem se všemi otevřenými porty :)
        Pokud by název článku byl „Jak jsem před devíti rokama hacknul server KSČM“ pak bych asi nic nenamítal, ale ambiciózní název článku „Jdu hacknout váš server“
        ve mě evokuje otázku, čí vlastně je to server? :)

        1. flv

          Re: wtf?

          Nepamatuju si ze bych na rootu cetl podobny clanek (pokud tu neco podbneho bylo je k dispozici odkaz?), takze bych nebyl tak striktni, budme radi za to co autor napsal. Je pravda ze tech podminek ktere autor uvedl co by nutne pro uspesny prulom je pomerne dost, na druhou stranu vas optimismus ohledne bezpecnosti vetsiny serveru bych chtel sdilet :).

          Mozna bysme autora „prekecali“ aby napsal neco o technikach, nastrojich uzivanych pro hledani novych exploitu, to mi prijde zajimave.

        2. Jirka V.

          Re: wtf?

          Když seš tak dobrej, napiš něco lepšího. Zase tak slabý ten článek není, a možnosti SQL injection naznačuje pěkně. A zbastlených aplikací, které vstupy vůbec neřeší, je bohužel pořád dost – protože stále přicházejí nějací začátečníci. A právě třeba pro ně, je tohle dobrý začátek na co si dát pozor.

          1. wr

            Re: wtf?

            Asi jste nepochopil, co jsem se snažil svých komentářem sdělit, rozhodně to nebylo o zpochybnění technik, které byly v článku prezentovány nebo toho, že neexistují děravé aplikace, či nezabezpečené systémy.
            Poukazoval jsem pouze na reálnost té popsané situace.
            A právě naopak začátečníka to bude mást v tom smyslu, že si bude myslet, že to tak prostě jednoduše funguje. Pokud v článku není zmíněna ochrana, případně nějaké best practices ohledně ošetřování vstupů aplikací, způsob spouštění a zabezpečení aplikací a služeb, tak si z toho žádný začátečník stejně nic moc neodnese.

            Místo vlastního článku
            bych spíše doporučil old school zdroj http://web.archive.org/web/19981206154944/http://hysteria.sk/ kde je k tématu spousta velmi poučného a reálně použitelné čtiva, které je sice 14 let staré, ale stále up2date.

            P.S. Ještě, že se nám ten internet archivuje :)

  3. passpartout

    Me se clanek libil

    Treti dil se mi libil, protoze ukazuje, jak lze postupne skladat utok.

    Mozna ze nektere (mezi)kroky nejsou jsou zrychlenne, ale autor je muze rozebrat v dalsich clancich.

    Vas’y !

Napsat komentář

Přihlásit se

Tato diskuse je již příliš stará, pravděpodobně již vám nikdo neodpoví. Pokud se chcete na něco zeptat, použijte diskusní server Devel.cz

Zdroj: http://www.zdrojak.cz/?p=3610