Станислав Гошко
Всё чаще и чаще обсуждаются аспекты атак на Windows-системы. Основные
возможности атак на семейство данных систем были уже рассмотрены, но не стоит
забывать о том, что при построении атаки на переполнение буфера в большинстве
случаев атакующий сталкивается с построением shell-кода.
Shell-код – это двоичный код, который выполняется в контексте другой
программы. Когда уязвимость уже обнаружена и начинается написание эксплоита,
необходимо для себя решить, будет ли эксплоит зависеть только от версии уязвимой
программы или ещё он будет зависеть от версии операционной системы. Если
атакующий хочет, чтобы его эксплоит работал на большинстве систем, то ему
необходимо построить shell-код, который бы не опирался на «жёсткие» адреса WIN
API-функций.
Для построения такого рода кода
необходимо, чтобы shell-код удовлетворял следующим требованиям: