Grep игнорирует пробелы

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

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

  • Изолируйте виртуальную машину от Интернета. Это может быть так же просто, как не настраивать перенаправление интерфейса на гостевую машину, и предотвратить взаимодействие вредоносного ПО с любыми потенциальными узлами управления командами -и -, которые могут заставить его действовать непредсказуемо.

  • Используйте соответствующий гипервизор. На рынке есть несколько основных, включая VirtualBox, HyperV, QEMU и macOS Hypervisor.framework, и это лишь некоторые из них; некоторые из них активно нацелены на вредоносное ПО и, в зависимости от версии, могут быть уязвимы для проникновения вредоносного ПО на гостевую машину.

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

Чтобы решить некоторые из ваших вопросов напрямую:

How isolated can a virtual machine be made from the host?

На этом этапе виртуальная машина может быть полностью изолирована, но некоторые функции по-прежнему должны проходить через хост более -или -менее напрямую, с небольшой защитой гипервизора. С самого начала, большинство не -виртуальных машин KVM (, таких как VirtualBox ), не будут совместно использовать ядро ​​с хост-ОС.Это само по себе служит блокировщиком многочисленных классов эксплойтов, в первую очередь блокируя возможность запуска произвольных системных вызовов против ядра вашего хоста (с заметной звездочкой, что неработающая реализация уровня VM может позволить вредоносным программам обойти это менее очевидными способами ).

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

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

Should I (or can I?) set up a firewall between the guest and the host?

Это зависит от обстоятельств, но в целом это неплохая идея . Большинство основных платформ поддерживают межсетевые экраны уровня гипервизора -. Это не более с такими же разрешениями, как у брандмауэра на вашем хост-компьютере, который, в свою очередь, не более с такими же разрешениями, как у брандмауэра в вашей локальной сети или VLAN. Если вы хотите использовать это вместо того, чтобы полностью отключить доступ к сети, отключив виртуальные сетевые интерфейсы, я бы порекомендовал изучить, какие порты и хосты выбраны для выбранных вами вредоносных программ, и исходить оттуда.

Are guest add-ons a security risk?

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

What about shared directories?

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


Меня беспокоит то, что вы провели очень мало исследований по этому вопросу и можете нанести вред своей машине или своим данным. Прежде чем продолжить, я бы посоветовал вам изучить различные механизмы изоляции в распространенных ОС (KVM, как они интегрируются с высокоуровневыми средами виртуализации -(), контейнерами (chrootмеханизм(), чтобы назвать несколько ), когда каждый из них подходит, и что они могут и не могут делать. В этот момент вы сможете лучше оценить, можете ли вы безопасно работать с вредоносными программами в должным образом -изолированной среде.

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

0
10.04.2020, 22:12
1 ответ

Привыкайте заключать свои переменные в кавычки. Вы не можете найти совпадение после

echo "$a" | grep "$ip"

Это не общее решение, в следующий раз между IP-адресами может быть только один пробел. Используйте

ip="1[.]1[.]192[.]168"

Все еще проблемы, вы могли бы соответствовать 101.1.192.168.
Так что попробуйте -опции Fw

т.е.echo "$a" | grep -Fw "$ip"

2
19.03.2021, 02:30

Теги

Похожие вопросы