Skip to content
ეს გვერდი შეიქმნა და ითარგმნა ხელოვნური ინტელექტის დახმარებით. თუ შეამჩნევთ უზუსტობას, გთხოვთ, დაგვეხმარეთ გაუმჯობესებაში. GitHub-ზე რედაქტირება

მხარდაჭერილი ფაილის ტიპები

PRX-SD ფაილის გაფართოებაზე დაყრდნობის ნაცვლად ფაილის ტიპს მაგიური ნომრის გამოვლენით (ფაილის პირველი ბაიტების გამოკვლევა) ადგენს. ეს გადარქმეული ან გაფართოების გარეშე ფაილების ზუსტ იდენტიფიკაციას უზრუნველყოფს.

ფაილის ტიპების მატრიცა

ქვემოთ მოცემული ცხრილი მხარდაჭერილ ყველა ფაილის ტიპსა და თითოეულზე გამოყენებული გამოვლენის შრეებს გვიჩვენებს:

ფაილის ტიპიგაფართოებებიმაგიური ბაიტებიჰეშიYARAევრისტიკაარქივის რეკურსია
PE (Windows).exe, .dll, .sys, .scr, .ocx4D 5A (MZ)კიკიკი--
ELF (Linux).so, .o, (გაფართოების გარეშე)7F 45 4C 46კიკიკი--
Mach-O (macOS).dylib, .bundle, (გაფართოების გარეშე)FE ED FA CE/CF ან CE FA ED FE/CFკიკიკი--
Universal Binary(გაფართოების გარეშე)CA FE BA BEკიკიკი--
PDF.pdf25 50 44 46 (%PDF)კიკიკი--
Office (OLE).doc, .xls, .pptD0 CF 11 E0კიკიკი--
Office (OOXML).docx, .xlsx, .pptx50 4B 03 04 (ZIP) + [Content_Types].xmlკიკიკიამოღებული
ZIP.zip50 4B 03 04კიკიშეზღუდულირეკურსიული
7-Zip.7z37 7A BC AF 27 1Cკიკიშეზღუდულირეკურსიული
tar.tar75 73 74 61 72 257-ე offset-ზეკიკიშეზღუდულირეკურსიული
gzip.gz, .tgz1F 8Bკიკიშეზღუდულირეკურსიული
bzip2.bz242 5A 68 (BZh)კიკიშეზღუდულირეკურსიული
xz.xzFD 37 7A 58 5A 00კიკიშეზღუდულირეკურსიული
RAR.rar52 61 72 21 (Rar!)კიკიშეზღუდულირეკურსიული
CAB.cab4D 53 43 46 (MSCF)კიკიშეზღუდულირეკურსიული
ISO.iso43 44 30 30 31 32769-ე offset-ზეკიკიშეზღუდულირეკურსიული
Shell script.sh, .bash23 21 (#!)კიკიშაბლონი--
Python.py, .pycტექსტი / 42 0D 0D 0Aკიკიშაბლონი--
JavaScript.js, .mjsტექსტის გამოვლენაკიკიშაბლონი--
PowerShell.ps1, .psm1ტექსტის გამოვლენაკიკიშაბლონი--
VBScript.vbs, .vbeტექსტის გამოვლენაკიკიშაბლონი--
Batch.bat, .cmdტექსტის გამოვლენაკიკიშაბლონი--
Java.class, .jarCA FE BA BE / ZIPკიკიშეზღუდული.jar რეკურსიული
WebAssembly.wasm00 61 73 6Dკიკიშეზღუდული--
DEX (Android).dex64 65 78 0A (dex\n)კიკიშეზღუდული--
APK (Android).apkZIP + AndroidManifest.xmlკიკიშეზღუდულირეკურსიული

გამოვლენის შრეების განმარტება

შრემნიშვნელობა
ჰეშიSHA-256/MD5 ჰეში სიგნატურების მონაცემთა ბაზასთან მოწმდება
YARAფაილის შინაარსზე სრული YARA rule set გამოიყენება
ევრისტიკა: კიფაილის ტიპის სრული ევრისტიკული ანალიზი (იხილეთ ევრისტიკა)
ევრისტიკა: შეზღუდულიმხოლოდ საბაზისო ენტროპიისა და სტრუქტურის შემოწმებები
ევრისტიკა: შაბლონისაეჭვო ბრძანებებისა და ობფუსკაციის ტექსტ-ზე დაფუძნებული შაბლონ-შეჯამება
არქივის რეკურსიაშინაარსი ამოღებული და ყოველი ფაილი ცალ-ცალკე სკანირდება

მაგიური ნომრის გამოვლენა

PRX-SD ტიპის დასადგენად ყოველი ფაილის პირველ 8192 ბაიტს კითხულობს. ეს მიდგომა გაფართოება-ზე დაფუძნებულ გამოვლენაზე სანდოა:

File: invoice.pdf.exe
Extension suggests: PDF
Magic bytes: 4D 5A → PE executable
PRX-SD identifies: PE (correct)

გაფართოების შეუსაბამობა

ფაილის გაფართოება გამოვლენილ მაგიურ ნომერს რომ არ შეესაბამება, PRX-SD სკანირების ანგარიშში შენიშვნას ამატებს. გაფართოების შეუსაბამობა სოციალური ინჟინერიის გავრცელებული ტექნიკაა (მაგ., photo.jpg.exe).

მაგიური გამოვლენის პრიორიტეტი

მრავალი სიგნატურის შესაძლო შეჯამებისას (მაგ., .zip-ისა და .docx-ისთვის ZIP მაგიკი) PRX-SD უფრო ღრმა ინსპექტირებას იყენებს:

  1. 0-ე offset-ზე მაგიური ბაიტების წაკითხვა
  2. გაურკვევლობისას (მაგ., ZIP) შიდა სტრუქტურის ინსპექტირება
  3. ZIP-ზე დაფუძნებული ფორმატებისთვის [Content_Types].xml (OOXML), META-INF/MANIFEST.MF (JAR), AndroidManifest.xml (APK) შემოწმება
  4. გენერული კონტეინერის ტიპზე გადასვლა

არქივის რეკურსიული სკანირება

PRX-SD არქივის (ZIP, 7z, tar, gzip, RAR და სხვ.) შეხვედრისას შინაარსს დროებით დირექტორიაში ამოიღებს და ყოველ ფაილს სრული გამოვლენის კონვეიერით ცალ-ცალკე სკანირებს.

რეკურსიის სიღრმე

პარამეტრინაგულისხმევიაღწერა
max_archive_depth5არქივებში არქივების მაქსიმალური ჩადგმის დონეები
max_archive_files10,000ერთი არქივიდან ამოსაღები ფაილების მაქსიმალური რაოდენობა
max_archive_size_mb500გაჩერებამდე ამოღების სრული მაქსიმალური ზომა

ეს ლიმიტები zip-bomb-ისა და ღრმად ჩადგმული არქივების მიერ რესურსების გამოლევას ხელს უშლის.

toml
# ~/.config/prx-sd/config.toml
[scanning]
max_archive_depth = 5
max_archive_files = 10000
max_archive_size_mb = 500

Zip Bomb-ები

PRX-SD zip-bomb-ებს (ექსტრემალური შეკუმშვის კოეფიციენტის მქონე არქივები) ადგენს და გადაჭარბებული დისკის სივრცის ან მეხსიერების მოხმარებამდე ამოღებას წყვეტს. Zip-bomb-ის გამოვლენა სკანირების შედეგებში SUSPICIOUS-ად ირეპორტება.

პაროლ-დაცული არქივები

PRX-SD პაროლ-დაცული არქივების ამოღება ვერ ახერხებს. ეს სკანირების შედეგებში skipped-ად ირეპორტება, დაშიფვრის შესახებ შენიშვნით. არქივის ფაილი თავად კი ჰეშ- და YARA მონაცემთა ბაზებთან მაინც მოწმდება.

სკრიპტის გამოვლენა

ტექსტ-ზე დაფუძნებული სკრიპტ-ფაილებისთვის (shell, Python, JavaScript, PowerShell, VBScript, batch) PRX-SD შაბლონ-ზე დაფუძნებულ ევრისტიკებს გამოიყენებს:

შაბლონიქულააღწერა
ობფუსცირებული სტრინგები10-20Base64-კოდირებული ბრძანებები, ჭარბი სტრინგ-კონკატენაცია
ჩამოტვირთვა + შესრულება15-25curl/wget bash/sh-ზე მილით, Invoke-WebRequest + Invoke-Expression
Reverse shell20-30ცნობილი reverse shell შაბლონები (/dev/tcp, nc -e, bash -i)
სერთიფიკატების წვდომა10-15/etc/shadow-ის, ბრაუზერის სერთიფიკატების საცავების, keychain-ის წაკითხვა
Persistence მექანიზმები10-15cron job-ების, systemd სერვისების, რეესტრის გასაღებების დამატება

მხარდაუჭერელი ფაილები

ცნობილ მაგიურ ნომერთან შეუსაბამო ფაილები ჰეშ- და YARA მონაცემთა ბაზებთან მაინც მოწმდება. ევრისტიკული ანალიზი უცნობ ფაილის ტიპებზე არ გამოიყენება. გავრცელებული მაგალითები:

  • უხეში binary მონაცემები
  • საჯარო მაგიური ნომრების გარეშე საკუთრებრივი ფორმატები
  • დაშიფრული ფაილები (გარდა შემთხვევისა, როდესაც კონტეინერის ფორმატი ცნობილია)

ეს ფაილები სკანირების ანგარიშებში type: unknown-ად ჩანს და მხოლოდ ჰეში + YARA სკანირებას იღებს.

შემდეგი ნაბიჯები

Released under the Apache-2.0 License.