زمان مطالعه : ۵ دقیقه
معرفی و پیاده سازی ابزار GoScan + اسکن سریع

ابزار قدرتمند GoScan ابزاری است که می توان به صورت حرفه ای، اسکن خودکار بر روی شبکه انجام داد.

فابلیت های این ابزار شامل :

  • اجرای اتوماتیک دستورات nmap
  • اسکن خودکار پیونده داده در پایگاه های داده مانند SQLite و …
  • دارا بودن ابزارهای دیگر شامل Nikto ، Hydra ، DNSenum ، sqlmap ، EyeWitness و NBTScan برای استفاده سریع و راحت

توسعه دهندگان ابزار اسکنر GoScan را به عنوان یک Framework شبیه به ابزار متاسپلویت که یکی از معروف ترین Framework ها می باشد طراحی و پیاده سازی کرده اند تا بتوان از آن برای شناسایی حفره های امنیتی و تست نفوذ توسط هکرها و متخصصان امنیت استفاده کرد.

نصب و پیاده سازی سناریو با ابزار GoScan

در این مقاله یک سناریو تعریف خواهیم کرد تا بتوانیم ابزار GoScan را به صورت دقیق تر مورد بررسی قرار دهیم.

ابتدا یک سیستم عامل آسیب پذیر برای درستی تست ابزار GoScan نصب می کنیم.این سیستم عامل لینوکس آسیب پذیر که به عنوان Metasploitable2 را می توان از این لینک دانلود کرد.

فایل Zip دانلود شده را باید از حالت فشرده خارج کرد و آن را با نرم افزار مجازی سازی VMWare Player اجرا کرده و پس از بالا آمدن باید با یوز و پسورد msfadmin می توان وارد آن شوید.‌

یک سیستم عامل کالی لینوکس لازم است تا ابزار GoScan را بر روی آن نصب کنید پس توپولوژی شبکه سناریو ما به صورت زیر می شود.

سناریو پیاده سازی GoScan

سیستم عامل لینوکس را باید روشن کرده و با دستور زیر بر روی آن ابزار GoScan را نصب کنیم.

wget https://github.com/marco-lancini/goscan/releases/download/v2.4/goscan_2.4_linux_amd64.zip

در این مرحله فایل را با دستور unzip از حالت فشرده خارج می کنیم.

نصب ابزار GoScan

حال باید فایل Extract شده را به آدرس /bin/ در سیستم عامل کالی لینوکس انتقال دهیم زیرا باعث می شود پس از فراخوانی اسم اسکریپت در ترمینال به سرعت برای ما اجرا می شود و نیازی نیست که آدرس آن را دقیق وارد کنیم.

حال دستور GoScan را در ترمینال وارد می کنیم‌تا ابزار اجرا شود

پیاده سازی سناریو با ابزار GoScan

این ابزار قابلیت پیشنهاد خودکار دستور را در خود دارد که در هنگام تایپ دستور آن را می تواند برای شما کامل کند که کمک می کند دستورات را کامل ننویسید

برای گرفتن راهنما از انتخاب دستورات ابزار می توان از دستور help استفاده کرد که لیست کامل دستورات در آن قسمت را به شما نشان می دهد.

نصب و پیاده سازی سناریو با ابزار GoScan

برخی از قابلیت ها و ویژگی های ابزار GoScan

۱- Ping Sweep

با استفاده از Ping Sweep می توانید اطلاعاتی از هدف خود با وارد کردن آدرس IP یا نام آن به دست آورید. اطلاعات به دست آمده در ابزار GoScan در یک پوشه که به صورت پیشفرض در root/.goscan/ است ذخیره می شود البته لازم به ذکر است که امکان سفارشی سازی و دادن یک مسیر دیگر برای ذخیره سازی در ابزار نیز وجود دارد.

۲- Port

قوی ترین قابلیت نوع اسکن ابزار GoScan، پورت می باشد که اگر دستور portscan را وارد کنیم می توانیم انواع مختلفی از اسکن را برروی ویژگی های شبکه خود مثل UDP و TCP اجرا کنیم.

دستورات نمایشی پورت اسکن

  • با استفاده از دستور load نتایج خروجی این ابزار را مشاهده کرد.اگر ما بخواهیم مشاهده کنیم خروجی های portscan به چه صورت شده است می توان از دستور زیر استفاده کرد:

load portscan portscan_results.xml

  • با استفاده از کامند show می توان اطلاعات ذخیره شده در این ابزار هست را شناسایی کرد
  • با استفاده از دستور show targets می توان هدف ها را یافت.
  • با استفاده ار دستور show host می توان اطلاعاتی در مورد نسخه ی سیستم عامل، وضعیت پورت ها و کرنل سیستم هدف را به دست آورد.
  • با استفاده از دستور show ports می توان به صورت منظم تر وضعیت پورت ها (مثل باز و بسته بودن آن ها) را بررسی کرد.

۳- شناسایی Service های در حال اجرا

قابلیت دیگر اسکنر GoScan شناسایی Service های در حال اجرا نظیر ، FTP ، HTTP ، RDP و SMB می باشد که برای اینکار از دستور enumerate استفاده می کنیم که لیست سرویس های یافت شده را نمایش می دهد.

برای اسکن کردن دقیق تر سرویس ها می توان از دستورات زیر نیز استفاده نمود:

  • سرویس DRY تنها اسکن ساده و خشک را در شبکه انجام می دهد.
  • سرویس POLITE برای جلوگیری از حمله BRUTEFORCE استفاده کرد.
  • سرویس BRUTEFORCE شامل اسکریپت های حمله BRUTEFORCE می باشد.

برای مثال اگر بخواهیم پروتکل در حال اجرا HTTP را با استفاده از سرویس DRY اسکن کرد باید از دستور زیر استفاده نمود:

enumerate HTTP DRY ip address

۴- Special Scan

ابزار GoScan شامل قابلیت جالبی به نام Special Scan می باشد که می توان چند اسکن مختلف را با آن انجام داد و برای مشاهده سرویس ها و استفاده از آن می توان از دستور special استفاده کرد.این نوع اسکن دارای سه حالت هست :

۱- EyeWitness

توسط این حالت می توان سرویس های RDP، VNC و اطلاعات خاصی در مورد دامنه، هاست ها، سرور ها را اسکن کرد.

۲- Domain

اطلاعاتی در مورد دامنه هدف را می توان استخراج کرد.

۳- DNS

اطلاعاتی در مورد تبدیل نام به ip و ip به نام هدف را می توان استخراج کرد.

برای مثال می توان با دستور special domain یک اسکن بر روی سرویس های سرور ها،هاست ها و کاربران انجام داده و اطلاعات خوبی را به دست آوریم.

۱. Load targets:

	load target SINGLE <IP/32>		Add a single target via the CLI (must be a valid CIDR)
	load target MULTI <path-to-file>	Upload multiple targets from a text file or folder

۲. Host Discovery:

	sweep <TYPE> <TARGET>			Perform a Ping Sweep
	load alive SINGLE <IP>			Add a single alive host via the CLI (must be a /32)
	load alive MULTI <path-to-file>		Upload multiple alive hosts from a text file or folder

۳. Port Scanning:

	portscan <TYPE> <TARGET>		Perform a port scan
	load portscan <path-to-file>		Or upload nmap results from XML files or folder

۴. Service Enumeration:

	
	enumerate <TYPE> DRY <TARGET>		Dry Run (only show commands, without performing them
	enumerate <TYPE> <POLITE/AGGRESSIVE> <TARGET> Perform enumeration of detected services

۵. Special Scans:
   
   EyeWitness
	special eyewitness			Take screenshots of websites, RDP services, and open VNC servers (KALI ONLY)
	EyeWitness.py				needs to be in the system path

   Extract (Windows) domain information from enumeration data
	special domain <users/hosts/servers>	

   DNS
	special dns DISCOVERY <domain>		Enumerate DNS (nmap, dnsrecon, dnsenum)
	special dns BRUTEFORCE <domain>		Bruteforce DNS
	special dns BRUTEFORCE_REVERSE <domain> <base_IP> Reverse Bruteforce DNS

Utils

	show <targets/hosts/ports>		Show results
	set config_file <PATH>			Automatically configure settings by loading a config file
	set output_folder <PATH>		Change the output folder (by default ~/goscan)
	set nmap_switches 			Modify the default nmap switches
	<SWEEP/TCP_FULL/TCP_STANDARD/TCP_VULN/UDP_STANDARD> <SWITCHES> 
	set_wordlists <FINGER_USER/FTP_USER/...> <PATH> Modify the default wordlists