0
0

بررسی و معرفی دوره هک و امنیت با پایتون

3809 بازدید

بررسی و معرفی دوره هک و امنیت با پایتون

 

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

 

دوره هک و امنیت با پایتون

 

پایتون و تاریخچه اش

پایتون یک زبان همه منظوره، سطح بالا، شی گرا، اِسکریپتی و متن باز است !
(پایتون) توسط خیدو فان روسوم در سال ۱۹۹۱ در کشور هلند طراحی شد؛ فلسفهٔ ایجاد آن تأکید بر دو هدف اصلی خوانایی بالای برنامه‌های نوشته شده و کوتاهی و بازدهی نسبی بالای آن است، کلمات کلیدی و اصلی این زبان به صورت حداقلی تهیه شده‌اند و در مقابل کتابخانه‌ هایی که در اختیار کاربر است بسیار وسیع هستند،

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

پایتون دارای دو نسخه 2 و 3 هست که می تونید برای بررسی تفاوت این دو نسخه با هم پست تفاوت پایتون 2 و 3 تفاوت های مهمی که باید بدانید !  را از دست ندهید.

Statements and Control Flow

دستور if که بطور مشروط یک بلوک از کد را به همراه else و elif اجرا می کند (انقباض دیگری است اگر).
دستور for که با تکرار بر روی یک شی قابل تکرار ، هر عنصر را در یک متغیر محلی برای استفاده توسط بلوک پیوست ضبط می کند.
دستور while که یک بلوک کد را اجرا می کند به شرطی که شرط آن درست باشد.
عبارت try که به شما اجازه می دهد موارد استثنایی موجود در بلوک کد پیوست شده آن را بگیرد، بجز بندها مورد استفاده قرار گیرد.
همچنین تضمین می کند که کد پاک سازی در یک بلوک در نهایت همیشه بدون در نظر گرفتن نحوه بلوک اجرا می شود.
بیانیه افزایش برای مطرح کردن یک استثنا مشخص یا دوباره مطرح کردن یک استثنای گرفتار استفاده می شود.
دستور class که یک بلوک از کد را اجرا می کند و فضای نام محلی آن را به یک کلاس متصل می کند، برای استفاده در برنامه نویسی شی گرا.
دستور def یک تابع یا روش را تعریف می کند.

در ادامه..

بیانیه با از پایتون 2.5 منتشر شده در سپتامبر 2006 که یک بلوک کد را در یک مدیر زمینه محصور می کند !
(به عنوان مثال بدست آوردن قفل قبل از اجرای بلوک کد و آزاد کردن قفل پس از آن، یا باز کردن یک پرونده و سپس بستن آن)، اجازه می دهد Resour Acquisition Is Initialization RAII مانند رفتاری باشد و جایگزین اصطلاح رایج و نهایی شود.
عبارت break از حلقه خارج می شود.
دستور Continue از این تکرار صرف نظر کرده و با مورد بعدی ادامه می یابد.
دستور del یک متغیر را حذف می کند ، به این معنی که مرجع از نام به مقدار حذف می شود و تلاش برای استفاده از آن متغیر باعث خطا می شود. متغیر حذف شده بعداً به صورت عادی قابل تغییر است.
عبارت pass که به عنوان NOP عمل می کند. به صورت ترکیبی برای ایجاد یک بلاک کد خالی مورد نیاز است.
دستور assert هنگام اشکال زدایی برای بررسی شرایطی که باید اعمال شود استفاده می شود.
دستور عملکرد که مقداری را از یک تابع ژنراتور برمی گرداند. از پایتون 2.5 بازده نیز یک عملگر است. این فرم برای اجرای کوروتین استفاده می شود.
دستور Return برای برگرداندن مقداری از یک تابع استفاده می شود.
دستور import که برای وارد کردن ماژولهایی استفاده می شود که از توابع یا متغیرهای آنها می توان در برنامه فعلی استفاده کرد. سه روش استفاده از import وجود دارد : وارد کردن <نام ماژول> [به عنوان <alias>] یا از <نام ماژول> وارد کردن * یا از <نام ماژول> وارد کردن <تعریف 1> [به عنوان <نام مستعار 1>]، <تعریف 2> [به عنوان <نام مستعار 2>] دستور چاپ در پایتون 3 به عملکرد print () تغییر یافت.

همچنین میتوان گفت

  • دستور انتساب (‘=’) با اتصال یک نام به عنوان مرجع به یک شی separate جداگانه و به صورت پویا عمل می کند.
    از آنجا که محل ذخیره سازی نام حاوی مقدار مشخص شده نیست، نامناسب بودن آن نامناسب است. نام ها ممکن است متعاقباً در هر زمان به هر شی برگشت داده شوند. از آنجا که یک نام یک دارنده مرجع عمومی است منطقی نیست که یک نوع داده ثابت را با آن مرتبط کنیم. با این حال در یک زمان مشخص یک نام به برخی از اشیا که دارای یک نوع هستند محدود می شود. از این ارتباط به عنوان تایپ پویا یاد می شود.

 

  • پایتون از بهینه سازی تماس دم یا ادامه درجه یک پشتیبانی نمی کند
    و طبق گفته گیدو ون روسوم ، هرگز پشتیبانی نخواهد کرد. با این حال با توسعه ژنراتورهای پایتون، پشتیبانی بهتر از قابلیت های مشابه کوروتین در 2.5 ارائه می شود. قبل از 2.5 ، ژنراتورها تکرار کننده تنبل بودند. اطلاعات به صورت یک طرفه از ژنراتور منتقل می شد. از پایتون 2.5 می توان اطلاعات را دوباره به یک عملکرد تولید کننده منتقل کرد و از پایتون 3.3 ، اطلاعات را می توان از طریق چندین سطح پشته منتقل کرد.

 

دوره هک و امنیت با پایتون

 

کاربرد پایتون

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

پیش نیاز دوره هک و امنیت با پایتون

با توجه به استفاده از زبان پایتون در این دوره دانشجویان این دوره باید آشنایی نسبی و بیسیک را با زبان پایتون داشته باشند تا در طول دوره دچار مشکل و سردرگمی نشوند و به این نکته مهم حتما دقت فرمایید !

کاربرد پایتون در هک و امنیت

پایتون محبوبیت خود را بیشتر به دلیل کتابخانه های بسیار قدرتمند و در عین حال آسان استفاده کرده است.
مطمئناً پایتون خوانایی بسیار خوبی دارد و واقعاً ساده است و در واقع هیچ چیز واقعیت این را ندارد که کار شما به عنوان یک توسعه دهنده با این کتابخانه ها بسیار ساده شده است. این کتابخانه ها در انواع دامنه ها کاربرد دارند، به عنوان مثال هوش مصنوعی دارای Pytorch و Tensorflow است در حالی که Data Science دارای Pandas ، Numpy ، Matplotlib است.

مواردی که در دوره تدریس شده است

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

ایجاد کانکشن و ارسال و دریافت متن و فایل

پایتون کتابخانه ای به اسم Socket دارد که این کتابخانه به افراد اجازه میدهد
تا یک ارتباط دو طرفه را ایجاد کنند و برای یکدیگر فایل یا متن ارسال کنند، حال با کمی خلاقیت می توان یک ابزار تروجان یا همان رت را برای خود کد نویسی کرد

نمونه کد ایجاد یک چت ساده پایتونی :

 

Server.py


import socket
from colorama import Fore
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)

ip = input("Enter Your ip : \n")
port = input("Enter a Port : \n")

s.bind((ip,int(port)))

s.listen(1)
print(Fore.BLUE+f"Server is Running On Port {port} ...")

c , addr = s.accept()
print(f"{addr} is connected")

while True :
send_msg = input("Enter a sentens : \n ")
c.send(f"[+] Server {send_msg}".encode())
msg = c.recv(1204).decode()
print(msg)

c.close()

Client.py


import socket
from colorama import Fore
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)

ip = input("Enter Your ip : \n")
port = input("Enter a Port : \n")

s.connect((ip,int(port)))

print(Fore.GREEN+f" conneted To {ip} on port {port}")

while True:
msg = s.recv(1204).decode()
print(msg)
send_msg = input("Enter a sentens : \n ")
s.send(f"[+] Client : {send_msg}".encode())

s.close()

 

مانیتورنیگ کیبرد و موس

پایتون کتابخانه های متفاوتی در زمینه مانیتوزینگ موس و کیبرد دارد که یکی از محبوب ترین کتابخانه ها کتابخانه Pynput است
که با این کتابخانه قادر هستید تمام رخداد های موس و کیبرد را مشاهده و ذخیره کنید  و با کمی خلاقیت می توان یک ابزار KeyLogger را برای خود ایجاد کرد.

<from pynput import keyboard

def on_activate():
print('Global hotkey activated!')

def for_canonical(f):
return lambda k: f(l.canonical(k))

hotkey = keyboard.HotKey(
keyboard.HotKey.parse('<ctrl>+<alt>+h'),
on_activate)
with keyboard.Listener(
on_press=for_canonical(hotkey.press),
on_release=for_canonical(hotkey.release)) as l:
l.join()

 

رمزنگاری متن ها و فایل ها

پایتون کتابخانه های مختلفی در زمینه رمزنگاری و رمزگشایی دارد که می توان
برای مثال به کتابخانه cryptography اشاره کرد که با استفاده از این کتابخانه و یا کتابخانه های مشابه می توان متن ها و فایل ها ی خود را رمزنگاری کرد و با کمی خلاقیت می توان ابزار هایی چون باج افزار (Ransomware) را ایجاد کرد !


>>> from cryptography.fernet import Fernet
>>> # Put this somewhere safe!
>>> key = Fernet.generate_key()
>>> f = Fernet(key)
>>> token = f.encrypt(b"A really secret message. Not for prying eyes.")
>>> token
'...'
>>> f.decrypt(token)
'A really secret message. Not for prying eyes.'

اکسپلویت نویسی با پایتون

پایتون یکی از زبان های قدرتمند در زمینه اکسپلویت نویسی به شمار می رود
مثلا شما با استفاده ار کتابخانه Requests می توانید ده ها اکسپلویت برای آسیب پذیری های  تحت وب کد نویسی کنید و از آنها استفاده کنید.

آینده علم هک و امنیت در ایران

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

آموزش هک و امنیت

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

 

5 1 vote
امتیازدهی به مقاله
آیا این مطلب را می پسندید؟
https://blacksecurityteam.com/?p=24844
اشتراک گذاری:
واتساپتوییترفیسبوکپینترستلینکدین
مهدی حسنی
در حال یادگیری ..........
مطالب بیشتر
برچسب ها:
اشتراک در
اطلاع از
guest
2 نظرات
جدیدترین
قدیمی ترین بیشترین رأی
Inline Feedbacks
View all comments
omid
omid
1399-10-14 20:11

سلام واقعا ابزارهای خفنی بود حال کردم ممنون

16

2
0
Would love your thoughts, please comment.x