Foremost

بازیابی فایلهای حذف شده در لینوکس

فروردین 7, 1399لینوکس

اگر به صورت تصادفی  فایلی را در سیستم عامل لینوکس delete کردید نگران نباشید احتمالا هنوز می توانید این فایل را restore نمایید به شرطی که روی آن نقطه از دیسک مجددا اطلاعاتی نوشته نشده باشد! در این پست به شما نشان خواهیم داد که چقدر راحت می توانید فایلها را در لینوکس بازیابی (restore) نمایید.

بسته نرم افزاری Foremost قادر است که روی دیسک سخت (hard disk ) را برای recover کردن یک فایل بر اساس header  ، footer و یا ساختار داده داخلی فایل جستجو نماید . این بسته نرم افزاری توسط دو سازمان  Air Force Office of Special Investigations و The Center for Information Systems Security Studies and Research ایالت متحده توسعه داده شده است.

 

 

نصب ابزار Foremost :

بصورت پیش فرض Foremost بر روی ریپازیتوری های رسمی centos وجود ندارد بنابراین باید مستقیما از طریق آدرس زیر نصبش کنیم

 

[root@centos7 ~]# yum install https://forensics.cert.org/centos/cert/7/x86_64//foremost-1.5.7-13.1.el7.x86_64.rpm -y

 

در این مثال ما از centos7 استفاده می کنیم اما برای سایر distroهای لینوکسی نیز فرآیند نصب مشابه است

حذف یک فایل:

حال که بسته Foremost بر روی این سرور نصب شده است، اجازه بدهید یک فایل را حذف نماییم. لازم به ذکر است که هنگام حذف پرونده حتما نیاز نیست که Foremost از قبل نصب شده باشد این فقط سناریویی است که من در نظر گرفته ام.

در این مثال من فایل image.jpg را که در کادر پایین می بینید را حذف می کنم.

 


[root@centos7 ~]# file image.jpg
image.jpg: JPEG image data, JFIF standard 1.01
[root@centos7 ~]# md5sum image.jpg
f2b6f5c9f3795363cddfd6aae6d1ba0d  image.jpg

 

ما اطلاعات کادر فوق را بعدا برای اثبات اینکه فایل با موفقیت restore  شده استفاده می کنیم.

خب حالا فایل را با استفاده از دستور زیر حذف می نماییم

[root@centos7 ~]# rm -f image.jpg

 

بازیابی فایلهای حذف شده:

یک پوشه جهت فایلهایی که قرار است بازیابی کنیم ایجاد می کنیم، Foremost به یک پوشه خالی جهت اینکار نیاز دارد

[root@centos7 ~]# mkdir /root/restored

الان آماده ایم که از دستور Foremost برای بازیابی فایلمون استفاده کنیم

سویئچ i برای مشخص کردن دیسکی که قرار است فرآیند جستجو بر روی آن صورت گیرد و از t جهت مشخص کردن نوع فایل  و از o جهت اینکه فایلهای بازیابی شده کجا باید ذخیره شوند استفاده می شود. Foremost توانایی بازیابی انواع مختلفی  از فایلها را دارد برای مشاهده لیست فایلهای پشتیبانی شده در این برنامه به manpage برنامه مراجعه فرمایید.

[root@centos7 ~]# foremost -i /dev/sda3 -t jpg -o /root/restored/
Processing: /dev/sda3
|**************************************************************************************************************************************************************************************|

 

فرآیند فوق حدودا 2 دقیقه طول می کشد که انجام شود البته بر روی هارد دیسک 18 گیگابایتی!

دستور فوق هر فایلی با پسوند  jpg را بر روی /dev/sda3 که حذف شده باشد پیدا می کند و در مسیر /root/restored/ بازیابی می کند البته به شرط اینکه فضایی که فایل حذف شده روی هارددیسک مورد استفاده قرار داده بود بوسیله فایل دیگری بازنویسی( overwrite )نشده باشد!

بعد از اتمام فرآیند بازیابی اطالاعات اگر به مسیر /root/restored برویم خواهیم دید که فایل ما با موفقیت restore شده است ، برای اثبات این موضوع md5 hash فایل بازیابی شده را بدست می آوریم و با فایل قبلی مقایسه می کنیم در اینصورت خواهید دید که md5 hash فایلها یکسان است.

با توجه به اینکه نام فایل در خود فایل ذخیره نمی شود وقتی فایلی را restore می کنید امکان پذیر نیست که فایل با همان نام قبلی restore شود .

چکیده مطالب فوق :

ما ابزار Foremost را بر روی ماشین مجازی centos7 نصب کردیم و برای بازیابی فایل حذف شده از این ابزار استفاده نمودیم.

md5 hash فایل را ، قبل و بعد از recovery جهت اینکه ثابت کنیم دقیقا همان فایلی که حذف کردیم با موفقیت restoreکرده ایم ،بکار بردیم.

Foremost ابزاری جالب جهت انجام عملیات data carving است که من در بعضی از مسابقات Capture The Flag (CTF) استفاده کرده ام و موفقیتهایی نیز کسب کردم.

عکس زیر نمونه ایی از اجرای تمام دستورات فوق بر روی یک سرور با سیستم عامل centos7 می باشد

 


پست های مرتبط


یک نظر ارسال کنید

ایمیل شما نزد ما امن می ماند