PsExec og den Ekle Ting Det Kan Gjøre

0 Comments

de Fleste av verktøyene vi bruker til å administrere nettverk har en tendens til å være et tveegget sverd. Disse verktøyene gir en stor grad av fleksibilitet og mulighet for lettere administrasjon av enheter, tjenester og programvare som er likt. I de rette hender vi har ingenting å bekymre seg for, men i feil hender våre eksterne verktøy for administrasjon bli kraftig våpen som kan brukes av angripere til å utføre et bredt spekter av ondsinnede aktiviteter., I denne artikkelen, jeg kommer til å snakke om et verktøy som passer til denne beskrivelsen. Dette verktøyet er Microsoft Sysinternals PsExec verktøyet. I denne artikkelen, jeg»m kommer til å gi en oversikt over hva PsExec er og hva dets muligheter er fra et administrativt ståsted. Som følge av dette, jeg kommer til å ta rollen som en motstander og demonstrere noen av de ekle ting den kan brukes i et nettverk.

Denne artikkelen har som mål å tjene to målgrupper., Den første publikum består av systemadministratorer som er ansvarlig for å beskytte sine nettverk fra bruken av verktøy som PsExec for skadelige formål. De andre hadde til hensikt å publikum består av etiske hackere og profesjonell penetrasjon tester som kan få noen ha nytte av å vite litt mer om noen av de tingene PsExec kan brukes til., Uavhengig av hvilket publikum du faller inn det viktig at jeg gir den ansvarsfraskrivelse som noen av kommandoene og teknikker jeg diskuterer her kan være ganske ulovlig, avhengig av omstendigheter de blir brukt, så oppfordrer jeg til å fortsette med forsiktighet hvis noen handlinger du tar kan være tvilsom.

Hva er PsExec?

PsExec verktøyet ble utviklet som en del av PsTools suite, som opprinnelig ble utviklet av Mark Russinovich Sysinternals, nå eid av Microsoft., Verktøyet er skapt som en kommandolinje basert remote administration tool og gir mulighet for ekstern kjøring av prosesser på andre systemer. Det er svært fleksibel i at det vil tillate bruk av alternative legitimasjonskravene i stedet for de av brukeren, utfører den, som betyr at du kan håndtere enheter som er atskilt av domene og nettsted grenser. Ikke bare kan PsExec kjøre programmer på systemet, men det kan også omdirigere konsollen input og output mellom systemene slik at du kan bruke interaktive verktøy eksternt.,

i Motsetning til de fleste Microsoft tilknyttet programvare, det indre arbeidet i PsExec er ingen hemmelighet, og er ganske grei. PsExec lar omdirigeringer av inngang og utgang av et eksternt startet kjørbare gjennom bruk av SMB og skjulte $ADMIN dele på det eksterne systemet. Med denne del, PsExec bruker Windows Service control Manager API for å starte PsExecsvc service på den eksterne system som skaper en navngitt pipe som PsExec kommuniserer med. Dette navngitt pipe er det som gjør at for input/output omdirigering tilbake til det systemet som ble lansert PsExec.,

Spiller på lag med PsExec

Som per den opprinnelige design, PsExec kan brukes til å gjøre en rekke svært nyttige ting som kan hjelpe systemadministratorer. Et slikt scenario som jeg har funnet meg selv i en rekke ganger er jeg»ve kjent DNS-navnet til datamaskinen, men ikke den eksakte IP-konfigurasjon innstillinger (DNS server, standard gateway, etc.). Under normale omstendigheter ville jeg bruke ipconfig på det lokale systemet for å finne ut av denne informasjonen., I de aller fleste tilfeller, dette kan bety at jeg ville ha for å kjøre til en annen plassering eller låne en bruker»s datamaskin, iboende å redusere deres produktivitet for dagen. Siden ipconfig har ikke evner til å løpe mot en ikke-lokal maskin, jeg kan bruke PsExec å starte det med hell, som vist i Figur 1.

Figur 1: Bruk av PsExec å starte ipconfig på et eksternt system

Etter PsExec er kalt, den eksterne datamaskinen er utpekt etter dobbel skråstrek (\\), etterfulgt av kommandoen ipconfig., Når du utfører PsExec det som standard til %SYSTEM% katalog på den eksterne systemet du prøver å kjøre kommandoen på, som er grunnen til at jeg ikke trenger å angi en full bane her. Til slutt, /alle-bryteren for ipconfig er angitt i rekkefølge til å sende alle tilgjengelige ipconfig informasjon.

