Bu, Ubuntu Online, Fedora Online, Windows çevrimiçi emülatörü veya MAC OS çevrimiçi emülatörü gibi birden fazla ücretsiz çevrimiçi iş istasyonumuzdan birini kullanarak OnWorks ücretsiz barındırma sağlayıcısında çalıştırılabilen komut değişkenliğidir.
Program:
ADI
uçuculuk - gelişmiş bellek adli tıp çerçevesi
SİNOPSİS
uçuculuk [seçenek]
uçuculuk -f [görüntü] --profil=[profil] [fişe takmak]
AÇIKLAMA
Volatilite Çerçevesi, aşağıdakilerin çıkarılması için tamamen açık bir araçlar koleksiyonudur.
geçici bellek (RAM) örneklerinden dijital eserler. Adli analizlerde faydalıdır.
Ekstraksiyon teknikleri, sistemden tamamen bağımsız olarak gerçekleştirilir.
araştırılır, ancak sistemin çalışma zamanı durumuna benzeri görülmemiş bir görünürlük sunar.
Volatilite, MS Windows, Linux ve MAC OSX'in çeşitli sürümlerini destekler:
MS Windows:
· 32-bit Windows XP Service Pack 2 ve 3
· 32 bit Windows 2003 Sunucu Hizmet Paketi 0, 1, 2
· 32 bit Windows Vista Hizmet Paketi 0, 1, 2
· 32-bit Windows 2008 Server Service Pack 1, 2 (SP0 yok)
· 32 bit Windows 7 Hizmet Paketi 0, 1
· 32-bit Windows 8, 8.1 ve 8.1 Güncelleme 1
· 32 bit Windows 10 (ilk destek)
· 64-bit Windows XP Service Pack 1 ve 2 (SP0 yok)
· 64-bit Windows 2003 Server Service Pack 1 ve 2 (SP0 yok)
· 64 bit Windows Vista Hizmet Paketi 0, 1, 2
· 64-bit Windows 2008 Server Service Pack 1 ve 2 (SP0 yok)
· 64-bit Windows 2008 R2 Sunucu Hizmet Paketi 0 ve 1
· 64-bit Windows 7 Service Pack 0 ve 1
· 64-bit Windows 8, 8.1 ve 8.1 Güncelleme 1
· 64-bit Windows Server 2012 ve 2012 R2
· 64 bit Windows 10 (ilk destek)
Linux:
· 32-bit Linux çekirdekleri 2.6.11 - 4.2.3
· 64-bit Linux çekirdekleri 2.6.11 - 4.2.3
· OpenSuSE, Ubuntu, Debian, CentOS, Fedora, Mandriva, vb.
Mac OS X:
· 32-bit 10.5.x Leopard (tek 64-bit 10.5, desteklenmeyen Sunucudur)
· 32-bit 10.6.x Kar Leoparı
· 64-bit 10.6.x Kar Leoparı
· 32 bit 10.7.x Aslan
· 64 bit 10.7.x Aslan
· 64-bit 10.8.x Mountain Lion (32-bit sürümü yoktur)
· 64-bit 10.9.x Mavericks (32-bit sürümü yoktur)
· 64-bit 10.10.x Yosemite (32-bit sürümü yoktur)
· 64-bit 10.11.x El Capitan (32-bit sürümü yoktur)
Desteklenen bellek biçimleri şunlardır:
· Ham lineer örnek (dd)
· Hazırda bekletme dosyası
· Crash döküm dosyası
· VirtualBox ELF64 çekirdek dökümü
· VMware kaydedilmiş durum ve anlık görüntü dosyaları
· EWF formatı (E01)
· LiME (Linux Bellek Çıkarıcı) formatı
· Mach-o dosya formatı
· QEMU sanal makine dökümleri
· Ateş teli
· HPAK (FDPro)
Desteklenen adres alanları (RAM türleri):
· AMD64PagedMemory - Standart AMD 64 bit adres alanı
· ArmAddressSpace - ARM işlemcileri için adres alanı
· FileAddressSpace - Bu doğrudan bir dosyadır.
· HPAKAddressSpace - Bu AS, HPAK biçimini destekler
· IA32PagedMemoryPae - Bu sınıf, IA-32 PAE sayfalama adres alanını uygular.
sorumlu
· IA32PagedMemory - Standart IA-32 sayfalama adres alanı
· LimeAddressSpace - Lime için adres alanı
· MachOAddressSpace - mach-o dosyalarının atc-ny belleğini desteklemesi için adres alanı
okuyucu
· OSXPmemELF - Bu AS, VirtualBox ELF64 çekirdek dökümü biçimini destekler
· QemuCoreDumpElf - Bu AS, Qemu ELF32 ve ELF64 çekirdek dökümü biçimini destekler
· VirtualBoxCoreDumpElf64 - Bu AS, VirtualBox ELF64 çekirdek dökümü biçimini destekler
· VMWareAddressSpace - Bu AS, VMware anlık görüntüsünü (VMSS) ve kaydedilmiş durumu destekler
(VMSS) dosyaları
· VMWareMetaAddressSpace - Bu AS, VMSN/VMSS ile VMEM biçimini destekler
meta
· WindowsCrashDumpSpace32 - Bu AS, Windows Crash Dump biçimini destekler
· WindowsCrashDumpSpace64BitMap - Bu AS, Windows BitMap Crash Dump'ı destekler
biçim
· WindowsCrashDumpSpace64 - Bu AS, Windows Crash Dump biçimini destekler
· WindowsHiberFileSpace32 - Bu, pencereler için hazırda bekletme adres alanıdır
hazırda bekletme dosyaları
Testler için örnek bellek görüntüleri vardır.
https://github.com/volatilityfoundation/uçuculuk/wiki/Bellek-Örnekler.
SEÇENEKLER
-H, --yardım et
Kullanılabilir tüm seçenekleri ve bunların varsayılan değerlerini listeleyin. Varsayılan değerler ayarlanabilir
yapılandırma dosyası (/etc/volatilityrc).
--conf dosyası=/root/.volatiliterc
Kullanıcı tabanlı yapılandırma dosyası.
-NS, - hata ayıklama
Hata Ayıklama Volatilitesi.
--plugins=EKLENTİLER
Ek fişe takmak kullanılacak dizinler (iki nokta üst üste ayrılmış).
--bilgi Tüm kayıtlı nesneler hakkında bilgi yazdırın.
--cache-dizini=/root/.cache/volatilite
Önbellek dosyalarının depolandığı dizin.
--önbellek
Önbelleğe almayı kullanın.
--tz=TZ
pytz (kuruluysa) veya tzset kullanarak zaman damgalarını görüntülemek için saat dilimini ayarlayın
-f DOSYA ADI, --filename=DOSYAADI
Bir dosya açarken kullanılacak dosya adı görüntü.
--profil=WinXPSP2x86
Yüklenecek profilin adı (kullanın --bilgi desteklenen profillerin bir listesini görmek için).
-l YER, --konum=YER
Bir adres alanının yükleneceği bir URN konumu.
-w, --yazı yazmak
Yazma desteğini etkinleştirin.
--dtb=DTB
DTB Adresi.
--shift=SHIFT
Mac KASLR kaydırma adresi.
--çıktı=metin
Bu formatta çıktı.
--output-file=ÇIKTI_DOSYA
Çıktıyı bu dosyaya yazın.
-içinde, --ayrıntılı
Ayrıntılı bilgi.
-g KDBG, --kdbg=KDBG
Belirli bir KDBG sanal adresi belirtin. 64-bit Windows 8 ve üzeri için bu,
KdCopyDataBlock'un adresi.
--Kuvvet
Şüpheli profilinin zorla kullanılması.
-k KPCR, --kpcr=KPCR
Belirli bir KPCR adresi belirtin.
--cookie=ÇEREZ
nt!ObHeaderCookie adresini belirtin (yalnızca Windows 10 için geçerlidir).
PLUGINS VE PROFİLLER
desteklenen fişe takmak '$ komutu kullanılıyorsa komutlar ve profiller görüntülenebilir.
uçuculuk --bilgi'. Linux ve MAC OSX'in izin verdiği eklentilerin 'linux_'a sahip olacağını unutmayın.
ve 'mac_' önekleri. Bu önekleri olmayan eklentiler, MS Windows için tasarlanmıştır.
Profiller, Volatility tarafından operasyonel sistemleri anlamak için kullanılan haritalardır. İzin verilen MS
Windows profilleri Volatilite tarafından sağlanmaktadır.
Linux ve MAC OSX için kendi profillerinizi oluşturmalısınız. Bunun için Debian sistemlerinde, okuyun
tarafından sağlanan README.Debian dosyası uçuculuk-araçlar paketi.
MS Windows'ta işletim sistemi türünü belirlemek için şunları kullanabilirsiniz:
$ oynaklığı -f resim bilgisi
or
$ oynaklığı -f kdbgscan
ÇEVRE DEĞİŞKENLER
Bir GNU/Linux veya OS X sisteminde şu değişkenler ayarlanabilir:
· VOLATILITY_PROFILE - Varsayılan olarak kullanılacak profili belirtir,
gereksiz bir'--profil' seçenek.
· VOLATILITY_LOCATION - Bir nesnenin yolunu belirtir. görüntü. Yani, Volatilite komutu
' aracılığıyla bir dosya adına ihtiyaç duymaz-f' seçenek.
· VOLATILITY_KDBG - Bir KDBG adresi belirtir. Daha fazlası için EKSTRA PROSEDÜRLERİ görün
detaylar.
Diğer fişe takmak bayraklar bu şekilde kullanılabilir, örneğin KPCR, DTB veya PLUGINS. Ne zaman
değişkenleri dışa aktarırken, bayrak adının önüne VOLATILITY_ önekini koymanız yeterlidir (örn.
VOLATILITY_KPCR). Aksi takdirde, bayrak adı listeye eklenirken aynı kalır.
yapılandırma dosyası
Adında boşluk veya daha fazla boşluk olan bir yolunuz varsa, boşluklar %20 ile değiştirilmelidir.
bunun yerine (örn. LOCATION=file:///tmp/my%20image.img).
Örnek:
$ dışa aktar VOLATILITY_PROFILE=Win7SP0x86
$ dışa aktar VOLATILITY_LOCATION=file:///tmp/myimage.img
$ dışa aktar VOLATILITY_KDBG=0x82944c28
YAPILANDIRMA DOSYALAR
Yapılandırma dosyaları, geçerli dizinde tipik olarak 'volatilityrc' veya
'~/.volatiliterc' kullanarak kullanıcının ana dizininde veya kullanıcı tarafından belirtilen yolda --conf-
dosya seçenek. Dosya içeriğinin bir örneği aşağıda gösterilmiştir:
[VARSAYILAN]
PROFİL=Win7SP0x86
KONUM=dosya:///tmp/myimage.img
KDBG=0x82944c28
Diğer fişe takmak bayraklar bu şekilde kullanılabilir, örneğin KPCR, DTB veya PLUGINS. Ne zaman
değişkenleri dışa aktarırken, bayrak adının önüne VOLATILITY_ önekini koymanız yeterlidir (örn.
VOLATILITY_KPCR). Aksi takdirde, bayrak adı listeye eklenirken aynı kalır.
yapılandırma dosyası
Adında boşluk veya daha fazla boşluk olan bir yolunuz varsa, boşluklar %20 ile değiştirilmelidir.
bunun yerine (örn. LOCATION=file:///tmp/my%20image.img).
EKSTRA Prosedürler
Bir saat dilimi ayarlama
Bellekten çıkarılan zaman damgaları, sistem yerel saatinde veya Evrensel Saatte olabilir.
Koordinatlar (UTC). UTC'deyseler, Volatility'ye bunları bir seferde görüntülemesi talimatı verilebilir.
analistin seçtiği bölge. Bir saat dilimi seçmek için standart saat dilimlerinden birini kullanın
adları (Amerika/Sao_Paulo, Avrupa/Londra, ABD/Doğu veya çoğu Olson saat dilimi gibi)
--tz=TIMEZONE bayrağı.
Volatilite, kuruluysa pytz kullanmaya çalışır, aksi takdirde tzset kullanır.
Lütfen bir saat dilimi belirtmenin sistem-yerel saatlerin nasıl görüntüleneceğini etkilemeyeceğini unutmayın. Eğer
UTC tabanlı olduğunu bildiğiniz bir zaman belirlerseniz, lütfen bunu sorun izleyiciye sorun olarak bildirin.
Varsayılan olarak _EPROCESS CreateTime ve ExitTime zaman damgaları UTC'dedir.
DTB'yi ayarlama
DTB (Dizin Tablo Tabanı), Volatility'nin sanal adresleri fiziksele çevirmek için kullandığı şeydir.
adresler. Varsayılan olarak, bir çekirdek DTB'si kullanılır (Boşta/Sistem işleminden). bir kullanmak istiyorsanız
farklı işlemin DTB'si verilere erişirken, adresi --dtb=ADDRESS'e verin.
KDBG adresinin ayarlanması (bu yalnızca Windows'ta seçenek)
Sabit kodlanmış imzaları "KDBG" kullanarak '_KDDEBUGGER_DATA64' yapısı için oynaklık taramaları ve
bir dizi akıl sağlığı kontrolü. Bu imzalar, işletim sisteminin çalışması için kritik değildir
bu nedenle, kötü amaçlı yazılım,
imza. Ek olarak, bazı durumlarda birden fazla '_KDDEBUGGER_DATA64' olabilir (için
Örneğin, büyük bir işletim sistemi güncellemesi uygularsanız ve yeniden başlatmazsanız), bu da karışıklığa neden olabilir ve
diğer sorunların yanı sıra yanlış işlem ve modül listeleri. eğer adresi biliyorsan
'_KDDEBUGGER_DATA64' ekleyin, --kdbg=ADDRESS ile belirtebilirsiniz ve bu otomatik
taramalar. Daha fazla bilgi için kdbgscan eklentisine bakın.
KPCR adresini ayarlama (bu yalnızca Windows seçenek)
Bir sistemdeki her CPU için bir KPCR (Çekirdek İşlemci Kontrol Bölgesi) vardır. Bazı Volatilite
eklentiler işlemci başına bilgileri görüntüler. Bu nedenle, belirli bir CPU için verileri görüntülemek istiyorsanız,
örnek CPU 3 yerine CPU 1, o CPU'nun KPCR'sinin adresini --kpcr=ADDRESS ile iletebilirsiniz.
Tüm CPU'ların KPCR'lerini bulmak için kpcrscan eklentisine bakın. Ayrıca Volatility 2.2'den başlayarak,
idt ve gdt gibi eklentilerin çoğu, KPCR'ler listesinde otomatik olarak yinelenir.
Yazma desteğini etkinleştirme
Volatility'de yazma desteği dikkatli kullanılmalıdır. Bu nedenle, gerçekten etkinleştirmek için,
komut satırına yalnızca --write yazmakla kalmaz, aynı zamanda bir soruya yanıt olarak bir 'parola' yazmanız gerekir.
ile istenecektir. Çoğu durumda yazma desteğini kullanmak istemeyeceksiniz çünkü bu,
bellek dökümünüzdeki verilerin bozulması veya değiştirilmesi. Ancak, bunu yapan özel durumlar mevcuttur.
özellik gerçekten ilginç. Örneğin, canlı bir sistemi belirli kötü amaçlı yazılımlardan şu şekilde temizleyebilirsiniz:
firewire üzerinden RAM'e yazabilir veya
winlogon DLL'leri.
ek belirtme fişe takmak dizinleri
Volatility'nin eklenti mimarisi, eklenti dosyalarını aynı anda birden çok dizinden yükleyebilir. İçinde
Volatilite kaynak kodu, çoğu eklenti volatilite/eklentilerde bulunur. Ancak, başka bir
üçüncü taraf geliştiricilerin katkıları için ayrılmış dizin (volatilite/katkı) veya
varsayılan olarak etkinleştirilmeyen zayıf desteklenen eklentiler. Bu eklentilere erişmek için sadece
komut satırına --plugins=contrib/plugins yazın. Ayrıca ayrı bir dizin oluşturmanıza olanak sağlar.
çekirdeğe dosya eklemek/kaldırmak/değiştirmek zorunda kalmadan yönetebileceğiniz kendi eklentilerinizden
Volatilite dizinleri.
Notlar:
* Debian sistemlerinde, contrib/plugins dizini /usr/share/volatility/contrib/plugins konumundadır.
* Bir __init__.py dosyası (boş olabilir) olduğu sürece alt dizinler de geçilir
onların içinde.
* --plugins parametresi, aşağıdaki gibi eklentileri içeren bir zip dosyası da olabilir:
--plugins=myplugins.zip olarak. Eklentilerin yüklenme şekli nedeniyle, harici eklentiler dizini
veya zip dosyası, eklentiye özgü herhangi bir bağımsız değişkenden önce belirtilmelidir (ad dahil).
Eklenti). Örnek:
$ volatilite --plugins=contrib/plugins -f XPSP3x86.vmem örneği
Bir çıktı formatı seçme
Varsayılan olarak, eklentiler standart çıktı için metin oluşturucuları kullanır. Bir dosyaya yönlendirmek istiyorsanız,
tabii ki konsolun yeniden yönlendirmesini kullanabilir (yani > out.txt) veya --output-file=out.txt kullanabilirsiniz.
--output=FORMAT öğesini de seçebilmenizin nedeni, eklentilerin çıktıları HTML olarak da oluşturmasına izin vermektir.
JSON, SQL veya ne seçerseniz seçin. Ancak, bu alternatif çıktı biçimlerine sahip eklenti yok
kullanım için önceden yapılandırılmış olduğundan, render_html, render_json, render_sql adında bir işlev eklemeniz gerekir,
--output=HTML kullanmadan önce sırasıyla her bir eklentiye.
Eklentiye özel seçenekler
Birçok eklenti, global seçeneklerden bağımsız olan kendi argümanlarını kabul eder. Görmek için
kullanılabilir seçenekler listesinde, komut satırına hem eklenti adını hem de -h/--help yazın.
$ oynaklık dlllist -h
Hata ayıklama modu
Volatility'de beklenen şekilde bir şey olmuyorsa, komutu -d/--debug ile çalıştırmayı deneyin.
Bu, hata ayıklama mesajlarının standart hataya yazdırılmasını sağlayacaktır. Kullanımda olduğu gibi daha fazla hata ayıklama düzeyine
pdb hata ayıklayıcı), komuta -d -d -d ekleyin.
Volatiliteyi kitaplık olarak kullanma
Volatility'yi kütüphane olarak kullanmak mümkün olsa da, (daha iyi destekleme planları var)
gelecek). Şu anda, bir python betiğinden Volatility'yi içe aktarmak için aşağıdaki örnek kod kullanılabilir:
$ piton
>>> volatility.conf dosyasını conf olarak içe aktarın
>>> volatility.registry dosyasını kayıt defteri olarak içe aktarın
>>> kayıt.PluginImporter()
>>> yapılandırma = conf.ConfObject()
>>> volatility.command'ları komut olarak içe aktarın
>>> volatility.addrspace'i addrspace olarak içe aktarın
>>> register.register_global_options(config, commands.Command)
>>> register.register_global_options(config, addrspace.BaseAddressSpace)
>>> config.parse_options()
>>> config.PROFILE="WinXPSP2x86"
>>> config.LOCATION = "file:///media/memory/private/image.dmp"
>>> volatility.plugins.taskmods'u görev modları olarak içe aktarın
>>> p = görevmods.PSList(yapılandırma)
>>> p.calculate() içindeki işlem için:
... yazdırma işlemi
ÖRNEKLER
Mevcut tüm eklentileri, profilleri, tarayıcı kontrollerini ve adres alanlarını görmek için:
$ oynaklığı -- bilgi
MS Windows 8 SP0'da bulunan tüm etkin işlemleri listelemek için görüntü:
$ oynaklık -f win8.raw --profile=Win8SP0x86 pslist
MS Windows 8 SP0'da bulunan tüm etkin işlemleri listelemek için görüntü, bir saat dilimi kullanarak:
$ volatilite -f win8.raw --profile=Win8SP0x86 pslist --tz=Amerika/Sao_Paulo
Bir Linux 3.2.63'ten çekirdek bnuffer'ı göstermek için görüntü:
$ volatilite -f mem.dd --profile=Linux_3_2_63_x64 linux_dmesg
NOTLAR
Bu kılavuz, Volatilite ile ilgili bazı testlere ve birkaç resmi belgeye dayanıyordu. İçin
diğer bilgiler ve öğreticiler için bkz.:
· http://www.volatilityfoundation.org
· https://github.com/volatilityfoundation/uçuculuk/wiki
onworks.net hizmetlerini kullanarak çevrimiçi oynaklığı kullanın
