Alternatif NTFS veri akışları. NTFS dosya sisteminin özellikleri

Aynı zamanda, daha ucuz donanım (dolar cinsinden) nedeniyle, işletim sistemini çalıştırmak için tamamen yeterli olan israf edilen kaynaklardan daha fazla bilgisayar alınır. Microsoft Windows NT (i200MMX + 32-64 Mb). Windows 95/98'in güvenilmezliği ve aktarılamazlığının yanı sıra kaynakları uygun şekilde yönetme olanağının bulunmaması mevcut bilgisayarlar zenginleri NT'ye geçme fikrine yönlendirin.

Yanlış anlaşılan bu kadar çok insan varken kendiniz için tamamen yeni bir şey bulamazsınız. Kurulduktan sonra İnternet Explorer 4'te ve yerleşik güvenlik politikası ve koruması nedeniyle NT'nin sayısal yeteneklerinden ödün vermeden, çoğu durumda Windows 98'de başlat menüsünde iki "Otomatik" klasörünün varlığını görebilirsiniz (şu anda tüm amaçlar için kullanılmaktadır). Karavan Panelinde Donanım Ekle/Kaldır uygulamasının varlığı. Diski NTFS dosya sistemiyle biçimlendirmezseniz, artık farkı bilemeyebilirsiniz.

Bu makalede ayrıca NTFS'nin FAT, VFAT, FAT16 ve FAT32 kapsamındaki işlemleri açıklanmaktadır. Ana özellikler: güncellemeden önce oluşturulma tarihi, ek kayıtları, maksimum birim boyutu ve yenisinde 16 Exabyte'a kadar dosya boyutu ( 1 Exabayt = 1000000 GB), bitişik dosya ve klasörleri sıkıştırma, izinleri ayarlama ve denetleme yeteneği, Windows NT'den önceki literatürde ve belgelerde geniş ölçüde kapsanıyordu. Ancak NTFS'nin hala bilinmeyen ve sınırlı olasılıkları var: sabit bağlantılar ve çoklu veri akışları veya çatallar. Size onları kendim anlatayım.

Çoklu veri akışları. Bu terim Macintosh kullanıcılarına aşinadır. Bu sistemde bir dosyanın iki akışı (çatalları) olabilir: bir veri akışı ve bir kaynak akışı. Veri akışı verileri dosyaya kaydeder; dosya Macintosh'tan PC'ye aktarıldığında bu akış tek bir dosya olarak kopyalanır. Dosyaya giden başka bir akış, işletim sisteminden gelen verileri (menüler, simgeler, yazı tipleri ve genel olarak genellikle kaynak olarak adlandırılanların tümü) içeren kaynakların akışıdır. Windows NT Server, Macintosh istemcilerine hizmet veriyorsa ve dosyaları depolamak için disk alanı sağlıyorsa, sunucunun dosya sisteminin istemcinin dosya biçimini desteklemesi gerekir. Bu, NTFS'de birden fazla veri akışının ortaya çıkmasının nedenlerinden biridir.

Bu nasıl uygulandı? NTFS açısından dosyaya ilişkin adı, izinleri ve dosyada depolanan verilerle biten her türlü bilgi, akışta depolanan bir özniteliktir. NTFS geliştiricileri, veriler için tek bir akışla (isimsiz akış) sınırlandırılmaya gerek olmadığını takdir ettiler ve ana akışa ek olarak birkaç adlandırılmış akış oluşturma yeteneğini eklediler. Birden fazla akış oluşturmak için Win32 API işlevini kullanabilir veya bunu daha basit bir şekilde yapabilirsiniz.

UNIX işletim sistemi dilinin distribütörü olan Kernighan's ve Rich's Hours'tan zengin işletim sistemleri, kaldırma ve kaldırma işlemlerini resmileştirme yeteneğine sahiptir. Bu açıdan bakıldığında, herhangi bir giriş işlemi, veri tarafında (konsol, klavye, dosya veya bağlantı noktası) ve alımda (yine aynı konsol) ne olduğuna bakılmaksızın akıştan akışa veya çıkıştan akışa bir giriş işlemi olarak görülebilir. , Bu bir monitör ekranı, yazıcı veya dosyadır). Programlardan giriş ve çıkışları ekrandan yazıcıya yönlendirmek ve komutları klavyeden değil bir dosyadan girmek de mümkündür. Grafik arayüzlerin yaygın olarak kullanıldığı günümüzde, durgunlaşma yeteneği bile nadirdir, bu da popo tarafından açıkça ifade edilmektedir.

Microsoft işletim sistemi komutu echo, ekranda bilgileri metin modunda görüntülemek için kullanılır:

C:>echo Merhaba Dünya!

Bilgi görüntülemeye yönelik bir cihaz olarak echo komutu, vikoryst monitör ekranını görüntüler. Bu komut konsoldan bir dosyaya yönlendirilebilir (“>” simgesinin kullanıldığı):

C:>echo Merhaba Dünya! > dosya

Bildiğiniz gibi echo komutu ekranda hiçbir şey göstermedi. Dosyada ayrıca “Merhaba Dünya!” satırını da görebilirsiniz. Benzer şekilde echo komutu yazıcıya yeniden yönlendirilebilir:

C:>echo Merhaba Dünya! >lpt1

Yine ekranda hiçbir şey yok ama yazıcıdaki kağıdın yan tarafında temelde lpt1 bağlantı noktasına bağlanan yazıcı olan aynı “Merhaba dünya!” satırını görebilirsiniz. Bu şekilde, metin modundaki herhangi bir programın çıktısı, dolaylı değişiklik olmadan bilgileri görüntülemek için metin modunu kullanan programlar hariç, bilgi akışı girişini veya bir dosyayı destekleyen herhangi bir cihaza yeniden yönlendirilebilir. Bu video bellekleri ve diğer standart dışı olanlar, klasik C bakış açısından, olasılık.

Benzer şekilde programların girişini yeniden yönlendirebilirsiniz. Daha fazla Microsoft işletim sisteminin komutu, ekrana sığmayan daha fazla bilgi görüntülemek için komutların çıktısını arabelleğe almak için kullanılır. Bu komut aynı zamanda giriş yönlendirmesini göstermek için de kullanılabilir:

C:>devamı Merhaba Dünya!

Dosyada doğrudan ekranda görüntülenen “Merhaba Dünya!” satırı vardı.

Böylece, ek giriş-çıkış yeniden yönlendirmesiyle birden fazla veri akışı oluşturabilir ve okuyabilirsiniz:

C:>echo string1 > dosya:fork1

file:fork1 girişi, dosya dosyasında fork1 adlarına sahip bir akışı belirtir (eskisi henüz oluşturulmadığından, bu adlarla yenisi oluşturulur) ve echo komutunun yeni ebeveynine yönlendirilir. Bu boyutta, yetkililerin incelemesi sırasında dosya boyutu değişmez ve standart Windows NT yöntemleri kullanılarak akışın adı belirlenemez. Adını biliyorsanız, onun yerine more komutunu kullanarak onu kastedebilirsiniz:

Bu sayede dosyaya veri akışları yerine oluşturup okuyabilirsiniz. Bir dosyada oluşturulan akışların sayısı kullanılabilir disk alanıyla sınırlıdır. Benzer şekilde, dizinlerde veri akışları oluşturabilirsiniz, ancak bunun yerine akışa bakmak için akışı ekranda görüntülemenin başka bir yolunu koymanız gerekir, böylece more komutu aşağıdaki formatı görüntüleyecektir:

Bilmeniz gereken hiçbir şey bilmiyorsanız, aşağıdaki programı herhangi bir C++ derleyicisine yazabilirsiniz:

while (cin.get(ch)) cout.put(ch);

Bu programı bir Win32 konsol uygulaması olarak daha basit bir şekilde oluşturun ve dizin akışlarını değiştirmek için bir araç olarak kullanın.

Windows NT çalışmıyor standart özellikler Sayısal veri akışları hakkında bilgi çıkarmak için. Bu tür bilgiler hala gerekli olduğuna göre neden çalışalım? Bu sayıya Mark Russinovich'in yayın programı kullanılarak hızlı bir şekilde erişilebilir. çıkış kodu www.sysinternals.com adresinden edinilebilir. Sayısal veri akışları hakkında bilgi çıkarmaya yönelik bu program belgelenmemiştir. Windows işlevleri N.T. Bilgi ekseni, dosya dosyasıyla ilgili ek program akışları tarafından yakalanır:

NTFS Akış Numaralandırıcı v1.0

Sistem Dahili Bileşenleri - http://www.sysinternals.com

Burada veri akışının adını ve boyutunu bayt cinsinden belirtebilirsiniz (“>” sembolünden sonra ek 3 karakter ve boşluk, satır döndürme ve satır kaydırma, echo komutuyla eklenir). Maalesef akışlar, dizinlerden birden fazla veri akışını tanımlamanıza izin vermez.

Birden fazla veri akışını birleştirmek mümkün mü? Apple'ın onlar için keşfettiği durgunluğun kreması kendisi hakkında söylenebilir basit bir insan için bilgileri depolamak için, örneğin paylaşılan yazılım programlarının kurulum tarihini hatırlamak için. OLE teknolojisinin şafağında Microsoft, bir nesnenin aktarımıyla ilgili bilgileri kaydetmek için bozuk veri akışlarını aktardı, belki de uzun dosya adları ve veriler oluşturmadan FAT'ta veri akışlarını güvence altına almanın daha kolay olduğu ortaya çıktı.Bu fikir ilham kaynağı oldu. Farklı dillerde üretilen tüm yazıları kaydetmek amacıyla komut dosyası için bir "kaynak dosyası" oluşturmak, akışları durdurmak da mümkün olabilir. Yönlendirmeye ek olarak, birden fazla veri akışı için durmaya gerek olmadığı açıktır, böylece saygınızı kaybetmezsiniz.

Zhorstki poslannya. Farklı UNIX klonlarını kullananlar için bunu iyi biliyoruz. Dosya olarak hesapta FAT sistemleri Bir dosyanın yalnızca bir ada sahip olabileceği kabul edilirken, UNIX'te böyle bir ayrım yoktur - bir dosyanın birden fazla adı olabilir ve dosya adı yöneticisi 0'a eşit olana kadar veriler silinemez. UNIX'te ayrıca sembolik bir mesaj da vardır. - Windows'taki kısayolların bir benzeri, ancak kokuya neden olan nesnenin hareketini takip edin.

Windows NT, POSIX standardına (Taşınabilir İşletim sistemi Bilgi İşlem Ortamları için Arayüz). Erkekliğin kullanımlarından biri sert mesajların teşvik edilmesi ve sembolik mesajların teşvik edilmemesidir. Açıkçası, etiketlerin sembolik mesajların iyi bir benzeri olduğuna inanılıyordu.

NTFS'de sabit mesajlar, çoklu veri akışlarına benzer şekilde düzenlenir: bir dosya birden fazla veri akışı içerdiğine göre, neden adları olan birden fazla akış olabilir? Çeşitli dosya adları farklı dizinlerde veya yalnızca bir bölümde bulunabilir.

Sabit kod hazırlamak için POSIX Windows NT programına ihtiyacınız vardır. Bu program ve çıktı metinleri “Windows NT Kaynakları” CD'sinde bulunmaktadır. UNIX'e benzetilerek bu programa ln adı verilir. Bu komutun sözdizimi şöyledir:

C:>Ln dosyası hardlink1

Bu komut yardımıyla dosya dosyası için başka bir isim oluşturabiliriz veya dosya yerine hardlink1 göndererek hardlink1 yerine onu değiştirebilirsiniz, daha doğrusu aynı dosyayı ancak iki isimle değiştirebilirsiniz. Benzer şekilde diğer dosya niteliklerini de değiştirebilirsiniz. Bir takım dosya adları ayrılmaz, ancak bir dosya adı kopyalandığında mesaj çözülür ve başka bir dosya oluşturulur. Başka bir katalozda yaratıcı bir mesajın olasılığı açıktır:

C:>Ln dosyası ../temp/hardlink2

Ve burada kesinlikle değil, özellikle kataloğun adını belirtmek gerekir.

En zor poslan için Zastosuvannya, birden fazla veri akışından daha az bilinemez. Örneğin, sert çabalar sarf edin kütüphane dll'si, programınızın dosya için doğru formatta olduğundan emin olmak için. Sert mesajların diğer olası ifadeleri, UNIX ile ilgili literatürdeki şakalardan daha iyidir. Ve elbette sert mesajların birikmesi, birden fazla veri akışının açıklamalarıyla birleştirilebilir.

Meta istatistikler anlamı açıklıyor
alternatif veri akışları
V işletim sistemleri pencereler
bunların nasıl oluşturulacağını gösterin
arabayı tehlikeye at, nasıl bilebilirim
alınan dosyalar, vikoryst ve gizlice erişilebilir
araçlar. İlk defa beni bilgilendirmen gerekiyor
ADS'yi ve koku tehdidi taşıyanları algılayın, ardından
Kötü olanın zafer kokusuna hayret ediyorum
Peki, araçları bulalım ve sonra onlara bakalım
aktiviteyi tanımlamak için
zupiniti yasadışı işten uzak
onlara.

Sorun ne?

Ek veri akışları ortaya çıktı
NTFS'den Windows. Gerçekten benim kadar
Demek istediğim, bunların özel bir anlamı yoktu - bir koku vardı
HFS ile kullanım için toplar, eski
Macintosh dosya sistemi - Hiyerarşik Dosya Sistemi. Sağda
bu dosya sisteminin vikoryst olması nedeniyle
hem bir veri yığını hem de bir kaynak yığını
içeriği kaydetme. Gilka verileri,
değiştirilmek üzere belgelenebilir şekilde, belgelenebilir şekilde
belge ve kaynaklar için bir klasör
Dosyanın tanımlanması - türü ve diğerleri
haraç Şimdiye kadar uyku hakkında
Birincil üreticilerden gelen ek akışlar
çok az kişi biliyor. Ancak bilgisayar dünyasında
şarkı kokunun güvenliğini alıp götürdü
daha geniş Örneğin, kötü bilgisayar korsanları
Dosyaları kaydetmek için ADS'yi kullanın
kötü bilgisayarlar, sadece kokuyorlar
virüsler ve diğer kötü amaçlı yazılımlardan etkilenir. Sağda
hatta her şey bu akışların olmadığıdır
en gelişmiş yöntemlerle, kendi başımıza gözden kaçırıyoruz
Komut satırında bir kılavuz. Chim
Akışlar nelerdir? Ve Tim, sorun ne?
kötülüğün araştırılması bir daha asla zulüm yapmaz
Onlara saygı duyuyorum, tüm antivirüsler böyle değil
hazırlıkları için derelere bakarlar
ucuz yazılım arıyorum

Buna bir bak

Gerçek endişeyi anlamak için
ADS'nin onlarla çalıştığı daha iyi gösterilecektir.
Uygulamada Lütfen Metasploit'e yardım edinÇerçeveye nüfuz edilebilir
arabaya. Vikorystvo kimin için dökülüyor
MS04-011 (Lsass). Daha sonra yardım için TFTP aktarım dosyalarını,
ek akışlar için uygun olan
haraç Bu nasıl bitecek?
Uzak bir makineden komuttan çalıştırın
kenarları tarayan satır tarayıcı
diğer makinelerin varlığı. Saygıyı geri getir
Metasploit Framework yazarlarının güvence altına aldıkları
Yazar tarafından METASPLOIT imzasıyla oluşturulmuştur
hastalıklı programlar paketi çalmış olabilir,
çıkış MF'si. Pakete saygıyı iade edin,
Saldırganın çıkış görünümü:

İşte 192.168.1.102 saldırganın bilgisayarı
Metasploit Çerçevesine kim değer ve 192.168.1.101 -
Win2K ile değişen bilgisayar Prof. Bu videoda
yamalar veya servis paketleri olmadan teslim edilir,
gösteri amaçlı dahil
:). Lütfen ADS'nin kendisinin olmadığını unutmayın.
kahverengi, pis kokulu, doğal, hoş olmalı
saldırgan yalnızca bu saldırıda olduğu gibi
makineye erişim, sistemik dağıtım
işletim sistemi. Bu ölçüde sen
Düzeltme eki uygulanmamış W2K bulmanız pek olası değildir veya
diğer ilkeler hakkında şaka yapmak zorunda kalacağım
anlayışlı.

Saldırının başarılı olmasından dolayı gururluyuz
saldıran aracın ters çevrilebilir açık bir mermisi var,
kurban edilerek verilir. Buna hazırlanmak
Port 4321 Metasploit'te vikorize ediliyor,
ancak bunu değiştirebilirsiniz:

Arabaya girdikten sonra onu Tudi'ye teslim etmeniz gerekiyor.
Dosyalar. Bu konuda TFTP'ye ihtiyaç duyanlar için
ipeye.exe herhangi bir zamanda kaldırılabilir.

Bu şekilde psexec.exe, pslist.exe ve
klogger.exe. Dizin listesine bakın C: Compaq,
her şey nereye gitti:

Şimdi ipeye.exe'yi terden uzak tutun,
mevcut dosyayla ilişkiler
test_file.

O zaman aynı şeyleri hızla kazanabilirsiniz
Diğer gerekli çalışma dosyaları.
Lütfen bir alternatif olduğunu unutmayın
akış yalnızca aşağıdakiler için düzenlenemez:
dosyalar ve ayrıca aynı C:\ dizinindeki dizinler için
popo. Tarayıcıyı başlatalım, ne olduğumuz hakkında
enfekte olan ipeye.exe koçanı hakkında konuştu
bilgisayar:

c:\Compaq\test_file:ipeye.exe

(Daha çok olacak)

Makale 2004 yılında "Hacker" dergisi için yazılmıştır. 09/04 (69) sayısında “Yıkıcı Akımlar” başlığıyla yayımlandı.

Lanet NT sistemini tüketip içine kendi casus yazılım yazılımını yükleyerek, kurbanın bilgisayarında toplanan bilgilerin kaydedilmesi sorununu çözmek gerekiyor. Günlüğün çok sayıda dosya içeren bir katalogdaki basit bir dosyaya (örneğin, system32) yazıldığından emin olun.

Olasılıklar NTFS

Bu bir genişleme ama çok uzak değil en kısa yöntem hakkında bilgi almak yerel bilgisayar. Kullanıcının, sistem kataloğunda aniden beliren, sürekli güncellenen en son dosyayı işaretleme şansı vardır. Günlüğü mevcut dosyaya eklemeli miyim? Başlangıç ​​olarak böyle bir dosyayı bilmeniz gerekir, herhangi bir bilgi eklemek onu birlikte sıkıştırmaz. Ve bilgilerin kaşiften, komut satırından veya hiçbir şeyden görünmeyecek bir yere nasıl kaydedileceği dosya yöneticisi? NTFS dosya sistemi bu yeteneği sağlar. Evde, çoğu bilgisayar, özellikle de XP çalıştıran bilgisayarlar hala FAT32 kullandığından, bu durum nadiren geçerlidir. Ale zate içeri yerel önlemler Win2k/XP çalıştıran her şirket NTFS de kullanabilir çünkü bu dosya sistemi kullanıcılara erişim hakları atama, dosyaları şifreleme ve sıkıştırma gibi yetenekler sağlar. Ayrıca NTFS, FAT32'den çok daha güvenilirdir. Dolayısıyla anlatacağım veri toplama yöntemi endüstriyel balıkçılık için idealdir. Longhorn'un ortaya çıkışıyla birlikte, NTFS'yi temel alan mevcut WinFS dosya sistemi, NTFS'nin ev bilgisayarlarının sürücülerine kurulma şansına sahip olabilir. ek olanaklar Yüksek değerli yatırımcıları çekebilecek bilgileri sipariş etmekten ve araştırmaktan.

Dosyaya herhangi bir ayrıntı ekleyin

Yöntem, verileri daha önce olduğu gibi bir dosyaya değil, bir NTFS dosya akışına kaydetmektir. Akış başka bir dosyaya (boyutun değişmediği ve verilerin eksik olarak kaybolduğu, yani dosya kontrollerini kontrol eden yardımcı programların değişiklikleri işaretlemediği anlamına gelir), dizine veya diske eklenebilir. Alternatif NTFS dosya akışları, NTFS'nin ilk günlerinden beri mevcut olan yeteneklerinden biridir. Windows sürümleri N.T. Önemli olan, bir dosyanın veri depolayan bir dizi iş parçacığı içerebilmesi ve yalnızca dosyanın depolandığı ana iş parçacığının mevcut olmasıdır. Macintosh'lardaki HFS dosya sistemi için de benzerdir. Orada akışlara çatal denir. Yakın zamana kadar, bir dosya için kaynak istiflemeleri veya dosya türü hakkında yanlış bilgi vermeleri nedeniyle eleştiriliyorlardı. MacOS X'in gelişiyle birlikte Apple, kaynakların dosyalara yerleştirilmesini ve dosya türlerinin uzantılara atanmasını önerdi. Ancak gevşeme teşviki hâlâ kayboluyor. Windows'ta dosya hakkındaki ek bilgilerin kaydedilmesi için akışların kullanılması gerekir. Örneğin, kullanıcı bir belge oluşturmuş olabilir. Sistem NTFS'li bir diskteyse explorer.exe dosyası başlayacaktır. Bununla birlikte SummaryInformation, DocumentSummaryInformation ve diğer adlara sahip akışlar da dosyaya eklenebilir. Bilgisayarımda $MountMgrRemoteDatabase eklerinden C sürücüsüne bir iş parçacığı tespit ettim.

Belirli durumlarda, örneğin bir FAT/FAT32 diskine akış eklenmiş bir dosyayı kopyaladığınızda, bir dosyaya eklenen akışlar hakkında bilgi edinebilirsiniz. Bu dosya sistemleri bunları desteklemediğinden sistem, adlarını belirten akışlardaki bilgi kaybını onaylamanızı isteyecektir. Eklerin diske veya sistem klasörüne akışı nedeniyle bu durumun hiç de suçlanmadığı açıktır. Neobov'yazkovo vikoristuvat Shpigunsky amaçları için akıyor. Paylaşımlı yazılım programlarının distribütörüyseniz, vycorst olarak dönemin bitiminden birkaç gün önce, tek kelimeyle kampanyadan yakalanabilecek tüm kayıt bilgilerini kaydetmek için akışları tamamen tarayabilirsiniz.Programınız nedir?

Konularla çalışma

Dosyalar ve akışlarla çalışmanın hem benzerlikleri hem de sorumlulukları vardır. Aynısı pek yok. Hem dosyalar hem de bunların akışları aynı WinAPI işlevleri CreateFile ve deleteFile kullanılarak oluşturulur ve silinir. Okuma ve yazma, açıkçası ReadFile ve WriteFile işlevleri tarafından gerçekleştirilir. Kimin benzerliği biterse, o zaman tek bir sorumluluk kalır. Akış adları normal bir dosya adının parçası olamayacak özel karakterler içerebilir: “*”, “?”, “gibi<”, “>" ,“|" pençelerin simgesiyim. Akış ne olursa olsun Unicode formatında kaydedilir. 0x01 – 0x20 aralığındaki servis sembolleri de kullanılabilir. Bir iş parçacığına kopyalama ve aktarma için standart bir işlev yoktur: MoveFile ve CopyFile iş parçacıklarıyla çalışmaz. Kimse kendi fonksiyonlarını yazmayı umursamıyor. Akışların farklı özellikleri, oluşturulma tarihleri ​​ve erişimleri vardır. Ekteki dosyada koku azalıyor. Dosyanın kendisinde her türlü veri olduğu gibi akışta da görülebilmektedir. Akış adları “dosya_adı:akış_adı:öznitelik” olarak görüntülenir. Veri içeren bir akışın standart özelliğine $Data adı verilir. Adları “$” işaretiyle başlayan başka birçok özellik daha vardır. Bunun yerine, dosya adsız bir dosyada bulunur (dosya_adı::$DATA). Bu güçle dosya sistemi Bir bilgisayar korsanı, yüklenen sunucudaki herhangi bir komut dosyasının metnini, adının ve sunucunun başına "::$DATA" ekleyerek tanımak isterse, Microsoft IIS'nin eski sürümlerindeki bir hataya görünür bir akıştaki bir dosya yerine sunun. bunun yerine çıkış kodunuzu gördükten sonra betiği çıkaracak. Akışlarla çalışmak dosyalarla çalışmaya benzer. Liste 1'e bir göz atın. Bu, akışlı bir dosya oluşturan ve bilgi yazan bir programın basit bir örneğidir. Programı başlattıktan sonra dizininde boş bir test dosyası dosyası görünecektir. Komut satırına "more" yazarak ekteki konu yerine daha fazla bilgi alabilirsiniz.< testfile:stream». Как видишь, имя потока указывается после имени файла, отделенное от него знаком двоеточия. Самое трудное при работе с потоками – это получить их список для конкретного файла. Стандартной функции нет, и поэтому придется писать ее самому. Напишем небольшую консольную программу, которая бы возвращала список потоков по имени файла. Такая прога есть у ребят из Sysinternals, с открытым кодом, и она работает, но мне не понравился их способ. Они используют вызовы Native API, и поэтому их код большой и трудный для понимания. Мы же напишем свою прогу, которая будет работать из командной строки, с алгоритмом попроще и со стандартными API функциями.

Seçilebilir akış listesi

Algoritma dondurulmuş BackupRead işlevini temel alır. Kazanılanlar şu kişiler için ayrılmıştır: destek olmak Dosyalar. Koli Robish yedek kopya dosya akışları da dahil olmak üzere mümkün olduğunca fazla veri kaydetmek önemlidir. Bilgiler WIN32_STREAM_ID yapısından alınır. Akışın boyutunu, türünü ve büyüklüğünü görebilirsiniz. Artık BACKUP_ALTERNATE_DATA türündeki akışlara ihtiyacımız yok. Tüm işlevler ve yapılar winnt.h başlığında açıklanmıştır. CreateFile'ı kullanarak okumak için önce dosyayı açmanız gerekecektir. dwFlagsAndAttributes parametresi, yalnızca dosyaları değil dizinleri de yedeklemenize olanak tanıyan FILE_FLAG_BACKUP_SEMANTICS bayrağının belirtilmesini gerektirir. Daha sonra sid yapısından dosya hakkındaki bilgileri okuyan, cilt akışı hakkında bilgi sağlayan bir while döngüsü çalıştırıyoruz. Döngünün bir sonraki geçişinden önce yapı temizlenir ve dosya, ek BackupSeek işlevi kullanılarak bir sonraki akıştan önce saklanır. Tüm iş parçacıkları bulunduğunda, hizmet bilgilerini içerecek şekilde lpContext'i temizleyip dosyayı kapatıyoruz. Programın çıkış kodu Liste 2'de gösterilmiştir. Derlenmiş programı diskimizden alabilirsiniz. Akışlı robotlar için dilde yazmaya gerek yoktur özel programlar. Doğrudan takım satırından para kazanabilirsiniz. Popoların boynu kesik olanlara dönüktür.

Viyavlennya

Bilgiye ulaşana kadar konuyu konuya iliştirdikten sonra, adını bilmeden ona ulaşmak önemlidir. İş parçacığını mantıksal bir noktaya eklerseniz, Windows'un bunu gösterecek herhangi bir standart özelliği yoktur. Bu nedenle, bir akışın adında, birincil dosyaların adlarında kabul edilemeyen karakterler bulunabilir ve bu, bir akışı tanımaya çalışırken ek zorluklar yaratarak sorunlara neden olur. komut satırı. Belge yerine lütfen 0x05 kodlu sembolü yerleştirip isimle kaydedin. Bu karakter konsolda yazılabilir (Ctrl+E), ancak sembol 0x10 veya 0x13 (satır döndürme ve satır kaydırma) ise bunları yazmak imkansız olacaktır. Teorik olarak, bilgisayarınızda bulunan akışların, vikoryst'in ve diğer yazılımların ekleri hakkında bilgi edinebilirsiniz. WinRAR'ın bir seçeneği var ve eğer etkinleştirilirse, arşivde bulunan küçük bir dosyanın boyutunun sadece değişmediğini, aslında arttığını da not edebilirsiniz (verilerin aynı zamanda dosyadaki akışlarda da bulunması nedeniyle). Arşiv). Bu şüpheye neden olabilir. Arşivleri dosya sistemine entegre etmeye yönelik bir program - bu Sysinternals'ın kendilerinden FileMonitor - dosya arşivleri veya akışlar arasındaki işlevlerden ödün vermez. Görünüşe göre, günlük dosyasını şüpheli programın (keylogger'ınızın) diskine güncellemeniz ve dosyanın yazıldığı akışın adını, dosyanın adını ve eklerin adını görmeniz önemlidir.

Virüsler

2000 yılının baharında, genişlemesi için alternatif dosya akışlarını kullanan ilk virüs ortaya çıktı. W2k.Stream, yeni bir virüs türü olan akış arkadaşının ilk temsilcisiydi. Dizininizde .exe dosyalarını ararsınız, bu da enfeksiyon sürecinin başladığı anlamına gelir. Dosyaya, virüsün birlikte aktarılması gereken ek bir iş parçacığı eklenmiştir. Orijinal dosya ve ardından virüsün gövdesi dosyanın ana akışına kopyalanır. Virüs bulaşmış bir dosyayı başlattıktan sonra, virüs kendi dizinindeki dosyalara bulaşmaya çalışır ve ardından programı ek akıştan başlatır. Aslında ek CreateProcess işleviyle bir iş parçacığından bir işlemi başlatabilirsiniz. Ayrıca akıştaki dosya güvenli bir şekilde silinebilir ancak işlem kaybolabilir. Truva atları için sadece bir peri masalı! W2K.Stream'in ortaya çıkışının üzerinden uzun yıllar geçmesine rağmen, şu anda tüm antivirüs programları dosya akışlarındaki kötü amaçlı kodları tespit edemiyor. Bu nedenle yeni patojenlerin ve bunlarla ilişkili virüslerin ortaya çıkması ciddi bir endişe kaynağı haline gelebilir.

Victory Streams gibi diğer virüsler

Krem W2K.Stream, akışların diğer virüs ve virüslerde durgun olduğu tespit edilmiştir. Dosya akışlarını vikorize eden ilk solucan I-Worm.Potok'tu. Bu, bir grup akışı dikkatlice Windows dizinindeki odbc.ini dosyasına ekler ve komut dosyalarını postayla teslim edilmek üzere oraya kaydeder. Başka bir virüs W2k'dir. Takım. Bu ve benzeri virüslerin açıklamalarını http://www.viruslist.com/ web sitesinde bulabilirsiniz.

Konsoldaki iş parçacıklarıyla çalışma

Akışlı bir dosya oluşturun:
nul > somefile.txt:Stream yazın

Akışta yayınlayın:
echo "Bir Şey" >> bir dosya.txt:Akış

Yol boyunca okumak:
Daha< somefile:Stream

Açık bir dosya yerine bir akışa kopyalama:
file1.txt yazın >> bir dosya.txt:Akış

Dosyadan akış yerine kopyalama:
Daha< somefile.txt:Stream >> dosya2.txt

Akışların görünümü

Ana fikir, akışın yalnızca dosyayla birlikte, ek sayısına kadar tek seferde silinebilmesidir. Öyle değil. Akışın adını biliyorsanız standart deleteFile işlevini kullanarak silebilirsiniz.

Listeleme 1. Akışın ucu.

#katmak int main() ( DWORD dwRet; HANDLE hStream = CreateFile("testfile:stream", GENERIC_WRITE, FILE_SHARE_WRITE, NULL, OPEN_ALWAYS, NULL, NULL); WriteFile(hFile, "Bu bir akıştır", CloseHandle(hStream); return 0 ;

Liste 2. X-Stream: Akışların listesini görüntüleyen bir program

#katmak #katmak #katmak #katmak int _tmain(int argc, _TCHAR *argv) ( WIN32_STREAM_ID sid; ZeroMemory(&sid, sizeof(WIN32_STREAM_ID))); DWORD dw1,dw2,dwRead; = NULL;/* * Sadece dosyaları değil disklerdeki dizinleri de açmamızı sağlayan *FILE_FLAG_BACKUP_SEMANTICS parametresi ile dosyayı okumaya açıyoruz. ), if (hFile == INVALID_HANDLE_VALUE) (printf("\nError: Could"t Dosya, dizin veya disk %s\n",argv açılamadı); çıkış(0); ) DWORD dwStreamHeaderSize = (LPBYTE)&sid.cStreamName - (LPBYTE)&sid + sid.dwStreamNameSize; printf("\n%s için akış bilgisi:\n",argv); /Akış türü yanlışsa döngü kesilir if (sid.dwStreamId == BACKUP_INVALID) break;ZeroMemory (&wszStreamName, sizeof (wszStreamName)); //Akışın adını kaldırın if (!BackupRead(hFile, (LPBYTE) wszStreamName, sid.dwStreamNameSize, &dwRead, FALSE, TRUE, &lpContext)) break; if (sid.dwStreamId = = BACKUP_DATA || sid.dwStreamId == BACKUP_ALTERNATE_DATA) ( akış sayısı++; printf("\n\nStream\t\t#%u", akış sayısı); switch (sid.dwStreamId) ( case BACK ("\nAd:\t\ t::$ DATA"); break; case BACKUP_ALTERNATE_DATA: printf("\nAd:\t\t%S",wszStreamName); break; ) printf("\nBoyut:\t\ t%u\n",sid .Size); ) //Sonraki iş parçacığına taşındı BackupSeek(hFile, sid.Size.LowPart, sid.Size.HighPart, &dw1, &dw2, &lpContext); //Döngüye bir sonraki geçişten önce yapıyı temizler ZeroMemory(&sid ,sizeof(sid)); ) //BackupRead işlevi için //servis bilgilerini yerleştirmek üzere lpContext'i temizler BackupRead(hFile, NULL, NULL, &dwRead, TRUE, FALSE, &lpContext); //Dosyayı kapatıyoruz CloseHandle(hFile); 0 değerini döndür; )

Dosya akışları konusu ayrıca şunları içerir:

  • NTFS akışlarına sahip robotlar için NTFS Stream Explorer 2.00 Programı
Simgeleri ve diğer dosya bilgilerini kaydetmek için kaynak akışını sağlayan Macintosh HFS dosya sistemiyle uyumluluk sağlamak amacıyla NTFS'ye Alternatif Veri Akışı desteği (AltDS) eklendi. Vikoristannaya AltDS özel kullanıcılara ayrılmıştır ve özel yollarla kullanıma sunulmamaktadır. Explorer ve diğer programlar standart akışı kullanarak çalışır ancak alternatif akışlardan veri okuyamaz. AltDS'yi kullanarak standart sistem kontrolleriyle tespit edilemeyen verileri kolaylıkla yakalayabilirsiniz. Bu makale AltDS'nin çalışması ve amacı hakkında temel bilgiler sağlayacaktır.

AltDS Oluşturma

AltDS'yi oluşturmak gerçekten çok kolay. Ekip kimin için hızlanıyor? Şimdi akışlarımızı ekleyene kadar temel dosyayı oluşturalım.
C:\>echo Sadece bir plan metin dosyası>sample.txt

C:\>örnek.txt yazın
Sadece bir plan metin dosyası


Daha sonra, AltDS'yi kullanacak kişileri belirtmek için operatör kutusuna hızlı bir şekilde çift tıklıyoruz:
C:\\>echo Beni göremiyorsun>sample.txt:secret.txt

Bunu görmek için bunun yerine aşağıdaki komutları kullanabilirsiniz:
C:\devamı< sample.txt:secret.txt

ya da başka
C:\not defteri örneği.txt:gizli.txt

Her şey yolunda giderse metni ekleyin: Beni göremezsiniz, ancak Veri Gezgini'nden açtığınızda metin görünmeyecek. Ayrıca AltDS yalnızca bir dosyaya değil, bir klasöre de eklenebilir. Veya metin:
C:\>md öğeleri
C:\>cd öğeleri
C:\stuff>echo Öğelerdeki öğeleri gizle>:hide.txt
C:\stuff>dir
C sürücüsündeki birimin etiketi yok.
Cilt Seri Numarası: 40CC-B506C:\stuff Dizini
28.09.2004 10:19 .
28.09.2004 10:19

0 Dosya(lar) 0 bayt2 Dizin(ler) 12,253,208,576 bayt ücretsiz
C:\stuff>not defteri:hide.txt

Artık Not Defteri'ni kullanarak AltDS eklerini nasıl görüntüleyip düzenleyeceğinizi ve bunları dosya ve klasörlere nasıl ekleyeceğinizi biliyorsunuz.

Programın başlatılması ve başlatılması

Programları, araçları ve AltDS'yi içe aktarmak test dosyaları kadar kolaydır. Yeni başlayanlar için temel bir dosya oluşturacağım:

Daha sonra eklentimizi akışa koyalım, örneğin ben notepad.exe kullanacağım:
C:\WINDOWS>notepad.exe yazın>test.txt:note.exe

Şimdi dosyamızdaki metne bakalım:
C:\WINDOWS>test.txt yazın
Ölçek

Şimdi bağışımızı başlatalım:
C:\WINDOWS>başlat .\test.txt:note.exe
C:\PENCERELER>

Bu makale, alınan makalenin tam bir çevirisi olmadığı için basit bir konu olarak çerçevelenmiştir. Belirtilen talimatlarda ek yöntemler bulunabilir.

Güncelleme:

AltDS'li robotlara yönelik yardımcı programlar (gönderilen öğelere ilişkin istatistiklerden alınan öğelerin listesi):

LADS - Alternatif Veri Akışlarını Listeleme Yazan: Frank Heyne
www.heysoft.de/Frames/f_sw_la_en.htm

SysInternals'tan Streams.exe.