Подключим - поиграем! Хаштамов Адиль (adi1@ok.kz) Хакер, номер #082, стр. 082-064-3 1. Хэндл на именованный канал, созданный с помощью CreateNamedPipe или CreateFile 2. Указатель на структуру данных, которые запишутся в канал 3. Размер 2 параметра 4. Указатель на буфер, принимающий ответ от канала 5. Размер 4 параметра 6. Указатель на переменную, которая принимает количество байт, прочитанных из канала 7. Указатель на OVERLAPPED структуру. В данном случае он игнорируется В главной функции main() расположена структура NETRESOURCE: NETRESOURCE nr; nr.dwType = RESOURCETYPE_ANY; #это тип ресурса nr.lpLocalName = NULL; #локальное имя машины nr.lpRemoteName = unc; #удаленное имя машины nr.lpProvider = NULL; #провайдер Несколько лет назад Horrific писал статью, в которой описывался пример создания сканера ресурсов. Так вот, в нашем случае используются функции и структуры аналогичные тем, что были разобраны в его статье. Далее в сплоите создается соединение с хостом, указанным в первом аргументе функции main(): server=argv[1]; _snprintf(unc, sizeof(unc), "\\\\%s\\pipe", server); WNetAddConnection2(&nr, "", "", 0); Процедура WNetAddConnection2() соединяет машину с сетевым ресурсом, у этого блока кода имеется 4 аргумента: 1. Указатель на структуру NETRESOURCE 2. Пароль 3. Имя пользователя 4. Флаг Флагов очень много, я рассмотрю лишь некоторые: * CONNECT_INTERACTIVE - если этот флаг установлен, то ОС взаимодействует с пользователем через аутентификацию * CONNECT_PROMPT - В данном случае ОС делает все по умолчанию. То есть никакая аутентификация не требуется Теперь расскажу о том, каким образом можно создать анонимный именованный канал. Реализуется это следующим образом: _snprintf(szPipe, sizeof(szPipe), "\\\\%s\\pipe\\browser",server); hFile = CreateFile(szPipe, GENERIC_READ|GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL); BindRpcInterface(hFile,"8d9f4e40-a03d-11ce-8f69-08003e30051b","1.0"); [эпидемия птичьего гриппа] Буквально на второй день после публикации информации об уязвимости P'n'P, в Сети появился злобный червь, который поражал непропатченные системы. Оказалось, что по всему миру бесчисленное множество бажных машин. Новому червю дали звучное имя - Zotob. Процедура размножения этого червя чрезвычайно банальна: он просто сканирует огромные сетевые диапазоны в поисках уязвимых машин и заражает найденные машинки. Червь также умеет получать команды по irc: хозяин irc-сервера указывает команду ботам, а те охотно выполняют ее. Сразу же, как новость о новом черве просочилась в массы, стали появляться клоны червя. Ими уже, скорее всего, управляли другие люди. Клоны начинали проверять признаки раннего заражения на удаленной машине, и если признаки выявлялись, они старались удалять старые варианты червей. И тут уже разразилась настоящая бойня за каждую отдельную машину. Заражению подверглись десятки тысяч компьютеров! В их числе были машины таких крупнейших корпораций, как Microsoft, CNN и NY Times. [защита от заразы] Как говорится, нужно знать своего врага в лицо. Поэтому я хочу описать подробности обнаружения этой заразы и последующего удаления ее из твоего компа. Во-первых, что меня удивило, так это тот факт, что zotob практически никак не маскируется. Никак не скрывает ключей в реестре, не перехватывает API вызовы. Его обнаружить очень легко. Первое, что бросается в глаза, так это запись в реестре на автозагрузку червя. Обычно в реестре он пишется в такие стандартные ключи, как HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run и HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices. |