Cybersecurity Talk s Jeffrey Hicks: je PowerShell dobrý hackerský nástroj?

v této epizodě Cybersecurity Talk mám Jeffreyho Hickse. Je to absolutní profesionál v PowerShell. Má více než 25 let zkušeností s prací v oblasti infrastruktury. Je také MVP v rámci specializace PowerShell. Najdete ho na Twitteru @JeffHicks a na jeho blogu: jdhitsolutions.com

PowerShell-dobrý hackerský nástroj?

Paula:

jsem penetrační tester sám a všiml jsem si, že PowerShell se stal oblíbeným nástrojem pro všechny, jako jsou administrátoři a také někteří další lidé z jiných specializací. Používám PowerShell pro hackování. Myslíte si však, že PowerShell by mohl být dobrým hackerským nástrojem? Jaký z toho máte pocit?

Jeffrey:

víš, tohle se objevuje pořád. Přišlo to, když PowerShell poprvé vyšel, protože to bylo, právě jsme přišli z dob VBScript, a Melissa, ILOVEYOU a všechny ty ošklivé věci a všichni řekli: „Ach ne, Microsoft nám to udělá znovu.“No, ano i ne. PowerShell je skvělý nástroj pro správu. Je to pro IT profesionály. Mohou získat obrovské množství práce s velmi malou prací.

samozřejmě, pokud jste hacker nebo špatný herec a chcete udělat spoustu špatných věcí opravdu rychle, jistě PowerShell je skvělý nástroj, který se používá především proto, že nejen máte všechny vestavěné seznamy příkazů, ale máte přímý přístup k práci s ukázkovým vlakem. Pokud máte pozadí pro vývojáře, můžete udělat obrovské množství věcí za předpokladu, že nejprve získáte přístup.

jakmile máte přístup, pokud již vlastníte krabici, skutečnost, že používáte PowerShell, je opravdu irelevantní, jste již v bad doo-doo. Ale jistě, pokud jsem špatný člověk a chci toho hodně udělat rychle, včetně vyčištění mých stop, PowerShell je pro to dokonalým nástrojem.

Paula:

zvláště máme tolik různých doplňkových modulů, které můžete získat, které lze zdarma stáhnout a které vám mohou pomoci s více hackerskými aktivitami.

Jeffrey:

Jistě.

Paula:

tam jsou některé Mimikatz také napsané v PowerShell. Jste schopni ukrást pověření, jen pomocí PowerShell. Co si osobně myslím, že je v pohodě, v případě hackování, že PowerShell, to není něco, co je rozpoznáno antivirovým programem, že?

Jeffrey:

správně, protože je to řídící modul, který PowerShell sám musí být hostován v aplikaci. Můžete roztočit Motor PowerShell jen z výzvy cmd nebo dokonce myslím v paměti, takže antivirové věci to nemusí nutně detekovat. Není to tak, že lidé budou spouštět skripty, protože to je něco, co by anti-virus mohl detekovat. Ale ne, anti-virus to nemůže udělat.

máme nové věci v PowerShell verze 5.1, kde Microsoft opravdu ratcheted up protokolování, takže nemusí být nutně schopen okamžitě vědět, „Ops, byl jsem ohrožen,“ ale budete moci vrátit po faktu a kopat přes všechny protokoly a identifikovat: co udělali, kdo to udělal, jaké stroje se jim přístup, jak se dostali dovnitř? Alespoň z forenzního hlediska obnovy máte nyní mnohem více informací, než jsme kdy udělali v předchozí verzi PowerShell.

Paula:

a, je to tak přístupné, že jo?

Jeffrey:

je to velmi přístupné.

musíme se bát PowerShell?

Paula:

Jo, Zajímalo by mě, protože obecně z pohledu PowerShell by to mohl být také nástroj, kterého se lidé bojí. Administrátoři se obávají, že PowerShell by mohl být použit v podniku, aby se zabránilo hackování, protože to nikdy neuvidí.

máte nějakou radu pro takové lidi?

Jeffrey:

víte, PowerShell má ve výchozím nastavení vestavěné bezpečnostní kryty. Nemají přístup k bezpečnostním hranicím. Jsou jako víko na tlačítku jaderného odpalu. Musíte zvednout víko, ale nejprve musíte mít přístup, abyste se dostali k víku, abyste ho zvedli. Jsou věci jako provedení skriptu. Ve výchozím nastavení nelze spustit skript PowerShell. Také, pokud někdo dostal škodlivý skript v e-mailu a poklepejte na něj, nebudeme mít skript PowerShell spuštěn.

určitě to můžete změnit jako správce. Pokud nevíte, co děláte a jste naprosto nekompetentní a měli byste být vyhozeni a mít něco špatného, nebo pokud někdo zkopíruje obsah tohoto skriptu, otevře výzvu PowerShell a vloží ji. Pokud mají oprávnění a potřebné nástroje, PowerShell to šťastně udělá. To je snadná oprava. Nedáte svým uživatelům, včetně administrátorů, neběží se zvýšenými přihlašovacími údaji. Takže jejich relace PowerShell se téměř vždy otevírají jako nižší admin. I když byl nějaký nezamýšlený kód proveden, nemají k tomu potřebná oprávnění. To je skvělý způsob, jak omezit.Stačí se podívat na zdravý rozum.

pojďme se podívat na jen dost administrace

Paula:

to zní dobře. K dispozici je také dost administrativy. Co si o tom myslíš?

Jeffrey:

Just Enough Administration je remoting tool – sada nástrojů ve skutečnosti-který je určen pro administrátory poskytovat bezpečnější remoting prostředí. Myslím, PowerShell, způsob, jakým to opravdu svítí v podniku, je, že mohu spravovat 1 000 serverů najednou. Chci najít protokoly událostí dotazu, musím zkontrolovat protokol událostí systému, který hledá, řekněme možná to, co je na serveru restartováno, nebo nějaký jiný náznak, že jsem byl ohrožen. PowerShell remoting je to opravdu snadné.

ve výchozím nastavení však musíte být administrátorem a získáte přístup ke všemu. Ale, s JEA, můžete vytvořit to, co se nazývá omezený nebo delegovaný koncový bod. Stále se mohu připojit k serveru, ale pak mohu říci: „pouze tito lidé se mohou připojit k tomuto koncovému bodu A když se připojí, mohou spouštět pouze tyto příkazy.“

Paula:

což je docela v pohodě.

Jeffrey:

ještě dále mohu říci: „víte co? Mohou spouštět tyto příkazy, ale mohou používat pouze tyto parametry a pokud tyto parametry, mohou to být pouze tyto sady hodnot.“Můžete opravdu omezit to, co mohou dělat. Můžeme to vzít ještě dále, když to spojíme s dostatečným množstvím administrativních nástrojů. Existují dva nástroje JEA, které jsem vždy zmatený, kde můžeš, v podstatě, vytlačit koncový bod a přimět někoho, aby řekl: „Máte půl hodiny na to, abyste udělali svou věc, pak je tento koncový bod pryč a už nemáte přístup“.

PowerShell a remoting

společnost Microsoft uznává, že existuje určitě mnoho zranitelností. Lidé mohou určitě využít PowerShell a remoting, a děláme věci, aby to bylo těžší. Vzdělání je jeho velká část. Další věc s remotingem, protože jsme to zmínili, je spousta profesionálů, kteří si myslí, že jakmile zapnou PowerShell remoting, jsou hotovi.

ale není. PowerShell remoting, zapnutí, které musíte mít nyní, protože v systému Windows nemůžete spravovat věci. Je to opravdu jen první krok. Lidé zapomínají: „no, mohl bych nakonfigurovat pravidla brány firewall nebo použít IPsec. Existují všechny druhy síťových nástrojů, které máme. Úplně zapomínají: „Ach, je to PowerShell, skončil jsem.“ Č. To je opravdu jen první krok.

nemusíte mít všechny své servery přístupné z každé IP adresy z vašeho prostředí. Že?

Paula:

to je dobrý postřeh.

Jeffrey:

chci jen administrátory domény, vím, jaké jsou jejich desktopy. Pouze oni mají přístup, takže mohu dělat věci v síti moudře.

Paula:

můžeš to zkrátit.

Jeffrey:

nemůžu to zkrátit, takže to je něco, na co si myslím, že spousta profesionálů zapomíná. Prostě vidí PowerShell. Jsou nadšení. Jdou: „Ach, dálkové ovládání je zapnuté, mám přístup ke všem těmto krabicím, jsem dobrý jít. Pokud opravdu chcete být v bezpečí, máte více práce, kterou chcete udělat.

jak by PowerShell mohl zlepšit zabezpečení infrastruktury?

Paula:

Jo, Jo, rozhodně. Z naší strany také vidíme, že například existují společnosti, které chtějí implementovat řešení prevence provádění kódu, a ve výchozím nastavení, Dokonce i v aplikaci Outlook nebo ve Windows, máte možnost zapnout výchozí pravidla, jak jim říkají. Výchozí pravidla umožňují spustit vše, co je ve složce Windows a vše, co je ve složce program files.

zapomněli, že by to mohl být také nebezpečný nástroj, pokud je v rukou uživatele a uživatel neví, co má dělat. Je to stále uživatel, ale můžeme také například šifrovat data pomocí PowerShell a požádat o výkupné. Jen nápad, o kterém jsme také přemýšleli.

dobře, tak co si myslíte, jak by PowerShell mohl zlepšit zabezpečení infrastruktury a jak z něj udělat dobrý zabezpečovací nástroj pro naše servery, aby byl úspěšný vyhrát bitvu proti hackerům?

Jeffrey:

dobře, pár věcí, které mě napadnou. Nejprve PowerShell verze 5.1 je nyní k dispozici včetně down-level down na 2008 R2, což je, Doufejme, minimální úroveň, kterou lidé běží na svých serverech. To je něco, co bych lidi povzbudil k nasazení.

zkontrolujte README, takže neběžíte na serveru, který může mít některá zvláštní omezení, ale tuto námitku stranou, protože s 5.1 získáte všechny nejnovější bezpečnostní funkce, jako je protokolování a to vše. Takže první věc, ujistěte se, že používáte nejnovější verzi PowerShell. Další funkcí, o které si myslím, že by mohla skutečně spadat do kategorie zabezpečení, je DSC: Požadovaná Konfigurace Stavu.

Paula:

je to skvělá vlastnost.

Jeffrey:

protože s DSC mohu vytvořit konfiguraci, která řekne: „Chci, aby tento server vypadal takto.“Chci mít tyto servery, tyto klíče registru, tyto funkce, cokoli. Mohu buď nakonfigurovat server tak, aby jej vytáhl z centrálního serveru, nebo jej na něj zatlačit. Ale klíčové je, že mohu nakonfigurovat tento server a říct: „Hej, zkontrolujte každých 15 minut a pokud něco není v souladu, mimo konfiguraci, resetujte jej.“

Paula:

to je skvělé.

Jeffrey:

DSC je opravdu rámec. Bylo mi řečeno, že v USA je nějaká část Ministerstva obrany a používají DSC. Vytvořili vlastní nástroje a mají mechanismus, protože chtějí zkontrolovat rychleji než každých 15 minut, že pokud zjistí, že server nesplňuje požadavky, předpokládají, že byl porušen, a zabijí ho.

mají automatizované postupy pro vyvolání nového serveru, protože už vědí, jak má vypadat. Je to všechno automatizované, je to tak. Mohou zabít server nebo jej offline, aby to mohli později analyzovat a říct: „Dobře, co se stalo? Byl to skutečný problém nebo udělali někteří stážisté něco, co neměli dělat?“Ale použití DSC by byl skvělý způsob, jak se ujistit, že server je vždy nakonfigurován tak, jak chci, aby to bylo.

Paula:

což mě vlastně přivádí k zajímavému závěru, že DSC, například, by mohl být součástí plánu reakce na incidenty. Například, když máme problém, jsme hacknuti, jak jste řekl, jeden ze serverů je ovlivněn. Prostě to utřeme. Uvnitř máme plné pohodlí, že máme řešení, že to funguje docela dobře, aby se věci znovu vymyslely, a jsme zpět do provozu.

Jeffrey:

celý bod, který uslyšíte od společnosti Microsoft, je od Jeffreyho Snovera, že profesionálové v oblasti IT musí začít zacházet se svými servery jako s dobytkem, ne jako s domácími zvířaty.

Paula:

to je dobré srovnání.

časy, kdy jsme stavěli servery od nuly…

Jeffreyho:

nejdéle a já jsem v něm byl více než 25 let, postavili bychom server. Vytvoření serveru by vám trvalo týden. Musíte si objednat hardware, musíte dát všechno dovnitř, ručně načíst diskety, abyste získali všechno. Trvalo by to dlouho. Ten server byste láskyplně ručně vyráběli. Pokud se něco pokazilo, “ Oh, napravím tě, zlato. Budeš v pořádku.“

to už nemůžeme udělat. Prozatím jsou servery v cloudu. Nejsou na chodbě a tak. Teď se prostě rozhodneme, a nedáváme to nóbl, krásná jména. Je to jen číslo. Pokud je server ohrožen nebo nějakým způsobem selže, nemám čas se ho pokusit opravit. Jen udělám hamburger a zapálím nový stroj a pošlu konfiguraci a vím, že jsem dobrý jít. Naprosto.

jedna rada od Jeffrey Hicks pro ty, kteří se chtějí stát IT profesionály

Paula:

to je super. Zde přichází náročná otázka. Otázkou je: Pokud máme někoho, kdo je na samém začátku své kariéry, a podívá se na vás a řekne si: „Ach, chci být jako on, Chci znát všechny věci PowerShell a být skutečným geekem,“ co byste takovému člověku poradil?

Jeffrey:

jistě, existuje spousta knih a tak. Vlastně mám na svém blogu stránku pro základní zdroje PowerShell, protože se mi to neustále ptá. „Na jaké knihy se mám dívat? Jaká videa?“a to všechno. Samozřejmě jsem toho napsal a vytvořil hodně. Velká věc na učení PowerShell je, že je to jazyk. Je to, jako kdybych se pokusil naučit se polsky, musel bych ji používat každý den, abych v ní plynule ovládal.

PowerShell je stejný způsob. Musíte najít způsoby, jak ji používat každý den. To je číslo jedna s sebou.

Paula:

takže někdo by měl prostě trávit svůj čas a být tam každý den, studovat, naučit se číst knihy, a tak dále?

Jeffrey:

i když neděláte nic jiného než čtení témat nápovědy na nějakém příkazu jednou denně.

Paula:

Dobře. To by mohlo stačit. Jo, jako naučit se jedno slovo v cizím jazyce

Jeffrey:

přesně. Naučit se něco nového. Ale musíte ji použít.

rady pro pokročilejší…

Paula:

jistě, a co pokročilí kluci. Máte správce a infrastrukturu a on je jako vědět, samozřejmě, všechny ty věci, které spravuje, nebo spravuje a v podstatě ten chlap chce vědět víc v PowerShell, být lepší, být plynulý. Jakou radu byste dal takové osobě?

Jeffrey:

dám jim vlastně dvě malé rady. Jedním z nich je, otočit a sdílet své znalosti s mladší osobou, a to nejen proto, že je to správná věc, ale také ve skutečnosti se snaží formulovat své myšlenky. „Dobře, jak budu komunikovat nebo sdílet to, co vím?“Možná si uvědomíte,“ Oh, možná to nevím tak dobře, jak bych měl. Musím se vrátit a oprášit to.“Naučíte se trochu víc, když se snažíte někoho učit, nemáte jinou možnost, než se to opravdu naučit sami.

to by bylo číslo jedna. Druhým je, že musíte tuto myšlenku používat každý den na další úroveň. Musíte být osoba, která vytváří konfigurace DSC, a nástroje PowerShell, které používáte ke sledování serverů, abyste poskytli forenzní analýzu, pokud jste byli ohroženi.

budete se muset naučit nové věci, jako je.NET framework. Budete se muset naučit některé z pokročilých. Musíš začít přemýšlet. Přejděte na některé z tajných hackerských konferencí a naučte se špatné způsoby a najděte způsoby: „dobře, jak to mohu udělat v PowerShell?“Snažte se být aktivnější.

Paula:

je to jako malé rčení, že pokud máte pocit, že něco víte, můžete to dokonale vyzkoušet tím, že to vysvětlíte svému dědečkovi. Pak nejnovější technologie, můj dědeček bude jako, “ o čem to mluvíš?“Ale možná je to stejné jako s PowerShell? Musíte být schopni to vysvětlit mladším.

Jeffrey:

správně, pokud to nemůžete někomu vysvětlit nebo někoho naučit, pak to nevíte dost dobře.

Paula:

přesně, přesně.

když sníte v Powershell …

Jeffrey:

Používám PowerShell od doby, kdy byl v beta verzi. Napsal jsem jednu z prvních knih. Jdu do postele a sním: „Co mohu dělat v PowerShell.“

Paula:

sníte v PowerShell?

Jeffrey:

ve skutečnosti sním v PowerShell.

Paula:

Vážně? To je tak vtipné. Můžu se zeptat, jaké to je?

Jeffrey:

budu snít o něčem, nějakém scénáři, na kterém pracuji. Nebo nějaký projekt, který chci pracovat na další den. Říkám si: „tak se s tím problémem vyrovnám.“Ano, ano, ano. Když se učíte cizí jazyk, pokud začnete snít v tomto jazyce, pak jste se to naučili.

Paula:

studna, sním například v angličtině, protože pracuji v angličtině po celou dobu. Když jdu spát, říkám si: „dobře,“ začínám anglicky, pak si uvědomím: „no, hele, počkej, já jsem Polák, tak bych možná měl myslet ve svém rodném jazyce.“Ale takhle to nefunguje, jo?

Jeffrey:

to je známka toho, že máte opravdu.

Paula:

jste hluboko uvnitř.

Jeffrey:

vstřebali jste to a víte, co to je. Ano, přiznávám se všem, že sním v PowerShell.

 Jeffrey Hicks

Naučte se PowerShell za měsíc obědů

Paula:

to je dobře. Dobře, takže díky Jeffovi za pěkné postřehy. Myslím, že můžeme náš rozhovor trochu shrnout. Mluvili jsme o tom:

  • PowerShell by mohl být hackerský nástroj, ale je to spíše pro administrátora.
  • mohlo by to být také použito pro padouchy, pokud máme možnost jej použít v určité fázi hackování.
  • Just Enough Administration je také velmi pěkným řešením pro omezení funkčnosti PowerShell v něčí ruce.
  • konfigurace požadované konfigurace stavu je trochu výzvou, protože existuje tolik různých pohyblivých částí a je to jen rámec.

Jeffreyho:

není to jen na klíč, můžu udělat konfiguraci, mám hotovo. Je tu spousta pohyblivých kusů a musíte se rozhodnout, jak se to vejde do vašeho prostředí. Jo, DSC je tu klíčová část.

Paula:

je to klíčová část a abyste mohli plynule ovládat PowerShell, musíte strávit alespoň hodinu denně, možná kdybychom to mohli shrnout tímto způsobem, zaměřit se na různé druhy funkcí PowerShell a tak dále, nebo alespoň znát jednu délku CMD za den.

Jeffrey:

jednou z nejpopulárnějších knih v PowerShell je kniha, kterou jsem napsal s Donem Jonesem: „Naučte se Windows PowerShell za měsíc obědů“.

slibuje, že si během polední přestávky přečtete kapitolu, protože jsou dostatečně krátké. Čtete kapitolu, cvičíte a v průběhu měsíce byste měli vědět dost PowerShell, abyste byli alespoň zdatní. Nebudete to vědět 100%, ale budete vědět dost to začít.

Paula:

Mockrát vám děkuji, doufejme, vám se to líbí a ujistěte se, že pokud budete mít nějaké otázky k Jeffovi nebo k tomuto rozhovoru nebo k sobě, ujistěte se, že je zveřejníte v sekci komentářů níže.

Líbil se vám tento rozhovor? Podívejte se, kolik toho opravdu víte o kybernetické bezpečnosti! Otestujte se proti Paule Januszkiewiczové.

>>>vezměte ji HARDCORE Windows bezpečnostní kvíz<<<

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.