احسان امجدی
کارشناس امنیت اطلاعات و ارتباطات

آموزش 6 روش جمع آوری اطلاعات (Enumeration) در هک و نفوذ

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

جمع آوری بالقوه اطلاعات یا جمع آوری اطلاعات بصورت پسیو که اصطلاحاً به آن Enumeration هم گفته می شود، فرآیند جمع آوری اطلاعات درباره هدف با استفاده از اطلاعات عمومی موجود در این زمینه است. این فرآیند میتواند شامل سرویس هایی نظیر نتایج موتور جستجو، اطلاعات whois، اطلاعات عمومی شرکت یا به عبارت دیگر هرگونه فعالیت جهت جمع آوری اطلاعات درباره هدف بدون کوچکترین برقراری ارتباط با آن، باشد.

آموزش جمع آوری اطلاعات بالقوه

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

ذکر یک سناریو واقعی!

اگر بخواهیم یک مثال خوب از جمع آوری بالقوه اطلاعات بزنیم، میتوانیم اتفاقی را که در حین فرآیند تست نفوذ از یک شرکت کوچک، چندین سال پیش رخ داده است را نقل کنیم. در این شرکت تقریبا هیچگونه دسترسی اینترنت وجود نداشت (دسترسی حداقلی) و فقط تعداد کمی از سرویس ها از بیرون در معرض دیده شدن قرار داشتند که آن ها نیز بصورت ثابت امن شده بودند.

بعد از ساعت ها جستجو در موتورهای جستجو جهت یافتن کوچکترین اطلاعاتی از این شرکت، سرانجام در یک سایت فروم (مخصوص جمع آوری تمبر)، پستی از طرف یکی از کارمندان آن شرکت ایجاد شده بود مبنی بر اینکه ایشان بدنبال مجموعه تمبرهای کمیاب مربوط به دهه1950 بودند. و در ادامه جهت تماس از ایمیل سازمانی و شماره تلفن خود استفاده کرده بود.این دقیقا همان چیزی بود که یک هکر زرنگ جهت اجرای یک حمله نیمه پچیده Client-side به آن نیاز داشت.

برای این کار بسرعت دامینی با نام "rare-stamps-trade.com" ثبت شد و در صفحه اصلی آن طراحی طوری صورت پذیرفت که تمبرهای نایاب دهه 1950که از جستجوی گوگل بدست آمده بودند، قرار گرفتند. نام دامین و طراحی صفحه اصلی به گونه ای بود که اطمینان هر بازدید کننده ای مبنی این که این سایت در زمینه تجارت تمبرهای نایاب فعالیت میکند را جلب میکرد.


تست نفوذ با لینوکس کالی ::: جمع آوری بالقوه اطلاعات (Passive Information Gathering)

قدم بعدی جاساز کردن چندین HTML آلوده در کد سایت بود که حاوی کد اکسپلویت (باگ امنیتی) آخرین نسخه IE آنموقع (MS05-001) بود. قدم بعدی تماس با شخص مورد نظر و ترغیب وی به بازدید از وب سایت است. برای این کار به شخص مورد نظر گفته شد که "از پدربزرگ خدابیامرز من (شخص هکر) مجموعه تمبری باقی مانده است که قصد دارم بخشی از آن ها را به فروش برسانم."

زمان تماس به نوعی برنامه ریزی شده بود که در ساعت کاری باشد تا احتمال چک کردن سایت از دفتر کار ( و نه از خانه) به حداکثر برسد. کارمند مورد نظر بی خبر از همه جا و خوشحال از تماس هکر، بدون معطلی اقدام به بازدید از وبسایت آلوده ای میکند که در آن مجموعه تمبرهای مورد علاقه وی در معرض فروش قرار داده شده بود. دقیقا زمانی که او در حال گشت و گذار در وب سایت بود، اکسپلویت مورد نظر بر روی سیستم هدف دانلود و اجرا شده و در نهایت از آن سیستم یک ارتباط شل معکوس (reverse shell) در اختیار هکر گذاشته بود.


تست نفوذ با لینوکس کالی ::: جمع آوری بالقوه اطلاعات (Passive Information Gathering)

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

آموزش تخلیه اطلاعاتی گوگل

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

جمع آوری اطلاعات از وب

هنگامی که بدنبال جمع آوری اطلاعات در باره هدف خود هستید، همیشه استفاده از وب، اولین و ساده ترین روش مورد استفاده شما خواهد بود؛ بنابراین نیاز دارید تا زمانی را جهت جستجوی اطلاعات غیرعمومی از شرکت هدف خود برای وبگردی، کنار بگذارید. اینکه آن ها چکاری انجام میدهند؟، چگونگی با دنیای اطراف خود تعامل دارند؟، آیا واحد فروش دارند؟، آیا آن ها نوبت استخدامی دارند؟

زیر و رو کردن سایت شرکت و جستجو برای اطلاعات عمومی مانند اطلاعات تماس، شماره های تلفن و فکس، ایمیل ها، ساختار شرکت و نظایر آن، همه و همه نمونه اطلاعات مفیدی هستند که بصورت موردی نیز میتوانند درصد موفقیت شما را بالاتر ببرند. برای این کار علاوه بر زیر و رو کردن سایت شرکت که در بالا گفته شد، باید بدنبال سایت هایی باشید که به سایت هدف لینک هستند و یا ایمیل های شرکتی که در گوشه و کنار وب بصورت موردی پراکنده اند را بیابید.خوشبختانه امروزه با استفاده از ابزار موتور جستجوگر گوگل و امکانات جانبی آن میتوانیم بخش اعظمی از این اطلاعات را (در صورت وجود) بصورت متمرکز از گوگل تخلیه اطلاعاتی نماییم.

گوگل

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

تخلیه اطلاعاتی با گوگل

گوگل استفاده از اپراتورهای مختلف جستجویش را در دسترس عموم قرار داده است که به کاربر این توانایی را میدهد تا با محدود کردن نتایج جستجو، دقیقا به آن چیزی برسد که میخواهد.برای مثال، اپراتور "site"، نتیجه جستجوی گوگل را به یک دامین خاص، محدود میکند. در اینصورت یک جستجوی ساده اطلاعات مفیدی را در اختیار ما قرار خواهد داد. به عنوان نمونه، بگویید که قصد دانستن وجود وب سایت های احتمالی یک شرکت را دارید.

تست نفوذ با لینوکس کالی ::: تخلیه اطلاعاتی گوگل جهت اجرای تست نفوذ و هک


در مثال بالا، ما از پارامتر "site" برای محدود کردن نتایج گوگل در نمایش دامین هایی با نام "Microsoft.com" استفاده کردیم. همانطور که در شکل هم اشاره شده است، در این زمان خاص، گوگل حدود 67 میلیون صفحه را با نام دامین "Microsoft.com" ایندکس کرده است. توجه کنید که مقدار قابل توجهی از این رقم نشان دهنده لینک های موجود برای دامین زیر مجموعه "www.Microsoft.com" هستند. بنابراین فیلتر زیر را اعمال میکنیم تا بدانیم که علاوه بر دامین زیر مجموعه "www.Microsoft.com" چه دامین هایی زیر مجموعه دیگری نیز در "Microsoft.com" وجود دارند.

تست نفوذ با لینوکس کالی ::: تخلیه اطلاعاتی گوگل جهت اجرای تست نفوذ و هک


این دو جستجو و در واقع درخواست ساده، گوشه ای از اطلاعات پس زمینه در رابطه با دامین "Microsoft.com" ، مثل دامین های زیر مجموعه قابل دسترس آن را بما نشان داد.همین کار را میتوان با با اپراتورهای دیگر جستجو مانند "filetype"، "inurl" و "intitle" که همگی آن ها در پیدا کردن اطلاعات مربوط به شرکت هدف نقش بزرگی دارند، انجام داد. برای مثال یک سیستم مدار بسته و امنیتی معمولی از اتاق سرور، چنین صفحه پیش فرضی دارد:


تست نفوذ با لینوکس کالی ::: تخلیه اطلاعاتی گوگل جهت اجرای تست نفوذ و هک

به عنوان (title) صفحه این سیستم امنیتی اتاق سرور دقت کنید که در آن علاوه بر برند مورد استفاده در این سامانه مداربسته (Netbotz Appliance)، به مدل آن نیز اشاره شده است. با چنیدن جستجوی ساده گوگل، میتوانیم نتایج را دقیقا محدود به این دیوایس ها نماییم.


تست نفوذ با لینوکس کالی ::: تخلیه اطلاعاتی گوگل جهت اجرای تست نفوذ و هک

نمونه برند و مدل های خاصی نظیر آنچه که در مثال بالا بیان شد، بطور طبیعی در حال تغییرند و در چندین ماه بعد ممکن است چنین محصولی با مشخصات مثال زده شده نتیجه ای را برای شما در بر نداشته باشد. بهرحال مفهوم این نوع جستجوها یکسان است. اگر شما به کارایی اپراتورهای مختلف جستجوی گوگل واقف هستید و میدانید که دقیقا بدنبال چه میگردید، تقریبا میتوانید هر چیزی را در دنیای وب پیدا کنید. در قسمت بعد قصد داریم تا جزئیات زیرتر و بیشتری را در این باره خدمت شما بیان کنیم.

آموزش گوگل هکینگ (Google Hacking)

استفاده از گوگل برای پیدا کردن اطلاعات دست اول، آسیب پذیری ها یا وب سایت هایی که صحیح ساختاربندی نشده‌اند، برای اولین باربصورت عمومی توسط شخصی بنام "Johnny Long" در سال 2001 معرفی گردید. پس از آن دیتابیسی از جستجوهای مورد علاقه افراد، به منظور شناسایی سریع خطاهای ساختاری معروف در یک دومین خاص برای بازرسان امنیتی (و هکرها) گردآوری و فعال گردید. در ادامه به بیان و توضیح چگونگی اجرای چنین جستجوهایی خواهیم پرداخت.

سخت افزار با آسیب پذیری‌های شناخته شده

تست نفوذ با لینوکس کالی ::: Google Hacking


روترهای تحت وب سیسکو

تست نفوذ با لینوکس کالی ::: Google Hacking


اطلاعات کاربری در معرض خطر

تست نفوذ با لینوکس کالی ::: Google Hacking

هزاران نمونه ازاین دست جستجوهای جالب وجود دارند که میتوان آن ها را تولید کرد که بسیاری از آن ها در قسمت
(Google Hacking (GHDB در Exploit Database لیست شده‌اند.

تست نفوذ با لینوکس کالی ::: Google Hacking

آموزش Email Harvesting

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، اشاره کرد.

تست نفوذ با لینوکس کالی :::   Email Harvesting

آموزش Whois Enumeration

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

ابزار 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 سخت نیست و قطعا اگر زمانی را برای کار کردن با ماژول های مختلف آن کنار بگذارید، با تسلط خواهید توانست کارهای بزرگی را با آن انجام دهید.


احسان امجدی
احسان امجدی

کارشناس امنیت اطلاعات و ارتباطات

احسان امجدی ، مشاور امنیت اطلاعات و ارتباطات و تست نفوذ سنجی ، هکر کلاه سفید ، مدرس دوره های تخصصی امنیت اطلاعات و شبکه ، تخصص در حوزه های سرویس های مایکروسافت ، Routing و Switching ، مجازی سازی ، امنیت اطلاعات و تست نفوذ ، کشف جرائم رایانه ای و سیستم عامل لینوکس ، متخصص در حوزه SOC و ...

26 تیر 1394 این مطلب را ارسال کرده

نظرات