en Annen vanlig gjennomføring av PsExec er å bruke det for distribusjon av oppdateringer, oppdateringer og hurtigreparasjoner. Selv om den typiske foretrukne metode å gjøre dette på er via Group Policy kan det være tilfeller der denne metoden er for treg., Jeg»har vært i mange situasjoner der jeg»ve nødvendig for å distribuere en høyt prioritert sikkerhetsoppdateringen som kan»t vente varigheten av standard group policy-oppdatere klokkeslett, så jeg»har slått til PsExec å distribuere filen i en raskere måte. Et eksempel på dette er vist i Figur 2.

Figur 2: Lansere en kjørbar patch eksternt

– kommandoen bildet ovenfor bruker noen ekstra funksjoner. Først, legg merke til at det er to datamaskinen navn, adskilt av komma etter dobbel skråstrek (\\)., PsExec gir deg mulighet til å angi flere mål enheter her, eller alternativt, en fil som inneholder en liste av enhet, navn eller adresser. Kommandoen også omfatter /c-bryteren, som brukes når du ønsker å angi en fil på det lokale systemet for å bli henrettet på det eksterne systemet. I dette tilfellet er jeg»ve spesifisert fil-patch.exe. Filen er plassert på min lokale system på roten på C-stasjonen, så jeg»ve måtte oppgi hele filbanen. /C-bryteren ser i %SYSTEM% katalog på den lokale systemet som standard., Som du kan se, den filen er utført vellykket og resultatet er sendt tilbake til den lokale konsollen kjører vi PsExec fra.

En siste treningskamp bruk av PsExec jeg»ve funnet å være veldig praktisk, er å bruke det til eksternt administrere systemer av en høyere privilegium nivå mens du bruker et system under en lavere privilegert konto. Jeg kan»t telle antall ganger jeg»har vært på stedet for å jobbe på en brukers datamaskin, og jeg»har fått en samtale som krever meg for å utføre en administrativ funksjon, for eksempel en endring av passord., Selvfølgelig, i et Active Directory-miljø kan jeg bare RDP til en domenekontroller, og utfører denne endringen, men jeg»har hatt flere kunder som don»t å bruke active directory-eller RDP for ulike grunner. Når det er tilfelle, sin relativt enkelt å sette inn en USB-flash-stasjon og få tilgang til kopi av PsExec jeg har installert på den. I tilfelle av Figur 3, jeg»ve brukt PsExec for å tilbakestille en brukers passord på et system ved å heve privilegier» av netto verktøy som er utført av PsExec.,

Figur 3: Endre en bruker»s passord ved å heve PsExec»s privilegier

Gjør Ekle Ting med PsExec

Nå, la»s ta en spasertur på den mørke siden og se på noen ting som kan gjøres med PsExec av dem med potensielt onde hensikter. First off, la»s vurdere en situasjon der en angriper har fått legitimasjon for et system, men doesn»t har noen direkte tilgang til det., I dette tilfellet er det angriperen som har som mål å få GUI eller kommandolinje kontroll av systemet, men de veier som er tilgjengelig for bruk av disse legitimasjon kan være begrenset. En metode som kan være nyttig i denne situasjonen er å bruke PsExec å kjøre en bakdør kjørbar på systemet, som det er vist i Figur 4.

Figur 4: En ondsinnet kjørbar blir lansert eksternt

I tilfelle av denne skjermdumpen en ekstern angriper er å bruke PsExec med /c-bryteren for å kjøre den lokale filen nc.exe på det eksterne systemet., Sammen med dette,- u og -p brytere brukes til å angi den kompromitterte brukernavn og passord, slik at filen kan utføres med rot-nivå privilegier. Unbeknownst til offeret, filen blir stille utført i faktisk en bakdør som vil tillate en angriper å koble til systemet, og få en administrativ ledeteksten.

En interessant ting om angrepet som vi kikket på er at du faktisk don»t trenger selv en bruker»s passord for å utføre den. I alle virkeligheten, er alt du trenger brukernavn og passord-hash av brukeren., I Windows, matematiske beregninger brukes til brukeren levert passord for å gjøre de passord i en kryptert med fast lengde string, som kalles en hash. Disse hash-koder er en sikkerhetsfunksjon er utformet for å holde klartekst passord overføres over et nettverk. Når godkjenning oppstår, disse passord-hasher er sendt fra en vert til en annen. Ved hjelp av PsExec dette kan bli tatt fordel av av bare å forsyne passord-hash i stedet for passordet, er vist i Figur 5.,

