ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

24.04.2007, 15:01
|
|
Участник форума
Регистрация: 06.04.2006
Сообщений: 257
Провел на форуме: 367179
Репутация:
76
|
|
Также тут реализовано смещение указателя на стек(esp) за приделы нашего кода, чтоб при занесении значений в стек, они его не затерали.
Что-то не смог найти реализацию этого смещения в статье. Вроде в коде esp не трогают.
кто поможет?
|
|
|

24.04.2007, 21:21
|
|
Постоянный
Регистрация: 23.04.2006
Сообщений: 622
Провел на форуме: 5887054
Репутация:
1292
|
|
Сообщение от TaNkist
Что-то не смог найти реализацию этого смещения в статье. Вроде в коде esp не трогают.
кто поможет?
Хек, я же специально реализовал этот механизм, чтоб исключить появление нулей при изменении длины шэлкода))) но использовать его забыл)))
Код:
mb_al = buffer_len and 0xff
mb_ah = buffer_len shr 8
xor eax, eax
if mb_al > 0 & mb_ah > 0
mov ax, buffer_len
else if mb_al > 0 & mb_ah = 0
mov ah, mb_al
else if mb_al = 0 & mb_ah > 0
mov ah, mb_ah
end if
mov ebp, esp
add ebp, ecode - Begin
Предполагалось вычесть из esp, eax, но я пропустил эту строку)))
Код:
mb_al = buffer_len and 0xff
mb_ah = buffer_len shr 8
xor eax, eax
if mb_al > 0 & mb_ah > 0
mov ax, buffer_len
else if mb_al > 0 & mb_ah = 0
mov ah, mb_al
else if mb_al = 0 & mb_ah > 0
mov ah, mb_ah
end if
sub esp, eax
mov ebp, esp
add ebp, ecode - Begin
Кстати пока исправлял, заодно модернизировал ещё одну(теперь одну) инструкцию, вместо
Код:
mov ebp, esp
add ebp, ecode - Begin
Код:
lea ebp, [esp + ecode - Begin]
|
|
|

24.04.2007, 21:46
|
|
ы
Регистрация: 11.02.2007
Сообщений: 750
Провел на форуме: 1347723
Репутация:
1477
|
|
В конечном итоге так и не увидел самого shellcode. а где же сами HEX-кодированные строки  ))
__________________
..когда же кто-нибудь выпустит MD5(Unix) брутер на GPU.... жду....
|
|
|

24.04.2007, 22:06
|
|
Постоянный
Регистрация: 23.04.2006
Сообщений: 622
Провел на форуме: 5887054
Репутация:
1292
|
|
Сообщение от ShadOS
В конечном итоге так и не увидел самого shellcode.
Ну вообще-то, тут написано "Написание ShellCoda’a", а не "Готовый шелкод, закодированный в HEX для специфической баги", тут универсальный, опенсурс шелкод, с переменной длиной, подходящий под большинство переполнений.
Сообщение от ShadOS
а где же сами HEX-кодированные строки  ))
Компилируешь, открываешь в ХЕКс редакторе, и получаешь "HEX-кодированные строки" 
|
|
|

24.04.2007, 22:30
|
|
Постоянный
Регистрация: 23.04.2006
Сообщений: 622
Провел на форуме: 5887054
Репутация:
1292
|
|
Те у кого проблемы с HEX-по каким либо причинам))), могут дописать следующий код в конец шелкода, что заставил fasm компилировать сразу в HEX 
Код:
end_of_shell_code = $
rb end_of_shell_code
repeat end_of_shell_code
load xxx byte from end_of_shell_code - %
xx1 = (xxx and 0xF) + '0'
xx2 = (xxx shr 4) + '0'
if xx1 > '9'
xx1 = xx1 - '9' + 'A'
end if
if xx2 > '9'
xx2 = xx2 - '9' + 'A' - 1
end if
store word xx2 + (xx1 shl 8) at (end_of_shell_code - %) shl 1
end repeat
|
|
|

24.04.2007, 22:36
|
|
ы
Регистрация: 11.02.2007
Сообщений: 750
Провел на форуме: 1347723
Репутация:
1477
|
|
Ну почему же сразу для спицефичной? можно же получит шеллкод постоянной длинны который будет почти универсальным.
Компилируешь, открываешь в ХЕКс редакторе, и получаешь "HEX-кодированные строки"
Спасибо, мы в курсе =)
__________________
..когда же кто-нибудь выпустит MD5(Unix) брутер на GPU.... жду....
|
|
|

25.04.2007, 01:36
|
|
IQ- 137%
Регистрация: 15.06.2004
Сообщений: 441
Провел на форуме: 1212666
Репутация:
662
|
|
А че такое "Написание"?? 
__________________
|
|
|

25.04.2007, 01:49
|
|
Постоянный
Регистрация: 23.04.2006
Сообщений: 622
Провел на форуме: 5887054
Репутация:
1292
|
|
Сообщение от grinay
А че такое "Написание"?? 
Значение слова «написание»
Ударение: написа́ние
ср.
1. Процесс действия по значению глаг.: написать (1,3,4).
2. Форма буквы в письме.
3. Буквенная передача звуков, слогов, слов, форм слова, цифр.
http://www.efremova.info/word/napisanie.html
|
|
|

25.04.2007, 14:27
|
|
Познающий
Регистрация: 05.10.2006
Сообщений: 56
Провел на форуме: 227465
Репутация:
42
|
|
+1. Неплохая статья.
Ps. Cmpsb, Cmpsw, Cmpsd забыли
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|