21 апреля 2015 года на Хабре в блоге журнала «Хакер» появилась публикация «Stealer на C#. Мы уложились в 9кб исполняемого файла». Так ак я давно не следил за журналом, был весьма удивлен таким содержанием статьи. В ней описывался самый обычный стилер (программа, позволяющая получать доступ к файлам на другом компьютере). Но, к сожалению, в статье был описан, наверное, самый худший вариант работы стилера. Вот уже много лет антивирусы сканируют сетевой трафик. И, видимо, автор статьи имел выключенный антивирус, либо антивирус с крайне низким уровнем обеспечиваемой безопасности.
Небольшое исследование ждет вас под катом.

Замечу, что в ходе экспериментов мой антивирус начал подавать сигнал тревоги, только когда был добавлен метод Encrypt, до этого программа могла отправлять файл по FTP куда угодно. С появлением опции отправки по почте имя определяемой «малвари» изменилось на «троян».


Анализ функций брандмауэра самых популярных антивирусов


Dywar рассказал о двух способах получить файл с компьютера жертвы. SMTP и FTP(почта и ftp-сервер соответственно), после небольшого анализа возможностей антивируса были выявлены следующие факты:

image

Как видно из таблицы, все самые популярные антивирусы по умолчанию или с определенными параметрами позволяют блокировать или уведомлять пользователя о попытке отправить сообщение или установить FTP соединение.

Что делать в такой ситуации?


Если стандартный брандмауэр у пользователя выключен, нам практически ничего не мешает установить TCP соединение с удаленным сервером. Достаточно купить выделенный сервер, самый простой, зайти на MSDN и написать, пусть даже синхронный, сервер, принимающий соединения и сохраняющий файлы. А весь процесс работы у клиента сведется к тому, что нужно прочитать файл, зашифровать и отправить его на сервер.

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

Синхронный сервер
Клиент

Комментарии (14)


  1. maximw
    23.04.2015 16:10
    +30

    Так почему статья «Stealer на C#» в журнале «Хакер» не имеет права на жизнь?


  1. Ivan_83
    23.04.2015 16:16

    1. «Если стандартный брандмауэр у пользователя выключен, нам практически ничего не мешает установить TCP соединение с удаленным сервером. — стандартный виндовый блокирует только входящие, исходящие его не интересуют, пока юзер сам руками не добавит правила.

    2. „Вот уже много лет антивирусы сканируют сетевой трафик. И, видимо, автор статьи имел выключенный антивирус, либо антивирус с крайне низким уровнем обеспечиваемой безопасности.“ — ничего не значит.
    Антивирус не знает кто зачем и куда отправляет данные, может пакаса на гугл все фотки сливает.
    А ещё секурити эсеншал/дефендер в вин 8 у многих стоит, он вроде и проверяет что то но врядли будет ругатся на ерунду.


  1. lockywolf
    23.04.2015 16:58
    +8

    «Вирусы» на сишарпе? Куда катится мир?


    1. AlexBin
      23.04.2015 17:19
      +9

      в .NET


  1. dezconnect
    23.04.2015 17:03
    +15

    Чет самомнение у автора прям…


  1. priv8v
    24.04.2015 10:15

    самые популярные антивирусы по умолчанию или с определенными параметрами позволяют блокировать или уведомлять пользователя о попытке отправить сообщение или установить FTP соединение

    Справедливости ради замечу, что упомянутые продукты (те, что самые популярные) заточены по дефолту на «домохозяйку» и не задают непонятных вопросов вроде разрешения на коннект имярек.ехе на хост ip… а просто разрешают все, что не запрещено (фактически все).

    Это я не к тому, что мне сильно нравится статья из Хакера (скорее наоборот), но ИБ точность любит.


  1. Alexeyslav
    24.04.2015 10:20

    Антивирусы проверяю порты, но… только для выявления проникновения самого трояна на компьютер жертвы, или наоборот распространения их на другие компьютеры. Несанкционированную передачу данных он выявить не в состоянии.
    В таких ситуациях частично помогают только БЕЛЫЕ списки, но это не поможет в ситуации когда троян для передачи файла использует штатный эксплорер, выход в интернет которому разрешен. Если конечно он осилит белый список доверенных приложений.


    1. priv8v
      24.04.2015 10:24

      Несанкционированную передачу данных он выявить не в состоянии.

      IPS-сигнатуры уже несколько лет как имеются у некоторых продуктов так что теоретически — в состоянии.


      1. Alexeyslav
        24.04.2015 11:49

        Сигнатуры чего? случайных данных?


        1. priv8v
          24.04.2015 13:19

          Вы меня троллите или на самом деле в этой теме не Копенгаген и предлагаете мне сделать краткий обзор возможностей анализа трафика современными АВ?


          1. Alexeyslav
            24.04.2015 15:06

            Было бы неплохо обзорчик.


            1. priv8v
              24.04.2015 15:24

              В ЛС.


              1. maximw
                24.04.2015 17:22

                Может публикацию?


                1. priv8v
                  24.04.2015 17:28

                  В данном случае уместен принцип security through obscurity — чем меньше ТА сторона знает, тем лучше :)