10 کتابخانه پایتون برای هک و امنیت
در این مقاله به 10 تا از بهترین کتابخانه پایتون برای هک و امنیت می پردازیم. همونطور که میدونید زبان پایتون توی هک و امنیت شاه بقیه زبان ها حساب میشه! چرا؟ از آسون بودن و سریع بودن و … پایتون که بگذریم، پایتون بین زبان های برنامه نویسی دیگه بهترین کتابخانه های هک رو داره و یه جورایی به شعبده باز معروفه.
پایتون اگر تفنگ باشه، کتابخونه هاش مثل باروت عمل میکنن پس تفنگاتون رو آماده کنین تا باروت های خوب رو بهتون معرفی کنیم
با ما باشید تا در این مقاله 10 تا از بهترین کتابخانه های پایتون برای هک رو به شما معرفی کنیم.
1 – کتابخانه scapy
یکی از بهترین کتابخانه های که پایتون دارد و در شبکه کاربرد زیادی دارد و میشه باهاش کارهای بامزه ای انجام داد اسکپی است.
با استفاده از این کتابخانه شما میتوانید پکت های دلخواه را تولید کنید و در سطح شبکه ارسال کنید. در واقع شما میتوانید برنامه ای بنویسید که از طریق آن شبکه را اسنیف کنید یا حتی میتوانید شبکه را اسکن کنید همچنین میتوانید حمله هایی را در بستر شبکه پیاده سازی کنید. (اسنیف به معنای شنود ارتباطات شبکه است)
لازم به ذکر است که از این کتابخانه برای تست نفوذ شبکه های وایرلس و حتی voip هم استفاده میشود.
نحوه کار با کتابخانه scapy
یکی از تابع هایی که این کتابخانه دارد تابع ()IP میباشد با استفاده از این تابع ما میتوانیم هدرهایی که در پکت ip هست را تغییر دهیم مانند آدرس مبدا ، آدرس مقصد ، ttl ، IHL و…
خب ما در این قسمت میخواهیم یک پکت ICMP یا همون پینگ خودمون رو ارسال کنیم.
با استفاده از متد ()IP آدرس مقصد و مبدا را وارد میکنیم را مشخص میکنیم بعد آنرا داخل متغیر ping میریزیم:
("ping = IP(dst="192.168.1.150",src="192.168.1.111
اگر با مباحث پیرامون spoofing در هک و امنیت آشنا باشد متوجه خواهید شد که در این قسمت ما میتوانیم آدرس یک هاست دیگر را به عنوان source ip بگذاریم و حمله smurf که جز حملات ddos است رو با اضافه کردن چند خط کد دیگر پیاده سازی کنیم
خب در scapy برای اینکه یک یا چند لایه از OSI را بهم بچسبانیم از عملگر / استفاده میکنیم در دستور بالا ما مقصد بسته را مشخص کردیم حال باید پروتکل ICMP را به آن اضافه کنیم به همین منظور از دستور زیر استفاده میکنیم:
()ping = ping/ICMP
حالا با استفاده از متد ()show میتوانیم محتویات لایه ۳ بسته را که درست کردیم را ببینیم:
()ping.show
در مرحله آخر با استفاده از متد ()sr بسته را در شبکه میفرستیم:
sr(ping)
2 – کتابخانه requests
هدف از ساخت کتابخانه ریکوِست در پایتون ایجاد استانداردهایی برای ارسال و دریافت است.که وب سایت geeksforgeeks نیز به ان اشاره کرده است. (درخواستهای مبتنی بر HTTPهای نوشته شده برایAPI).
در این کتابخانه میتوان به کمک برنامه، بر روی بهکارگیری دادهها و خدمات ارائه شده توسط یک سیستم مبتنی بر وب تمرکز کرد و دیگر درگیر سایر جنبهها و پیچیدگیهای برنامهنویسی مرتبط با سرویس وب نشد.
نحوه کار با کتابخانه requests
ابتدا دستور زیر را در محیط کد نویسی یا ترمینال میزنیم :
$ pip install requests
سپس کتابخانه را فراخوانی میکنیم :
import requests
3 – کتابخانه Cryptography
رمزنگاری کتابخانه ای است که دستور العمل ها و دستورات اولیه را برای توسعه دهندگان پایتون برای رمزنگاری ارائه می دهد. این کتابخانه شامل رمزگذاری، تولید یک عدد تصادفی، هش کردن(hashing algorithm)، رمزگذاری، و امضا برای رمزهای بلوکی و جریانی است.
این کتابخانه یک رابط برنامه نویسی برنامه (API) سطح بالا را برای الگوریتم های رمزنگاری قوی مانند امضای دیجیتال و بلوک های ساختمانی رمزنگاری سطح پایین ارائه می دهد که با در نظر گرفتن عملکرد توسعه یافته اند.
هک اخلاقی از این توانایی برای رمزگذاری و رمزگشایی داده های حساس به اشتراک گذاشته شده در اینترنت استفاده می کند. به طور کلی، رمزنگاری ستون فقرات یک اینترنت امن است.
نحوه نصب کتابخانه requests
$ pip install cryptography
4 – کتابخانه python-nmap
یکی از کتابخانه های پایتون برای شبکه nmap است که بسیار جالب و کاربردی واقع میشود.
Python-nmap یک کتابخانه پایتون است که از برنامه نویسان با اسکنر پورت Nmap پشتیبانی می کند .Nmap یک ابزار مدیریت شبکه و ممیزی امنیتی است که معمولاً برای کشف سرویسها و میزبانهای موجود در شبکه استفاده میشود.
با این حال، ما میتوانیم از آن برای بررسی یک میزبان نیز استفاده کنیم. کتابخانه Python-nmap به عنوان یک پوشش پایتون برای ابزار Nmap در نظر گرفته میشود که به برنامهنویس اجازه میدهد تا به راحتی به ویژگیها و توانایی Nmap در پایتون دسترسی داشته باشد، از آن استفاده کند و دستکاری کند.
این کتابخانه ویژگی های مختلفی را برای انجام کارهای مختلف مانند اسکن پورت، کشف میزبان و انگشت نگاری TCP/IP ارائه می دهد. این بسته یک ابزار عالی برای هکرها و مدیران سیستم است که ترجیح می دهند وظایف و گزارش ها را بر اساس اسکن شبکه خودکار کنند. همچنین در خروجی های اسکریپت این کتابخانه کمک می کنند.
به طور خلاصه برای اسکن پورت ها و سرویس های یه سیستم و نشان دادن فعال بودن یا نبودن هاست یا سیستم است.
همچنین برای اسکن اسیب پذیری سطح شبکه هم استفائه می شود.
5 – کتابخانه faker
Faker یک کتابخانه پایتون برای تست نفوذ است که برای تولید اطلاعات جعلی استفاده می شود. کتابخانه Faker می تواند هر چیزی را تولید کند، از نام، شماره تلفن همراه، و آدرس گرفته تا متون جعلی، مدخل های کتابشناسی، اسناد XML و بسیاری موارد دیگر.
استفاده از این کتابخانه بسیار آسان است. میتوانیم تابع ()faker.name را فراخوانی کنیم تا یک نام تصادفی به دست آوریم، یا تابع ()faker.address را برای دریافت آدرس جعلی فراخوانی کنیم. این تابع با بسیاری از توابع دیگر برای تولید دادههای جعلی همراه است. به هر دلیلی ممکن است بخواهیم از Faker استفاده کنیم.
به عنوان مثال، ما باید یک پایگاه داده را با استفاده از داده های جعلی برای یک نمونه اولیه پر کنیم، یا ممکن است مجبور شویم با کمک اعتبارنامه ها یا آدرس های جعلی ناشناس بمانیم.
6 – کتابخانه Twisted
کتابخانه Twisted یک موتور شبکه رویداد محور است که به زبان برنامه نویسی پایتون نوشته شده است. این کتابخانه انتزاعی از پروتکل TCP را ارائه میدهد که اسکریپتنویسی سرورها و کلاینتهای شبکه را آسان میکند. این به طور خاص برای پشتیبانی گسترده از SSL، IPv6 و بسیاری از پروتکلها، از جمله موارد زیر شناخته شده است:
به دست می اورد. HTTP، IRC، NNTP، SMTP، POP3، IMAP، SSHv2 و DNS
7 – کتابخانه Socket
کتابخانه بعدی برای تست نفوذ با پایتون کتابخانه سوکت است.
برنامه نویسی سوکت روشی برای اتصال دو گره در یک شبکه برای برقراری ارتباط با یکدیگر است. یک سوکت (گره) به یک پورت خاص در یک IP گوش می دهد، در حالی که سوکت دیگر برای ایجاد یک اتصال به دیگری می رسد.
سرور سوکت شنونده را تشکیل می دهد در حالی که مشتری به سمت سرور می رود. آنها ستون فقرات واقعی در پشت وبگردی هستند. به عبارت ساده تر، یک سرور و یک مشتری وجود دارد. برنامه نویسی سوکت با وارد کردن کتابخانه سوکت و ساخت یک سوکت ساده شروع می شود.
نمونه کار با کتابخانه Socket
Import socket Soc_connection = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
در اینجا یک (template) یا یک ظرف برای برقراری ارتباط میسازیم.
که پارامتر اولی نشان دهنده ادرس (IP) و پارامتر دومی نشان دهنده نحوه ارتباط از طریق پورت (tcp) است.
8 – کتابخانه RawSocketPy
سوکت خام یک کتابخانه python لایه 2 برای ارتباط فقط با استفاده از آدرس های MAC است. این کتابخانه به شما اجازه می دهد تا یک ارتباط لایه 2 سفارشی را با استفاده از سوکت های خام در پایتون، همزمان و ناهمزمان پیاده سازی کنید.
9 – کتابخانه ImPacket
ImPacketمجموعه ای از کلاس های پایتون برای کار با پروتکل های شبکه است. در حال حاضر، کتابخانه بر روی ارائه پشتیبانی از برنامه نویسی سوکت سطح پایین، TCP/IP و چندین پروتکل سطح بالاتر متمرکز است. این یک کتابخانه پایتون است که ایجاد و رمزگشایی بسته های شبکه را برای برنامه نویسان آسان می کند.
Impacket توسط بسیاری از هکرها و تسترهای نفوذ برای ایجاد حملات نفوذی مبتنی بر شبکه سفارشی مانند انسان در وسط و ربودن جلسه((session hijacking استفاده می شود. در ابتدا به عنوان یک ابزار داخلی برای کمک به آزمایش طراحی شده بود، اما به یک ابزار قدرتمند هکر تبدیل شده است که می تواند علیه شبکه ها استفاده شود.
نحوه نصب کتابخانه ImPacket
$ pip install ImPacket
10- کتابخانه pwntools
کتابخانه pwntools یک کتابخانه (capture the flag ctf) پایتون است که برای توسعه سریع اکسپلویت طراحی شده است. اساساً به ما کمک میکند تا اکسپلویتها را سریع بنویسیم، و قابلیتهای مفید زیادی در پشت خود دارد. همچنین یک نکته قابل ذکر است، pwntools دارای نسخه Python2 و Python3 است. ATM این دوره از Python2 استفاده می کند، اما من قصد دارم آن را به Python3 تغییر دهم. فقط به خاطر داشته باشید که برخی چیزها بین نسخه های Python2 به Python3 تغییر می کنند، با این حال تغییرات نسبتاً کوچک هستند.
نحوه نصب کتابخانه pwntools
$ pip install pwn
به پایان آمد این دفتر، هک و امنیت همچنان باقیست!
در این مقاله مفصل راجع به 10 تا از کتابخانه پایتون برای تست نفوذ صحبت کردیم. در صورت عدم وجود این کتابخانه های پایتون، بسیار کار هکر ها و متخصصان امنیت سختتر میشد.
کتابخانه های معرفی شده در این مقاله، بهترین کتابخانه های پایتون برای هک و امنیت هستند. اگر در مسیر یادگیری هک و امنیت هستی، پیشنهاد میکنم سری به دوره های هک و امنیت، یا پایتون وبسایت سبزلرن بزنید.
خیلی خوب می شد اگر این کتابخانه ها رو درس می دادین. قطعا برای کسایی که تو حوزه امنیت کار می کنند، آموزش این کتابخانه ها کمک شایانی می کند.
عالی