تکنیک های ساده پاک کردن رد پا در لینوکس و ویندوز

پاک کردن رد پا در لینوکس : در این مطلب میخوایم یه سری نکات ساده رو بیان کنیم که میتونید با اون bash history رو پاک کنید یا کلا کاری کنید که لاگ نندازه !قبل از هر چیز بگم که با وجود SIEM ، لاگ ها از کلاینت ها به سمت یه مرکزی ارسال میشن و اونجا هم ذخیره میشن ، و پاک کردن لاگ روی کلاینت تاثیر به سزایی نداره ، ولی بعضی از این ها از بُعد اختفا و Evasion میتونه کار ساز باشه :)چطوری لاگ نندازیم ؟ ساده ترین و در عین حال حرفه ای ترین تکنیکی که میتونید با هر سطح دسترسی ای در لینوکس کامند خودتونو اجرا کنید و لاگ نندازه ، استفاده از یه فاصله "space" قبل کامندیه که میخواید بزنید : همونطور که میبینید من دوبار ls گرفتم و یه بار history زدم ولی فقط ی ls انداخته :) ساختار های Log در لینوکس چطوریه ؟ برای اینکه ببینید لاگ ها کلا در کجا ذخیره میشن ، فارغ از هر نوع Distro ای که روش هستید ، یه سر به مسیر etc/syslog.conf etc/rsyslog.confبزنید و با یه cat ساده میتونید مسیر انواع لاگ رو بخونید و ببینید کدوم کجا ذخیره شدن، اکثر لاگ ها توی /var/log ذخیره میشن و ما دوتا لاگ خیلی مهم داریم : /var/log/secure/var/log/messagesدر اولی لاگ های امنیتی و مربوط به احراز هویت هست و در دومی لاگ های کلی لینوکس ذخیره میشه این لاگ ها ، متنی ذخیره میشن و تغییر دادنشونم با ابزار های تغییر متن ساده امکان پذیره ، ولی ما یه سری لاگ دیگه هم داریم که به شکل باینری ذخیره میشن و تغییر دادنشون سخت تره :utmp : درباره یوزر های فعلی ایه که توی سیستم لاگین کردنwtmp : درباره یوزر های سابقیه که توی سیستم لاگین بودنbtmp : لاگین های ناموفق و fail رو اینجا ثبت میکنه lastlog : این فایل شامل آیپی و پورت یا نام یوزری هست که لاگین کرده و آخرین تایمی که هر یوزر لاگین کرده /var/run/utmp/var/log/wtmp/var/log/btmp/var/log/lastlogاین آخرین اگر کاربر لوکال باشه که یوزر نیم رو فقط میندازه ، اگر ریموت باشه هم آیپی رو میندازه هم یوزر و ..خوندن این لاگ ها با دستور strings امکان پذیره و با vi و vim و nano نمیتونید بخونیدش برای پاک کردنشون هم یه سری ابزار هست که در این لینک قرار داره : https://packetstormsecurity.com/search پاک کردن Bash History : اگر بخوایم فرض کنیم که شما قصد دارید که دخل bash history رو بیارید و نخواید لاگ بندازه ، باید چیکار کنید؟وقتی کامندی مینویسید توسط برنامه history توی فایل bash_history لاگ میندازه ، اگر سطح دسترسی تون مناسبه میتونید این فایل رو حذف کنید یا تغییرش بدید :rm -rf .bash_historycat /dev/null > .bash_historyاگر خواستید که دستوراتی که توی سشن اون شل تون نوشتید پاک بشه میتونید از سویچ c- استفاده کنید :history -c و اگر خواستید کلا bash history لاگ نندازه میتونید این کارو بکنید : export HISTSIZE=0این دستور میگه کلا چند تا دستور آخر رو سیستم عامل لاگ کنه ، و اینطوری ما میگیم هیچ دستوری رو لاگ نکنبرای تکنیک های بالا نیازه که Privilege Escalation انجام بدید و حتما Root باشیداگر روی اون لینوکسی که دارید ، وب سرور ران باشه ، لاگ روی httpd ذخیره میشه ، خوندن این لاگ ها در شناسایی حملات file inclusion خیلی موثره و شما میتونید برای شناسایی نشدن این لاگ هارو پاک کنید :/var/log/httpd/error_log/var/log/httpd/access_logاگر بخوایم سرویس مربوط به لاگ گیری رو توی لینوکس غیر فعال کنیم هم میتونیم این کارو کنیم :systemctl stop rsyslog systemctl disable rsyslogبرای دفاع چیکار کنیم ؟ استفاده از SIEM به عنوان مرکز جمع آوری لاگ متمرکز عالیه ! استفاده از HIDS/HIPS هم عالیه ، چون روی فایل های لاگ مانیتور انجام میدن و به محض تغییر محسوس یا غیر منتظره یه Alert میدن !مجوز هارو هم میتونید مدیریت کنید ولی اگر کسی کلا Root شده باشه و کاری بکنه شما دیگه نمیتونید کاربر Root رو محدود کنید :)ما توی ویندوز هم چیز خاصی نداریم و فقط میتونیم با سطح دسترسی ادمین کل لاگ هارو پاک کنیم یا سرویس لاگ گیری رو کلا غیر فعال کنیم :auditpool /set /category:* /success:disable /failure:disable wevtutil el | ForEach-Object {wevtutil cl $_}تکنیک هایی که اینجا گفته شد قدیمی هست و اگر جایی این کارو بکنید که SIEM هم دارن ، خیلی ریسکیه و لو میرید و تکنیک های حرفه ای تری هست برای این منظور که از گفتنشون معذوریم :)موفق و پیروز باشید ، هر سوالی و انتقادی بود در خدمتم