ETTER.CONF(5) File Formats Manual ETTER.CONF(5)

etter.conf - فایل پیکربندی ettercap

etter.conf فایل پیکربندی است که رفتار ettercap را تعیین می‌کند. این فایل همواره هنگام راه‌اندازی بارگذاری می‌شود و برخی از ویژگی‌های مورد استفاده در زمان اجرا را پیکربندی می‌کند.

این فایل شامل ورودی‌هایی به شکل زیر است:

[section]
entry = value
...

هر ورودی متغیری را تعریف می‌کند که می‌تواند سفارشی‌سازی شود. هر مقدار حتماً باید یک عدد صحیح باشد. بخش‌ها تنها برای گروه‌بندی برخی متغیرها در کنار یکدیگر استفاده می‌شوند.

نکته: اگر متغیری را در فایل پیکربندی نادیده بگیرید، با مقدار 0 مقداردهی اولیه خواهد شد. به هیچ وجه توصیه نمی‌شود که متغیرهای حیاتی مانند "arp_poison_delay" یا "connection_timeout" بدون مقداردهی اولیه رها شوند.

فهرست زیر متغیرهای موجود را نشان می‌دهد:

[privs]
این متغیر مشخص‌کننده شناسه کاربری (UID) است که امتیازات دسترسی هنگام راه‌اندازی به آن کاهش می‌یابد. پس از باز شدن سوکت در لایه پیوند داده (link layer)، به دلایل امنیتی امتیازات دسترسی به یک UID خاص و متفاوت از root کاهش می‌یابد. فایل etter.conf تنها فایلی است که با امتیازات ریشه (root) خوانده می‌شود. اطمینان حاصل کنید که UID مشخص‌شده دسترسی‌های کافی برای خواندن سایر فایل‌ها (etter.*) را دارد. می‌توانید با تنظیم متغیر محیطی EC_UID این متغیر را دور بزنید.
[mitm]
این مقدار نشان‌دهنده مدت‌زمان درنگ بر حسب میلی‌ثانیه بین دو بسته متوالی در طول پویش اولیه ARP است. می‌توانید این مقدار را افزایش دهید تا برنامه هنگام راه‌اندازی رفتار تهاجمی کمتری داشته باشد. پویش تصادفی به همراه درنگ بالا می‌تواند برخی از انواع آشکارسازهای پویش ARP را فریب دهد.
با تنظیم این متغیر، تنها ۳ پیام مسموم اولیه ARP به قربانیان ارسال می‌شود. این وضعیت مسمومیت توسط ettercap از طریق پاسخ دادن به درخواست‌های ARP قربانیانی که خواهان تازه‌سازی کش ARP خود هستند، حفظ می‌شود. این قابلیت مسموم‌سازی ARP را بسیار پنهان‌کارانه می‌کند، اما ممکن است در رسانه‌های اشتراکی مانند WiFi غیرقابل اعتماد باشد.
هنگامی که فرایند مسموم‌سازی شروع می‌شود، درنگ بین‌بسته‌ای برای ۵ مسموم‌سازی نخست پایین است (تا از موفقیت‌آمیز بودن فرایند مسموم‌سازی اطمینان حاصل شود). پس از ۵ مسموم‌سازی اول، درنگ افزایش می‌یابد (تا وضعیت مسمومیت حفظ شود). این متغیر درنگ ۵ مسموم‌سازی اول را کنترل می‌کند. این مقدار بر حسب ثانیه است.
همین مقدار درنگ هنگام بسته شدن ettercap و بازگرداندن قربانیان به انتساب‌های اصلی (RE-ARPing) نیز استفاده می‌شود.
این متغیر درنگ مسموم‌سازی را پس از ۵ مسموم‌سازی اول کنترل می‌کند. مقدار بر حسب ثانیه بیان می‌شود. می‌توانید این مقدار را (برای تلاش جهت فریب دادن سیستم‌های تشخیص نفوذ یا IDS) تا سقف مهلت زمانی کش ARP (که به سیستم‌عامل مسموم‌شده بستگی دارد) افزایش دهید.
ارسال یک پیام جعلی ICMP را فعال می‌کند تا اهداف وادار به ایجاد یک درخواست ARP شوند. این کار باعث ایجاد یک ورودی ARP در کش میزبان می‌شود، بنابراین ettercap قادر خواهد بود در شرایط رقابتی پیروز شده و هدف را مسموم کند. این گزینه برای اهدافی که اگر ورودی در کش وجود نداشته باشد، ARP بلاواسطه (gratuitous arp) را نمی‌پذیرند، مفید است.
استفاده از پاسخ‌های ARP برای مسموم کردن اهداف. این همان روش سنتی و کلاسیک حمله است.
استفاده از درخواست ARP برای مسموم کردن اهداف. این گزینه در برابر اهدافی که حتی مقادیر درخواست‌های ARP را کش می‌کنند مفید است.
اگر می‌خواهید از مسموم‌سازی دو میزبان که دارای نشانی MAC یکسان هستند صرف‌نظر کنید، این گزینه را روی 0 تنظیم کنید. این وضعیت ممکن است زمانی رخ دهد که یک کارت شبکه یک یا چند نام مستعار در همان شبکه داشته باشد.
این مدت‌زمان اجاره (بر حسب ثانیه) برای یک تخصیص DHCP است. می‌توانید این مقدار را کاهش دهید تا به قربانیان اجازه داده شود پس از پایان حمله، یک پاسخ معتبر DHCP دریافت کنند. استفاده از مهلت‌های زمانی بالاتر می‌تواند پس از پایان حمله شبکه شما را به شدت به هم بریزد. از سوی دیگر، برخی کلاینت‌ها زمان اجاره بالاتری را ترجیح می‌دهند، بنابراین برای برنده شدن در شرایط رقابتی در برابر سرور واقعی باید آن را افزایش دهید.
این مدت‌زمان درنگ (بر حسب میلی‌ثانیه) بین بسته‌های ربوده شده برای روش مرد میانی "port" است. با درنگ‌های کوتاه قادر به رهگیری بسته‌های بیشتری خواهید بود، اما ترافیک بیشتری ایجاد خواهید کرد. باید این مقدار را طوری تنظیم کنید که تعادل مناسبی بین تعداد بسته‌های رهگیری‌شده، بسته‌های بازفرستاده‌شده و بسته‌های از دست رفته برقرار شود. این مقدار به کانال‌های full/half duplex، درایورها و کارت‌های شبکه، پیکربندی عمومی شبکه و سخت‌افزار بستگی دارد.
این مدت‌زمان درنگ (بر حسب میکروثانیه) بین بسته‌ها است، زمانی که روش مرد میانی "port" باید صف بسته‌ها را دوباره ارسال کند. همان‌طور که برای port_steal_delay گفته شد، باید این گزینه را روی کمترین مقدار قابل قبول تنظیم کنید.
این گزینه مشابه گزینه arp_poison_warm_up عمل می‌کند. هنگامی که فرایند مسموم‌سازی آغاز می‌شود، این گزینه درنگ مسموم‌سازی NDP را برای ۵ مسموم‌سازی اول کنترل می‌کند (برای اطمینان از موفقیت‌آمیز بودن فرایند مسموم‌سازی). پس از ۵ مسموم‌سازی اول، درنگ افزایش می‌یابد (تا مسمومیت تداوم یابد). این متغیر درنگ ۵ مسموم‌سازی اول را کنترل می‌کند. مقدار آن باید کمتر از ndp_poison_delay باشد. مقدار بر حسب ثانیه است.
همین درنگ هنگامی که ettercap بسته می‌شود و انتساب‌های اصلی قربانیان بازیابی می‌گردند نیز به کار می‌رود.
این گزینه مشابه گزینه arp_poison_delay است. این متغیر درنگ (بر حسب ثانیه) برای ارسال بسته‌های مسموم NDP به منظور مسموم‌سازی کش همسایه قربانی را کنترل می‌کند. این مقدار را می‌توان برای پنهان ماندن از دید سامانه‌های تشخیص نفوذ (IDS) افزایش داد. با این حال افزایش این مقدار، احتمال شکست در شرایط رقابتی حین کشف همسایه (neighbor discovery) و از دست رفتن برخی بسته‌ها را نیز بیشتر می‌کند.
این گزینه درنگ بین ارسال بسته‌های مسموم NDP را بر حسب میکروثانیه کنترل می‌کند. این مقدار می‌تواند برای پنهان ماندن از سامانه‌های IDS افزایش یابد. اما افزایش مقدار، احتمال شکست در شرایط رقابتی حین کشف همسایه و از دست رفتن برخی بسته‌ها را نیز افزایش می‌دهد.
ارسال یک پیام جعلی ICMPv6 را فعال می‌کند تا اهداف را به اجرای فرایند کشف همسایه ترغیب کند. این کار ورودی جدیدی در کش همسایه میزبان ایجاد می‌کند تا ettercap بتواند در شرایط رقابتی پیروز شود و هدف را مسموم سازد. این گزینه در برابر اهدافی که در صورت نبود ورودی در کش، اعلان‌های همسایه (neighbor advertisements) را نمی‌پذیرند، کاربرد دارد.
اگر می‌خواهید از مسموم‌سازی NDP دو میزبان با نشانی MAC یکسان صرف‌نظر کنید، این گزینه را روی 0 قرار دهید. این حالت ممکن است در صورتی رخ دهد که یک کارت شبکه یک یا چند نام مستعار در همان شبکه داشته باشد.
این گزینه مدت‌زمانی (بر حسب ثانیه) را تعیین می‌کند که ettercap منتظر می‌ماند تا گره‌های فعال IPv6 به کاوش‌های ICMP پاسخ دهند. کاهش این مقدار ممکن است سبب از دست رفتن پاسخ‌های ارسالی از گره‌های فعال IPv6 و در نتیجه غیبت آن‌ها در فهرست میزبان‌ها شود. افزایش مقدار معمولاً اثری ندارد؛ معمولاً گره‌ها قادرند در طول درنگ پیش‌فرض پاسخ دهند.

نکته: گزینه‌های ndp و icmp6 تنها در صورتی در دسترس هستند که ettercap با پشتیبانی از IPv6 کامپایل شده باشد.

[connections]
هر بار که اتصال جدیدی کشف می‌شود، ettercap ساختارهای مورد نیاز را تخصیص می‌دهد. پس از یک مهلت زمانی قابل سفارشی‌سازی، می‌توانید این ساختارها را آزاد کنید تا مصرف حافظه پایین بماند. این متغیر نمایانگر همین مهلت زمانی است. مقدار بر حسب ثانیه بیان می‌شود. این مهلت زمانی حتی برای سامانه ردیابی نشست (ماشین حالت پروتکل برای تحلیل‌گرها) نیز اعمال می‌شود.
تعداد ثانیه‌های انتظار پیش از آنکه یک اتصال به عنوان غیرفعال (IDLE) علامت‌گذاری شود.
این متغیر اندازه بافر متصل به هر اتصال را کنترل می‌کند. هر بسته شنودشده به این بافر اضافه می‌شود و زمانی که بافر پر شود، بسته‌های قدیمی‌تر حذف می‌شوند تا فضا برای بسته‌های جدیدتر باز شود. این بافر برای مشاهده داده‌هایی که قبل از انتخاب و بررسی یک اتصال خاص روی کابل جریان داشته‌اند مفید است. هرچه این مقدار بیشتر باشد، میزان اشغال حافظه توسط ettercap بیشتر خواهد بود. البته بافر به صورت پویا عمل می‌کند، بنابراین اگر بافری با اندازه 100.000 بایت تنظیم کنید، تمام آن به یکباره در اولین بسته یک اتصال تخصیص نمی‌یابد، بلکه همگام با رسیدن بسته‌ها پر می‌شود.
مهلت زمانی بر حسب ثانیه هنگام استفاده از فراخوان سیستمی connect(). اگر خطای "Connection timeout" دریافت کردید، آن را افزایش دهید. این گزینه ارتباطی با اتصالات شنودشده توسط ettercap ندارد، بلکه مهلت زمانی برای اتصالاتی است که خود ettercap با سایر میزبان‌ها برقرار می‌کند (مثلاً هنگام انگشت‌نگاری از میزبان راه دور).
[stats]
برنامه ettercap آمارهایی را درباره زمان پردازش نیمه پایینی (شنودکننده) و نیمه بالایی (رمزگشای پروتکل) نگهداری می‌کند. این آمارها بر مبنای میانگین زمان پردازش تعداد بسته‌های مشخص‌شده در sampling_rate محاسبه می‌شوند. می‌توانید این مقدار را کاهش دهید تا تصویری دقیق‌تر و بلادرنگ از زمان پردازش داشته باشید یا آن را افزایش دهید تا نمایی هموارتر به دست آورید. میانگین کل تغییری نخواهد کرد، اما بدترین مقدار به شدت تحت تأثیر این متغیر قرار خواهد گرفت.
[misc]
هنگام خواندن از یک پرونده دامپ (dump) و استفاده از رابط متنی کنسول یا دیمن، این متغیر برای تعیین اقدام لازم پس از رسیدن به پایان فایل (EOF) استفاده می‌شود. این یک مقدار بولی است. اگر روی 1 تنظیم شود، ettercap خود را خواهد بست (مفید در اسکریپت‌ها). در غیر این صورت نشست در انتظار ورودی کاربر به کار خود ادامه می‌دهد.
برنامه ettercap برای هر میزبانی که شناسایی می‌کند، یک نمایه (profile) در حافظه ذخیره می‌کند. نام‌های کاربری و گذرواژه‌ها در آنجا گردآوری می‌شوند. اگر قصد دارید ettercap را در پس‌زمینه اجرا کرده و تمام ترافیک را ثبت کنید، ممکن است بخواهید برای صرفه‌جویی در حافظه سیستم، ذخیره‌سازی نمایه‌ها را در حافظه غیرفعال کنید. برای غیرفعال کردن گردآوری نمایه‌ها، این گزینه را روی 0 (صفر) قرار دهید. مقدار 1 گردآوری را برای همه میزبان‌ها فعال می‌کند، مقدار 2 تنها میزبان‌های محلی را ثبت می‌کند و مقدار 3 منحصراً میزبان‌های راه دور را گردآوری می‌نماید (میزبانی راه دور تلقی می‌شود که به ماسک شبکه تعلق نداشته باشد).
برخی از تحلیل‌گرها (مانند SSH و HTTPS) برای گردآوری گذرواژه‌ها و انجام حمله رمزگشایی نیاز دارند بار مفید (payload) بسته‌ها را دستکاری کنند. اگر می‌خواهید تمام تحلیل‌گرهای «خطرناک» را به طور یکجا غیرفعال کنید، این مقدار را روی 0 تنظیم کنید.
اگر این مقدار را روی 0 تنظیم کنید، حتی بسته‌های هدایت‌شده توسط ettercap یا هسته سیستم‌عامل را نیز شنود خواهید کرد. این کار مثلاً در ترکیب با روش مرد میانی arp بسته‌های تکراری تولید می‌کند. این گزینه می‌تواند هنگام اجرای ettercap در حالت غیرتهاجمی روی میزبانی با چند رابط شبکه مفید باشد (تا زمان پیاده‌سازی قابلیت چندرابطی...).
اگر این مقدار را روی 0 تنظیم کنید، پیام‌های مربوط به مجموع مقابله‌ای (checksum) نادرست در پنجره پیام‌های کاربر نمایش داده نخواهد شد (و با گزینه -m در فایلی نیز ثبت نمی‌شود).
توجه داشته باشید که این گزینه بررسی بسته‌ها را غیرفعال نمی‌کند، بلکه صرفاً از نمایش پیام جلوگیری می‌کند (به بخش زیر مراجعه کنید).
این گزینه برای غیرفعال‌سازی کامل بررسی مجموع مقابله‌ای بسته‌های دریافتی توسط ettercap استفاده می‌شود. بررسی بسته‌ها به این منظور انجام می‌شود که از شناسایی ettercap از طریق بسته‌های دارای مجموع مقابله‌ای نادرست جلوگیری گردد (به Phrack 60.12 مراجعه کنید). اگر بررسی را غیرفعال کنید، حتی قادر به شنود بسته‌های دارای مجموع مقابله‌ای نادرست نیز خواهید بود، اما اگر کسی به دنبال شما باشد رد شما شناسایی خواهد شد...
اگر این گزینه روی 1 تنظیم شود، ettercap بلافاصله پس از اتمام مرحله راه‌اندازی، شنود یکپارچه یا پل‌شده را آغاز می‌کند. این گزینه به جلوگیری از مسدود شدن ترافیک هنگامی که تکنیک MITM شروع شده اما شنود ترافیک فراموش شده است، کمک می‌کند. از این رو این گزینه به طور پیش‌فرض روی 1 تنظیم شده است.
اگر این رفتار مطلوب نیست، آن را روی 0 تنظیم کنید تا پس از اجرای ettercap، وضعیت شنود یکپارچه یا پل‌شده را به صورت دستی مدیریت کنید. با این حال، شنود را می‌توان در هر زمان در طول اجرای ettercap متوقف یا آغاز کرد.
این گزینه تعیین می‌کند که آیا اطلاعات GeoIP برای نشانی‌های IP پردازش شوند یا خیر، صرف‌نظر از اینکه ettercap با پشتیبانی از GeoIP ساخته شده باشد یا نه.
این گزینه می‌تواند به یک پایگاه داده محلی GeoLite2 بارگیری‌شده از Maxmind اشاره کند که احتمالاً تازه‌تر از پایگاه داده همراه با ettercap است. اگر این گزینه خالی رها شود، از فایل پایگاه داده ارائه‌شده همراه برنامه استفاده خواهد شد.
این گزینه تلاش می‌کند حالت تیره پوسته اعمال‌شده را اجباری کند. البته این گزینه تنها زمانی اثرگذار خواهد بود که پوسته اعمال‌شده دارای نسخه تیره باشد. معمولاً محیط میزکار پوسته برنامه‌ها را کنترل می‌کند. اما برخی از محیط‌های سبک میزکار از گزینه پیکربندی برای پوسته‌های تیره پشتیبانی نمی‌کنند، حتی اگر پوسته نسخه تیره داشته باشد. برای واگذاری تنظیمات نسخه پوسته به محیط میزکار، این گزینه به صورت پیش‌فرض روی 0 تنظیم شده است.
نکته: این گزینه تنها در حالت GTK و در صورتی که ettercap با پشتیبانی کامل از GTK3 ساخته شده باشد معتبر است.
[dissectors]
این مقدار نشان‌دهنده درگاهی است که تحلیل‌گر پروتکل باید به آن مقید (bound) شود. مقدار 0 تحلیل‌گر را غیرفعال می‌کند. نام متغیر دقیقاً مشابه نام پروتکل است. می‌توانید برای هر تحلیل‌گر یک درگاه غیر استاندارد و همچنین چندین درگاه را مشخص کنید. قواعد نگارشی برای انتخاب چند درگاه به صورت زیر است: port1,port2,port3,...
نکته: برخی تحلیل‌گرها به صورت مشروط کامپایل می‌شوند. این بدان معناست که بسته به کتابخانه‌های موجود در سیستم شما، ممکن است برخی تحلیل‌گرها فعال و برخی دیگر غیرفعال باشند. به طور پیش‌فرض etter.conf شامل تمام تحلیل‌گرهای پشتیبانی‌شده است. اگر با خطای "FATAL: Dissector "xxx" does not exists (etter.conf line yy)" مواجه شدید، باید خط yy را در etter.conf کامنت کنید.
[curses]
می‌توانید رنگ‌های رابط گرافیکی متنی curses را سفارشی‌سازی کنید.
به سادگی یک فیلد را روی یکی از مقادیر زیر تنظیم کنید و ظاهر رابط کاربری را مشاهده نمایید :)
فهرست مقادیر به این شرح است: 0 سیاه، 1 قرمز، 2 سبز، 3 زرد، 4 آبی، 5 ارغوانی، 6 فیروزه‌ای، 7 سفید
[strings]
کدگذاری مورد استفاده هنگام نمایش بسته‌ها در قالب UTF-8 را مشخص می‌کند. برای مشاهده فهرست کدگذاری‌های پشتیبانی‌شده از دستور `iconv --list` استفاده کنید.
این دستور توسط افزونه remote_browser هر بار که یک درخواست معتبر URL را درون یک اتصال HTTP دریافت کند، اجرا می‌شود. این دستور باید قابلیت دریافت ۲ پارامتر را داشته باشد:
%host
برچسب Host: در سرآیند HTTP. برای ساخت درخواست کامل درون مرورگر استفاده می‌شود.
%url
صفحه درخواست‌شده درون درخواست GET.
باید یک دستور (یا اسکریپت) معتبر برای فعال‌سازی هدایت مجدد tcp در سطح هسته ارائه دهید تا امکان استفاده از تحلیل‌گر SSL فراهم شود. اسکریپت شما باید بتواند ۵ پارامتر را دریافت کند:
%iface
رابط شبکه‌ای که قاعده باید روی آن اعمال شود.
%source
نشانی IP مبدا یا شبکه‌ای که با بسته‌های هدایت‌شونده مطابقت دارد (پیش‌فرض 0.0.0.0/0 یا به ترتیب ::/0 یا any است).
%destination
نشانی IP مقصد یا شبکه‌ای که با بسته‌های هدایت‌شونده مطابقت دارد (پیش‌فرض 0.0.0.0/0 یا به ترتیب ::/0 یا any است).
%port
درگاه مبدا بسته‌هایی که باید هدایت شوند (443 برای HTTPS، 993 برای imaps و غیره).
%rport
درگاه مقیدشده داخلی که ettercap برای اتصالات روی آن شنود می‌کند.
نکته: این اسکریپت با ()execve اجرا می‌شود، بنابراین نمی‌توانید از لوله‌ها (pipes) یا تغییر مسیر خروجی مانند یک پوسته استفاده کنید. پیشنهاد می‌کنیم در صورت نیاز به این دستورات، یک اسکریپت جداگانه بسازید.

نکته: برای عملکرد صحیح این قابلیت، باید ec_uid را روی یک UID تنظیم کنید که امتیاز لازم برای اجرای redir_command را داشته باشد، یا یک برنامه setuid تهیه کنید.

این اسکریپت برای حذف قواعد هدایت مجدد اعمال‌شده توسط 'redir_command_on' استفاده می‌شود. توجه داشته باشید که این اسکریپت در زمان فراخوانی atexit() اجرا می‌شود و بنابراین امتیازات بالایی ندارد. برای اطمینان از اجرای موفقیت‌آمیز اسکریپت، باید یک برنامه با بیت setuid ارائه دهید یا ec_uid را روی 0 تنظیم کنید.

Alberto Ornaghi (ALoR) <alor@users.sf.net>
Marco Valleri (NaGA) <naga@antifork.org>

Emilio Escobar (exfil) <eescobar@gmail.com>
Eric Milam (Brav0Hax) <jbrav.hax@gmail.com>

Mike Ryan (justfalter) <falter@gmail.com>
Gianfranco Costamagna (LocutusOfBorg) <costamagnagianfranco@yahoo.it>
Antonio Collarino (sniper) <anto.collarino@gmail.com>
Ryan Linn <sussuro@happypacket.net>
Jacob Baines <baines.jacob@gmail.com>

Dhiru Kholia (kholia) <dhiru@openwall.com>
Alexander Koeppe (koeppea) <format_c@online.de>
Martin Bos (PureHate) <purehate@backtrack.com>
Enrique Sanchez
Gisle Vanem <giva@bgnett.no>
Johannes Bauer <JohannesBauer@gmx.de>
Daten (Bryan Schneiders) <daten@dnetc.org>

ettercap(8) ettercap_curses(8) ettercap_plugins(8) etterlog(8) etterfilter(8) ettercap-pkexec(8)

ettercap 0.8.4.1