Компьютерная программа фрагмент программного кода или последовательность команд

Обновлено: 03.07.2024

В компьютерной безопасности термин «уязвимость» (англ. vulnerability) используется для обозначения недостатка в системе, используя который, можно намеренно нарушить её целостность и вызвать неправильную работу. Уязвимость может быть результатом ошибок программирования, недостатков, допущенных при проектировании системы, ненадежных паролей, вирусов и других вредоносных программ, скриптовых и SQL-инъекций. Некоторые уязвимости известны только теоретически, другие же активно используются и имеют известные.

Бэкдор, backdoor (от англ. back door — «чёрный ход», буквально «задняя дверь») — дефект алгоритма, который намеренно встраивается в него разработчиком и позволяет получить несанкционированный доступ к данным или удалённому управлению операционной системой и компьютером в целом.

0day (англ. zero day), Угроза нулевого дня — термин, обозначающий неустранённые уязвимости, а также вредоносные программы, против которых ещё не разработаны защитные механизмы.

Вредоносная программа (другие термины: зловредная программа, вредонос, зловред; англ. malware — контаминация слов malicious и software) — любое программное обеспечение, предназначенное для получения несанкционированного доступа к вычислительным ресурсам самой ЭВМ или к информации, хранимой на ЭВМ, с целью несанкционированного использования ресурсов ЭВМ или причинения вреда (нанесения ущерба) владельцу информации, и/или владельцу ЭВМ, и/или владельцу сети ЭВМ, путём копирования, искажения, удаления.

Антиви́русная програ́мма (антиви́рус, средство антивирусной защиты, средство обнаружения вредоносных программ) — специализированная программа для обнаружения компьютерных вирусов, а также нежелательных (считающихся вредоносными) программ и восстановления заражённых (модифицированных) такими программами файлов и профилактики — предотвращения заражения (модификации) файлов или операционной системы вредоносным кодом.

Упоминания в литературе

И наконец, определение категорий преступников способствует пониманию характера и методов деятельности основных преступных организаций. Весьма вероятно, что соответствующего стандартного «профиля» не существует. Сравнительно небольшое число высококвалифицированных программистов и хакеров могут способствовать появлению новых видов киберпреступности и предлагать свои услуги в преступных целях. Вместе с тем широкая доступность эксплойтов и вредоносных программ означает, что многие преступники уже больше не нуждаются в глубоких знаниях. Для совершения различных видов киберпреступлений также требуется большое количество рядовых «пехотинцев». В рамках недавней схемы мошенничества с предоплаченными дебетовыми картами, одна организованная преступная группа наняла сотни людей в 26 странах, благодаря чему в двух отдельных случаях было произведено свыше 40000 одновременных снятий денежных средств в банкоматах. Согласно оценкам, было похищено 45 млн. долларов США29. Хотя свыше 80 процентов киберпреступлений могут быть связаны с организованной преступностью, ясно, что широкая типология групповой структуры, в том числе наличие преступных объединений с произвольной структурой, затрудняет любую прямую характеризацию лиц, совершающих киберпреступления.

Связанные понятия (продолжение)

Переполнение буфера (англ. Buffer Overflow) — явление, возникающее, когда компьютерная программа записывает данные за пределами выделенного в памяти буфера.

Руткит (англ. rootkit, то есть «набор root-а») — набор программных средств (например, исполняемых файлов, скриптов, конфигурационных файлов), обеспечивающих.

Взлом программного обеспечения (англ. software cracking) — действия, направленные на устранение защиты программного обеспечения (ПО), встроенной разработчиками для ограничения функциональных возможностей. Последнее необходимо для стимуляции покупки такого проприетарного ПО, после которой ограничения снимаются.

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

XSS (англ. Cross-Site Scripting — «межсайтовый скриптинг») — тип атаки на веб-системы, заключающийся во внедрении в выдаваемую веб-системой страницу вредоносного кода (который будет выполнен на компьютере пользователя при открытии им этой страницы) и взаимодействии этого кода с веб-сервером злоумышленника. Является разновидностью атаки «Внедрение кода».

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

Сетевой червь — разновидность вредоносной программы, самостоятельно распространяющейся через локальные и глобальные (Интернет) компьютерные сети.

Анализатор трафика, или сниффер (от англ. to sniff — нюхать) — программа или устройство для перехвата и анализа сетевого трафика (своего и/или чужого).

Се́рверное програ́ммное обеспечение (се́рвер, англ. server от to serve — служить; множественное число се́рверы, в разговорном языке также употребляется сервера́) — в информационных технологиях — программный компонент вычислительной системы, выполняющий сервисные (обслуживающие) функции по запросу клиента, предоставляя ему доступ к определённым ресурсам или услугам.

Клие́нт — это аппаратный или программный компонент вычислительной системы, посылающий запросы серверу.

Файл регистрации (протокол, журнал, лог; англ. log) — файл с записями о событиях в хронологическом порядке, простейшее средство обеспечения журналирования. Различают регистрацию внешних событий и протоколирование работы самой программы — источника записей (хотя часто всё записывается в единый файл).

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

Ботнет (англ. botnet, МФА: ; произошло от слов robot и network) — компьютерная сеть, состоящая из некоторого количества хостов с запущенными ботами — автономным программным обеспечением. Чаще всего бот в составе ботнета является программой, скрытно устанавливаемой на устройство жертвы и позволяющей злоумышленнику выполнять некие действия с использованием ресурсов заражённого компьютера. Обычно используются для нелегальной или неодобряемой деятельности — рассылки спама, перебора паролей на удалённой.

Прокси-сервер (от англ. proxy — «представитель», «уполномоченный»), сервер-посредник — промежуточный сервер (комплекс программ) в компьютерных сетях, выполняющий роль посредника между пользователем и целевым сервером (при этом о посредничестве могут как знать, так и не знать обе стороны), позволяющий клиентам как выполнять косвенные запросы (принимая и передавая их через прокси-сервер) к другим сетевым службам, так и получать ответы. Сначала клиент подключается к прокси-серверу и запрашивает какой-либо.

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

Тестирование на проникновение (жарг. Пентест) — метод оценки безопасности компьютерных систем или сетей средствами моделирования атаки злоумышленника. Процесс включает в себя активный анализ системы на наличие потенциальных уязвимостей, которые могут спровоцировать некорректную работу целевой системы, либо полный отказ в обслуживании. Анализ ведется с позиции потенциального атакующего и может включать в себя активное использование уязвимостей системы. Результатом работы является отчет, содержащий.

Резервное копирование (англ. backup copy) — процесс создания копии данных на носителе (жёстком диске, дискете и т. д.), предназначенном для восстановления данных в оригинальном или новом месте их расположения в случае их повреждения или разрушения.

Систе́мный администра́тор (англ. system administrator — дословно «администратор системы»), ИТ-администратор — сотрудник, должностные обязанности которого подразумевают обеспечение штатной работы парка компьютерной техники, сети и программного обеспечения. Зачастую системному администратору вменяется обеспечение информационной безопасности в организации. Разговорное название — сисадми́н (англ. sysadmin).

Удалённый вызов процедур, реже Вызов удалённых процедур (от англ. Remote Procedure Call, RPC) — класс технологий, позволяющих компьютерным программам вызывать функции или процедуры в другом адресном пространстве (как правило, на удалённых компьютерах). Обычно реализация RPC-технологии включает в себя два компонента: сетевой протокол для обмена в режиме клиент-сервер и язык сериализации объектов (или структур, для необъектных RPC). Различные реализации RPC имеют очень отличающуюся друг от друга архитектуру.

Установка программного обеспечения, инсталляция — процесс установки программного обеспечения на компьютер конечного пользователя. Выполняется особой программой (пакетным менеджером), присутствующей в операционной системе (например, RPM, APT или dpkg в Linux, Установщик Windows в Microsoft Windows), или же входящим в состав самого программного обеспечения средством установки. В операционной системе GNU очень распространено использование системы GNU toolchain и её аналогов для компиляции программного.

Исполняемый файл (англ. executable file, также выполняемый, реже исполнимый, выполнимый) — файл, содержащий программу в виде, в котором она может быть исполнена компьютером. Перед исполнением программа загружается в память, и выполняются некоторые подготовительные операции (настройка окружения, загрузка библиотек).

Монтирование файловой системы — системный процесс, подготавливающий раздел диска к использованию операционной системой.

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

Полиморфизм компьютерного вируса (греч. πολυ- — много + греч. μορφή — форма, внешний вид) — специальная техника, используемая авторами вредоносного программного обеспечения для снижения уровня обнаружения вредоносной программы классическими антивирусными продуктами.

Планировщик задач — программа (служба или демон), часто называемая сервисом операционной системы, которая запускает другие программы в зависимости от различных критериев, как, например.

Расширение браузера — компьютерная программа, которая в некотором роде расширяет функциональные возможности браузера. В зависимости от браузера, термин может отличаться от условленных обозначений, к примеру, plug-in (плагин), add-on (дополнение) или extension (расширение). Mozilla Firefox был разработан с целью создания маленького и простого в использовании веб-браузера, который расширялся бы за счёт продвинутых функций расширений. Microsoft Internet Explorer начал поддерживать расширения начиная.

Токен (также аппаратный токен, USB-ключ, криптографический токен) — компактное устройство, предназначенное для обеспечения информационной безопасности пользователя, также используется для идентификации его владельца, безопасного удалённого доступа к информационным ресурсам и т. д. Как правило, это физическое устройство, используемое для упрощения аутентификации. Также этот термин может относиться и к программным токенам, которые выдаются пользователю после успешной авторизации и являются ключом для.

Синхронизация (от др.-греч. σύγχρονος — одновременный) в информатике обозначает одно из: синхронизацию процессов, либо синхронизацию данных, либо процесс синхронизации передачи данных.

Взаимодействие компьютеров между собой, а также с другим активным сетевым оборудованием, в TCP/IP-сетях организовано на основе использования сетевых служб, которые обеспечиваются специальными процессами сетевой операционной системы (ОС) — демонами в UNIX-подобных ОС, службами в ОС семейства Windows и т. п. Примерами сетевых сервисов являются веб-серверы (в т.ч. сайты всемирной паутины), электронная почта, FTP-серверы для обмена файлами, приложения IP-телефонии и многое другое.

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

Контроллер домена в компьютерных сетях построенных на Microsoft Server — сервер, контролирующий область компьютерной сети (домен).

Сценарный язык (язык сценариев, жарг. скриптовый язык; англ. scripting language) — высокоуровневый язык сценариев (англ. script) — кратких описаний действий, выполняемых системой. Разница между программами и сценариями довольно размыта. Сценарий — это программа, имеющая дело с готовыми программными компонентами.

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

Хост (от англ. host — «хозяин, принимающий гостей») — любое устройство, предоставляющее сервисы формата «клиент-сервер» в режиме сервера по каким-либо интерфейсам и уникально определённое на этих интерфейсах. В более частном случае под хостом могут понимать любой компьютер, сервер, подключённый к локальной или глобальной сети.

Эксплойт, эксплоит, сплоит (англ. exploit, эксплуатировать) — это компьютерная программа, фрагмент программного кода или последовательность команд, использующие уязвимости в программном обеспечении и применяемые для проведения атаки на вычислительную систему. Целью атаки может быть как захват контроля над системой (повышение привилегий) , так и нарушение её функционирования (DoS-атака) .

Что такое браузерный эксплойт?
Браузерный эксплойт (иначе «атака браузера» или «незапрашиваемая загрузка» ) - это форма вредоносного кода, которая использует уязвимость в браузере или компоненте системы, с целью изменить настройки без Вашего ведома.

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

•Ваша домашняя страница, страница поиска или избранное были изменены.
•Настройки интернета были изменены.
•Блокируется доступ к некоторым функциям браузера.
•Переадресация при неверном вводе URL-адреса (например, при вводе неверного адреса Вы попадаете на другой сайт).

Эксплойт, эксплоит, сплоит (англ. exploit, эксплуатировать) — это компьютерная программа, фрагмент программного кода или последовательность команд, использующие уязвимости в программном обеспечении и применяемые для проведения атаки на вычислительную систему. Целью атаки может быть как захват контроля над системой (повышение привилегий) , так и нарушение её функционирования (DoS-атака). Вирус или код который делает дыру (или использует существующие дыры) в защите компьютера и позволяет получить к нему удаленный доступ. Эксплойт, эксплоит, сплоит (англ. exploit, эксплуатировать) — это компьютерная программа, фрагмент программного кода или последовательность команд, использующие уязвимости в программном обеспечении и применяемые для проведения атаки на вычислительную систему. Целью атаки может быть как захват контроля над системой (повышение привилегий) , так и нарушение её функционирования (DoS-атака). Последовательность команд или фрагмент программного кода Эксплойт, эксплоит, сплоит (англ. exploit, эксплуатировать) — это компьютерная программа, фрагмент программного кода или последовательность команд, использующие уязвимости в программном обеспечении и применяемые для проведения атаки на вычислительную систему. Целью атаки может быть как захват контроля над системой (повышение привилегий) , так и нарушение её функционирования (DoS-атака). Простыми словами - это кусок кода или программа, открывающая доступ к чему либо через уязвимость в системе

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

В компьютерной безопасности термин «уязвимость» (англ. vulnerability) используется для обозначения недостатка в системе, используя который, можно намеренно нарушить её целостность и вызвать неправильную работу. Уязвимость может быть результатом ошибок программирования, недостатков, допущенных при проектировании системы, ненадежных паролей, вирусов и других вредоносных программ, скриптовых и SQL-инъекций. Некоторые уязвимости известны только теоретически, другие же активно используются и имеют известные.

Бэкдор, backdoor (от англ. back door — «чёрный ход», буквально «задняя дверь») — дефект алгоритма, который намеренно встраивается в него разработчиком и позволяет получить несанкционированный доступ к данным или удалённому управлению операционной системой и компьютером в целом.

0day (англ. zero day), Угроза нулевого дня — термин, обозначающий неустранённые уязвимости, а также вредоносные программы, против которых ещё не разработаны защитные механизмы.

Вредоносная программа (другие термины: зловредная программа, вредонос, зловред; англ. malware — контаминация слов malicious и software) — любое программное обеспечение, предназначенное для получения несанкционированного доступа к вычислительным ресурсам самой ЭВМ или к информации, хранимой на ЭВМ, с целью несанкционированного использования ресурсов ЭВМ или причинения вреда (нанесения ущерба) владельцу информации, и/или владельцу ЭВМ, и/или владельцу сети ЭВМ, путём копирования, искажения, удаления.

Антиви́русная програ́мма (антиви́рус, средство антивирусной защиты, средство обнаружения вредоносных программ) — специализированная программа для обнаружения компьютерных вирусов, а также нежелательных (считающихся вредоносными) программ и восстановления заражённых (модифицированных) такими программами файлов и профилактики — предотвращения заражения (модификации) файлов или операционной системы вредоносным кодом.

Упоминания в литературе

И наконец, определение категорий преступников способствует пониманию характера и методов деятельности основных преступных организаций. Весьма вероятно, что соответствующего стандартного «профиля» не существует. Сравнительно небольшое число высококвалифицированных программистов и хакеров могут способствовать появлению новых видов киберпреступности и предлагать свои услуги в преступных целях. Вместе с тем широкая доступность эксплойтов и вредоносных программ означает, что многие преступники уже больше не нуждаются в глубоких знаниях. Для совершения различных видов киберпреступлений также требуется большое количество рядовых «пехотинцев». В рамках недавней схемы мошенничества с предоплаченными дебетовыми картами, одна организованная преступная группа наняла сотни людей в 26 странах, благодаря чему в двух отдельных случаях было произведено свыше 40000 одновременных снятий денежных средств в банкоматах. Согласно оценкам, было похищено 45 млн. долларов США29. Хотя свыше 80 процентов киберпреступлений могут быть связаны с организованной преступностью, ясно, что широкая типология групповой структуры, в том числе наличие преступных объединений с произвольной структурой, затрудняет любую прямую характеризацию лиц, совершающих киберпреступления.

Связанные понятия (продолжение)

Переполнение буфера (англ. Buffer Overflow) — явление, возникающее, когда компьютерная программа записывает данные за пределами выделенного в памяти буфера.

Руткит (англ. rootkit, то есть «набор root-а») — набор программных средств (например, исполняемых файлов, скриптов, конфигурационных файлов), обеспечивающих.

Взлом программного обеспечения (англ. software cracking) — действия, направленные на устранение защиты программного обеспечения (ПО), встроенной разработчиками для ограничения функциональных возможностей. Последнее необходимо для стимуляции покупки такого проприетарного ПО, после которой ограничения снимаются.

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

XSS (англ. Cross-Site Scripting — «межсайтовый скриптинг») — тип атаки на веб-системы, заключающийся во внедрении в выдаваемую веб-системой страницу вредоносного кода (который будет выполнен на компьютере пользователя при открытии им этой страницы) и взаимодействии этого кода с веб-сервером злоумышленника. Является разновидностью атаки «Внедрение кода».

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

Сетевой червь — разновидность вредоносной программы, самостоятельно распространяющейся через локальные и глобальные (Интернет) компьютерные сети.

Анализатор трафика, или сниффер (от англ. to sniff — нюхать) — программа или устройство для перехвата и анализа сетевого трафика (своего и/или чужого).

Се́рверное програ́ммное обеспечение (се́рвер, англ. server от to serve — служить; множественное число се́рверы, в разговорном языке также употребляется сервера́) — в информационных технологиях — программный компонент вычислительной системы, выполняющий сервисные (обслуживающие) функции по запросу клиента, предоставляя ему доступ к определённым ресурсам или услугам.

Клие́нт — это аппаратный или программный компонент вычислительной системы, посылающий запросы серверу.

Файл регистрации (протокол, журнал, лог; англ. log) — файл с записями о событиях в хронологическом порядке, простейшее средство обеспечения журналирования. Различают регистрацию внешних событий и протоколирование работы самой программы — источника записей (хотя часто всё записывается в единый файл).

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

Ботнет (англ. botnet, МФА: ; произошло от слов robot и network) — компьютерная сеть, состоящая из некоторого количества хостов с запущенными ботами — автономным программным обеспечением. Чаще всего бот в составе ботнета является программой, скрытно устанавливаемой на устройство жертвы и позволяющей злоумышленнику выполнять некие действия с использованием ресурсов заражённого компьютера. Обычно используются для нелегальной или неодобряемой деятельности — рассылки спама, перебора паролей на удалённой.

Прокси-сервер (от англ. proxy — «представитель», «уполномоченный»), сервер-посредник — промежуточный сервер (комплекс программ) в компьютерных сетях, выполняющий роль посредника между пользователем и целевым сервером (при этом о посредничестве могут как знать, так и не знать обе стороны), позволяющий клиентам как выполнять косвенные запросы (принимая и передавая их через прокси-сервер) к другим сетевым службам, так и получать ответы. Сначала клиент подключается к прокси-серверу и запрашивает какой-либо.

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

Тестирование на проникновение (жарг. Пентест) — метод оценки безопасности компьютерных систем или сетей средствами моделирования атаки злоумышленника. Процесс включает в себя активный анализ системы на наличие потенциальных уязвимостей, которые могут спровоцировать некорректную работу целевой системы, либо полный отказ в обслуживании. Анализ ведется с позиции потенциального атакующего и может включать в себя активное использование уязвимостей системы. Результатом работы является отчет, содержащий.

Резервное копирование (англ. backup copy) — процесс создания копии данных на носителе (жёстком диске, дискете и т. д.), предназначенном для восстановления данных в оригинальном или новом месте их расположения в случае их повреждения или разрушения.

Систе́мный администра́тор (англ. system administrator — дословно «администратор системы»), ИТ-администратор — сотрудник, должностные обязанности которого подразумевают обеспечение штатной работы парка компьютерной техники, сети и программного обеспечения. Зачастую системному администратору вменяется обеспечение информационной безопасности в организации. Разговорное название — сисадми́н (англ. sysadmin).

Удалённый вызов процедур, реже Вызов удалённых процедур (от англ. Remote Procedure Call, RPC) — класс технологий, позволяющих компьютерным программам вызывать функции или процедуры в другом адресном пространстве (как правило, на удалённых компьютерах). Обычно реализация RPC-технологии включает в себя два компонента: сетевой протокол для обмена в режиме клиент-сервер и язык сериализации объектов (или структур, для необъектных RPC). Различные реализации RPC имеют очень отличающуюся друг от друга архитектуру.

Установка программного обеспечения, инсталляция — процесс установки программного обеспечения на компьютер конечного пользователя. Выполняется особой программой (пакетным менеджером), присутствующей в операционной системе (например, RPM, APT или dpkg в Linux, Установщик Windows в Microsoft Windows), или же входящим в состав самого программного обеспечения средством установки. В операционной системе GNU очень распространено использование системы GNU toolchain и её аналогов для компиляции программного.

Исполняемый файл (англ. executable file, также выполняемый, реже исполнимый, выполнимый) — файл, содержащий программу в виде, в котором она может быть исполнена компьютером. Перед исполнением программа загружается в память, и выполняются некоторые подготовительные операции (настройка окружения, загрузка библиотек).

Монтирование файловой системы — системный процесс, подготавливающий раздел диска к использованию операционной системой.

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

Полиморфизм компьютерного вируса (греч. πολυ- — много + греч. μορφή — форма, внешний вид) — специальная техника, используемая авторами вредоносного программного обеспечения для снижения уровня обнаружения вредоносной программы классическими антивирусными продуктами.

Планировщик задач — программа (служба или демон), часто называемая сервисом операционной системы, которая запускает другие программы в зависимости от различных критериев, как, например.

Расширение браузера — компьютерная программа, которая в некотором роде расширяет функциональные возможности браузера. В зависимости от браузера, термин может отличаться от условленных обозначений, к примеру, plug-in (плагин), add-on (дополнение) или extension (расширение). Mozilla Firefox был разработан с целью создания маленького и простого в использовании веб-браузера, который расширялся бы за счёт продвинутых функций расширений. Microsoft Internet Explorer начал поддерживать расширения начиная.

Токен (также аппаратный токен, USB-ключ, криптографический токен) — компактное устройство, предназначенное для обеспечения информационной безопасности пользователя, также используется для идентификации его владельца, безопасного удалённого доступа к информационным ресурсам и т. д. Как правило, это физическое устройство, используемое для упрощения аутентификации. Также этот термин может относиться и к программным токенам, которые выдаются пользователю после успешной авторизации и являются ключом для.

Синхронизация (от др.-греч. σύγχρονος — одновременный) в информатике обозначает одно из: синхронизацию процессов, либо синхронизацию данных, либо процесс синхронизации передачи данных.

Взаимодействие компьютеров между собой, а также с другим активным сетевым оборудованием, в TCP/IP-сетях организовано на основе использования сетевых служб, которые обеспечиваются специальными процессами сетевой операционной системы (ОС) — демонами в UNIX-подобных ОС, службами в ОС семейства Windows и т. п. Примерами сетевых сервисов являются веб-серверы (в т.ч. сайты всемирной паутины), электронная почта, FTP-серверы для обмена файлами, приложения IP-телефонии и многое другое.

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

Контроллер домена в компьютерных сетях построенных на Microsoft Server — сервер, контролирующий область компьютерной сети (домен).

Сценарный язык (язык сценариев, жарг. скриптовый язык; англ. scripting language) — высокоуровневый язык сценариев (англ. script) — кратких описаний действий, выполняемых системой. Разница между программами и сценариями довольно размыта. Сценарий — это программа, имеющая дело с готовыми программными компонентами.

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

Хост (от англ. host — «хозяин, принимающий гостей») — любое устройство, предоставляющее сервисы формата «клиент-сервер» в режиме сервера по каким-либо интерфейсам и уникально определённое на этих интерфейсах. В более частном случае под хостом могут понимать любой компьютер, сервер, подключённый к локальной или глобальной сети.

Многих людей интересует вопрос: «Что же такое эксплоит»? В этой статье я постараюсь дать максимально развернутый ответ на него.

Эксплоит (эксплойт, сплоит) – компьютерная программа, фрагмент программного кода или последовательность команд, которые используются уязвимости в программном обеспечении и применяются для осуществления атаки на вычислительную систему. Целью атаки является захват контроля над системой или нарушение её корректной работы.

Виды эксплоитов

Алгоритм действия

* Сканируем хост (желательно сканировать с использованием nmap)
* Смотрим открытые порты и что на них висит
* Телнетимся на открытые порты и узнаем версии демонов
* Находим дырявый демон
* Ищем эксплоит
* Засылаем его на shell-account в лине
* Компилируем его
* Запускаем эксплоит

Поиск эксплоита

Ищем сплоит либо по версии демона либо по версии операционной системы.

3. У вас есть собственный UNIX (переходи к следующему заголовку)

Компиляция

Допустим, мы нашли нужный нам сплоит на C. Большинство эксплоитов пишутся именно на этом языке программирования.

Если у тебя архив, то раскрываем: tar -xvzf pack.tgz
cd [имя каталога]
./configure
make
make install

Возможно, придется почитать Readme File перед установкой, если это специфичный эксплоит.

Запуск эксплоита

Если эксплоит на Perl, тогда для запуска используется команда

perl exploit.pl [parameters|flags]
Если эксплоит на C, то
$./sploit [parameters]

Каждый эксплоит подразумевает вставку своих параметров, о назначении которых обычно сообщает сам при запуске.

Проблеммы на халявных шеллах

На бесплатных шеллах часто встречаются следующие проблеммы:

Появление этих проблем не удивительно. Если бы администраторы разрешили все функции шелла, то тогда это был бы не бесплатный сервис для знакомства с UNIX системой а плацдарм для массированных атак на сервера. Надеюсь, теперь проблем у вас с этим не будет.

1. Что такое shell?

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

2. Что такое демон (daemon)?

Демоном называется программа, работающая в фоновом режиме (background) и не имеющая контрольного терминала.

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

Запуск файла server.py на Ubuntu

В целом особых подводных камней тут нет, Python включен во все дистрибутивы повсеместно, однако тут ВНЕЗАПНО используется малоизвестная библиотека mmh3 (о подляне, которую она подкладывает я буду еще писать).
К сожалению, в дистрибутиве ubuntu ее нет, поэтому ставим из исходников

В результате скачиваются и компилируются исходники данного модуля, после чего сервер можно запустить командой

Кроме того для безошибочной работы сервера нужно положить в его рабочую директорию файл flag.txt и каталогом выше подключаемый модуль ../file_handler.py.

Вообще цель заданий в этой олимпиаде - найти некие "флаги". Таким образом цель взлома server.py - считать содержимое файла flag.txt, который расположен в одном каталоге с исполняемым файлом сервера.

Анализ работы скрипта и поиск уязвимостей

Теперь откроем скрипт и подумаем над его кодом. Протокол сетевого обмена, который тут реализован странный. Но что поделать, настоящего хакера такой чепухой не остановить. Итак, как работает алгоритм.
В целом данный алгоритм можно охарактеризовать как серверная обработка некоторого передаваемого клиентом файла. Сервер слушает некий порт (за номером 1234) и ждет когда ему передадут имя файла и его содержимое. Далее сервер "натравливает" на него обработчик на том же python. Но как странно он это делает!

