код самого простого вируса

Пишем свое вредоносное ПО. Часть 1: Учимся писать полностью «не обнаружимый» кейлогер

код самого простого вируса

Хакерский мир можно условно разделить на три группы атакующих:

1) «Skids» (script kiddies) – малыши, начинающие хакеры, которые собирают известные куски кода и утилиты и используя их создают какое-то простое вредоносное ПО.

2) «Byuers» — не чистые на руку предприниматели, тинэйджеры и прочие любители острых ощущений. Покупают услуги по написанию такого ПО в интернете, собирают с ее помощью различную приватную информацию, и, возможно, перепродают ее.

3) «Black Hat Сoders» — гуру программирования и знатоки архитектур. Пишут код в блокноте и разрабатывают новые эксплоиты с нуля.

Может ли кто-то с хорошими навыками в программировании стать последним? Не думаю, что вы начнете создавать что-то, на подобии regin (ссылка) после посещения нескольких сессий DEFCON. С другой стороны, я считаю, что сотрудник ИБ должен освоить некоторые концепты, на которых строится вредоносное ПО.

Зачем ИБ-персоналу эти сомнительные навыки?

Знай своего врага. Как мы уже обсуждали в блоге Inside Out, нужно думать как нарушитель, чтобы его остановить. Я – специалист по информационной безопасности в Varonis и по моему опыту – вы будете сильнее в этом ремесле если будете понимать, какие ходы будет делать нарушитель. Поэтому я решил начать серию постов о деталях, которые лежат в основе вредоносного ПО и различных семействах хакерских утилит. После того, как вы поймете насколько просто создать не детектируемое ПО, вы, возможно, захотите пересмотреть политики безопасности на вашем предприятии. Теперь более подробно.

Для этого неформального класса «hacking 101» вам необходимы небольшие знания в программировании (С# и java) и базовое понимание архитектуры Windows. Имейте ввиду, что в реальности вредоносное ПО пишется на C/C++/Delphi, чтобы не зависеть от фреймфорков.

Кейлогер – это ПО или некое физическое устройство, которое может перехватывать и запоминать нажатия клавиш на скомпрометированной машине. Это можно представить как цифровую ловушку для каждого нажатия на клавиши клавиатуры.
Зачастую эту функцию внедряют в другое, более сложное ПО, например, троянов (Remote Access Trojans RATS), которые обеспечивают доставку перехваченных данных обратно, к атакующему. Также существуют аппаратные кейлогеры, но они менее распространены, т.к. требуют непосредственного физического доступа к машине.

Тем не менее создать базовые функции кейлогера достаточно легко запрограммировать. ПРЕДУПРЕЖДЕНИЕ. Если вы хотите попробовать что-то из ниже следующего, убедитесь, что у вас есть разрешения, и вы не несёте вреда существующей среде, а лучше всего делать это все на изолированной ВМ. Далее, данный код не будет оптимизирован, я всего лишь покажу вам строки кода, которые могут выполнить поставленную задачу, это не самый элегантный или оптимальный путь. Ну и наконец, я не буду рассказывать как сделать кейлогер стойким к перезагрузкам или пытаться сделать его абсолютно не обнаружимым благодаря особым техникам программирования, так же как и о защите от удаления, даже если его обнаружили.

Для подключения к клавиатуре вам всего лишь нужно использовать 2 строки на C#:

Вы можете изучить больше про фунцию GetAsyncKeyState на MSDN:

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

Что здесь происходит? Этот цикл будет опрашивать каждые 100 мс каждую из клавиш для определения ее состояния. Если одна из них нажата (или была нажата), сообщение об этом будет выведено на консоль. В реальной жизни эти данные буферизируются и отправляются злоумышленнику.

Умный кейлогер

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

Давайте предположим, что я хочу заполучить учетные данные Facebook или Gmail для последующей продажи лайков. Тогда новая идея – активировать кейлоггинг только тогда, когда активно окно браузера и в заголовке страницы есть слово Gmail или facebook. Используя такой метод я увеличиваю шансы получения учетных данных.

Вторая версия кода:

Этот фрагмент будет выявлять активное окно каждые 100мс. Делается это с помощью функции GetForegroundWindow (больше информации на MSDN). Заголовок страницы хранится в переменной buff, если в ней содержится gmail или facebook, то вызывается фрагмент сканирования клавиатуры.

Этим мы обеспечили сканирование клавиатуры только когда открыто окно браузера на сайтах facebook и gmail.

Еще более умный кейлогер

Давайте предположим, что злоумышленник смог получить данные кодом, на подобии нашего. Так же предположим, что он достаточно амбициозен и смог заразить десятки или сотни тысяч машин. Результат: огромный файл с гигабайтами текста, в которых нужную информацию еще нужно найти. Самое время познакомиться с регулярными выражениями или regex. Это что-то на подобии мини языка для составления неких шаблонов и сканирования текста на соответствие заданным шаблонам. Вы можете узнать больше здесь.

Для упрощения, я сразу приведу готовые выражения, которые соответствуют именам логина и паролям:

Эти выражения здесь как подсказка тому, что можно сделать используя их. С помощью регулярных выражений можно искать (т найти!) любые конструкции, которые имеют определенный и неизменный формат, например, номера паспортов, кредитных карт, учетные записи и даже пароли.
Действительно, регулярные выражения не самый читаемый вид кода, но они одни из лучших друзей программиста, если есть задачи парсинга текста. В языках Java, C#, JavaScript и других популярных уже есть готовые функции, в которые вы можете передать обычные регулярные выражения.

Для C# это выглядит так:

Где первое выражение (re) будет соответствовать любой электронной почте, а второе (re2) любой цифро буквенной конструкции больше 6 символов.

Бесплатно и полностью не обнаружим

В своем примере я использовал Visual Studio – вы можете использовать свое любимое окружение – для создания такого кейлогера за 30 минут.
Если бы я был реальным злоумышленником, то я бы целился на какую-то реальную цель (банковские сайты, соцсети, тп) и видоизменил код для соответствия этим целям. Конечно, также, я запустил бы фишинговую кампанию с электронными письмами с нашей программой, под видом обычного счета или другого вложения.

Остался один вопрос: действительно такое ПО будет не обнаруживаемым для защитных программ?

Я скомпилировал мой код и проверил exe файл на сайте Virustotal. Это веб-инструмент, который вычисляет хеш файла, который вы загрузили и ищет его в базе данных известных вирусов. Сюрприз! Естественно ничего не нашлось.

код самого простого вируса

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

Основная цель этой статьи – показать, что используя одни только антивирусы вы не сможете полностью обеспечить безопасность на предприятии. Нужен более глубинная оценка действий всех пользователей и даже сервисов, чтобы выявить потенциально вредоносные действия.

В следующих статья я покажу, как сделать действительно не обнаружимую версию такого ПО.

Источник

Врач объяснил, как расшифровать свои анализы на антитела к COVID-19

С результатами подобных анализов корреспондент «Российской газеты» обратилась к сертифицированному специалисту по физической реабилитации, члену Европейской ассоциации амбулаторной реабилитации Леониду Дьякову.

Антитела: иммунный ответ

код самого простого вируса

Леонид Леонидович, в лаборатории люди получают результаты исследования, естественно, безо всяких комментариев. Их отправляют к врачам. Но к ним сейчас пробиться нелегко, да и не каждый рискует сидеть в очередях. В итоге человек мучительно вглядывается в непонятные обозначения, думает, плохо это или хорошо. Расскажите, что значит: «Антитела обнаружены».

Тест на антитела может показать, сталкивался ли человек с коронавирусом, даже если симптомов COVID-19 у него не было. Если антитела обнаружены, значит, организм среагировал на встреченный вирус. Они могут сохраняться, даже если самого вируса в организме уже нет. Этот тест говорит только о том, что произошел некий иммунный ответ.

код самого простого вируса

код самого простого вируса

Таким образом, выявление антител в крови является информативным свидетельством текущего или прошлого инфекционного процесса и помогает выявить стадию развития инфекции.

Обнаружение IgM указывает на недавнее инфицирование SARS-CoV-2. Они появляются непосредственно после контакта с носителем вируса, на третий-четвертый день. Через семь-десять дней они уже точно присутствуют в крови.

Потом они «стареют»?

Леонид Дьяков: Общий период вероятного выявления антител класса M не превышает двух месяцев. В течение этого времени IgM антитела постепенно полностью сменяются на IgG. Последние начинают формироваться в среднем на 21-й день.

Если еще есть IgM, и уже появились иммуноглобулины класса G, то это означает позднюю инфекцию. Просто IgM еще не сошли на нет.

Получается, наличие IgM не обязательно говорит об активной инфекции?

Леонид Дьяков: Да. Эти антитела могут выявляться и на стадии выздоровления.

код самого простого вируса

код самого простого вируса

Когда в крови выявляются только IgG, это говорит о том, что пациент выздоровел, и у него сформировался иммунитет к SARS-CoV-2. Если уровень IgG достаточно высок, то можно стать донором иммунокомпетентной плазмы. Например, IgG больше 40, а IgM больше 1,5, либо IgG больше 80, а IgM равно нулю.

То есть, если в крови выявлены обе группы антител, это означает, что человек уже выздоравливает?

Леонид Дьяков: Совершенно верно. Еще раз повторю: иммуноглобулины М говорят о том, что человек в данный момент болеет коронавирусом. Это не обязательно тяжелые формы, состояние может быть и бессимптомным. А иммуноглобулины G говорят о том, перенес ли он коронавирусную инфекцию в прошлом.

Далее, в графе «Дополнительная информация», вообще непонятная шифровка. А чем непонятнее, тем ведь страшнее. К примеру, вот передо мной результаты, переданные одним пациентом: «ОПсыв 0,0338; КП 1,45». Что кроется за этим?

От чего зависит количество антител в организме?

Лучше не болеть

Заразен ли человек, чей анализ мы расшифровываем?

Леонид Дьяков: По данному тесту нельзя определить, заразен ли еще человек. В принципе, с такими показателями, которые вы предоставили, пациент не заразен.

код самого простого вируса

код самого простого вируса

Но чтобы достоверно знать это, следует все же сдать еще мазок. Именно он покажет, выделяется ли вирус во внешнюю среду. Если он будет отрицательный, то человек стопроцентно не заразен. Без этой уверенности я бы рекомендовал соблюдение мер социальной дистанции и индивидуальной защиты даже в случае обнаружения только антител класса IgG.

А вы верите в то, что все должны переболеть, и тогда с эпидемией будет покончено?

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

Люди, узнавшие что у них обнаружены антитела, начинают думать, когда же, где подхватили заразу. Вспоминают, когда болели. Может ли данный тест показывать антитела не только на COVID-19, но и на перенесенные другие ОРЗ или ОРВИ?

Леонид Дьяков: Исключено. Это специфичный тест именно на антитела к коронавирусной инфекции.

Человек припомнил, что сильно болел в феврале, ему было очень плохо. Мог тогда быть коронавирус?

Леонид Дьяков: Иммуноглобулин G с тех пор не сохранился бы.

То есть, носители антител могут, в принципе, радоваться, что переболели коронавирусом, практически не заметив этого?

Леонид Дьяков: Те, кто переболел легко или бессимптомно, вырабатывают низкий уровень иммуноглобулина G и могут заболеть повторно.

Чем тяжелее протекает заболевание, тем больше антител произведет иммунная система, и тем дольше они проживут в крови после болезни.

код самого простого вируса

код самого простого вируса

Однако есть информация, что сохраняются так называемые клетки памяти. Организм запоминает, как вырабатывать эти антитела, при каких условиях и в каком количестве. И в случае повторного контакта с вирусом организм начинает синтезировать IgG-антитела значительно быстрее, не за 21 день, а за три. И они способны «смягчать» течение заболевания, препятствовать развитию тяжелых осложнений.

Дышите глубже

Получается, что в принципе сдавать тест на антитела и не совсем нужно. Какая разница, болел человек или нет, если этого особо и не заметил, а никаких таких преимуществ наличие антител не дает. Все так же нужно предохраняться от заражения…

Леонид Дьяков: Мое личное мнение, если человек чувствует себя хорошо, особой надобности в тестировании нет. Ведь с тем же успехом можно поискать у себя вирус герпеса и другие.

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

Что делать тем, у кого обнаружены антитела класса IgM?

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

Все материалы сюжета «COVID-19. Мы справимся!» читайте здесь.

Источник

Неприятно познакомиться: как появились вирусы и почему в России их меньше, чем в Китае

код самого простого вируса

В любой энциклопедии написано: «вирус» в переводе с латинского языка означает « яд». С тех пор как в XIX веке исследователи впервые столкнулись с заражением одного организма другим, знания о вирусах множились. К настоящему времени ученые изучили порядка пяти тысяч видов вирусов, но сказать, что науке доподлинно известно и с чем она имеет дело, нельзя. В двадцать первом веке все еще остаются вопросы, на которые у ученых-вирусологов нет ответов. Ведь количество неизученных вирусов, которые «свободно парят» вокруг нас, находятся в воде, земле, в организмах животных, в стеблях растений, исчисляется миллионами!

— За всю историю исследований в основном изучались вирусы человека и сельскохозяйственных животных, — поясняет «Вечерке» вирусолог, директор Института медицинской паразитологии, тропических и трансмиссивных заболеваний им. Е. И. Марциновского Сеченовского университета Александр Лукашев. — А вирусы есть у каждого вида живых существ на Земле, в том числе у грибов, мхов, бактерий, простейших. И многие могут перейти к человеку.

Когда и при каких условиях тому или иному вирусу приспичит активизироваться — вопрос, не поддающийся прогнозам. Точнее, «паразиты» бомбардируют все живое постоянно. Вирусная атака — это процесс в природе непрекращающийся. Ведь вирус не бактерия и не микроорганизм. Это фрагмент генетической информации, упакованный в белковую оболочку. У него нет клетки, а значит, вне живого организма он как бы не живет, а находится в замершем состоянии. Поэтому если вы спросите у специалиста, живые вирусы или нет, он ответит уклончиво: как бы нет, но в общем-то да. Делиться самостоятельно вирус не может, и чужая клетка нужна ему, чтобы жить.

— Любая живая информация старается выжить в биосфере, — говорит вирусолог Александр Лукашев. — Главная эволюционная задача вируса — не уничтожить живую клетку, а, используя ее ресурсы, размножиться как можно в большем количестве своих копий. У вируса нет задачи быть «плохим». Наоборот, «хороший» вирус имеет преимущества. Например, вирус герпеса большинству людей практически не наносит вреда. Им заражены все, он распространен повсеместно, и свою функцию — максимально размножиться — он выполняет. А, скажем, вирус Эболы убивает примерно половину своих жертв, и в том числе и поэтому он не может размножиться в популяции человека. С точки зрения эволюции убивать своего носителя вирусу невыгодно. Клеткам живых организмов приходится держать глухую оборону практически постоянно. Но человек и не знает, что находится под обстрелом фрагментов генетической информации, потому что в подавляющем большинстве случаев клетки самостоятельно разбираются с захватчиком, не допуская заражения. Только с воздухом мы вдыхаем едва ли не ежесекундно десятки вирусов, и ничего.

— Вирусы редко переходят между видами нечасто, — говорит вирусолог Александр Лукашев. — Скажем, вирусы от растений к животным переходят, наверное, раз в один миллион лет. Бомбардировка новых видов происходит постоянно, но чаще всего безуспешно. Легче перейти к близкому виду. Например, от приматов к человеку вирусы переходят много раз в год. От млекопитающих — примерно раз в 10 лет. Ту же Эболу человек подхватывает от летучих лисиц. И вспомним свиной грипп и другие «болячки», перешедшие от животных. Случаи могут регистрироваться, например, и два года подряд, а потом 20 лет будет затишье, но я говорю о средней периодичности. Но на каждый успешный переход приходится, условно, миллион безуспешных.

— Скученность населения и, скажем так, очень близкий контакт между людьми и животными — в Китае совпали все условия. Из-за особенностей пищевых рынков и, возможно, более высокой восприимчивости населения «чужой» вирус «зацепился», а дальше из-за высокой плотности китайского населения смог распространиться, — рассуждает вирусолог Александр Лукашев. — У нас в стране совсем другие условия, хотя известно, что зараженные примерно такими же опасными вирусами летучие мыши обитают на юге России. Кроме того, мы летучих мышей и панголинов не едим, не разделываем и на рынках не продаем, а значит, и попыток перейти от животного к человеку их вирус может предпринимать значительно меньше. Гипотетически же к человеку может перейти огромное число вирусов — умножьте число всех видов млекопитающих на 1000 и примерно узнаете, сколько. Но если нет условий, выгодных для распространения заразы, бояться нечего.

Вместе с тем наука признала, что вирусы — это наследие древнего мира, существовавшего до появления первой живой клетки, четыре миллиарда лет назад. Более того, из вирусов или их остатков по большей части состоит геном человека. Это значит, что они были основой развития жизни на Земле. Доказано, что человек, как млекопитающее, обязан существованием именно им, поскольку благодаря вирусам у наших предков начала формироваться плацента. Как? Они привнесли в человеческий геном белок, отвечающий за ее функцию. Кроме того, вирусы сильно повысили эффективность эволюции. Они переносили генетическую информацию намного эффективнее, чем это делалось только в ходе естественного размножения. То есть удачные гены они передавали не потомству вида, а сразу в новый организм.

Вирусы мутируют. Ученые говорят, что у многих из них каждый новый геном имеет дополнительную мутацию. Изменяется вирус иногда в течение нескольких часов. Внутри одной клетки, внутри одного цикла размножения одинаковых вирусов нет! Чтобы иметь возможность приспособиться к новым условиям, вирус меняется, производя в популяции самые разные варианты. Мутация для вирусов — обязательная часть их жизненного цикла. Собственный геном вирусов в миллион раз меньше человеческого, и чтобы с нами конкурировать, они мутируют, создавая множество вариантов, которые могут «пригодиться» в разных условиях.

Источник

Как работает экспресс-тест на коронавирус

Тестирование на COVID-19 не только помогает получать информацию о распространенности вируса, но также дает представление о том, как вирус распространился и накопил ли он потенциально значимые мутации. Многие методы тестирования основаны на анализе нуклеиновых кислот. Хотя эти подходы бесценны и позволяют определить активную инфекцию, они не дают полной картины. Как мы можем узнать, заразился ли кажущийся здоровым пациент вирусом? Что, если бы у этого человека не было симптомов носительства, и его обследовали после того, как инфекция прошла? Ответы на эти вопросы может помочь получить экспресс-тест на антитела к коронавирусу.

Что такое экспресс-тест на коронавирус и в чем его отличие от ПЦР

В рамках борьбы с патогенами ваша иммунная система вырабатывает антитела к патогену. Даже после того, как вирус был уничтожен, ваше тело продолжает вырабатывать эти антитела как своего рода иммунную «память», которая дает нам записи о прошлой инфекции. Диагностика с помощью экспресс-теста основана на выявлении этих антител. На данный момент используется иммуноферментный анализ (ИФА), который проводится только в условиях лаборатории, и иммунохроматографический анализ (ИХА), представляющий собой тест-полоску или кассету, на которую наносится капля крови.

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

код самого простого вируса

Что такое IgA, IgG, IgM

Серологические тесты, к которым относится экспресс-тест, — это тесты на основе крови, которые можно использовать для определения того, подвергались ли люди воздействию определенного патогена, по их иммунному ответу. Напротив, тесты ПЦР, которые в настоящее время используются во всем мире для диагностики случаев COVID-19, могут указывать только на присутствие вирусного материала во время инфекции и не указывают, был ли человек инфицирован и впоследствии выздоровел. Эти тесты могут дать более подробную информацию о распространенности заболевания в популяции путем выявления людей, у которых выработались Ig к вирусу.

Экспресс-тесты используется для выявления следующих антител:

Тестирование на все три Ig улучшило информативность результатов по сравнению с любым тестом на одно антитело. Этот тип теста на COVID-19 подтверждает, были ли вы ранее инфицированы SARS-CoV-2. Это исследование не подтверждает, что вы полностью невосприимчивы к COVID-19, поскольку в настоящее время нет доказательств того, что люди не могут заразиться коронавирусом более одного раза. Кроме того, тест на Ig к COVID-19 не показывает, инфицированы ли вы в настоящее время коронавирусом. Если вы хотите узнать, инфицированы ли вы в настоящее время COVID-19, вам нужно пройти диагностику методом ПЦР.

код самого простого вируса

Как интерпретировать результаты экспресс-теста?

Проведение экспресс-тестирования — возможность получить достоверные результаты о наличии циркулирующих антител в крови. Есть 4 возможных результата диагностики:

код самого простого вируса

Можно ли делать экспресс-тестирование на ковид дома?

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

С чем связана недостоверность результатов

Негативный результат ИХА экспресс-тестов не всегда отражает реальную картину, поскольку их чувствительность значительно ниже, нежели у ИФА.

Отрицательный результат может означать, что вы:

Кому стоит сделать тест на антитела к коронавирусной инфекции

Экспресс-тест на антитела к коронавирусу — простой метод диагностики, который отличается:

Проведение этого вида диагностики рекомендовано людям, у которых более 5 дней назад наблюдались симптомы ОРВИ, и тем, кто был в контакте в зараженными коронавирусом, но в течение 14 дней симптомы инфекционного заболевания так и не проявили себя.

код самого простого вируса

Что делать, если результат теста положительный

Позитивный результат означает, что на момент тестирования в вашем организме циркулируют антитела, которые образовались в ответ на заражение коронавирусом. Для получения подробных данных о состоянии иммунной системы рекомендуется дополнительно пройти ИФА диагностику для количественного определения антител острой фазы воспаления. Желательно воспользоваться проведением исследования на дому.

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *