جمع آوری بالقوه اطلاعات یا جمع آوری اطلاعات بصورت پسیو که اصطلاحاً به آن Enumeration هم گفته می شود، فرآیند جمع آوری اطلاعات درباره هدف با استفاده از اطلاعات عمومی موجود در این زمینه است. این فرآیند میتواند شامل سرویس هایی نظیر نتایج موتور جستجو، اطلاعات whois، اطلاعات عمومی شرکت یا به عبارت دیگر هرگونه فعالیت جهت جمع آوری اطلاعات درباره هدف بدون کوچکترین برقراری ارتباط با آن، باشد.
منظور از بالقوه نیز اینست که در این فرآیند هیچگونه ارتباطی خصوصا بصورت مستقیم با هدف برقرار نمیشود.همانند سایر زمینه های موجود در زندگی، در اینجا نیز این موضوع صدق میکند که آماده سازی و آمادگی منجر به پیروزی و موفقیت خواهد شد. مخصوصا در این زمینه این موضوع بیشتر خود را نشان میدهد چرا که قبل از حمله، هرچه که اطلاعات جمع آوری شده ما از هدف بیشتر باشد، یک قدم ما را به موفقیت نزدیکتر خواهد نمود.
اگر بخواهیم یک مثال خوب از جمع آوری بالقوه اطلاعات بزنیم، میتوانیم اتفاقی را که در حین فرآیند تست نفوذ از یک شرکت کوچک، چندین سال پیش رخ داده است را نقل کنیم. در این شرکت تقریبا هیچگونه دسترسی اینترنت وجود نداشت (دسترسی حداقلی) و فقط تعداد کمی از سرویس ها از بیرون در معرض دیده شدن قرار داشتند که آن ها نیز بصورت ثابت امن شده بودند.
بعد از ساعت ها جستجو در موتورهای جستجو جهت یافتن کوچکترین اطلاعاتی از این شرکت، سرانجام در یک سایت فروم (مخصوص جمع آوری تمبر)، پستی از طرف یکی از کارمندان آن شرکت ایجاد شده بود مبنی بر اینکه ایشان بدنبال مجموعه تمبرهای کمیاب مربوط به دهه1950 بودند. و در ادامه جهت تماس از ایمیل سازمانی و شماره تلفن خود استفاده کرده بود.این دقیقا همان چیزی بود که یک هکر زرنگ جهت اجرای یک حمله نیمه پچیده Client-side به آن نیاز داشت.
برای این کار بسرعت دامینی با نام "rare-stamps-trade.com" ثبت شد و در صفحه اصلی آن طراحی طوری صورت پذیرفت که تمبرهای نایاب دهه 1950که از جستجوی گوگل بدست آمده بودند، قرار گرفتند. نام دامین و طراحی صفحه اصلی به گونه ای بود که اطمینان هر بازدید کننده ای مبنی این که این سایت در زمینه تجارت تمبرهای نایاب فعالیت میکند را جلب میکرد.
قدم بعدی جاساز کردن چندین HTML آلوده در کد سایت بود که حاوی کد اکسپلویت (باگ امنیتی) آخرین نسخه IE آنموقع (MS05-001) بود. قدم بعدی تماس با شخص مورد نظر و ترغیب وی به بازدید از وب سایت است. برای این کار به شخص مورد نظر گفته شد که "از پدربزرگ خدابیامرز من (شخص هکر) مجموعه تمبری باقی مانده است که قصد دارم بخشی از آن ها را به فروش برسانم."
زمان تماس به نوعی برنامه ریزی شده بود که در ساعت کاری باشد تا احتمال چک کردن سایت از دفتر کار ( و نه از خانه) به حداکثر برسد. کارمند مورد نظر بی خبر از همه جا و خوشحال از تماس هکر، بدون معطلی اقدام به بازدید از وبسایت آلوده ای میکند که در آن مجموعه تمبرهای مورد علاقه وی در معرض فروش قرار داده شده بود. دقیقا زمانی که او در حال گشت و گذار در وب سایت بود، اکسپلویت مورد نظر بر روی سیستم هدف دانلود و اجرا شده و در نهایت از آن سیستم یک ارتباط شل معکوس (reverse shell) در اختیار هکر گذاشته بود.
دیدید که به چه راحتی و با کمترین اطلاعاتی هکر توانست به سیستم هدف خود نفوذ پیدا کند. در واقع این مثال نمونه خوبی بود که بیان میکرد که حتی اطلاعاتی مانند بیان مشکلات شخصی یک فرد به همراه ایمیل شرکتی آن که ممکن است بی ضرر و بی ارزش به نظر برسد، در نهایت منجر به یک نفوذ موفق به سیستم شرکتی آن شخص شد.بله دوستان. همانطور که دیدید، جمع آوری اطلاعات در تست نفوذ یکی از مهمترین فازهای موجود است. این که قبل از حمله هدف خود را بشناسید، درصد احتمال موفقیت شما را افزایش خواهد داد. در مثال بالا یک پست پیش پا افتاده و بی ارزش فروم، توانست کلیدی برای یک حمله موفق باشد.
شاید در ابتدا کمی تیتر این مقاله شیطنت آمیز به نظر برسد اما حقیقت آنست که از همین وب سایت گوگلی که روزانه، بارها و بارها برای رسیدن به اطلاعات مختلف استفاده میکنیم میتوان با استفاده از فوت و فن کوزه گری جمع آوری اطلاعات و تست نفوذ، اطلاعات و مقدمات لازم برای اجرای یک حمله موفقیت آمیز را پی ریزی کرد. پس درست است؛ در بطن این تیتر شیطنت آمیز، همانند ظاهرش راه و روشی نهان است که با استفاده از آن میتوان این شیطنت را در عمل دوچندان نمود.
هنگامی که بدنبال جمع آوری اطلاعات در باره هدف خود هستید، همیشه استفاده از وب، اولین و ساده ترین روش مورد استفاده شما خواهد بود؛ بنابراین نیاز دارید تا زمانی را جهت جستجوی اطلاعات غیرعمومی از شرکت هدف خود برای وبگردی، کنار بگذارید. اینکه آن ها چکاری انجام میدهند؟، چگونگی با دنیای اطراف خود تعامل دارند؟، آیا واحد فروش دارند؟، آیا آن ها نوبت استخدامی دارند؟
زیر و رو کردن سایت شرکت و جستجو برای اطلاعات عمومی مانند اطلاعات تماس، شماره های تلفن و فکس، ایمیل ها، ساختار شرکت و نظایر آن، همه و همه نمونه اطلاعات مفیدی هستند که بصورت موردی نیز میتوانند درصد موفقیت شما را بالاتر ببرند. برای این کار علاوه بر زیر و رو کردن سایت شرکت که در بالا گفته شد، باید بدنبال سایت هایی باشید که به سایت هدف لینک هستند و یا ایمیل های شرکتی که در گوشه و کنار وب بصورت موردی پراکنده اند را بیابید.خوشبختانه امروزه با استفاده از ابزار موتور جستجوگر گوگل و امکانات جانبی آن میتوانیم بخش اعظمی از این اطلاعات را (در صورت وجود) بصورت متمرکز از گوگل تخلیه اطلاعاتی نماییم.
همانطور که گفته شد، میتوان موتور جستجوی گوگل را بهترین دوستمان در زمینه ردیابی امنیتی دانست خصوصا آن که از آن جهت جمع آوری اطلاعات نیز بخواهیم استفاده کنیم.
گوگل استفاده از اپراتورهای مختلف جستجویش را در دسترس عموم قرار داده است که به کاربر این توانایی را میدهد تا با محدود کردن نتایج جستجو، دقیقا به آن چیزی برسد که میخواهد.برای مثال، اپراتور "site"، نتیجه جستجوی گوگل را به یک دامین خاص، محدود میکند. در اینصورت یک جستجوی ساده اطلاعات مفیدی را در اختیار ما قرار خواهد داد. به عنوان نمونه، بگویید که قصد دانستن وجود وب سایت های احتمالی یک شرکت را دارید.
در مثال بالا، ما از پارامتر "site" برای محدود کردن نتایج گوگل در نمایش دامین هایی با نام "Microsoft.com" استفاده کردیم. همانطور که در شکل هم اشاره شده است، در این زمان خاص، گوگل حدود 67 میلیون صفحه را با نام دامین "Microsoft.com" ایندکس کرده است. توجه کنید که مقدار قابل توجهی از این رقم نشان دهنده لینک های موجود برای دامین زیر مجموعه "www.Microsoft.com" هستند. بنابراین فیلتر زیر را اعمال میکنیم تا بدانیم که علاوه بر دامین زیر مجموعه "www.Microsoft.com" چه دامین هایی زیر مجموعه دیگری نیز در "Microsoft.com" وجود دارند.
این دو جستجو و در واقع درخواست ساده، گوشه ای از اطلاعات پس زمینه در رابطه با دامین "Microsoft.com" ، مثل دامین های زیر مجموعه قابل دسترس آن را بما نشان داد.همین کار را میتوان با با اپراتورهای دیگر جستجو مانند "filetype"، "inurl" و "intitle" که همگی آن ها در پیدا کردن اطلاعات مربوط به شرکت هدف نقش بزرگی دارند، انجام داد. برای مثال یک سیستم مدار بسته و امنیتی معمولی از اتاق سرور، چنین صفحه پیش فرضی دارد:
به عنوان (title) صفحه این سیستم امنیتی اتاق سرور دقت کنید که در آن علاوه بر برند مورد استفاده در این سامانه مداربسته (Netbotz Appliance)، به مدل آن نیز اشاره شده است. با چنیدن جستجوی ساده گوگل، میتوانیم نتایج را دقیقا محدود به این دیوایس ها نماییم.
نمونه برند و مدل های خاصی نظیر آنچه که در مثال بالا بیان شد، بطور طبیعی در حال تغییرند و در چندین ماه بعد ممکن است چنین محصولی با مشخصات مثال زده شده نتیجه ای را برای شما در بر نداشته باشد. بهرحال مفهوم این نوع جستجوها یکسان است. اگر شما به کارایی اپراتورهای مختلف جستجوی گوگل واقف هستید و میدانید که دقیقا بدنبال چه میگردید، تقریبا میتوانید هر چیزی را در دنیای وب پیدا کنید. در قسمت بعد قصد داریم تا جزئیات زیرتر و بیشتری را در این باره خدمت شما بیان کنیم.
استفاده از گوگل برای پیدا کردن اطلاعات دست اول، آسیب پذیری ها یا وب سایت هایی که صحیح ساختاربندی نشدهاند، برای اولین باربصورت عمومی توسط شخصی بنام "Johnny Long" در سال 2001 معرفی گردید. پس از آن دیتابیسی از جستجوهای مورد علاقه افراد، به منظور شناسایی سریع خطاهای ساختاری معروف در یک دومین خاص برای بازرسان امنیتی (و هکرها) گردآوری و فعال گردید. در ادامه به بیان و توضیح چگونگی اجرای چنین جستجوهایی خواهیم پرداخت. به این مفهوم در اصطلاح گوگل هکینگ گفته می شود .
هزاران نمونه ازاین دست جستجوهای جالب وجود دارند که میتوان آن ها را تولید کرد که بسیاری از آن ها در قسمت
(Google Hacking (GHDB در Exploit Database لیست شدهاند.
Email Harvesting روشی موثر و کارا در پیدا کردن ایمیلها و احتمالا یوزرنیمهای متعلق یک شرکت است. این ایمیلها در بسیاری از موارد مفید هستند و بکار میآیند، برای نمونه میتوان به ایجاد لیستی بالقوه برای حملات Client side، نشان دادن قواعد نامگذاری در شرکت یا الگو برداری از موقعیت کاربران اشاره کرد.یکی از ابزاری که با استفاده از آن میتوان در لینوکس کالی اقدام به Email Harvesting نمود، ابزار "theharvester" است. با استفاده از این ابزار میتوان سایت هایی چون Google، Bing و دیگر سایت های مشابه را توسط الگوهای عبارتی زیر، بدنبال آدرس های ایمیل گشت.
root@kali:~# theharvester –d cisco.com –b google >google.txt root@kali:~# theharvester –d cisco.com –l 10 –b bing >bing.txt
این ابزار برای کمک به اجراکنندگان تست نفوذ در همان مراحل ابتدایی تست نفوذ طراحی و در نظر گرفته شده است تا بتوان بوسیله آن ردپای مشتری مورد نظر (هدف) را در اینترنت جستجو کرد. این ابزار همچنین برای کسانی مفید است که تمایل دارند که بدانند هکرها درباره شرکت آن ها در اینترنت چه چیزهایی را پیدا میکنند.از قابلیت های جانبی این ابزار میتوان به جمع آوری host ها، نام کارمندان، پورت های باز و هدرها از سورس های عمومی مانند موتورهای جستجو، سرورهای PGP key و دیتابیس SHODAN، اشاره کرد.
Whois نام یکی از سرویس های TCP است که علاوه بر این که یک ابزار است، نوعی دیتابیس هم محسوب میشود. این دیتابیس شامل name server، ثبت کننده و در برخی از موارد دارای اطلاعات تماس کاملی از یک دامین خاص است. هر ثبت کننده باید دیتابیسی از whois را در دل خود داشته باشد که در آن اطلاعات تماس از دامین هایی که در آن ها میزبانی میشوند، وجود داشته باشد.
یک ثبت کننده مرکزی در دیتابیس whois، توسط InterNIC نگهداری میشود. InterNIC، ارائه دهنده اطلاعات عمومی در رابطه با سرویس های ثبت کننده نام دامین اینترنتی میباشد. این دیتابیس ها معمولا توسط یک سرور whois تحت پروتکل TCP و پورت 43 منتظر میشوند و توسط استفاده از نسخه کلاینت برنامه whois قابل دسترس هستند.
root@kali:~# whois megacorpone.com Whois Server Version 2.0 Domain names in the .com and .net domains can now be registered Whit many different competing registrars. Go to http://www.internic.net For detailed information. Domain Name: MEGACORPONE.COM Registrar: GANDI SAS Whois Server: Whois.gandi.net Referral URL: http://gandi.net Name Server: NS1.MEGACORPONE.COM Name Server: NS2.MEGACORPONE.COM Name Server: NS3.MEGACORPONE.COM Status: clientTransferProhibited Updated Date: 12-apr-2014 Creation Date: 22-jan-2014 Expiration Date: 22-jan-2017 >>> Last update of whois database : tue, 11 jun 2014 18:02:59 UTC <<< ….. Domain:megacorpone.com Reg-created: 2014-01-22 23:01:00 Expires: 2017-01-22 23:01:00 Created: 2014-01-23 00:01:00 Change: 2014-04-12 13:03:56 Transfer-prohibited: yes Ns0: ns1.negacorpone.com 50.7.67.186 Ns1: ns2.negacorpone.com 50.7.67.154 Ns2: ns3. .negacorpone.com 50.7.67.170 Owner-c: Nic-hd1: AG6848-GANDI Owner-name: MegaCorp0ne Organisation: MegaCorp0ne Person: Alan Grofield Address: 2 Old Mill st Zipcode: 89001 City: Rachel State: Nevada Country: United States of America Phone: +1.9038836345 Fax: ~ Email: 015486912A45868589-4586@contact.gandi.net Lastupdated: 2014-06-11 19:58:30 … root@kali:~#
برنامه Whois client میتواند عمل reverse lookup را نیز انجام دهد. همانطور که در مثال قبل با وارد کردن نام دامین توانستید اطلاعات کاملی از آن را بدست آورید، در اینجا نیز میتوانید بجای نام دامین با وارد کردن آدرس IP متناظر آن دامین، مجددا به همان اطلاعات دست پیدا نمایید:
root@kali:~# whois 50.7.67.186 … NetRange: 50.7.64.0 – 50.7.67.255 CIDR: 50.7.64.0/22 OriginAS: AS30058 NetName: FDCSERVERS-MIAMI … OrgName: FDCservers.net orgId: FDCSE-8 Address: 200 SE 1st ST City: Miami stateProv: FL PostalCode: 33131 Country: US RegDate: 2014-05-05 Updated: 2014-05-05 … root@kali:~#
ابزار Recon-ng را میتوان در واقع یک فریم ورک شناسایی وب با تمام قابلیت های ممکن تعریف کرد که به زبان Python نوشته شده است. این ابزار از لحاظ ماژول های مستقل، کامل است، از طریق دیتابیس فعالیت میکند، عملکرد آن بصورت پیش فرض پیچیده نیست، help قوی ای دارد و در نهایت از لحاظ دستوری و خط فرمان در مرحله بالایی قرار دارد.
وجود تمام این قابلیت ها باعث شده است تا ابزار Recon-ng محیطی قدرتمند را که در آن عمل شناسایی بر پایه وب و بصورت متن باز صورت میپذیرد، ایجاد نماید. ظاهر این ابزار و حسی که در کار کردن به کاربر میدهد بسیار شبیه به فریم ورک Metasploit است.اجازه بدهید تا با استفاده از ابزار Recon-ng بسرعت لیستی از داده های مورد نظرمان را جمع آوری نماییم. کار را با استفاده از ماژول whois-poc شروع میکنیم تا در خروجی بما نام کارمندان و آدرس ایمیل آن ها را در شرکت سیسکو بما بدهد.
root@kali:~# recon-ng [recon-ng][default] > use recon/contacts/gather/http/api/whois_pocs [recon-ng][default][whois_pocs] > show options Name Current Value Req Description -------- ------------------ ----- --------------- DOMAIN yes target domain [recon-ng][default][whois_pocs] > set DOMAIN cisco.com DOMAIN => cisco.comrecon-ng [recon-ng][default][whois_pocs] > run [*] URL: http://whois.arin.net/rest/pocs;domain=cisco.com [*] URL: http://whois.arin.net/rest/poc/GAB42-ARIN [*] Gary Abbott (gabbott@cisco.com) – whois contact (Concord, TN – United States)
…
در مرحله بعد میتوانیم با استفاده از recon-ng سورس هایی مانند xssed را برای یافتن آسیب پذیری های XSS که تا کنون گزارش شده اند اما هنوز روی دامین cisco.com این آسیب پذیری ها رفع نشده است، را جستجو کنیم.
Recon-ng > use recon/hosts/enum/http/web/xssed Recon-ng [xssed] > set DOMAINcisco.com DOMAIN => cisco.com Recon-ng [xssed] > run [*] URL: http://xssed.com/search?key=cisco.com [*] Mirror: http://xssed.com/mirror/76478/ [*] Domain: www.cisco.com [*] URL: http://www.cisco.com/survey/exit.html?http://xssed.com/ [*] Date published: 16/02/2012 [*] Category: redirect [*] Status: UNFIXED
همچنین میتوانیم با استفاده از ماژول google-site دامین های زیر مجموعه بیشتری از cisco.com را بدست آوریم:
Recon-ng > use recon/hosts/gather/http/web/google_site Recon-ng [google_site] > set DOMAIN cisco.com DOMAIN => cisco.com Recon-ng [google_site] > run [*] URL: http://www.google.com/search?start=0&filter=0&q=site%3Acisco.com [*] www.cisco.com [*] supportforums.cisco.com [*] learningnetwork.cisco.com [*] newsroom.cisco.com [*] connectedlearninggexchange.cisco.com [*] blogs.cisco.com [*] socialmedia.cisco.com [*] socialviewing.cisco.com [*] meraki.cisco.com
برای نمونه میتوان از ماژول ip_neighbour هم نام برد. این ماژول سعی میکند تا آدرس های IP نزدیک دامین هدف را شناسایی کند که در این فرآیند احتمال شناسایی دامین های دیگری نیز وجود دارد.
Recon-ng > use recon/hosts/gather/http/web/ip_neighbour Recon-ng [ip_neighbour] > set SOURCE cisco.com SOURCE => cisco.com Recon-ng [ip_neighbour] > run [*] URL: http://www.my-ip-neighbours.com/?domain=cisco.com [*] 72.163.4.161 [*] allgrosys.com [*] apps.cisco.com [*] Broadware.com [*] cisco-returns.com [*] cisco.ag [*] cisco.com [*] cisco.com.akadns.net [*] Cisco.com.az [*] cisco.com.do [*] cisco.com.kz [*] cisco.com.ru [*] cisco.hm
بیشتر ماژول ها در ابزار recon-ng به API key هایی نیاز دارند که باید از طرف سرویس دهنده هایشان تهیه شود. همانطور که دیدید کار کردن با ابزار recon-ng سخت نیست و قطعا اگر زمانی را برای کار کردن با ماژول های مختلف آن کنار بگذارید، با تسلط خواهید توانست کارهای بزرگی را با آن انجام دهید.
پیش زمینه های ورود به دنیای هک و امنیت قطعا دوره های آموزش شبکه های کامپیوتری و به صورت ویژه دوره آموزش نتورک پلاس است. در دوره آموزش هک قانونمند و یا دوره CEH شما به خوبی با نحوه پیاده سازی چنین حملاتی آشنا می شوید و صد البته مفاهیم مربوط به ماهیت و مفاهیم امنیت شبکه و هک و نفوذ را نیز در دوره آموزش سکیوریتی پلاس آموزش خواهید دید. پیشنهاد می کنم اگر هنوز در خصوص دنیای هک و نفوذ دارای ابهام هستید حتما مقاله چگونه هکر شویم در این لینک را مطالعه کنید. امیدوارم مورد توجه شما عزیزان قرار گرفته باشد. با تشکر محمد نصیری
کارشناس امنیت اطلاعات و ارتباطات
احسان امجدی ، مشاور امنیت اطلاعات و ارتباطات و تست نفوذ سنجی ، هکر کلاه سفید ، مدرس دوره های تخصصی امنیت اطلاعات و شبکه ، تخصص در حوزه های سرویس های مایکروسافت ، Routing و Switching ، مجازی سازی ، امنیت اطلاعات و تست نفوذ ، کشف جرائم رایانه ای و سیستم عامل لینوکس ، متخصص در حوزه SOC و ...
زمان پاسخ گویی روز های شنبه الی چهارشنبه ساعت 9 الی 18
فقط به موضوعات مربوط به محصولات آموزشی و فروش پاسخ داده می شود