· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.NETWORKS —› Помогите найти ошибку

Посл.отвђт Сообщенiе


Дата: Июн 8, 2004 20:48:01

Я делаю эксплоит lsass.exe. За основу взял HOD-ms04011-lsasrv-expl, написанный на С++. Переписывал точь-в-точь(только на асме), даже добавил GUI и функцию DoS. Но работает только на WinXP, на 2000 - нет. В программе есть 2 ветви .if, где код для Win2000 отличается от кода для XP. Скорее всего, ошибка там. Как юзать эксплоит: вписать IP-адрес атакуемой машины, порт, который будет открыт на удалённой машине, выбрать тип атаки(Открытие шелла|DOS). Может не сработать с первого раза(с 5 раз обычно срабатывает :)). В архив вложил утилиту NetCat - для управления удалённым компьютером. Использовать: nc.exe <IP-адрес машишы> <порт открытый на удалённой машине>. Для XP-появляется командная строка, для 2000-нет. Помогите, пожалуйста, найти ошибку. Заранее спасибо.

_853049940__nc.zip


Дата: Июн 8, 2004 20:50:05

P.S. Если хотите пробовать эксплоит на себе - выйдите в сеть. Без онлайна порт 445 закрыт, и поэтому эксплоит выдаст ошибку о невозможности соединения.


Дата: Июн 8, 2004 22:55:20

при беглом взгляде на твой асм код, могу сказать, что причина
_возможно_ кроется в неправильном системном адресе jmp ebx.
Также там напрочь отсутствует адрес jmp ebx для систем win2k_AS,
что уже говорит о ограниченном действии твоего эксплоита на
системы win2k.


Дата: Июн 9, 2004 09:21:58

Нет, этот адрес такой же, как и в HOD-ms04011-lsasrv-expl, однако он работает. Даже если бы он был и не такой, DoS всё равно бы сработал. Win2k_AS я убрал, поскольку она не распознаётся автоматически и не так часто встречается, как Win2k Professional. Ошибка, скорее всего, была допущена при переводе с сей на ассемблер. И ещё: я обозначил рамры запросов так: sizeof(req8)-1=req8s. Также я увеличил размер некоторых буферов на 1.


Дата: Июн 9, 2004 10:42:25

PRO
Сгенерировать Асм при помощи Си-компилятора не пробовал?

[off]
imho: если memcpy и memset сам придумал, то эксплойтами тебе рано заниматься.
[/off]


Дата: Июн 10, 2004 08:08:41

q_q
У меня нет компилятора C. Тем более я хочу сам переводить и въезжать в код сразу, чем разбираться в том, что выдал мне компилятор. К тому же, как видишь, я порядком поменял код. А при написании кода по пять раз проверял, а если сомневался в правильности, пользовался отладчиком (кстати, там стоят закомментированные знаки вопроса). А memset и memcpy я сам придумал. Это ты про извращение с регистром EDX? Нужно писать либо так, либо не пользоваться прототипами и макросом invoke. Если писать mov al, byte ptr [chto+ecx], то масм скомпилирует это как mov al, byte ptr [ebp+0ch+ecx], хотя на до прибавлять ECX не к ebp+0ch, а к [ebp+0ch]. Командами работы со строками (rep stos* например) я пользоваться не люблю, но они быстрее - при оптимизации исправлю на них. Да и циклы имхо отлаживать легче.


Дата: Июн 10, 2004 09:40:19

PRO
Это ты про извращение с регистром EDX? Нужно писать либо так, либо не пользоваться прототипами и макросом invoke.
Не понял причем здесь invoke, я про инициализацию eax, edx на каждой итерации цикла, про циклы организованные от ноля до skolko, а не наоборот.

Командами работы со строками (rep stos* например) ... но они быстрее - при оптимизации исправлю на них
Еще одно подтверждение твоего слабого знания ассемблера. Эти команды медленнее, но короче.

Да и циклы имхо отлаживать легче.
При использовании команд movs и stos циклов вовсе не будет, т.е. отлаживать нечего.


Дата: Июн 10, 2004 10:38:44

to PRO: у тебя есть мыло?


Дата: Июн 10, 2004 12:35:57 · Поправил: PRO

q_q
Ни за что не поверю, что stos выполняется медленнее, чем одна итерация моего цикла. Вообще, я сделал так, "чтоб работало". Оптимизация - потом.


Дата: Июн 10, 2004 12:37:50

ozzman
p-r-o {А} mail.ru


Дата: Июн 10, 2004 12:52:44

PRO
Командами работы со строками (rep stos* например) ... они быстрее ... Ни за что не поверю, что stos выполняется быстрее, чем одна итерация моего цикла
Как тебя понимать?


Дата: Июн 10, 2004 22:20:27

q_q
Быстрее в сысле медленнее... :) Главное - что memcpy и memset работают. Не работает код. Сейчас мне надо искать ошибку, а не работать над оптимизацией.


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.109