HFIND(1) General Commands Manual HFIND(1)

hfind - جستجوی یک مقدار هش در پایگاه‌دادهٔ هش

hfind [-i db_type ] [-f lookup_file ] [-eq] db_file [hashes]

دستور hfind با استفاده از الگوریتم جستجوی دودویی، مقادیر هش را در یک پایگاه‌داده جستجو می‌کند. این قابلیت به کاربر اجازه می‌دهد تا به‌سادگی یک پایگاه‌دادهٔ هش ایجاد کرده و مشخص کند که آیا یک فایل شناخته‌شده است یا خیر. این ابزار با کتابخانهٔ ملی مرجع نرم‌افزار نایست (NIST NSRL) و خروجی دستور 'md5sum' کار می‌کند.

پیش از اینکه پایگاه‌داده توسط 'hfind' قابل استفاده باشد، باید یک فایل نمایه با گزینهٔ '-i' ایجاد شود.

این ابزار برای کارایی و سرعت بالا ضروری است. بیشتر پایگاه‌های دادهٔ متنی مدخل‌هایی با طول ثابت ندارند و گاهی مرتب‌نشده هستند. ابزار hfind یک فایل نمایه ایجاد می‌کند که مرتب‌شده بوده و دارای مدخل‌هایی با طول ثابت است. این امر امکان جستجوهای سریع را با استفاده از الگوریتم جستجوی دودویی به جای جستجوی خطی مانند 'grep' فراهم می‌سازد.

ایجاد یک فایل نمایه برای پایگاه‌داده. این مرحله باید پیش از انجام هر جستجویی صورت گیرد. آرگومان 'db_type' نوع پایگاه‌داده را مشخص می‌کند (مانند nsrl-md5 یا md5sum). بخش زیر را ببینید.
مسیر فایلی را مشخص می‌کند که در هر سطر آن یک مقدار هش قرار دارد. این هش‌ها در پایگاه‌داده جستجو خواهند شد.
حالت گسترش‌یافته. اطلاعات تکمیلی دیگری علاوه بر نام فایل چاپ می‌شود. (برای تمام انواع پایگاه‌های دادهٔ هش اعمال نمی‌شود).
حالت سریع. به جای نمایش اطلاعات متناظر با هش، در صورتی که هش پیدا نشود مقدار 0 و در صورت پیدا شدن مقدار 1 را نمایش می‌دهد. اگر از این پرچم استفاده شود، در هر بار تنها یک هش می‌تواند مشخص شود.
نمایش نسخه
محل قرارگیری فایل پایگاه‌دادهٔ هش.
[hashes]
هش‌هایی که باید جستجو شوند. اگر در خط فرمان ارائه نشوند، از STDIN استفاده می‌شود. اگر فایل‌های نمایه برای هر دو هش SHA-1 و MD5 وجود داشته باشند، می‌توان هر دو نوع هش را در زمان اجرا وارد کرد.

دستور hfind از یک فایل نمایه برای اجرای جستجوی دودویی به منظور یافتن مقدار هش استفاده می‌کند. این کار بسیار سریع‌تر از استفاده از 'grep' است که جستجوی خطی انجام می‌دهد. پیش از استفاده از پایگاه‌دادهٔ هش، باید یک فایل نمایه متناظر ایجاد شود. این کار با گزینهٔ '-i' در hfind انجام می‌گیرد.

نام فایل نمایهٔ حاصل بر اساس نام فایل پایگاه‌داده تعیین می‌شود. نام فایل شامل نام اصلی و به دنبال آن نوع هش (sha1 یا md5) و پسوند '.idx' خواهد بود. به عنوان مثال، ایجاد یک نمایه هش MD5 از NIST NSRL منجر به 'NSRLFile.txt-md5.idx' و نمایه SHA-1 منجر به 'NSRLFile.txt-sha1.idx' می‌شود.

این فایل دارای دو ستون است. هر مدخل بر اساس ستون نخست که مقدار هش است مرتب می‌شود. ستون دوم آفست بایتی مدخل متناظر را در فایل اصلی در خود دارد. بنابراین، هنگامی که یک هش در نمایه پیدا می‌شود، آفست ثبت شده و سپس 'hfind' به مدخل مربوطه در پایگاه‌داده اصلی پرش (seek) می‌کند.

انواع ورودی‌های زیر معتبر هستند. برای NSRL، می‌توان از 'nsrl-md5' و 'nsrl-sha1' استفاده کرد. تفاوت در این است که نمایه بر اساس کدام مقدار هش مرتب می‌شود. مقدار 'md5sum' نیز می‌تواند برای مرتب‌سازی و نمایه‌سازی پایگاه‌های دادهٔ دست‌ساز (“home made”) استفاده شود. دستور 'hfind' می‌تواند داده‌ها را در هر دو فرمت رایج بپذیرد:

MD5 (test.txt) = 76b1f4de1522c20b67acc132937cf82e

و

76b1f4de1522c20b67acc132937cf82e test.txt

برای ایجاد یک فایل نمایه MD5 برای NIST NSRL:

# hfind -i nsrl-md5 /usr/local/hash/nsrl/NSRLFile.txt

برای جستجوی یک مقدار در NSRL:

# hfind /usr/local/hash/nsrl/NSRLFile.txt 76b1f4de1522c20b67acc132937cf82e

76b1f4de1522c20b67acc132937cf82e Hash Not Found

حتی در صورت تمایل می‌توانید هر دو هش SHA-1 و MD5 را جستجو کنید:

# hfind -i nsrl-sha1 /usr/local/hash/nsrl/NSRLFile.txt

# hfind /usr/local/hash/nsrl/NSRLFile.txt 76b1f4de1522c20b67acc132937cf82e 80001A80B3F1B80076B297CEE8805AAA04E1B5BA

76b1f4de1522c20b67acc132937cf82e Hash Not Found

80001A80B3F1B80076B297CEE8805AAA04E1B5BA thrdcore.cpp

برای ساخت یک پایگاه‌داده از فایل‌های باینری حیاتی یک سیستم معتمد، از 'md5sum' استفاده کنید:

# md5sum /bin/* /sbin/* /usr/bin/* /usr/bin/* /usr/local/bin/* /usr/local/sbin/* > system.md5

# hfind -i md5sum system.md5

برای جستجوی مدخل‌ها، دستورات زیر کار خواهند کرد:

# hfind system.md5 76b1f4de1522c20b67acc132937cf82e

76b1f4de1522c20b67acc132937cf82e Hash Not Found

یا

# md5sum -q /bin/* | hfind system.md5

928682269cd3edb1acdf9a7f7e606ff2 /bin/bash

<...>

یا

# md5sum -q /bin/* > bin.md5

# hfind -f bin.md5 system.md5

928682269cd3edb1acdf9a7f7e606ff2 /bin/bash

<...>

sorter(1)

کتابخانهٔ ملی مرجع نرم‌افزار نایست (NIST NSRL) در نشانی زیر قابل دسترسی است: www.nsrl.nist.gov

تحت مجوز Common Public License توزیع می‌شود که در فایل cpl1.0.txt در دایرکتوری مجوزهای The Sleuth Kit موجود است.

Brian Carrier <carrier at sleuthkit dot org>

ارسال به‌روزرسانی‌های مستندات به <doc-updates at sleuthkit dot org>