چگونه برای نوشتن خود را باش اسکریپت به طور خودکار Recon

اتوماسیون شده است یک کلمه وزوز واقعا برای برخی از زمان در حال حاضر, اما اصول پشت آن را به عنوان قوی به عنوان

توسط PATRIS-MUSIC در 22 خرداد 1399

اتوماسیون شده است یک کلمه وزوز واقعا برای برخی از زمان در حال حاضر, اما اصول پشت آن را به عنوان قوی به عنوان همیشه. برای یک هکر یا pentester Bash scripting است یک شکل از اتوماسیون است که نمی توان نادیده گرفت. تقریبا هر دستور که می توان از اجرای ترمینال را می توان اسکریپت — و باید در بسیاری از موارد به صرفه جویی در وقت با ارزش و تلاش است. و یک اسکریپت Bash فقط اتفاق می افتد به خوبی برای recon است.

مرحله 1: شروع اسکریپت

برای شروع ایجاد یک اسکریپت Bash و نام آن را هر چه دوست دارید. من تماس بگیرید معدن recon.sh. خود را با استفاده از ویرایشگر متن مورد علاقه را اول خط شبیه به این:

#!/bin/bash

این است که به نام یک شو یا hashbang و به سادگی امتیاز به سیستم مترجم باش.

ما می خواهیم مطمئن شوید که کاربر منابع ورودی به اسکریپت و اگر نه چاپ یک مثال طریقه استفاده و خروجی. استفاده مشروط اگر-سپس بلوک:

اگر [ -z "$1" ]
سپس echo "طریقه استفاده: ./recon.sh <IP>" خروج 1
fi

از $1 است که استدلال ما را به اسکریپت و -z گزینه درست برمی گرداند اگر رشته تهی است. بنابراین اساسا این می گوید اگر هیچ استدلالی که گذشت, چاپ, استفاده از مثال و خروج. استدلال ما می خواهیم با استفاده از یک آدرس IP است.

مرحله 2: اسکن میزبان

بخش بعدی اجرا خواهد شد یک Nmap اسکن بر روی میزبان آدرس IP ما عرضه. اول ما چاپ یک عنوان برای Nmap فقط به نگه داشتن همه چیز زیبا و سازمان یافته است:

تابع () printf "\n----- NMAP -----\n\n" > نتایج

ما با استفاده از تابع () printf در اینجا به دلیل آن دسته newlines (\n) بیشتر قابل اعتماد تر از اکو. این است که نوشته شده را به یک فایل متنی به نام نتایج آن را برای اولین بار ایجاد فایل پس از آن را هنوز وجود ندارد و آن را بازنویسی فایل در آینده با پس از آن اسکن.

ما چاپ یک پیام و در واقع اجرای دستور:

پژواک "در حال اجرا Nmap..."
nmap $1 | tail-n +5 | head-n -3 >> نتایج

از nmap فرمان می گیرد استدلال ما عرضه اسکریپت آدرس IP و اضافه نتايج به ما فایل خروجی. این دم و سر دستورات حذف برخی از خطوط از آغاز و پایان Nmap خروجی — این فقط من ترجیح شخصی و باعث می شود آن را کمی پاک کن به نظر من.

مرحله 3: شمردن HTTP

بخش بعدی را به نتایج حاصل از Nmap اسکن و تلاش برای شمردن HTTP اگر معیارهای خاصی هستند دیدار کرد. ما اجرا خواهد شد Gobuster به اسکن برای دایرکتوری ها و WhatWeb برای دریافت برخی از اطلاعات در مورد وب سرور.

ما می خواهیم با استفاده از یک حلقه در حالی که برای خواندن هر خط از نتايج فایل و اگر آن را پیدا کرد یک پورت باز در حال اجرا HTTP, آن را به پا زدن کردن Gobuster و WhatWeb:

در حالی که خواندن خط
فراموش if [[ $line == *باز کردن* ]] && [[ $line == *http* ]]
سپس پژواک "در حال اجرا Gobuster..." gobuster dir -u $1 -w /usr/share/wordlists/dirb/common.txt -qz > temp1 پژواک "در حال اجرا WhatWeb..." whatweb $1 -v > temp2
fi
انجام می شود < نتایج

اگر باز پورت HTTP یافت کد در اگر-سپس بلوک را اجرا خواهد کرد. Gobuster طول می کشد آدرس IP ما عرضه شده به عنوان -u گزینه ای و با استفاده از یک wordlist مشخص شده توسط -w گزینه است. ما همچنین با استفاده از q و z گزینه برای غیر فعال کردن بنر و پنهان پیشرفت — فقط برای نگه داشتن خروجی مرتب. این نوشتن در یک فایل موقتی است که خواهد شد مورد استفاده بعد در اسکریپت.

WhatWeb به سادگی طول می کشد آدرس IP ما عرضه شده و می نویسد: خروجی به یک دوم فایل موقتی. از -v گزینه در اینجا به ما می دهد پرگو نتایج. هنگامی که در حالی که حلقه بین تمام خطوط از فایل نتایج آن را کامل و اسکریپت حرکت به قسمت بعدی.

گام 4: نمایش نتایج: از شماره

بعدی بلوک از کد را تعیین خواهد کرد اگر فایل های موقت از قبل وجود داشته باشد و اگر چنین خواهد الحاق خروجی به نتایج اصلی فایل:

اگر [ -e temp1 ]
سپس تابع () printf "\n----- DIRS -----\n\n" >> نتایج گربه temp1 >> نتایج rm temp1
fi اگر [ -e temp2 ]
سپس تابع () printf "\n----- وب -----\n\n" >> نتایج گربه temp2 >> نتایج rm temp2
fi

این -e گزینه چک اگر این فایل وجود دارد — اگر آن را ندارد, کد پس از پس از آن اجرا می شود. آن را چاپ دیگری عنوان می نویسد: محتویات فایل موقتی به نتايج و حذف موقت فایل.

آخرین خط از اسکریپت ما را به سادگی نمایش نتایج را بر روی صفحه نمایش ما:

نتایج گربه

مرحله 5: بررسی اسکریپت

کل اسکریپت در حال حاضر باید شبیه به این:

#!/bin/bash اگر [ -z "$1" ]
سپس echo "طریقه استفاده: ./recon.sh <IP>" خروج 1
fi تابع () printf "\n----- NMAP -----\n\n" > نتایج پژواک "در حال اجرا Nmap..."
nmap $1 | tail-n +5 | head-n -3 >> نتایج در حالی که خواندن خط
فراموش if [[ $line == *باز کردن* ]] && [[ $line == *http* ]]
سپس پژواک "در حال اجرا Gobuster..." gobuster dir -u $1 -w /usr/share/wordlists/dirb/common.txt -qz > temp1 پژواک "در حال اجرا WhatWeb..." whatweb $1 -v > temp2
fi
انجام می شود < نتایج اگر [ -e temp1 ]
سپس تابع () printf "\n----- DIRS -----\n\n" >> نتایج گربه temp1 >> نتایج rm temp1
fi اگر [ -e temp2 ]
سپس تابع () printf "\n----- وب -----\n\n" >> نتایج گربه temp2 >> نتایج rm temp2
fi نتایج گربه

مرحله 6: اجرای اسکریپت

در حال حاضر ما باید آماده برای اجرا ما recon اسکریپت. در مثال من با استفاده از Metasploitable 2 به عنوان هدف.

ایجاد اسکریپت اجرایی:

~# chmod +x recon.sh

اگر ما سعی می کنید به آن را اجرا کنید بدون استدلال آن را به ما می دهد به عنوان مثال استفاده:

~# ./recon.sh طریقه استفاده: ./recon.sh <IP>

به سادگی به عرضه آدرس IP و آن را دوباره اجرا کنید:

~# ./recon.sh 10.10.0.50 در حال اجرا Nmap...
در حال اجرا Gobuster...
در حال اجرا WhatWeb...
/usr/lib/یاقوت/vendor_ruby/هدف است.rb:188: هشدار: URI.فرار منسوخ شده است ----- NMAP ----- درگاه خدمات دولت
21/tcp open ftp
22/tcp open ssh
23/tcp open telnet
25/tcp open smtp
53/tcp open دامنه
80/tcp open http
111/tcp open rpcbind
139/tcp open netbios-ssn
445/tcp open microsoft-ds
512/tcp open exec
513/tcp open ورود
514/tcp open پوسته
1099/tcp open rmiregistry
1524/tcp open ingreslock
2049/tcp open nfs
2121/tcp open ccproxy-ftp
3306/tcp open mysql
5432/tcp باز postgresql
5900/tcp open vnc
6000/tcp open X11
6667/tcp open irc
8009/tcp open ajp13
8180/tcp open ناشناخته ----- DIRS ----- /.hta (وضعیت: 403)
/.htaccess تغییر نام دهید (وضعیت: 403)
/.htpasswd (وضعیت: 403)
/.bash_history (وضعیت: 200)
/cgi-bin/ (وضعیت: 403)
/dav (وضعیت: 301)
/phpMyAdmin (وضعیت: 301)
/index (وضعیت: 200)
/index.php (وضعیت: 200)
/تست (وضعیت: 301)
/twiki (وضعیت: 301)
/phpinfo (وضعیت: 200)
/phpinfo.php (وضعیت: 200) ----- وب ----- WhatWeb گزارش http://10.10.0.50
وضعیت : 200 OK
عنوان : Metasploitable2 - لینوکس
IP : 10.10.0.50
کشور : محفوظ می باشد ZZ خلاصه : WebDAV[2] X-Powered-By[پی اچ پی/5.2.4-2ubuntu5.24] Apache[2.2.8] پی[5.2.4-2ubuntu5.24], HTTPServer[لینوکس][آپاچی/2.2.8 (اوبونتو) DAV/2] شناسایی پلاگین:
[ Apache ] The Apache HTTP Server Project تلاش برای توسعه و حفظ یک منبع باز سرور HTTP مدرن عامل سیستم های از جمله یونیکس و ویندوز NT است. هدف از این پروژه ارائه امن و کارآمد و توسعه سرور فراهم می کند که خدمات HTTP همگام با زمان استانداردهای HTTP. نسخه : 2.2.8 (از سرور HTTP Header) Google Dorks: (3) وب سایت : http://httpd.apache.org/ [ HTTPServer ] سرور HTTP هدر string. این افزونه همچنین تلاش برای شناسایی سیستم عامل از سرور میپره بیرون. سیستم عامل : لینوکس اوبونتو رشته : Apache/2.2.8 (اوبونتو) DAV/2 (از سرور string) [ PHP ] PHP به طور گسترده ای استفاده می شود منظوره زبان برنامه نویسی است که به ویژه مناسب برای توسعه وب می باشد و می تواند تعبیه شده به HTML. این افزونه شناسایی خطاهای پی اچ پی, ماژول ها و نسخه ها و عصاره های محلی مسیر فایل و اگر نام کاربری در حال حاضر. نسخه : 5.2.4-2ubuntu5.24 Google Dorks: (2) وب سایت : http://www.php.net/ [ WebDAV ] مبتنی بر توزیع نوشتن و نسخه (از WebDAV) است مجموعه ای از روش های مبتنی بر پروتکل انتقال ابرمتن (HTTP) است که تسهیل همکاری بین کاربران در ویرایش و مدیریت اسناد و فایل های ذخیره شده در جهان گسترده وب سرور. - اطلاعات بیشتر:
http://en.wikipedia.org/wiki/WebDAV نسخه : 2 [ X-Powered-By ] X-Powered-By HTTP header رشته : پی اچ پی/5.2.4-2ubuntu5.24 (از x-powered-by string) HTTP Headers: HTTP/1.1 200 OK تاریخ عضویت: بحباله نکاح در اوردن, 19 Jun 2019 18:03:39 GMT سرور: Apache/2.2.8 (اوبونتو) DAV/2 X-Powered-By: PHP/5.2.4-2ubuntu5.24 اتصال: نزدیک Transfer-Encoding: chunked Content-Type: text/html

این به ما می گوید چه چیزی در حال اجرا (چشم پوشی از یاقوت خطا برای WhatWeb) و چاپ خوب نمایش نتایج: از زمانی که آن را انجام شده است.

گسترش اسکریپت

در آن زمان دولت این اسکریپت Bash پیچیده نیست. آن را اجرا می کند یک Nmap اسکن و اگر باز پورت HTTP یافت و آن لگد کردن Gobuster و WhatWeb. در حالی که مفید این می تواند گسترش یافته و راه های بسیاری.

اول از همه, ما فقط در حال اجرا یک پایه Nmap اسکن. ما می تواند اسکن پورت های اضافی اجرا کنید به طور پیش فرض اسکریپت فعال سیستم عامل, تشخیص و بیشتر. اساسا هر چیزی که شما می توانید از خط فرمان شما می توانید در این اسکریپت. همان چیزی که می رود برای Gobuster و WhatWeb.

ما همچنین می تواند گسترش اسکریپت به شمردن سایر خدمات علاوه بر HTTP است. چیزهایی مثل SMB, SSH و FTP ها همه می تواند کاندیدای خوبی برای اضافه کردن در آن وجود دارد. دوباره باش برنامه نویسی قدرتمند است زیرا ممکن است به طور خودکار بسیاری از توابع به طور معمول مورد استفاده در خط فرمان فرم.

کاغذ بسته بندی

در این آموزش ما ایجاد یک اسکریپت Bash به طور خودکار برخی از فعالیت های مورد استفاده در شناسایی فاز تست نفوذ. این اسکریپت در زمان یک آدرس IP به عنوان یک آرگومان زد یک Nmap اسکن بر روی هدف و اگر باز پورت HTTP داشت لگد کردن Gobuster و WhatWeb. باش برنامه نویسی بسیار قدرتمند و حتی این اسکریپت ساده ما را نجات داد یک تن از زمان و تایپ کردن.

می خواهید شروع به ساختن پول به عنوان یک کلاه سفید هکر? پرش شروع خود را-کلاه سفید هک حرفه ای با ما 2020 حق بیمه هک اخلاقی, گواهینامه آموزشی از بسته نرم افزاری جدید Null Byte فروشگاه و دریافت بیش از 60 ساعت آموزش از هک اخلاقی حرفه ای است.

خرید در حال حاضر (96٪) >

تصویر جلد توسط StockSnap/Pixabay; تصاویر توسط drd_/Null Byte


tinyurlis.gdu.nuclck.ruulvis.netshrtco.de
آخرین مطالب