Жизнь с windows для параноика.

Discussion in 'Безопасность и Анонимность' started by profishell, 4 Jul 2015.

  1. profishell

    profishell Member

    Joined:
    21 Feb 2014
    Messages:
    32
    Likes Received:
    14
    Reputations:
    7
    Все мы знаем, что вирусов под windows очень много, значит нам нужно с ними бороться.

    За отправную точку мы берем чистую систему, то есть:
    1) Оригинальный образ (не сборка, ибо в сборках вирусы уже вшиты в комплект)
    2) Старый, добрый Internet Explorer (все верно, именно ишак, так как командной строкой 90% пользоваться не умеют).
    3) Запароленные учетки админа и юзера (админ для настройки, а юзер для повседневной жизни).

    Итак, вы установили чистую систему, начинаем готовиться к увлекательному путешествию...

    Скачиваем и настраиваем необходимое ПО:
    1) Качаем антивирус и фаервол именно с сайта производителя, они помогут отбиваться от уже известных вирусов и их известных модификаций, тут на вкус и цвет, лично мне нравится продукт компании Eset. Собственно старый добрый ишак нам и нужен только с целью скачать ПО с интернета.
    2) Скачиваем Process Explorer - это продвинутый диспетчер задач.
    3) Скачиваем нормальный браузер (ну не ишаком же пользоваться), тут тоже на вкус и цвет, я вообще дома Maxthon'ом пользуюсь, так как браузер не очень популярный и, соответственно, сплоитов под него практически нет...
    4) Задаем комбинацию горячих клавиш для вызова Process Explorer'a.
    5) Ставим экранную клавиатуру на автозагрузку (тут тоже по желанию, я ставлю через реестр, вы можете использовать другие методы).

    Если вы хотите быть на 146% уверены, что на ваш ПК не пролезет вирус - не подключайте ПК к 220 и уж тем более не включайте его. Дыры есть везде, поэтому будьте готовы бороться с вирусами на своей территории.

    Типов вирусов много, поэтому будем защищаться от каждого по очереди:

    1) Блокеры - самый тупой вирус, скушный и однообразный... Все потому, что пишут данный класс вирусов - школоло. Я еще ниразу не встречал нормально написанный блокер, который бы хукал системные апи, имел продуманную защиту от дебага и жил в оперативке, но не будем о грустном :)

    Итак, допустим вы поймали блокер, так же допустим, что он написан хотя бы выпускником школы(в основном их авторы - 5 класс средней школы). Блокер стартует в даже в Безопасном режиме, хукнул клаву и системные апи, и отлавливает обращения к диспетчеру задач (конечно такой блокер - фантастика, но, усложним себе задачу).

    Удалить данную заразу очень легко, ведь у нас есть экранная клавиатура и Process Explorer (мы ведь умные люди и обладаем необходимым инструментарием). С помощью экранный клавиатуры (которая в автозагрузке и стартует с системой, а можно и до (wininit например)) вызываем Process Explorer, как вы помните, у него назначены горячие клавиши. Через Process Explorer ищем процесс блокера (убиваем процессы и ждем когда он уберется), затем просто ищем его в файловой системе и сносим. Как я говорил - скучно и неинтересно.

    2) Шифровальщики - зверек чуть умнее блокера, но тоже стремный. Зато тут есть хоть какая-то изюминка, всегда любил криптографию :) Защититься от шифровальщиков поможет только бэкап, да, именно так, ну нет пока адекватных способов взломать ключ AES 256 бит. Поэтому админы делятся на тех кто уже делает бэкапы и кто еще не делает. Теоретически, вы можете хранить все свои важные файлы (фото, документы, любимое порно) в контейнерах, но нет никаких гарантий, что шифровальщик не зашифрует этот контейнер... Вообщем для защиты берем съемный носитель и делаем на него бэкапы, и помните, бэкапы делают не по завершению работы, а перед ее началом, то есть стартанули систему - все в порядке, значит делаем бэкап.

    3) Фейки, редиректы, подмена выдачи - веселые бонусы троянов. К примеру заметить подмену выдачи обычному человеку почти нереально.

    Для защиты от этой радости мы должны обезопасить файл hosts (вообще, данный файл - один из самых главных косяков безопасности в windows). Для этого просто заходим в свойства этого файла, ставим атрибут "только чтение", затем через вкладку "Безопасность" снимаем у всех пользователей, у кого можем, галочку с пункта "запись". Если вы подозреваете, что данные подарки от вирусописателей у вас все-таки есть, то делаем так: чистим весь кеш и временные файлы браузера, смотрим установленные дополнения в браузере и чистим их, открываем cmd.exe от имени админа и выполняем команду route -f (очистка таблицы маршрутизации).

    4) Стиллеры - трояны, которые тырят все что плохо лежит: ваши пароли, явки, адреса, ну и, конечно, файлы.
    Защита банальна - не сохранять пароли! Серьезно, просто не нужно сохранять пароли и стиллеры вам не страшны :) Файл сопрут в любом случае, если будут знать какой нужен :)

    5) Кейлоггеры - тут тоже все просто, для ввода данных используйте экранную клавиатуры (желательно нестандартную, от сторонних разработчиков с рандомным местом расположения кнопок).

    6) Черви - это вирусы, которые инфицируют все остальные исполняемые файлы, защиты от них, кроме антивируса - никакой, поэтому если пролез - прощайте ехешники... Только своевременные обновления антивируса и систем + настроенный фаервол дадут вам слабую надежду на защиту от этого класса вирусов (все помнят sality?).

    7) RAT'ы - это расшифровывается как RemoteAdministrationTool. Софт для удаленного управления ПК (эх, помню сколько шуму наделали bifrost и poison ivy). Для защиты от них - нужно просто мониторить процессы через Process Explorer и помнить, что ваше, а что нет.

    [sarcasm]Вот собственно и все, пользуйтесь ПК, все просто, надежно и максимально удобно[/sarcasm]

    Для повседневной защиты, к примеру при онлайн покупках и авторизации на различных ресурсах - используем экранную клавиатуру для ввода данных и ставим двух этапную авторизацию (смска на мобильник) на все сервисы, которые поддерживают эту функцию. Так же проверяйте наличие ssl сертификата у сайта (https), к примеру я бы не стал вводить данные своей карты на сайте с просроченным или самоподписанным сертификатом.

    Про остальное уже написали, так что - счастливой Вам паранойи :)
     
    #1 profishell, 4 Jul 2015
    Last edited: 4 Jul 2015
  2. Yokohama-man

    Yokohama-man Member

    Joined:
    23 Mar 2011
    Messages:
    17
    Likes Received:
    6
    Reputations:
    0
    За MS TN Process Explorer респект.

    Статья интересная, но вот фразы типа "ишак", "юзер" отдают псевдонаучное желтизной и романтикой из журналов конца девяностых, начала двухтысячных. Мне намного интереснее читать научные термины (статьи написанные с научной "точки зрения"), типа Trojan, Payload, Net Worm, Computer Worm, Botnet и тд, расшифровка аббревиатуры RAT.

    "Фейки, редиректы, подмена выдачи - веселые бонусы троянов. К примеру заметить подмену выдачи обычному человеку почти нереально."

    Этот текст не совсем "правильный", как по мне задача большинства (но возможно не всех) Trojan вирусов как раз как можно дольше находится незамеченными и собирать информацию о пользователе: банковские счета, пароли, куки, информация об электронных кошельках и другой "шпионаж". Как полезная нагрузка (Payload) к троянам может идти уже всё что угодно (Генераторы биткоин и прокси сервера), но это уже второстепенные задачи обычно, главная задача шпионаж (Кейлоггер, уплоад, даунлоад).

    В целом Я не эксперт по вирусам, но сейчас вирусы "комбайны" общего назначения, докачивают всё что угодно из интернета. Типа скачал фейковый браузер или информер погоды (От сотни килобайт до 5 мегабайт например), остальное он сам докачает с серверов по мере решения выполняемых им задач (Уже на сотни мегабайт, если исходниками будет качать). Непосредственное прямое участие "управляющего" не обязательно, автоматизация. Примеры: Zeus, Zemra(Если это не фейк.), Storm Worm.
     
    profishell likes this.
  3. profishell

    profishell Member

    Joined:
    21 Feb 2014
    Messages:
    32
    Likes Received:
    14
    Reputations:
    7
    Спасибо за конструктив, но проработав 3 года с клиент-банками IE - это ишак, иначе сказать просто не поворачивается язык :)
    Сам по себе троян это класс вирусов (подробнее в вики), то есть как автомобиль, есть марки автомобилей, например мазда, форд и так далее, это автомобили, но слегка разные...
    Задачи вирусов совершенно различны, да, есть лодеры, есть всевозможные стиллеры, блокеры и так далее, но цель всегда устанавливает оператор. К примеру большая часть стиллеров (если оператор адекватен) удаляется из системы в первые 20-30 секунд после запуска, так как данные уже собраны и переданы, а больше в системе делать нечего (ибо найдут, отправят на анализ и прощай криптовка), но оставят подарок в качестве редиректа или подмены выдачи...

    P.S. Исходники для винды качать бесполезно, компиляторов встроенных (как например gcc) в винде (по умолчанию) нет, а значит исходник будет просто текстовым файлом.
     
  4. Yokohama-man

    Yokohama-man Member

    Joined:
    23 Mar 2011
    Messages:
    17
    Likes Received:
    6
    Reputations:
    0
    P.S. Исходники для винды качать бесполезно, компиляторов встроенных (как например gcc) в винде (по умолчанию) нет, а значит исходник будет просто текстовым файлом.

    MinGW. Не встроен, но ничто вирусу не мешает "докачать" компилятор.

    Для С# csc.exe ("Платформа" .NET ) и dmcs (Mono).

    но цель всегда устанавливает оператор

    Я имел ввиду общую автоматизацию, сейчас насколько мне известно некоторые "современные" вирусы представляют из себя ничто иное как ноды (node) связанные с центральным сервером, либо децентрализованные частично. Можно назвать это ботнетом (Botnet). Управление происходит автоматически, оператор сразу управляет "роем" (частью ботнета), либо ботнетом целиком, а не индивидуально каждым "заражённым" устройством, либо просто устанавливает для ботнета цели и задачи, а тот выполняет их автомтически.
     
    profishell likes this.
  5. profishell

    profishell Member

    Joined:
    21 Feb 2014
    Messages:
    32
    Likes Received:
    14
    Reputations:
    7
    По пунктам:
    1) Докачать компилятор на винду? Смысл? Вы даже не представляете сколько машин на винде, но с неустановленным .NET Framework'ом, узконаправленные вирусы под винду пишут только по гос. заказу (Под Иранскую ядерную программу, например).
    2) Сам вирус это просто исполняемый файл.
    На данный момент, как раз в тренде децентрализация ботнета, чтобы в "случае чего" потерять лишь часть сети (все верно, ноду).
    Берем любой бот, любые функции это не важно. Важно, чтобы данные и команды он получал с различных серверов (ведь без сервера управления боты не более чем обычный мусор на ПК пользователя). Делается это очень просто, берется алгоритм (например commandurl = Left(md5(сегодняшняя_дата), 10) & ".in"). То есть - берем md5 от сегодняшней даты, обрезаем до 10 символов и добавляем доменную зону. В итоге получится что-то типа 0ac6d0a0b2.in. Это и будет центр управления на сегодня для ботов, завтра он будет другой, только домены успевай регистрировать :) Это очень банальный пример, простейший, но рабочий.
    3) Тут тоже не совсем верно, бот он на то и бот, чтобы выполнять всю работу автоматически, поэтому если оператор лезет ручками, значит автоматизация не сработала, либо вообще не нужна...
    Сам по себе вирус - автоматизирован, он сам отсылает данные, он сам забирает команды, но взаимодействие между оператором и конкретной машиной обязано быть.
    В случае с DDOS ботнетами - вы написали все верно, но если это ботнет стиллеров (и нужно скачать конкретный файл)? А если RAT'ов?)
     
    #5 profishell, 6 Jul 2015
    Last edited: 6 Jul 2015
  6. Yokohama-man

    Yokohama-man Member

    Joined:
    23 Mar 2011
    Messages:
    17
    Likes Received:
    6
    Reputations:
    0
    Но на части ведь установлен. Сейчас многое ПО требует предустановленный NET Framework.

    Смысл в том, чтобы компилировать на заражённой машине, а не на сервере. Держать рабочего "червя" на сервере не лучшая идея. Кроме того "исходник", не является исполняемым файлом, так, что возможно меньше обнаружим антивирусным ПО. Также это даёт возможность восстановления части утраченных исполняемых файлов после обнаружения.

    На самом деле идея компилировать на стороне зараженной машины не моя, а люди придумывающие огромные (по меркам вирусов) "комбайны", смысл видимо видели раз внедряли такую функцию в "вирусы".
     
    profishell likes this.
  7. profishell

    profishell Member

    Joined:
    21 Feb 2014
    Messages:
    32
    Likes Received:
    14
    Reputations:
    7
    Идея не нова, но от нее отказались, детект антивирусами вы в этом случае не уберете никак, так как при компиляции получится тот же самый код, и антивирус сработает. Скажите честно, у скольких Ваших знакомых пользователей (именно пользователей, не кодеров или админов) установлен последний .Net Framework и Visual Studio (компилятор ставится с ней, а не с фреймворком). В случае с конкретным заказом, когда вирус пишется под конкретную систему - да, можно использовать этот метод, а в случае с необходимостью массовости нужно использовать то, что будет работать у всех, а не только у избранных :)
    Это уже из разряда проблемы Linux пользователей - "Я скачал вирус, а он у меня не работает :("

    Чем же идея "держать на сервере рабочего червя" вам кажется небезопасной? Для управляющих центров используются абузные сервера, домены, значит админы хостера туда не полезут (ну по идее), закрыть от индексации - без проблем: от банального "noindex", до выдачи ехешника скриптом по спец параметру (параметр указан - получи скачивание, не указан - редирект в гугл/404/куда надо).

    Главная задача оператора ботнета - своевременная криптовка тела вируса и последующее распространение свежего тела как на уже зараженные, так и на новые ПК. Только крипт (шифрование) убережет тело от обнаружения по сигнатурам, ну и переписывание исходного кода, но это слишком трудозатратно...
     
    #7 profishell, 6 Jul 2015
    Last edited: 6 Jul 2015
  8. Yokohama-man

    Yokohama-man Member

    Joined:
    23 Mar 2011
    Messages:
    17
    Likes Received:
    6
    Reputations:
    0
    Обфускацию никто не отменял.

    Я без понятия что установлено у моих знакомых, но сейчас некоторые приложения для обычных пользователей тянут за собой библиотеки .NET и сам "фреймворк".

    Повторяю идея не моя.
     
  9. profishell

    profishell Member

    Joined:
    21 Feb 2014
    Messages:
    32
    Likes Received:
    14
    Reputations:
    7
    Фреймворк ставится только из-под админа и про "подтягивание" его я пока не слышал, знаю, что много софта без него работать отказываются, но ставить его надо отдельно, а на многих предприятиях, на основной массе машин его просто нет (личный опыт).

    Если вы имеете в виду обфускацию исходного кода - то это может сбить детект какого-нибудь Маккафи или другого антивирусного барахла, даже авиру это не проведет, так как сигнатуры нормального антивируса опираются на комбинацию системных апи, а не на имена пользовательских функций (фактически эверистика на этом и строится, есть набор определенных функций, именно набор, а не одна/две и если софт к ним обращается - файл считается подозрительным).

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

    Были семплы (найдете либо на указанном ниже форуме, либо в старой версии hackhound, точно не помню, но видел) с возможностью интерпритации асм кода из экзешника (берется исходник на асме из текстовика и запускается вирусом с помощью debug.exe), но реализация была очень крива и, в последствии, заглохла и скатилась на ноль.

    P.S. Если интересная тематика создания вирусов (ну и соответственно противодействия) - форум в помощь.
     
    Yokohama-man likes this.