WANK WormWANK Worm (W.COM) — червь, который 16 октября 1989 года атаковал сеть NASA SPAN, через системы VAX/VMS использующие DECnet[1]. Червь использует две особенности DECnet/VMS для того, чтобы распространяться. Первая — это учётная запись DECnet, создаваемая по умолчанию, которая предназначена для пользователей, не имеющих собственного логина в системе, и которая даёт возможность пользоваться системой более или менее анонимно. Червь использовал эту учётную запись для того, чтобы скопировать себя в систему, а затем использовал трюк с «TASK 0», для того, чтобы запустить копию в удалённой системе. Описание программы1. Программа проверяет, имеет ли пользователь полный доступ к текущему каталогу (Чтение, Запись, Исполнение и Удаление). 2. Программа проверяет, не запущена ли другая копия её самой. Она ищет процесс, первые пять букв названия которого «NETW_». Если такой процесс найден, то программа удаляет себя (файл) и завершает свой процесс. 3. Программа изменяет пароль для учётной записи DECNET, создаваемой по умолчанию, на случайную строку длиной не менее 12 символов. 4. Информация о пароле, используемом для доступа к системе, отсылается пользователю GEMPAK на узле SPAN 6.59. Некоторые версии могут использовать другой адрес. 5. Процесс изменяет своё название на «NETW_», за которой следует случайное число. 6. Затем она проверяет, имеется ли у неё права на SYSNAM. Если да, то она меняет системное сообщение-приглашение на: W O R M S A G A I N S T N U C L E A R K I L L E R S _______________________________________________________________ \__ ____________ _____ ________ ____ ____ __ _____/ \ \ \ /\ / / / /\ \ | \ \ | | | | / / / \ \ \ / \ / / / /__\ \ | |\ \ | | | |/ / / \ \ \/ /\ \/ / / ______ \ | | \ \| | | |\ \ / \_\ /__\ /____/ /______\ \____| |__\ | |____| |_\ \_/ \___________________________________________________/ \ / \ Your System Has Been Officically WANKed / \_____________________________________________/ You talk of times of peace for all, and then prepare for war. 7. Если у неё есть SYSPRV, то она отключает почту для учётной записи SYSTEM. 8. Если у неё есть SYSPRV, то она изменяет процедуру входа в систему так, чтобы, по-видимости, удалять все пользовательские файлы. (На самом деле этого не происходит). 9. Программа сканирует таблицу логических имен (logical name table) учётной записи и пытается изменять поле FIELD на известный пароль с доступом из любого места и полными привилегиями. 10. Она продолжает попытки получить доступ к другим системам, выбирая номера узлов случайным образом. Она использует PHONE, чтобы получить список активных пользователей в удалённой системе. 11. Программа пытается получить доступ к файлу RIGHTLIST и получить доступ к удалённым системам с найденными именами пользователей, а также со «стандартными» именами, включёнными в тело червя. Программа использует те же пароли, которые пользователь использует в локальной системе, или пустые пароли. Программа сохраняет все найденные таким образом учётные записи. 12. Программа ищет учётную запись, которая позволяет доступ к SYSUAF.DAT. 13. Если привилегированная учётная запись найдена, программа копируется в эту учётную запись и запускается. Если такая учётная запись не найдена, программа копируется в одну из найденных учётных записей в случайно выбранной системе. 14. Как только работа с системой подошла к концу, программа выбирает случайным образом другую систему и продолжает работу. 15. Каждый следующий потомок WANK получает от программы родителя всю накопленную информацию об аккаунтах и паролях с уже взломанных машин. Примечания
Ссылки |