Распространение по электронной почтеПисьма с вирусным вложением распространяются в бесконечном цикле при помощи отдельного потока. Так как рассылка почты запускается до поиска адресов, то: поток рассылки перед началом работы задерживается на 7 секунд; для синхронизации используется механизм «критических секций». Итак, из файла «LISTRECP. DLL» считывается очередной адрес, и его правая часть, расположенная после символа «@», используется для формирования гипотетического имени почтового сервера. Например, из адреса «masha-vesnushkina@rambler. ru» при помощи различных префиксов получатся два варианта имени сервера: Mail. Rambler. ru и Smtp. rambler. ru. Далее при помощи системной функции «gethostbyname» производится попытка определить IP-адрес сервера, и если она удачна, то червь соединяется с этим сервером и посылает на него электронное письмо по простому протоколу SMTP, не требующему аутентификации. Возможны различные варианты организации письма. В частности, червь случайным образом — из большого списка — выбирает заголовок, тело письма, обратный адрес, имя файла вложения и т. п. Не брезгует он и элементами социальной инженерии: способен прочитать в ветви Реестра «HKLMSoftwareMicrosoftWindowsCurrentVersion» имя пользователя зараженной машины и вставить его в текст письма. Анализ «внутренностей» червя E-Worm. Win32.Avron. a показал, что справиться с ним очень легко. Удалить его с компьютера можно буквально «голыми руками». Кроме того, знаний и умений, полученных читателем к этому моменту, вполне хватит, чтобы самостоятельно написать несложную антивирусную программу. Последовательность действий примерно такова: предварительно изучить код и выбрать сигнатуру, например 8 байтов «75 2C 2A 65 07 BA 37 6C», расположенных по файловому смещению lOOOh; перечислить все процессы в памяти, сопоставить каждому из них файл, из которого он стартовал, и, пользуясь методом сравнения сигнатур, определить тот процесс, который соответствует червю; принудительно завершить этот процесс ; просканировать все ключи в ветви «HKLMSoftware…Run», сопоставить каждому ключу запускаемый при помощи него программный файл и,

Еще интересные статьи :