Anatoly Vorobey (avva) wrote,
Anatoly Vorobey
avva

Category:

код сапфира

Интересный документ (спасибо, malaya_zemlya): подробный разбор кода червяка "Сапфир", который недавно парализовал большую часть интернета в течение суток где-то. На ассемблере.

Если кто-то не знает, как работают такого рода червяки и эксплойты (?), и знает ассемблер, советую поглядеть -- интересно. Сам код довольно простой. Мне приходилось писать shell code (для интереса, никогда "вживую" ничего не выпускал), хотя года четыре уже этим не занимался. Такой, думаю, легко написал бы, если бы стояла задача и уже известна была дырка в SQL-сервере, которой этот червяк пользуется.

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

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

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

  • рыжик и градштейн

    Меня порадовала и тронула запись в Твиттере американского физика и гейм-дизайнера, создателя XBox'а Шеймуса Блэкли о том, как он любит и ценит (в…

  • статья гениса

    Александр Генис в "Новой газете": Третьего не дано? Как я стал консерватором Однако из статьи выходит, что то, что он стал консерватором,…

  • принимать как должное и жить с этим

    Очень понравилась приведенная ниже цитата из статьи Юрия Манина "Математика как профессия и призвание". Из книги "Математика как метафора", которую…

  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 5 comments