Figur 5: Bruk en passord-hash å kjøre en fil eksternt

Dette eksemplet er den samme som en har sett i Figur 4, er den eneste forskjellen er at en passord-hash er brukt i stedet for passord. Det mottakende systemet har ingen problem med å akseptere denne hash for godkjenning. Det finnes en rekke metoder for å få tak i passord-hasher som er litt utenfor omfanget av denne artikkelen. Jeg»har skrevet en artikkel om dette emnet som sees her.,

et Annet lurt triks som PsExec gjør mulig, er evnen til å få tilgang til filer og gyte prosesser med SYSTEMET innebygd konto. SYSTEMET konto på en Windows maskin er den kraftigste konto, og du får tilgang til ganske mye annet, inkludert noen elementer som er»t tilgjengelig med administrator-konto og bruker opprettet kontoer.. Figur 6 gir et eksempel for å få tilgang til regedit programmet.,

Figur 6: Tilgang til registret av offeret

– kommandoen ovenfor er å kjøre direkte på et lokalt system, men angir -s-bryteren for å bruke det lokale SYSTEMET konto. Dette er kombinert med -I (interaktiv) som går inn regedit i interaktiv modus. Kjører denne kommandoen vil lansere inn regedit med tilgang til SYSTEMET, noe som gir flere tilgang til noen interessante filer. Et eksempel på dette er den SAM-fil som inneholder brukernavn passord-hasher., Gitt rett motivasjon, kan en angriper tilgang til et system og PsExec kan enkelt trekke ut alle passord-hasher fra systemet ved hjelp av denne teknikken, og potensielt gi ham med informasjon som kan gi mulighet for kompromiss av andre systemer eller kontoer.

Noen Begrensninger

Legitimasjon i det klare – Hvis du er bekymret for hvem som kan være lytter på nettverket aktivitet så PsExec er trolig ikke det beste verktøyet å bruke., PsExec overfører alle brukerlegitimasjon som leveres til det i den klare, noe som betyr at hvis du angir et brukernavn og passord for å få tilgang til et system eksternt, alle med en kopi av Wireshark eller Tcpdump kjører kan fange opp de legitimasjon.

Antivirus-Påvisning – Denne brukes til å ikke være så mye av et problem, men nå som de fleste virusskanning programmer gjøre noen grad av system og minne overvåking de fleste av dem vil fange PsExec blir brukt på systemet de er overvåking., Hvis du gjør en penetrasjon tester på et Windows-system og PsExec er»t fungerte som det skulle være så sjansene er du å bli blokkert av antivirus, og enda verre, du kan være å la sluttbrukeren vet at du leker med deres system.

PsExec og Metasploit – Når det er mulig jeg har aldri bruke PsExec av seg selv lenger. En modifisert versjon av PsExec er nå inkludert i Metasploit Rammeverk. Metasploit er en penetration testing rammeverk som gir ganske mye funksjonalitet., Hvis du ønsker å bruke PsExec for noen form for sikkerhet vurdering deretter vurdere å se inn den ekstra funksjonaliteten Metasploit gir med det. Jeg har faktisk brukt denne versjonen av PsExec i en artikkel jeg skrev tidligere på Bestått Hash-teknikker.

Konklusjon

PsExec verktøyet har mange bruksområder for en rekke intensjoner av brukeren. Forhåpentligvis vil denne artikkelen har bidratt til å utdanne deg på noen av funksjonene og hvordan de kan brukes for galt å gjøre. PsExec er den type verktøy som gjør det mulig for en angriper å være kreativ., Selv om jeg har bare dekket et par unike bruk av verktøyet her vil jeg våge å si at dusinvis eller hundrevis av interessante angrepsvektorer er tilgjengelige ved hjelp av sin funksjon sett. På et tidspunkt vil jeg tenkt på å skrive en oppfølging artikkelen inneholder mer interessant og avansert bruker for PsExec. I mellomtiden, hvis du har noen interessante PsExec triks så føl deg fri til å skrive til meg direkte for inkludering i den neste artikkelen.


Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *