Meny
Är gratis
registrering
Hem  /  Råd/ Hur man döljer data i NTFS-strömmar. Funktioner i NTFS-filsystemet

Hur man döljer data i NTFS-strömmar. Funktioner i NTFS-filsystemet

I detta ämne ska jag titta på fyra typer av metadata som kan bifogas en fil eller katalog med hjälp av filsystem NTFS... Jag kommer att beskriva de syften för vilka den eller den typen av metadata kan användas, jag kommer att ge ett exempel på dess tillämpning i någon Microsoft-teknik eller programvara från tredje part.

Vi kommer att prata om repareringspunkter, objekt-ID och andra typer av data som en fil kan innehålla förutom sitt huvudinnehåll.

Objektidentifierare det är 64 byte som kan bifogas till en fil eller katalog. Av dessa gör de första 16 byten det möjligt att unikt identifiera filen i volymen och referera till den inte med namn, utan med identifierare. De återstående 48 byten kan innehålla godtyckliga data.

Objekt-ID finns i NTFS med Windows tider 2000. I själva systemet används de för att spåra platsen för filen som hänvisas till av genvägen (.lnk). Låt oss säga att filen som genvägen refererar till har flyttats inom volymen. När du startar genvägen öppnas den ändå. Särskild windows tjänst om filen inte hittas kommer den att försöka öppna filen inte med sitt namn, utan med en tidigare skapad och sparad identifierare. Om filen inte raderades och inte lämnade volymen öppnas den och genvägen pekar på filen igen.

Objektidentifierare användes i iSwift-tekniken för Kaspersky Anti-Virus 7 version. Denna teknik beskrivs enligt följande: Tekniken är designad för fil NTFS-system... I detta system tilldelas varje objekt en NTFS-identifierare. Denna identifierare jämförs med värdena i den speciella iSwift-databasen. Om värdena för databasen med NTFS-identifieraren inte stämmer överens, skannas objektet eller kontrolleras igen om det har ändrats.

Ett överflöd av skapade identifierare orsakade dock problem med att skanna disken med standardverktyget chkdsk kontrollerar, det tog för lång tid. I nästa versioner av Kaspersky Anti-Virus används inte längre NTFS-objekt-ID.

Återställningspunkt

I NTFS-filsystemet kan en fil eller katalog innehålla en reparse-punkt, som översätts till ryska som Återställningspunkt... Särskilda data läggs till i filen eller katalogen, filen upphör att vara en vanlig fil och endast en speciell filsystemsfilterdrivrutin kan bearbeta den.

Det finns återställningspunkter på Windows som kan hanteras av systemet självt. Till exempel kan reparera punkter i Windows implementera symboliska länkar och kopplingspunkter, samt monteringspunkter för volymer till en katalog.
Återställningsbufferten som är kopplad till filen är en buffert med en maximal storlek på 16 kilobyte. Det kännetecknas av närvaron av en tagg som talar om för systemet vilken typ av återbetalningspunkt som är. När du använder en återställningsbuffert av din egen typ måste du också ange GUID i den i ett speciellt fält, och den kanske inte finns i Microsofts återställningsbuffert.

Vilka typer av återköpspunkter finns det? Jag kommer att lista de tekniker som använder återställningspunkten. Dessa är Single Instance Storage (SIS) och Cluster Shared Volumes i Windows Storage Server 2008 R2, Hierarchical Storage Management, Distributed File System (DFS), Windows Home Server Drive Extender. Det här är Microsoft-tekniker; det finns inga tredjepartstekniker som använder återställningspunkter här, även om det finns några.

Utökade attribut

Utökade filattribut... Om dem var. Det är bara värt att nämna här att denna teknik praktiskt taget inte används under Windows. Från den jag känner programvara endast Cygwin använder utökade attribut för att lagra POSIX-behörigheter. En enskild fil på NTFS kan ha antingen utökade attribut eller en återställningspunktsbuffert. Samtidig installation av båda är omöjlig. Maximal storlek av alla utökade attribut för en fil är 64 KB.

Alternativa dataströmmar

Ytterligare filströmmar. Förmodligen vet alla redan om dem. Jag kommer att lista huvuddragen i denna typ av metadata: namngivning (det vill säga en fil kan ha flera strömmar, och var och en har sitt eget namn), direktåtkomst från filsystemet (de kan öppnas med formatet "filnamn, kolon, strömnamn"), obegränsad storlek , möjligheten att starta en process direkt från tråden (och möjligheten att implementera genom detta).

Används i iStream-tekniken för Kaspersky Anti-Virus. De används i själva Windows, till exempel när man laddar ner en fil från Internet bifogas en Zone.Identifier-ström som innehåller information om varifrån den togs emot den här filen... Efter att ha kört den körbara filen kan användaren se meddelandet "Det går inte att verifiera utgivaren. Är du säker på att du vill köra det här programmet?".

Så användaren är given ytterligare skydd från den tanklösa lanseringen av program erhållna från Internet. Detta är bara en användning för strömmar, och de kan lagra en mängd olika data. Det tidigare nämnda Kaspersky Anti-Virus lagrade kontrollsummor för varje fil där, men senare övergavs även denna teknik av någon anledning.

Något annat?

Finns det några fler säkerhetsidentifierare, plus standardfilattribut som inte är direkt tillgängliga, även om de också är implementerade som filströmmar. Och de, och utökade attribut, och reparse och objekt-id är alla filströmmar ur systemets synvinkel. Det är ingen idé att direkt ändra SEC, som visas i följande bild som :: $ SECURITY_DESCRIPTOR, låt systemet göra det. Systemet i sig ger inte direkt tillgång till andra typer av strömmar. Så det är det.

Att se innehållet i objekt-id, repareringspunkter samt arbeta med utökade attribut och alternativa filströmmar är möjligt med programmet

Synbart osynligt

Bloggläsaren Victor kunde inte köra PowerShell-skriptet som laddats ner från Internet. Noggrann läsning av mina instruktioner undvek problemet, men det var inte rotat i PowerShells strikta säkerhetspolicyer.

Victor laddade ner från TechNet-galleriet arkivet med PSWindowsUpdate.zip-skriptet för Windows-hantering Uppdatering som jag pratade om. Det uppackade manuset vägrade dock att fungera. När jag föreslog för läsaren att det första stycket i mina instruktioner säger om behovet av att låsa upp arkivet gick allt som på räls.

Victor bad att förklara varför systemet blockerade skriptet och hur vet det att arkivet laddades ner från en annan dator.

För att vara ärlig är dagens ämne inte nytt, men jag bestämde mig för att ta upp det på min blogg av flera anledningar:

  • Många artiklar skrevs tillbaka in Windows tider XP eller Windows 7 och tar inte hänsyn till de inbyggda funktionerna i nyare Microsoft-operativsystem.
  • I en av de artiklar som planeras för den närmaste framtiden berörs detta ämne, och det är lättare för mig att referera till materialet, för vars relevans och riktighet jag själv ansvarar.
  • Bloggen har en stor publik, och för många läsare kommer detta ämne fortfarande att vara en nyhet :)

Idag i programmet

NTFS-dataströmmar

Windows hämtar information om källan till filen från den alternativa dataströmmen (ADS) i NTFS-filsystemet. I filens egenskaper skriver hon blygsamt att han är från en annan dator, men i själva verket vet hon lite mer, som ni kommer att se längre fram.

Ur ett NTFS-perspektiv är en fil en samling attribut. Innehållet i filen är ett dataattribut som heter $ DATA. Till exempel en textfil med raden "Hello, World!" har dataattributet "Hello, World!"

I NTFS är attributet $ DATA en dataström och kallas primär eller namnlös eftersom ... det inte har något namn. Formellt ser det ut så här:

$ DATA: ""

  • $ DATA- namn attribut
  • : - avgränsare
  • "" - namn flöde(i det här fallet saknas namnet - det står inget mellan citattecken)

Intressanta egenskaper hos alternativa dataströmmar

I samband med exemplen ovan vill jag peka på några intressanta punkter.

Osynliga förändringar

Efter att ha skapat en textfil med det första kommandot kan du öppna den i textredigerare och se till att alla ytterligare manipulationer inte påverkar innehållet i filen på något sätt.

Det blir intressant när filen öppnas, säg, i Notepad ++. Denna redigerare kan varna för filändringar. Och det kommer att göra detta när du skriver den alternativa strömmen till filen, men innehållet förblir detsamma!

Spela in och visa ADS från CMD

ADS kan skapas och visas från kommandoraden. Följande kommandon skriver dold text till en andra ADS som heter MyStream2 och visar den sedan.

Echo Hidden Text> C: \ temp \ test.txt: MyStream2 mer< C:\temp\test.txt:MyStream2

Visa ADS i textredigerare

Samma Notepad ++ kommer att visa dig innehållet i ADS, om du anger namnet på strömmen på kommandoraden

"C: \ Program Files (x86) \ Notepad ++ \ notepad ++. Exe" C: \ temp \ test.txt: MyStream1

Resultat:

Med anteckningar kommer detta trick bara att fungera om det finns i slutet av strömnamnet .Text... Kommandona nedan lägger till en tredje ADS och öppnar den i anteckningsblocket.

Echo Hidden Text> C: \ temp \ test.txt: MyStream3.txt anteckningsblock C: \ temp \ test.txt: MyStream3.txt

Resultat:

Blockerar nedladdade filer

Låt oss gå tillbaka till frågan en läsare ställde till mig. Huruvida filen kommer att blockeras beror i första hand på programmet där den laddades ner, och för det andra på OS-parametrarna. Så alla moderna webbläsare stöder blockering, och det ingår i Windows.

Kom ihåg att när ett arkiv är låst kommer alla uppackade filer att ärvas låsta. Kom också ihåg att ADS är en NTFS-funktion, dvs. ingen låsning sker när man sparar eller packar upp ett arkiv på FAT32.

Visa information om källan till en låst fil

I PowerShell, gå till mappen med den nedladdade filen och se information om alla strömmar.

Get-Item. \ PSWindowsUpdate.zip -Stream * Filnamn: C: \ Users \ Vadim \ Downloads \ PSWindowsUpdate.zip Strömlängd ------ ------: $ DATA 45730 Zone.Identifier 26

Som du redan vet är $ Data innehållet i filen, men ADS visas också i listan. Zone.Identifier... Detta är en tydlig antydan om att filen mottogs från någon zon. Vet du var den här bilden kommer ifrån?

För att ta reda på zonen måste du läsa innehållet i ADS.

Get-Content. \ PSWindowsUpdate.zip -Stream Zone.Identifier ZoneId = 3

Uppenbarligen syftar det till batchupplåsning (till exempel när arkivet redan är uppackat). Kommandot nedan kommer att låsa upp alla filer som innehåller i namnet i mappen Nedladdningar PS:

Dir C: \ Nedladdningar \ * PS * | Avblockera-fil

Naturligtvis finns det alla möjliga verktyg med grafiskt gränssnitt, även de som vet hur man integrerar sig i innehållsmeny... Men enligt mig räcker det med PowerShell eller i värsta fall streams.

Hur man förhindrar filblockering

Grupppolicyn ansvarar för att blockera. Lagra inte information om ursprungszonen för bilagor. Som namnet antyder är blockering standard Windows-beteende och policy låter dig ändra det.

Det framgår dock inte av namnet att policyn inte bara gäller postbilagor, men även filer som laddats ner från Internet. Läs mer om Attachment Manager i KB883260.

I redaktörens hemupplagor grupppolicyer nej, men ingen avbröt registret: SaveZoneInformation.zip.

Andra exempel på praktiska ADS-applikationer

Omfattningen av ADS är inte begränsad till att lägga till en zon av den nedladdade filen, precis som det inte alls är nödvändigt att endast lagra text i ADS. Alla program kan använda denna NTFS-funktion för att lagra alla typer av data, så jag kommer bara att ge ett par exempel från olika områden.

Infrastruktur för filklassificering

Om författaren

Intressanta grejer, tack. Jag lärde mig något nytt om PowerShell, som jag fortfarande inte kan mycket :)

För att kommunicera med min familj använder jag ofta WhatsApp - hittills har det varit minst problem med den här tjänsten, även mina föräldrar har vant sig vid det. Kontakten är också främst till familjen, även om meddelandeutbytet där främst sker kring de publicerade albumen med bilder och filmer. Vissa släktingar förblir Viber trogna - det fungerade inte bra med mig på något sätt, jag behåller det bara åt dem, och överger inte försöken att dra dem till WhatsApp.

För arbete främst Slack, när något brådskande är WhatsApp, är mycket brådskande SMS. VKontakte för kommunikation med omvärlden.

Jag använder bara Skype för videosamtal, mest med min familj igen. Jag skulle gärna ersätta den med WhatsApp om det fanns videosamtal.

urix

Viber har nu videosamtal och till och med videosamtal för skrivbordsversionen. Så kanske Viber blir nästa skype ... på ett bra sätt

Andrey Kuznetsov

Materialet är intressant, tack. Jag visste om existensen av trådar, men visste inte att det var så lätt att arbeta med dem genom PowerShell.
När det gäller IM: När det gäller Skype har jag bara klagomål på lanseringstiden Windows-telefon... Det finns inga sådana problem på ipad och Windows. Jag använder den för röstkommunikation, när det av någon anledning är obekvämt att använda GSM.
Och korrespondensen via Whatsapp. Närvaron av det bara på telefonen är snarare ett plus ur integritetssynpunkt.

  • Andrey Kuznetsov: Och korrespondensen via Whatsapp. Närvaron av det bara på telefonen är snarare ett plus ur integritetssynpunkt.

    Andrey, förklara vad som är pluset här

Pavlovsky Roman

1. Jag använder oftast: Skype och Hangouts - för arbete på en PC, för resten av VKontakte-korrespondens från vilken enhet som helst, eftersom klienter vanligtvis använder Skype för jobbet, och vänner och bekanta i sociala nätverk.

2. Helst skulle jag vilja använda: Jabber - för korrespondens och samtal från vilken enhet som helst. När det gäller mig kan klienten installeras på vilken enhet som helst och överensstämma, var användaren än är, även på en svag internetanslutning + till detta kan du distribuera din jabber-server och lagra all korrespondens på servern, så att du senare snabbt kan hitta önskad korrespondens. om klienten inte vet hur man lagrar historik, och plugins för samtal via jabber kan hittas (till exempel via samma SIP Asterisk 1.8+)

Andrey Bayatakov

Oftast använder jag WhatsApp (främst för jobbet), för samtal (ljud / video / internationella samtal) Skype. Även om skrivbordet Skype är fruktansvärt irriterande (jag har en transformator och hemma använder jag den främst som surfplatta) ... Viber slog inte rot. För att ringa via WhatsApp behöver du bara ha järnnerver. Säg något till din samtalspartner och vänta en minut eller två när han hör dig (50Mbit-anslutning) ...
Det skulle vara möjligt att byta helt till Skype. På Windows 10 Mobile, efter en nyligen genomförd uppdatering, går meddelanden från Skype direkt till den inbyggda Messages-appen (som SMS), vilket är väldigt bekvämt.

Maxim

1. Motvilligt använder jag ICQ (för retrograda kunder) och Slack (för mer moderna).
2. Jag skulle vilja använda Jabber - av samma skäl som Roman Pavlovsky ovan.

Vladimir Kiryushin

Hej Vadim!
Innan den här artikeln läste jag din artikel om hur man läser kassarapporten för allt systemdisk med kommandot chkdsk. Jättebra artikel! Tack vare henne fick jag idag, efter att ha kontrollerat systemdisken med kommandot chkdsk, en textrapportfil. Och den här artikeln klargör också en hel del saker i PowerShell-programmet... Vissa saker är obegripliga för mig som pensionär, men jag försöker att inte få panik och läser flitigt till slutet. Tack för dina studier hos oss! Allt gott till dig!

Lecron

Vilka webbläsare och nedladdare skapar denna stream?

Vilka andra alternativ finns det för användaren att använda strömmar? Och i synnerhet en användare av en manusförfattare? Sedan, även om jag visste om dem länge, använde jag dem aldrig. I verkligt arbete med en dator kommer du helt enkelt inte ihåg dem, och på grund av detta kan du göra kryckor istället för bekvämt verktyg, men utan detta arbete, från minnet, är det omöjligt att komma på någonting.
Jag tänkte bara på ett alternativ. En kommentar till filen om det inte finns möjlighet eller önskan att skriva lång text i filnamnet. Men detta kräver stöd från filhanteraren, som tidigare, och även nu, skriver dem till descript.ion eller files.bbs.

Hastighetsguru

En annan sopteknik som USN magazine. Hur mycket kommer du att dra nytta av en ZoneIdentifier eller ett virus kopplat till en fil eller mapp? Självklart inte. Dessutom belamrar detta systemet med onödiga "underfiler" som inte på något sätt är nödvändiga för en normal användare. Varje extra läsning i MFT-katalogen och andra operationer som åtföljer underhåll och underhåll av alternativa strömmar är extra förbrukade processorcykler, random access minne, och viktigast av allt, en extra belastning på hårddisken.
Du kan berätta för mig att systemet verkligen behöver den här tekniken. Men detta är nonsens - systemet skulle fungera bra utan trådar. Men ingen frågar användaren - de tvingades (som en USN-journal) och de gav inte möjlighet att helt inaktivera underhållet av dessa strömmar. Men jag som användare behöver dem inte alls, jag tror lika bra som du ...
Allt vi kan göra är att "strömma -s -d% systemdrive%". Men även detta gör det inte möjligt att ta bort trådar på systempartitionen.

Alexiz kadev

Namngivna strömmar är en fantastisk sak, och de fanns, så vitt jag minns, från den första utgåvan av NTFS. I namngivna strömmar är det bekvämt nog att lagra till exempel dokumentversioner, vilket, om jag inte har fel, ett antal applikationer har gjort. Men det återstår ett bakhåll med kopiering till ett annat filsystem - namngivna strömmar är helt enkelt avskurna.

Det är synd att det var omöjligt att välja flera budbärare i röstningssystemet: jag använder flera, eftersom några av mina kontakter föredrar vissa. Så jag använder WhatsUp, ICQ (dock, naturligtvis inte en inbyggd klient), Skype, SkypeforBusiness (tyst skräck, inte en klient, men när det hette Lync var det ännu värre) och Viber (här finns det mer spam än i andra minst en gång vid 5).
Och helst, använd en, till exempel Miranda med plugins, eftersom det helt enkelt är orealistiskt att hitta, om nödvändigt, vem som sa / skrev något var och i hela den här högen. Men tyvärr, ett antal tillverkare stänger sina protokoll och skyddar dem som Kaschey deras nål.

  • VSh

    Vadim Sterkin: Roman, jag tog inte med Jabber i undersökningen. Jag bestämde mig för att väldigt få människor använder det och det finns inga framtidsutsikter.

    Förgäves
    Till exempel använder jag OpenFire (freeware xmpp) som en kontorskommunikatör på flera domäner.

    Därför är min huvudsakliga XMPP (Pidgin.exe, Spark.exe), men 99,8% av dessa meddelanden är intradomän.
    Skype - för extern IM
    WhatsApp och Viber - för "slumpmässiga kontakter", de senaste n månaderna bara SPAM, tror jag - ska jag ta bort det?

  • Artem

    Av någon anledning är allt i min vibe. Och kvaliteten på anslutningen är ganska tillfredsställande. Och så skulle telegrammen vara. Ja, tomt där.

    hazet

    1. Skype (på PC) och Viber (på mobil). Skälen är i princip desamma som för majoriteten - antalet befintliga kontakter och, naturligtvis, motviljan hos just dessa kontakter att byta till en annan budbärare.
    2.uTox. Miniatyr, inget överflödigt, klient för Win, Linux, Mac och Android. Placerad som skyddad.
    P.S. Nu ska jag börja dra mina kontakter till honom hårdare :-)

    Evgeny Karelov

    Tack för ditt arbete!

    När det gäller undersökningen, på en PC för korrespondens använder jag QIP 2012, till vilken kontakter från ICQ, VKontakte och andra är anslutna. Personligen är det bekvämt för mig att använda ett program för att kommunicera över flera protokoll. Och möjligheten att se flöden i sociala medier från ett ställe är mycket uppmuntrande. Helst är det enda som saknas stödet för Skype, som jag använder för röstkommunikation, men det dyker uppenbarligen inte upp.
    Även om det här programmet ser "övergivet ut", eftersom det inte har funnits några uppdateringar på länge, utför det de tilldelade funktionerna perfekt.

    straffer

    Intressant mix från ämnet för inlägget om dataströmmar och omröstning på IM.

    Enligt undersökningen: Jabber / Jabber, som du inte borde ha inkluderat i listan, även om det finns en WhatsApp baserad på XMPP, och till och med en sökning efter framgång.

    Jabber, i allmänhet, löser alla dessa problem på grund av protokollets öppenhet, närvaron av klienter för många plattformar och närvaron av servrar som du kan höja själv. Men det är mer traditionellt att tugga kaktusar, ja.

    • Klienter är listade, inte protokoll.
      ICQ ... ja, jag satte inte uttryckssymboler där, för det borde vara tydligt ändå.
      Jabber löser inte precis ett problem - det finns ingen där.

      • straffer

        Vadim Sterkin: Klienter är listade, inte protokoll.

        På grund av att protokollet och källkoder den officiella klienten är stängd, en naturlig identitet etableras mellan den enda klienten och protokollet.

        Vadim Sterkin: ICQ ... ja, jag satte inte uttryckssymboler där, för det borde vara tydligt.

        Det räcker inte för ett ruttet postlås att asechkan dör en naturlig död - de gör också ytterligare ansträngningar för att få den att böjas snabbare.

        Vadim Sterkin: Jabber löser inte precis ett problem - det finns ingen där.

        Ändå, för Telegram, skrev du själv

        ser bra ut, men den är tom (kan fixas)

        Jabber hade alla chanser att bli vad e-postekosystemet är idag (fullständig öppenhet i protokollet, möjligheten att höja sina servrar till vem som helst och tillhandahålla interaktion mellan servrar, etc.), men företag behöver inte detta, vilket tydligt syns i exemplet med avvikelsen från det google eller proprietära Whatsapp.

        • För Telegram - fixbar, för Jabber - mycket osannolikt. Därför finns den första på listan, men den andra inte.

          • straffer

            Naturligtvis är Telegram snygg, moderiktig, ungdomlig, och ingen cool som Pasha Durov flyttar Jabber. Vilka är utsikterna här.

            Um ... gå ur din tank av "hela världen mot fri programvara" konspirationsteorier. Allt mycket enklare

            Om det inte är klart, så ser den första upplevelsen av att interagera med den officiellt rekommenderade Jabber-klienten på den vanligaste mobilplattformen ut för en person.

            straffer

          • Jag förstod inte lite var i min kommentar om konspirationen.

            Ja, överallt :) Du försöker avskriva jabbers misslyckanden som omoderna och inte unga, medan hans klienter från första skärmen inte är anpassade till den moderna verkligheten.

            Vad ska jag se på skärmdumpen?

            Fråga om du vill ange telefonnummer ~~~ O ~

          • straffer

            straffer: Du försöker avskriva jabbers misslyckanden som omoderna och inte ungdomliga

            Tja, i så fall.

            straffer: medan hans kunder från första skärmen inte är anpassade till den moderna verkligheten.

            De där. till det nuvarande modet, som att avslöja ditt telefonnummer för alla. För jag förstår inte varför man ska införa det om det inte behövs för att systemet ska fungera, för mig är det så perfekt att de inte ber om det här.

            Egentligen vägrade jag att kontrollera, trots de få återstående kontakter där, av just denna anledning - meyrushechka i ultimatumform krävde att binda telefonnumret till kontot, som ett resultat av vilket hon skickades till kända koordinater.

            Ja, du förstår inte, även efter förklaringarna med bilder ... Detta är inte ett mode, detta är det enda sättet att förenkla registreringen så mycket som möjligt med Mobil enheter, som utgör grunden för publiken av moderna snabbmeddelanden och den enda källan till dess tillväxt.

            straffer

            I skärmdumpen, en begäran om ett namn, lösenord och valfritt smeknamn. Var är det starkare att förenkla något? Eller, förutom eleverna på kriminalvårdsskolor, finns det inga fler reserver kvar för publiktillväxt, och det är nödvändigt att det fanns en knapp "gör det för * s"?
            Varför finns det ett telefonnummer överhuvudtaget och vad ska en budbärare göra med ett telefonnummer?

  • NTFS-filsystemet har många intressanta funktioner, varav en är tillgången till alternativa dataströmmar (ADS). Deras kärna är att varje fil i NTFS är en uppsättning strömmar där data lagras. Som standard finns all data i huvudströmmen, men vid behov kan du lägga till ytterligare data till filen, alternativa strömmar data.

    Notera. Alternativa dataströmmar i NTFS dök upp för länge sedan, tillbaka i Windows NT. De skapades för kompatibilitet med HFS-filsystemet, som sedan användes på MacOS. HFS lagrade fildata på en dedikerad resursström.

    Filer i NTFS är indelade i attribut, varav ett är $ DATA, eller dataattribut. Strömmar är ytterligare egenskaper för $ DATA-attributet. Som standard finns det en, huvudtråden $ DATA: ″ ″... Som du kan se har den inget namn, därför kallas den namnlös... Om du vill kan du också skapa ytterligare namngivna strömmar, till exempel. $ DATA: ″ Stream1 ″... Varje fil i NTFS kan ha flera dataströmmar som innehåller olika, orelaterade data.

    All data som skrivs till filen går till huvuddataströmmen som standard. När vi öppnar filen ser vi exakt huvudströmmen, medan de alternativa strömmarna är dolda för användaren och inte visas med konventionella metoder. De kan inte ses standardsätt, även om vissa program kan läsa data som är gömda i dem. För att arbeta med strömmar kan du också använda kommandorad.

    Låt oss till exempel öppna konsolen och använda kommandot echo för att skapa en textfil streams.txt och skriva in texten i den:

    echo Detta är main stream> streams.txt

    Och med följande kommando, skriv texten till den alternativa strömmen1:

    echo Detta är alternativ ström> streams.txt: ström1

    Om vi ​​nu öppnar streams.txt-filen i valfri textredigerare ser vi bara den första posten, texten "Detta är alternativ ström" kommer att förbli dold. Du kan läsa informationen gömd i stream1 med kommandot:

    Mer

    Alternativa strömmar kan läggas till inte bara till enskilda filer utan också till kataloger. Låt oss till exempel lägga till en alternativ stream stream2 som innehåller texten "Göm stream i Streams" till den aktuella Streams-katalogen:

    echo Göm ström i strömmar>: ström2

    Och vi kommer att visa stream stream2 med följande kommando:

    Mer<:stream2

    Innehållet i alternativa strömmar kan öppnas i mer än bara konsolen. Till exempel kan Notepad också komma åt data som är gömd i strömmar, om du anger namnet på en alternativ ström i filnamnet avgränsat med ett kolon. Låt oss upprepa det föregående exemplet och ändra namnet på strömmen något till stream1.txt:

    echo Detta är alternativ ström> streams.txt: stream1.txt

    Och öppna en alternativ ström i anteckningsblocket med kommandot:

    anteckningsblock streams.txt: stream1.txt

    Notera. Standard Notepad kräver tillägget txt i strömnamnet, annars kommer det inte att kunna öppna det. Mer avancerade redigerare, till exempel samma Notepad ++, kan visa innehållet i den alternativa strömmen oavsett namn.

    Förekomsten av alternativa strömmar i en fil visas inte på något sätt i Explorer och andra filhanterare... För att hitta dem är det enklaste sättet att använda kommandot dir / R(börjar med Windows Vista), som visar alla dataströmmar, inklusive alternativa.

    Du kanske tror att användningen av alternativa strömmar är begränsad till textdata. Detta är inte alls fallet, och absolut all information kan lagras i alternativa strömmar. Låt oss till exempel skapa en fil picture.txt och lägga till strömmen pic1.jpg till den, där vi placerar bilden med samma namn:

    echo Bild> bild.txt
    skriv pic1.jpg> picture.jpg: pic1.jpg

    Utåt har vi alltså en vanlig textfil, och för att öppna en bild från en alternativ ström in grafisk redaktör Paint vi använder kommandot:

    mspaint picture.txt: pic1.jpg

    På samma sätt kan du lägga till vilken data som helst i vilken typ av fil som helst - lägg till bilder i textfiler, lägg till textinformation etc. Intressant nog ökar inte alternativt innehåll den skenbara filstorleken, till exempel ökar den till 1 kB textfil 30 GB HD-video, filutforskaren visar fortfarande 1 kB filstorlek.

    Du kan också gömma dig i alternativa strömmar körbara filer... Låt oss till exempel ta filen test.txt och lägga till Notepad-applikationen (notepad.exe) till den alternativa note.exe-strömmen:

    skriv notepad.exe> ​​​​test.txt: note.exe

    Och för att starta ett dold anteckningsblock, använd kommandot:

    start. \ test.txt: note.exe

    Förresten, vissa skadliga program använder denna möjlighet genom att lägga till körbar kod till alternativa NTFS-strömmar.

    Verktyget Strömmar

    För att arbeta med alternativa strömmar finns det flera tredjepartsverktyg, till exempel konsolverktyget Streams from Sysinternals. Den kan upptäcka närvaron av alternativa strömmar och ta bort dem. Verktyget kräver ingen installation, det räcker med att packa upp det och köra det. Låt oss till exempel kontrollera förekomsten av strömmar i mappen Strömmar med kommandot:

    Streams.exe -s C: \ Streams

    Och ta bort de alternativa strömmarna från filen streams.txt:

    Streams.exe -d C: \ Streams \ streams.txt

    PowerShell

    PowerShell vet också hur man arbetar med alternativa strömmar - skapa, upptäcka, visa deras innehåll och till och med ta bort. Låt oss till exempel skapa en textfil:

    New-Item -Typ fil -Sökväg C: \ Streams \ stream.txt

    Låt oss lägga till en post i huvudströmmen:

    Set-Content -Path C: \ Streams \ stream.txt -Value ″ Main stream ″

    Och till en alternativ ström som heter Second:

    Set-Content -Path C: \ Streams \ stream.txt -Value ″ Second stream ″ -Stream Second

    Sedan kommer vi att visa innehållet i huvudet

    Get-Content -Path C: \ Streams \ stream.txt

    och alternativa strömmar:

    Get-Content -Path C: \ Streams \ stream.txt -Stream Second

    För att upptäcka närvaron av alternativa strömmar kan du använda kommandot:

    Get-Item -Path C: \ Streams \ stream.txt -Stream *

    Och du kan ta bort onödiga strömmar med kommandot:

    Remove-Item -Path C: \ Streams \ streams.txt -Stream *

    Användande

    Alternativa strömmar används både av Windows själv och av vissa program. Till exempel, Internet Explorer delar upp nätverket i 4 säkerhetszoner och lägger vid uppladdning av filer till etiketter till dem som innehåller information om zonen som de laddades ner från.

    Dessa etiketter lagras i den alternativa strömmen och representerar ett nummer från 0 till 4:

    Internet (3)
    Lokalt nätverk (1)
    Pålitliga webbplatser (2)
    Farliga platser (4)
    Lokal dator (0)

    För att verifiera detta, låt oss gå till nedladdningsmappen, ta filen som laddats ner från Internet och kolla efter alternativa strömmar. Som du kan se innehåller den en ström som heter Zone.Identifier som innehåller raden Zon-ID = 3.

    Det betyder att filen tillhör den opålitliga zonen på Internet, och du måste vara försiktig när du öppnar den. Vissa program, som Word, läser dessa data när du öppnar filen och utfärdar en varning.

    Dessutom är infrastrukturen för (FCI) baserad på användningen av alternativa strömmar. Från tredjepartsprogram alternativa strömmar använder några Antivirus mjukvara Kaspersky Anti-Virus lagrar i synnerhet kontrollsumman som erhålls som ett resultat av skanningen.

    Användningen av alternativa strömmar är dock inte begränsad till detta, du kan själv komma på vilken användning som helst för dem. Till exempel, med deras hjälp kan du dölja personlig information från nyfikna ögon. Filer som innehåller alternativa strömmar kan fritt kopieras eller flyttas från disk till disk, alla strömmar kommer att kopieras tillsammans med filen.

    Och ändå, när du använder alternativa strömmar, kom ihåg att de är strikt bundna till NTFS-filsystemet. För att kunna använda dem måste filerna finnas på diskar med respektive NTFS, du kan bara arbeta med dem under Windows. Om du flyttar filen till något annat filsystem kommer alla strömmar utom den huvudsakliga att gå förlorade. Alternativa strömmar trunkeras också vid överföring av filer via FTP eller vid sändning som e-postbilaga.
    Taget från http://windowsnotes.ru/other/alternativnye-potoki-dannyx-v-ntfs/

    Än:
    ADS är en inbyggd funktion i NTFS-filsystemet som inte kan stängas av på något sätt.

    ADS låter dig lägga till alla filer till andra filer och till och med kataloger (!). OS självt använder detta då och då och lägger till "Zone.Identifier"-strömmen till filerna som laddas ner från Internet

    Zone.Identifier, förresten, kan redigeras för att bli av med varningarna "den här filen laddades ner från Internet. Öppna i felsäkert läge?"

    Du kan lägga till en ström till vilken fil som helst så här:
    skriv fil1> fil2: fil3

    försöka hitta
    dir / r

    kör exe så här:
    starta fil2: fil3

    om det inte fungerade, så här:
    mklink fil4 fil2: fil3
    starta fil 4

    Detta kommer till exempel att binda räknaren till rotenheten C (!) och starta den via länken

    Har introducerats i Windows NT 4.0 och har funnits runt alla ättlingar (exklusive win-95 ättlingar: 98, Jag). De finns fortfarande i XP, Vista och Win 7. Hejdå Windows-versioner stöder NTFS, de kommer att stödja filströmmar. De kommer att stödja NTFS under lång tid.

    Felet du postade beskrivs på sidan du ser i din fråga. Typkommandot förstår inte strömmar. Användande:

    Mer< 1013.pdf:Zone.Identifier

    Arbeta med strömmar

    Microsoft har bara ett fåtal kommandon som fungerar med trådar, faktiskt bara< , >arbeta med strömmar, och därför kan endast kommandon som kan fungera med dessa omdirigeringsoperatorer användas. Jag skrev om hur du fortfarande kan styra trådar med just dessa kommandon.

    Strömmar fungerar bara med program som är designade för att fungera med dem, helt enkelt för att de behöver hanteras specifikt (jämför kopplingspunkter såväl som NTFS-funktionen, men föraren döljer detaljerna och program behöver inte göra något speciellt: de räknar bara korsningspunktens verkliga fil).

    När du försöker öppna en filström med startfilnamn: streamname och programmet säger något i stil med "olagligt filnamn" eller "filen hittades inte" och du är säker på att streamnamnet är korrekt, så stöder programmet troligen inte streams ... Jag märkte att Notepad, Wordpad och Word / Excel fungerar korrekt med strömmar, även om Word och Excel anser att filerna är farliga. Nedan följer några experiment.

    OBS: du tycker att de alternativa dataströmmarna är udda. De är konstiga eftersom de är så dolda, men många stora filsystem (HFS, NSS) har detta, och konceptet går tillbaka till tidigt 80-tal. Faktum är att strömmar ursprungligen lades till NTFS för att interagera med andra filsystem.

    Syftet med denna artikel är att förklara innebörden av
    alternativa dataströmmar
    v operativsystem Windows,
    visa hur man skapar dem och
    kompromissa bilen, hur man hittar
    dolda filer med offentliga
    verktyg. Det första steget är att inse
    innebörden av ADS och det hot de utgör, alltså
    låt oss se hur de används för hackning
    och slutligen kommer vi att överväga verktygen
    för aktivitetsdetektering och hur
    stoppa ytterligare illegalt arbete med
    dem.

    Varför då?

    Ytterligare dataströmmar dök upp i
    Windows tillsammans med NTFS. Faktiskt så långt som jag är
    Jag förstår, det fanns ingen speciell mening med dem - de
    gjordes för kompatibilitet med HFS, gammal
    Macintosh filsystem - Hierarkiskt filsystem. Ett företag
    är att detta filsystem använder
    både datagaffel och resursgaffel för
    lagring av innehåll. Data Fork,
    ansvarig för innehållet
    dokument och resursgrenen för
    filidentifiering - dess typ och andra
    data. Vid den nuvarande tiden om tillvaron
    ytterligare strömmar från vanliga användare
    få människor vet. Men i datorns värld
    säkerhet de fick en viss
    Spridning. Till exempel onda hackare
    använd ADS för att lagra filer på
    komprometterade datorer, de också ibland
    används av virus och annan skadlig kod. Ett företag
    eftersom hela poängen är att dessa strömmar inte är det
    ses med konventionella metoder, samma sak
    Utforskaren eller kommandoraden. Hur
    är dessa strömmar intressanta? Och det faktum att i fallet
    inbrottsutredningar lönar sig inte alltid
    uppmärksamma dem, dessutom inte alla antivirus
    som standard strömmar vyn in
    söka efter skadlig programvara.

    Till poängen

    För att förstå den verkliga faran
    ADS kommer att visa bättre hur man arbetar med dem.
    I exemplet använder vi Metasploit Framework för att penetrera
    på bilen. För att göra detta använder vi sårbarheten
    MS04-011 (lsass). Sedan, med hjälp av TFTP, laddar vi upp filerna,
    som vi kommer att placera i ytterligare strömmar
    data. När det är klart
    kör fjärrmaskinen från kommandot
    en strängskanner som ska skanna nätverket efter
    närvaron av andra bilar. Notera,
    att författarna till Metasploit Framework har tillhandahållit sina
    skapande med signaturen METASPLOIT, så att skaparna
    säkerhetsprogramvara kan upptäcka ett paket
    utgående från MF. Var uppmärksam på paketet,
    kommer från angriparen:

    Här är 192.168.1.102 angriparens dator
    som har Metasploit Framework och 192.168.1.101 är
    sårbar dator med Win2K Prof. I det här fallet Axis
    levereras utan patchar och servicepack,
    endast i demonstrationssyfte
    :). Observera att endast ADS inte är det
    för användbara, de gläds naturligtvis
    angripare bara om det finns
    maskinåtkomst, systemsårbarhet i
    operativ system. På ett riktigt nätverk, du
    det är osannolikt att du hittar en oparpad W2K, så
    måste leta efter andra principer
    genomslag.

    Nedan ser vi att attacken lyckades och fortsatte
    den attackerande maskinen har ett omvänt skal öppet,
    ges bort av offret. Standard för detta
    sårbarhet i Metasploit port 4321 används,
    men det kan ändras:

    Efter att ha penetrerat bilen måste du flytta dit
    filer. För detta använder vi TFTP, i detta
    om vi får ipeye.exe.

    På samma sätt laddar du ner psexec.exe, pslist.exe och
    klogger.exe. Låt oss göra en lista över katalogen C: \ Compaq \,
    där allt svor:

    Låt oss nu trycka ipeye.exe från strömmen,
    kopplad till en befintlig fil
    test_fil.

    Sedan kan samma sak göras med stigbygeln
    andra filer som behövs för arbetet.
    Observera att alternativet
    flödet kan organiseras inte bara för
    filer, men också för kataloger, samma C: \ k
    exempel. Låt oss starta skannern vi pratar om
    talade i början, ipeye.exe, på den infekterade
    dator:

    c: \ Compaq \ test_fil: ipeye.exe

    (Fortsättning följer)