مقاله :: حذف ردپا ها (Covering Tracks) در تست نفوذ

در این مقاله ، روش های متداولی که هکرها برای از پوشاندن / پنهان کردن ردپاهای خودشان استفاده می کنند را یاد می گیریم.این شامل مواردی از پوشاندن ردپاها در شبکه‌ ها ، ویندوز و لینوکس می باشد.

پس بیاید شروع کنیم و ببینیم که چگونه ردپاها در شبکه ها پوشانده می شوند. توجه داشته باشید که ما فقط روش ها و یک ذره چگونگی استفاده از آن ها توسط هکر ها را بررسی می کنیم، یعنی در این روش های عمیق نمی شویم و جنبه های فنی هر روش را بررسی نخواهیم کرد.

 

پنهان کردن ردپاها در شبکه

در این بخش ما یاد خواهیم گرفت که چگونه هکرها  ردپاها را در شبکه پنهان می کنند.

 

استفاده کردن از Reverse HTTP Shell:

در این روش ، هکر معمولا یک محموله Reverse Shell را روی کامپیوتر قربانی نصب می کند. این محموله به گونه ای برنامه نویسی شده که دستورات را از خارج سیستم قربانی دریافت و اجرا کند. رفتار این محموله شبیه به ترافیک معمولی برای دستگاه های امنیتی مثل فایروال هست.

زمانی که هکر درخواستی از محموله نصب شده روی سیستم قربانی دریافت می کند، دستورات خود را میفرستد که به صورت محلی در سیستم قربانی اجرا می شود. همه این به عنوان یک درخواست/پاسخ HTTP در دستگاه های شبکه دیده می شوند. وقتی که دستورات اجرا شدند، نتایج از طریق درخواست بعدی به بیرون فرستاده می شوند.

پوشاندن ردپای هکر - Covering Tracks

این HTTP Reverse Shell ها به گونه ای برنامه نویسی شدند که بتوانند هرگونه تایید هویتی ثابتی که توسط دستگاه های امنیتی مثل فایروال انجام می شوند را دور بزنند.

 

استفاده از ICMP Tunnels:

به خاطر اینکه HTTP Reverse Shell‌ ها خیلی معروفند ! بعضی از سازمان ها پیوسته درخواست های HTTP که از شبکه آن ها خارج می شوند را  بررسی می کنند. بعضی حتی پاسخ های درخواست ها را که ممکن دستورات هکر باشند را نیز بررسی می کنند که ممکن دستورات هکر شناسایی شود.

به جای این روش، بعضی ترافیک را توسط کانال های ICMP توسط پکت های ICMP جابجا می کنند. این معمولا موفق آمیز هست زیرا سازمان ها فقط پکت های ICMP که به شبکه وارد می شود را بلاک می کنند و فراموش می کنند که پکت های ارسالی به خارج شبکه را نیز بلاک کنند ! در نتیجه هکر از این نقص امنیتی برای انتقال محموله های TCP استفاده می کند.

ICMP Tunneling در Covering Tracks

اول هکر کامپیوتر خود را پکربندی می کند که بتواند به قربانی متصل شود. قربانی محموله کپسوله سازی شده  را در قالب یک پکت ICMP ECHO در می آورد و سپس آن را به یک Proxy Server می فرستد. وظیفه Proxy Server این هست که محموله ارسالی توسط قربانی از حالت کپسوله خارج کند و TCP Payload را برای هکر بفرستد. برای دستگاه های شبکه این شبیه به یک ICMP Packet معمولی است !

ابزار های مختلفی که هکر ها از آن ها برای چنین کارهایی استفاده می کنند:

  • Ptunnel
  • Loki
  • ICMPShell
  • PingChat
  • ICMPCmd

استفاده از TCP Parameter ها

چطوره که به جای کپسوله سازی پروتکل محموله را به صورت یک پکت معمولی TCP توزیع شود؟ این روش به خوبی شناخته شده است و حتی امروزه نیز می تواند برای دور زدن IDS/IPS استفاده شود.

IP Identification:

این حمله بسیار ساده است. کافی هست که نشست بین ۲ سمت برقرار شود. از یک سمت محموله ای به صورت bitwise و در فیلد IPID منتقل می شود.

TCP initial acknowledment sequence number

این روش از یک Bounce Server استفاده می کند که کل هدف آن دریافت پکت ها از قربانی و ارسال آن ها به کامپیوتر هکر است. در پایین مراحلی که در این روش استفاده می شود را آوردیم:

۱. قربانی یک پکت TCP SYN با یک آدرس منبع جعلی از سرور دریافت کننده و آدرس مقصد که Bounce Server هست می سازد. بیاید بگیم که Sequence number اولیه ISNA هست که کاراکتری که قرار است منتقل شود را نگه می دارد.

CoveringTra3

۲.  Bounce Server پکت را دریافت می کند و پاسخ SYN-ACK یا RESET وابسته به باز یا بسته بودن پورت می دهد. نکته جالب این هست که آن یک پاسخ می فرستد ، اما به کجا !؟ بله پاسخ را به سرور دریافت کننده می فرستد زیرا آن سرور یک آدرس منبع جعل شده دریافت می کند. آن با یک SYNB, ACK(ISNA+1)  پاسخ میدهد.

۳.  سرور دریافت کننده ، این را دریافت می کند و کاراکتر را از فیلد Sequence Number بازگردانی می کند.

 

TCP initial sequence number:

این روش حتی نیاز به یک اتصال برقرار شده که در روش IP identification به آن نیاز بود نیز ندارد. یک SYN Packet با یک ISNa یا initial sequence number شامل محموله‌(بیت) ارسال می شود. حتی اگر در پاسخ یک RESET دریافت کند ،‌ محتوا در سمت دیگر استخراج شده شده است.

 

پوشاندن ردپاها در سیستم عامل ها

ویندوز

مخفی کردن فایل ها در NTFS

یک فایل در پارتیشن NTFS مثل یک کشو و  شامل قفسه های مختلف هست ! اسم فایل بیانگر اسم قفسه هست. می توان هر تعداد جریان داده (‌Data Stream) در آن باشد. یک هکر می تواند از این ویژگی Streaming برای مخفی کردن فایل ها پشت فایل های عادی سیستم استفاده کند. برای استفاده از این روش ما معمولا:

برای مخفی کردن یک فایل:

Type file_to_hide > normal_file:stream1

برای نمایش فایل مخفی شده:

More < path_to_stream

درباره این موضوع می توانید ویدیو های زیر را نیز ببینید:

ADS چیست؟

مخفی کردن فایل های ویندوز با استفاده از پایتون و ADS

 

Unix

فایل ها می تواند با اضافه شدن یک (.) در جلوی آن ها مخفی شوند. هر پوشه در سیستم عامل های Unix-based حداقل شامل ۲ دایرکتوریست ! که آن ها Current Directory (.) و Parent Directory(..) می باشند. هکر می تواند با ساختن فایل هایی با نام شبیه به “.. ” ( یک WhiteSpace بعد از نقطه های وجود دارد) اقدام به پوشاندن رد پاهایش بکند ! معمولا فایل ها در /dev ، /tmp و /etc مخفی می شوند.

 

بعضی مواقع هکر فایل های Log را ویرایش می کند تا ردپای خودش را مخفی کند. با این حال ، بعضی از مواقع هکر ها اثری از خود باقی می گذارند که فایل را ویرایش کردند زیرا وقتی فایلی که باز می شود که ویرایش شود ، SHELL ثبت می کند که کسی آن را ویرایش کرده است. هکر های باهوش این مشکل را با استفاده از “kill” کردن SHELL و تنظیم متغیر HISTSIZE به ۰ حل می کنند !

 

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

منبع : ‌http://resources.infosecinstitute.com/covering-tracks-of-attacks/#

 

ارسال نظر

ایمیل شما منتشر نخواهد شد. پر کردن ورودی ها الزامی است. *

*

19 − سیزده =