Подготовительные операции для обработки файла

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

Для нас важно, что файл flag.txt, который и нужен лежит в /tmp/%s/server и добраться до него уже заметно проще.

Получение описания (заголовка) для передаваемой информации

Тут странности продолжаются. В качестве заголовка сервер ждет ровно 1024 байта, не больше и не меньше. Почему так? Чтобы писать эксплоит было интереснее!
Далее делается следующее:

  • Проверяется, что первая строка содержит команду get. Это обязательное требование протокола - при отсутствии команды обработка запроса завершается, не начавшись;
  • Следом считывается 3-я строка - в ней содержится имя файла с которым будет работать сервер. На этом полезная информация, содержащаяся в блоке размером 1024 байта завершается. Остальной объем можно заполнить произвольным мусором;
  • Далее сервер читает новый блок данных (16 байтов), в котором содержится размер файла, который будет передан на обработку;
  • Теперь сервер готов получить указанное количество байт и записать его по адресу, содержащимся в переменной filename;
  • Передаем содержимое файла, который мы хотим записать на сервер.

Обработка полученного файла

Далее идет обработка файла, а странности алгоритма продолжаются. Смотрим код

Сервер на питоне получает содержимое файла, считает от него контрольную сумму при помощи библиотеки mmh3 (той самой которую мы так долго и мучительно устанавливали в первой части). Функция вычисляет контрольную сумму длиной 31 байт, а далее выполняется битовый сдвиг влево на 16 позиций, что нам дает сброс младших 16 байт контрольной суммы. После чего программ вводит критерий: старшие 16 бит контрольный суммы должны быть равны -30772. Почему? Неважно.
Важно то, что "протолкнуть" любой файл серверу на обработку становится невозможным, нужен файл с определенными свойствами контрольной суммы.
Передали "плохую" байтовую последовательность? Сервер обзывается и прекращает работу.
Если же файл чудом прошел, сервер следом делает с ним нечто интересное.

Выполняет некий сторонний код, который к тому же располагается в рабочей папке! Прекрасно, прекрасно.

Пишем эксплоит

Идея эксплоита

Очевидна. Поскольку сервер выполняет сторонний код, то надо подменить тот, что расположен на нем и "подсунуть" наш. Мы видим, что при проверке данных сервер только убеждается в том, что в имени файла не содержится фраза "server". А защиты от известной уязвимости "../" нет. Что же будем эксплуатировать ее.
Передадим в качестве имени файла "../file_handler.py". Тогда (если конечно удастся пройти защиту, связанную с проверкой контрольной суммы) измененный файл-обработчик и будет эксплоитом!
Напомню, что цель взлома - получить содержимое файла flag.txt. Поскольку мы атакуем удаленный сервер, то для передачи, очевидно надо воспользоваться сетевым соединением.
Что нужно сделать? Прочитать содержимое файла flag.txt, подключиться по сети к атакующему компьютеру и передать данные. А поскольку server.py написан на Питоне, файл-эксплоит должен быть сделан на нем же.
В первом приближении получится нечто вроде:

Небольшой комментарий. Эксплоит работает в режиме клиента. После запуска он инициализирует подключение к атакующему компьютеру по порту 5005 и передает туда интересующие нас данные. Конечно, если Вы будете использовать сей код для атаки реальной удаленной машине, не забудьте подставить вместо 127.0.0.1 свой IP-адрес.

Перехватчик конфиденциальной информации

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

Реализация отправки эксплоита на server.py

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

Эксплоит и вопросы производительности

Итак, получился готовый код для взлома указанного серверного приложения. Схема его работы следующая:

В итоге перебор файлов для того, чтобы они удовлетворяли условию оказался довольно ресурсоемким и занял у меня приблизительно 21 минуту 5 секунд.

Вот собственно и все. Естественно, кроме кражи флага можно выполнить любую другую произвольную команду. Все. Всем спасибо за внимание.

Читайте также: