Добро пожаловать обратно, мои начинающие хакеры!
Один из наиболее частых вопросов, который задают читатели Hackers-Arise: «Как мне обойти обнаружение антивирусным ПО на целевом компьютере?» Я уже рассказывал о том, как работает антивирусное ПО, но что может быть лучше для более глубокого понимания, чем вскрыть и проанализировать некоторые антивирусные программы?
В оставшейся части этой серии мы рассмотрим наиболее широко используемое в мире открытое кроссплатформенное антивирусное программное обеспечение — ClamAV .
Прежде чем мы начнём, небольшое замечание: когда я использую термин «антивирус», вы можете заменить его на «антивредоносное ПО». Я предпочитаю термин «антивредоносное ПО», поскольку вирусы — это подвид вредоносного ПО, но в индустрии и в обществе всё ещё используется термин «антивирус», поэтому я буду использовать их как синонимы. Пожалуйста, не путайте.
О ClamAV
ClamAV — проект с открытым исходным кодом (лицензия GNU Public License), приобретённый в 2007 году компанией Sourcefire, той же компанией, которая ранее приобрела Snort. После приобретения Sourcefire компанией Cisco в 2013 году и Snort, и ClamAV стали частью Cisco, сетевого гиганта.
Как подробно описано в их блоге:
« Движок обнаружения ClamAV многогранен — эвристика, поддержка многочисленных архиваторов (ZIP, RAR, OLE и т. д. ) , поддержка множества распаковок (UPX, PEtite, NSPack и т. д . ) и несколько различных механизмов проверки содержимого .
«MRG провела независимую оценку Immunet Protect (использует ClamAV в качестве одного из своих движков) , по результатам которой он превзошел 15 других ведущих поставщиков антивирусов и оказался ЕДИНСТВЕННЫМ продуктом со 100 % уровнем обнаружения » .
ClamAV столь же эффективен, как и коммерческие антивирусы, и широко используется для защиты систем почтовых шлюзов, хотя, как правило, не на уровне потребителей. ClamAV недавно выпустил версию для Windows, поэтому его популярность среди потребителей, вероятно, улучшится.
Преимущество работы с ClamAV заключается в том, что он имеет открытый исходный код, поэтому мы можем открыть его и заглянуть внутрь, чтобы понять, как он работает. Это позволит нам лучше понять принципы работы любого антивирусного ПО и, следовательно, разработать более эффективные стратегии обхода его атак . Это не означает, что все антивирусные программы работают одинаково, но они работают схожим образом.
В этой серии мы рассмотрим структуру и работу ClamAV. Мы также рассмотрим его сигнатуры вредоносных программ, а также разработаем собственные сигнатуры на основе некоторых из тех, которые мы используем на Hackers-Arise для изучения хакерства.
Шаг 1: Запустите Kali
Первый шаг, как обычно, — запуск Kali и открытие терминала.
kali > apt-get install clamav clamav-freshclam
Или вы можете зайти на сайт ClamAV и скачать его. Только убедитесь, что вы скачиваете версию для Debian Linux, так как Kali построена на Debian.
Наконец, вы можете клонировать его непосредственно из репозитория Git по адресу:
kali > git clone http://git.clamav.net/clamav.devel.git
Именно этот метод я бы вам посоветовал использовать для наших целей, поскольку он устанавливает версию ClamAV для разработчиков.
После загрузки ClamAV перейдите в его каталог, введя:
kali > cd clam-devel
Затем давайте заглянем внутрь каталога, чтобы увидеть, какие файлы и каталоги установил ClamAV.
кали > ls -l
кали > ./configure
Чтобы создать ClamAV, используйте эти две команды:
кали > сделать
кали > сделать установку
Будьте терпеливы, эти шаги могут занять некоторое время. Также рекомендую запустить ldconfig, прежде чем продолжить:
кали > ldconfig
Шаг 4: Загрузите сигнатуры вирусов /вредоносных программ
Теперь, когда ClamAV установлен и настроен, давайте получим сигнатуры вирусов. ClamAV хранит эти сигнатуры в сжатых файлах main.cvd и daily.cvd . Файл main.cvd — это база данных известных сигнатур вирусов, а файл daily.cvd — это «ежедневные» обновления сигнатур вирусов (на самом деле ClamAV обновляет сигнатуры 4 раза в день).
Вы можете загрузить main.cvd с помощью wget, введя:
Кали > wget http://database.clamav.net/main.cvd
а затем ежедневные обновления сигнатур вредоносных программ по адресу:
Кали > wget http://database.clamav.net/daily.cvd
Шаг 5: Базы данных обнаружения в ClamAV
ClamAV поддерживает ряд баз данных вредоносных программ, которые он использует для сравнения проверяемых файлов. В их число входят:
Сигнатуры в ClamAV представляют собой сжатые двоичные файлы. Чтобы просмотреть сигнатуру вируса, необходимо сначала распаковать файл. Для этого в ClamAV есть специальный инструмент для просмотра файлов сигнатур, называемый sigtool , что, предположительно, означает «инструмент для работы с сигнатурами».
Перейдите в каталог sigtool в ClamAV и введите:
кали > ./sigtool
Здесь отображается файл справки по sigtool. Именно этот инструмент мы будем использовать на протяжении всего изучения ClamAV. Некоторые переключатели этого инструмента можно увидеть на скриншоте выше.
Шаг 7 : Распакуйте подписи
Существует два файла сигнатур: main.cvd и daily.cvd. Первый содержит основную базу данных сигнатур, а второй — их ежедневные обновления. Давайте распакуем их с помощью sigtool и посмотрим. Для распаковки мы используем ключ -u.
kali > sigtool -u main.cvd kali > sigtool -u daily.cvd
После распаковки этих сигнатур мы видим в каталоге базы данных ClamAV ещё множество файлов. Это и есть несжатые сигнатуры.
Шаг 8 : Просмотр файлов подписей
Далее рассмотрим некоторые файлы сигнатур. Для отображения содержимого файла daily.ndb можно использовать команду Linux more. Файл daily.ndb представляет собой шестнадцатеричное представление сигнатур. Это означает, что имя сигнатуры будет в формате ASCII, но сама сигнатура будет в шестнадцатеричном формате.
Как видно на скриншоте выше, имя сигнатуры (обведено красным) представлено в кодировке ASCII (WIN.Trojan.Lolu и Win.Trojan.Vobfus), но остальная часть сигнатуры представлена в шестнадцатеричном формате. В следующем уроке мы преобразуем эту сигнатуру в ASCII, а затем рассмотрим язык сигнатур ClamAV и расшифруем, что именно она ищет.
Последнее замечание
Я не рекомендую вам активировать или запускать ClamAV в вашей системе Kali, поскольку практически всё, что мы используем, — это известные вредоносные программы. ClamAV определит ваши инструменты как вредоносные и попытается поместить их в карантин, тем самым нарушив работу Kali. Если вы следовали моим инструкциям, ClamAV не активирован, а демон не запущен — это не должно помешать вашей хакерской платформе.
Один из наиболее частых вопросов, который задают читатели Hackers-Arise: «Как мне обойти обнаружение антивирусным ПО на целевом компьютере?» Я уже рассказывал о том, как работает антивирусное ПО, но что может быть лучше для более глубокого понимания, чем вскрыть и проанализировать некоторые антивирусные программы?
В оставшейся части этой серии мы рассмотрим наиболее широко используемое в мире открытое кроссплатформенное антивирусное программное обеспечение — ClamAV .
Прежде чем мы начнём, небольшое замечание: когда я использую термин «антивирус», вы можете заменить его на «антивредоносное ПО». Я предпочитаю термин «антивредоносное ПО», поскольку вирусы — это подвид вредоносного ПО, но в индустрии и в обществе всё ещё используется термин «антивирус», поэтому я буду использовать их как синонимы. Пожалуйста, не путайте.
О ClamAV
ClamAV — проект с открытым исходным кодом (лицензия GNU Public License), приобретённый в 2007 году компанией Sourcefire, той же компанией, которая ранее приобрела Snort. После приобретения Sourcefire компанией Cisco в 2013 году и Snort, и ClamAV стали частью Cisco, сетевого гиганта.
Как подробно описано в их блоге:
« Движок обнаружения ClamAV многогранен — эвристика, поддержка многочисленных архиваторов (ZIP, RAR, OLE и т. д. ) , поддержка множества распаковок (UPX, PEtite, NSPack и т. д . ) и несколько различных механизмов проверки содержимого .
«MRG провела независимую оценку Immunet Protect (использует ClamAV в качестве одного из своих движков) , по результатам которой он превзошел 15 других ведущих поставщиков антивирусов и оказался ЕДИНСТВЕННЫМ продуктом со 100 % уровнем обнаружения » .
ClamAV столь же эффективен, как и коммерческие антивирусы, и широко используется для защиты систем почтовых шлюзов, хотя, как правило, не на уровне потребителей. ClamAV недавно выпустил версию для Windows, поэтому его популярность среди потребителей, вероятно, улучшится.
Преимущество работы с ClamAV заключается в том, что он имеет открытый исходный код, поэтому мы можем открыть его и заглянуть внутрь, чтобы понять, как он работает. Это позволит нам лучше понять принципы работы любого антивирусного ПО и, следовательно, разработать более эффективные стратегии обхода его атак . Это не означает, что все антивирусные программы работают одинаково, но они работают схожим образом.
В этой серии мы рассмотрим структуру и работу ClamAV. Мы также рассмотрим его сигнатуры вредоносных программ, а также разработаем собственные сигнатуры на основе некоторых из тех, которые мы используем на Hackers-Arise для изучения хакерства.
Шаг 1: Запустите Kali
Первый шаг, как обычно, — запуск Kali и открытие терминала.
Шаг
Далее нам нужно скачать и установить ClamAV на нашу систему Kali Linux. Есть несколько способов скачать ClamAV. Первый и, пожалуй, самый простой — использовать менеджер пакетов APTITUDE:kali > apt-get install clamav clamav-freshclam
Или вы можете зайти на сайт ClamAV и скачать его. Только убедитесь, что вы скачиваете версию для Debian Linux, так как Kali построена на Debian.
Наконец, вы можете клонировать его непосредственно из репозитория Git по адресу:
kali > git clone http://git.clamav.net/clamav.devel.git
Именно этот метод я бы вам посоветовал использовать для наших целей, поскольку он устанавливает версию ClamAV для разработчиков.
После загрузки ClamAV перейдите в его каталог, введя:
kali > cd clam-devel
Затем давайте заглянем внутрь каталога, чтобы увидеть, какие файлы и каталоги установил ClamAV.
кали > ls -l
Шаг
Если вы клонировали версию ClamAV для разработчиков, вам потребуется её настроить и собрать. Для настройки ClamAV используйте:кали > ./configure
Чтобы создать ClamAV, используйте эти две команды:
кали > сделать
кали > сделать установку
Будьте терпеливы, эти шаги могут занять некоторое время. Также рекомендую запустить ldconfig, прежде чем продолжить:
кали > ldconfig
Шаг 4: Загрузите сигнатуры вирусов /вредоносных программ
Теперь, когда ClamAV установлен и настроен, давайте получим сигнатуры вирусов. ClamAV хранит эти сигнатуры в сжатых файлах main.cvd и daily.cvd . Файл main.cvd — это база данных известных сигнатур вирусов, а файл daily.cvd — это «ежедневные» обновления сигнатур вирусов (на самом деле ClamAV обновляет сигнатуры 4 раза в день).
Вы можете загрузить main.cvd с помощью wget, введя:
Кали > wget http://database.clamav.net/main.cvd
а затем ежедневные обновления сигнатур вредоносных программ по адресу:
Кали > wget http://database.clamav.net/daily.cvd
Шаг 5: Базы данных обнаружения в ClamAV
ClamAV поддерживает ряд баз данных вредоносных программ, которые он использует для сравнения проверяемых файлов. В их число входят:
- MD5-хэши известных вредоносных двоичных файлов (.hdb)
- MD5-хэши PE-секций (.mdb)
- Шестнадцатеричные подписи (.ndb)
- Сигнатуры метаданных архива (.zmd или .rmd)
- Белый список заведомо хороших файлов (.fp)
Сигнатуры в ClamAV представляют собой сжатые двоичные файлы. Чтобы просмотреть сигнатуру вируса, необходимо сначала распаковать файл. Для этого в ClamAV есть специальный инструмент для просмотра файлов сигнатур, называемый sigtool , что, предположительно, означает «инструмент для работы с сигнатурами».
Перейдите в каталог sigtool в ClamAV и введите:
кали > ./sigtool
Здесь отображается файл справки по sigtool. Именно этот инструмент мы будем использовать на протяжении всего изучения ClamAV. Некоторые переключатели этого инструмента можно увидеть на скриншоте выше.
Шаг 7 : Распакуйте подписи
Существует два файла сигнатур: main.cvd и daily.cvd. Первый содержит основную базу данных сигнатур, а второй — их ежедневные обновления. Давайте распакуем их с помощью sigtool и посмотрим. Для распаковки мы используем ключ -u.
kali > sigtool -u main.cvd kali > sigtool -u daily.cvd
После распаковки этих сигнатур мы видим в каталоге базы данных ClamAV ещё множество файлов. Это и есть несжатые сигнатуры.
Шаг 8 : Просмотр файлов подписей
Далее рассмотрим некоторые файлы сигнатур. Для отображения содержимого файла daily.ndb можно использовать команду Linux more. Файл daily.ndb представляет собой шестнадцатеричное представление сигнатур. Это означает, что имя сигнатуры будет в формате ASCII, но сама сигнатура будет в шестнадцатеричном формате.
Как видно на скриншоте выше, имя сигнатуры (обведено красным) представлено в кодировке ASCII (WIN.Trojan.Lolu и Win.Trojan.Vobfus), но остальная часть сигнатуры представлена в шестнадцатеричном формате. В следующем уроке мы преобразуем эту сигнатуру в ASCII, а затем рассмотрим язык сигнатур ClamAV и расшифруем, что именно она ищет.
Последнее замечание
Я не рекомендую вам активировать или запускать ClamAV в вашей системе Kali, поскольку практически всё, что мы используем, — это известные вредоносные программы. ClamAV определит ваши инструменты как вредоносные и попытается поместить их в карантин, тем самым нарушив работу Kali. Если вы следовали моим инструкциям, ClamAV не активирован, а демон не запущен — это не должно помешать вашей хакерской платформе.