ابزار قدرتمند GoScan ابزاری است که می توان به صورت حرفه ای، اسکن خودکار بر روی شبکه انجام داد.
فابلیت های این ابزار شامل :
- اجرای اتوماتیک دستورات nmap
- اسکن خودکار پیونده داده در پایگاه های داده مانند SQLite و …
- دارا بودن ابزارهای دیگر شامل Nikto ، Hydra ، DNSenum ، sqlmap ، EyeWitness و NBTScan برای استفاده سریع و راحت
توسعه دهندگان ابزار اسکنر GoScan را به عنوان یک Framework شبیه به ابزار متاسپلویت که یکی از معروف ترین Framework ها می باشد طراحی و پیاده سازی کرده اند تا بتوان از آن برای شناسایی حفره های امنیتی و تست نفوذ توسط هکرها و متخصصان امنیت استفاده کرد.
نصب و پیاده سازی سناریو با ابزار GoScan
در این مقاله یک سناریو تعریف خواهیم کرد تا بتوانیم ابزار GoScan را به صورت دقیق تر مورد بررسی قرار دهیم.
ابتدا یک سیستم عامل آسیب پذیر برای درستی تست ابزار GoScan نصب می کنیم.این سیستم عامل لینوکس آسیب پذیر که به عنوان Metasploitable2 را می توان از این لینک دانلود کرد.
فایل Zip دانلود شده را باید از حالت فشرده خارج کرد و آن را با نرم افزار مجازی سازی VMWare Player اجرا کرده و پس از بالا آمدن باید با یوز و پسورد msfadmin می توان وارد آن شوید.
یک سیستم عامل کالی لینوکس لازم است تا ابزار GoScan را بر روی آن نصب کنید پس توپولوژی شبکه سناریو ما به صورت زیر می شود.
سیستم عامل لینوکس را باید روشن کرده و با دستور زیر بر روی آن ابزار GoScan را نصب کنیم.
wget https://github.com/marco-lancini/goscan/releases/download/v2.4/goscan_2.4_linux_amd64.zip
در این مرحله فایل را با دستور unzip از حالت فشرده خارج می کنیم.
حال باید فایل Extract شده را به آدرس /bin/ در سیستم عامل کالی لینوکس انتقال دهیم زیرا باعث می شود پس از فراخوانی اسم اسکریپت در ترمینال به سرعت برای ما اجرا می شود و نیازی نیست که آدرس آن را دقیق وارد کنیم.
حال دستور GoScan را در ترمینال وارد می کنیمتا ابزار اجرا شود
این ابزار قابلیت پیشنهاد خودکار دستور را در خود دارد که در هنگام تایپ دستور آن را می تواند برای شما کامل کند که کمک می کند دستورات را کامل ننویسید
برای گرفتن راهنما از انتخاب دستورات ابزار می توان از دستور help استفاده کرد که لیست کامل دستورات در آن قسمت را به شما نشان می دهد.
برخی از قابلیت ها و ویژگی های ابزار 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