Linux за българи: Форуми

Сигурност => Системна Сигурност => Темата е започната от: jonythewalker в Sep 14, 2010, 17:34



Титла: има ли библиотеки под линук с статични адреси
Публикувано от: jonythewalker в Sep 14, 2010, 17:34
интересувам се дали има линук библиотеки (за дадена версия и дистрибуция) които имат винаги еднакви адреси на всички станции
тоест дадена библиотека да се зарежда винаги на даден адрес  (за дадена дистрибуция и версия на дистрибуцята), дори след рестартиранто на машината
 


Титла: Re: има ли библиотеки под линук с статични адреси
Публикувано от: gat3way в Sep 14, 2010, 17:49
Защо трябва да е на точно определен адрес?


Титла: Re: има ли библиотеки под линук с статични адреси
Публикувано от: jonythewalker в Sep 14, 2010, 18:02
ами под уиндос има длл-и с сатични адреси и ме интересува как стои въпорса под линукс


Титла: Re: има ли библиотеки под линук с статични адреси
Публикувано от: gat3way в Sep 14, 2010, 18:06
В уиндоус няма ли ASLR? Как съумяват да се заредят на същият адрес?


Титла: Re: има ли библиотеки под линук с статични адреси
Публикувано от: b2l в Sep 14, 2010, 18:07
ами под уиндос има длл-и с сатични адреси и ме интересува как стои въпорса под линукс

100% си някой хахор нали :D


Титла: Re: има ли библиотеки под линук с статични адреси
Публикувано от: jonythewalker в Sep 14, 2010, 18:21
В линукс има ли aslr ?


Титла: Re: има ли библиотеки под линук с статични адреси
Публикувано от: gat3way в Sep 14, 2010, 18:27
В линукс има ASLR няколко години преди да се появи в уиндоус.


Титла: Re: има ли библиотеки под линук с статични адреси
Публикувано от: jonythewalker в Sep 14, 2010, 18:48
хмм няма ли някои модули или библиотеки за които aslr да е изключен?
трябва ми библиотека която да не си променя адресите, в уиндовс нт имаше едно време такива ддл-и

какви други защити има линукс ?


Титла: Re: има ли библиотеки под линук с статични адреси
Публикувано от: gat3way в Sep 14, 2010, 18:53
Не, няма. ASLR в линукс се реализира от ядрото на операционната система. Може да се изключи, но тогава ще е изключено за абсолютно всички binaries. По дефолт обаче е включен.


Титла: Re: има ли библиотеки под линук с статични адреси
Публикувано от: jonythewalker в Sep 14, 2010, 19:03
и за всички модули (бинарни, библиотеки и тн) ли е вкючена  тази гадост ... :(
няма ли нещо с статични адреси ...


Титла: Re: има ли библиотеки под линук с статични адреси
Публикувано от: gat3way в Sep 14, 2010, 19:10
Няма. И не виждам кое точно му е гадното.


Титла: Re: има ли библиотеки под линук с статични адреси
Публикувано от: jonythewalker в Sep 14, 2010, 19:55
не може да се нацелват иснтрукции ... тва е гадното


Титла: Re: има ли библиотеки под линук с статични адреси
Публикувано от: gat3way в Sep 14, 2010, 20:38
Какви инструкции искаш да "нацелваш" и защо?


Титла: Re: има ли библиотеки под линук с статични адреси
Публикувано от: jonythewalker в Sep 14, 2010, 20:47
шменти капели ... карай ... ;( ;( ;(


Титла: Re: има ли библиотеки под линук с статични адреси
Публикувано от: gat3way в Sep 14, 2010, 20:49
Кажи де, стана ми интересно :)


Титла: Re: има ли библиотеки под линук с статични адреси
Публикувано от: jonythewalker в Sep 14, 2010, 20:53
абе не ти тряя да знаеш

тва дето го разучавам е умряла кауза ...  :)


Титла: Re: има ли библиотеки под линук с статични адреси
Публикувано от: gat3way в Sep 14, 2010, 21:00
Нищо, кажи все пак - може да се окаже че не е умряла кауза :)


Титла: Re: има ли библиотеки под линук с статични адреси
Публикувано от: jonythewalker в Sep 14, 2010, 21:11
пиша реферат за remote buffer overflow
и ако има dep + asrl става много много трудно ... (не невъзможно ама е страшно трудно)


Титла: Re: има ли библиотеки под линук с статични адреси
Публикувано от: b2l в Sep 14, 2010, 21:18
пиша реферат за remote buffer overflow
и ако има dep + asrl става много много трудно ... (не невъзможно ама е страшно трудно)

gat3way - аз ти казах - хахор...


Титла: Re: има ли библиотеки под линук с статични адреси
Публикувано от: gat3way в Sep 14, 2010, 21:30
Това, което в уиндоус се нарича DEP, също съществува в линукс, при 64-битовите системи и 32-битовите с PAE (иначе няма хардуерна подръжка). Емулира се с пачове от сорта на PaX на такива системи, на цената на кофти производителност. В линукс има и други security мерки, които да сговнят живота на писачите на buffer overflow експлойти, примерно stack canaries, -DFORTIFY_SOURCE и т.н.


Титла: Re: има ли библиотеки под линук с статични адреси
Публикувано от: jonythewalker в Sep 14, 2010, 21:32
хмм добре linux не поддържа ли nx flag ?
и ще кажеш ли кои са тези security мерки  ...


Титла: Re: има ли библиотеки под линук с статични адреси
Публикувано от: gat3way в Sep 14, 2010, 21:36
Мисля, че в горния пост вече го казах :)


Титла: Re: има ли библиотеки под линук с статични адреси
Публикувано от: jonythewalker в Sep 14, 2010, 21:46
ужассс ... хардуерния деп (nx флаг е мноо сериозна защита) ... жалко че не се ползва в linux ... 


Титла: Re: има ли библиотеки под линук с статични адреси
Публикувано от: gat3way в Sep 14, 2010, 22:21
Хардуерният DEP се подържа отдавна в линукс, май не четеш :)

Чак ужасна защита не е, защото ако беше само това, може лесно да се счупи с return-into-libc атаки и подобни изпълнения където кодът се намира в мапнати, executable страници от паметта. В комбинация с ASLR обаче става много по-грозно, защото не можеш да предвидиш къде ще се намира въпросния код. Stack overflow проблемите се затрудняват заради canary values, които се слагат в края на стека и трябва да съвпадат, format string експлойтите са относително невъзможни, когато програмата е компилирана с -DFORTIFY_SOURCE=2, защото определени формат низове не могат да се намират в стека, в последните години в общи линии се експлойтват доста по-сложни за чупене неща.


Титла: Re: има ли библиотеки под линук с статични адреси
Публикувано от: jonythewalker в Sep 14, 2010, 22:30
да ... nx flag се bypass-ва с ROT, самоче като не могат да определят адресите на иснтрукциите в паметта става много сложно ...
бтв системните колове (и апи функциите на уидноус ) нямат ли фиксирани адреси ?


Титла: Re: има ли библиотеки под линук с статични адреси
Публикувано от: gat3way в Sep 14, 2010, 22:41
Не, нямат. Причината е че викането на syscall-а не представлява call-ване на някаква функция или jump-ване на някакъв адрес. Викането на syscall-а представлява вдигане на едно прекъсване (int 80h в линукс), което се обслужва от ядрото и в зависимост от стойностите на определени регистри, се върши каквото трябва. При AMD64 е малко по различно, защото има специална инструкция за това (SYSCALL), но тя върши на практика същото. Предполагам в уиндоус е същата работа. Как точно минава цялата работа и как прекъсването се обслужва от същият контекст, без context switch е малко дълго за обяснение - но на практика част от адресното пространство на процеса е запазено за kernelspace и се ползва от ядрото. Всякакъв опит да четеш/пишеш/изпълняваш код оттам ще завърши доста...мммм...неуспешно.


Титла: Re: има ли библиотеки под линук с статични адреси
Публикувано от: jonythewalker в Sep 14, 2010, 22:53
ти си бил голям мастер бе :)

не разбрах следното
"но на практика част от адресното пространство на процеса е запазено за kernelspace и се ползва от ядрото. Всякакъв опит да четеш/пишеш/изпълняваш код оттам ще завърши доста...мммм...неуспешно."

може ли да обясниш по-подробно плс


Титла: Re: има ли библиотеки под линук с статични адреси
Публикувано от: gat3way в Sep 14, 2010, 23:07
Добре, ей така изглежда адресното пространство на който и да било процес при 32-битови x86 системи:

(http://gemsres.com/story/apr07/368047/fig1.jpg)

Горният 1 гигабайт се ползва само и единствено от ядрото. Паметта е адресируема, но нито можеш да четеш, нито да пишеш, нито да изпълняваш оттам. Тази "забрана" се постига доколкото знам чрез определен бит в page таблиците, но не съм 100% сигурен в последното. Това има недостатъци разбира се (само 3 гигабайта адресируема памет при 32-битови архитектури), както и предимства (прехвърлянето в kernel mode става без context switch-ване, което е скъпа операция - запазват/възтановяват се стойности на регистри и се чисти процесорния кеш).


Титла: Re: има ли библиотеки под линук с статични адреси
Публикувано от: jonythewalker в Sep 14, 2010, 23:18
значи това е карта на паметта само за 1 процес ?
и какво точно има в този kernel space ?
Щом не може да го изпъняваме за какво ни е това кернел прострнство ?
бтв ... до колко си спомням в unix за да се ползва системни фунцции се извършва обръщение към ядрото, а в уиндовс част от кода на функциите се копират в самото приложение (така сам го учил, но не сам сигурен дали е така ) уникс било по бавно, но по сгурно, а при уиндовс било по бързо ама имало достъп до "ядрен" код

хммм ... кажи кво да им пиша в реферата като заключение - експйтват ли се още линукс/виндовс станции или това е много рядко явление


Титла: Re: има ли библиотеки под линук с статични адреси
Публикувано от: gat3way в Sep 14, 2010, 23:24
В това kernel-ско пространство има памет, използвана от ядрото - код и данни. Причината да не можеш да четеш тези данни и да изпълняваш този код директно, мисля е очевидна :) Ако можеше - целият security модел просто се обезсмисля, програмите ще имат директен достъп до хардуера (или поне този дето използва memory-mapped I/O), съдържанието на дискови блокове ще е достъпно, а те може да съдържат файлове, за които нямаш позволение, ще имаш достъп до мрежов трафик дето не е за тебе и тем подобни много лоши неща. Ако можеше и да пишеш в този регион от паметта, на практика писането на локални експлойти щеше да е доста лесно.

Но това не е правено със секюрити идея така или иначе, такава система би била ужасно нестабилна (представи си бъг в някоя програма да доведе до срив в цялата система, щото хванала и презаписала kernel-ската памет с глупости).


Титла: Re: има ли библиотеки под линук с статични адреси
Публикувано от: jonythewalker в Sep 14, 2010, 23:29
хммм ... кажи кво да им пиша в реферата като заключение - експйтват ли се още линукс/виндовс станции или това е много рядко явление

бтв ... сега чета как се байпасва деп с апи функции и ми се вижда доста сложно ... (деп без рандумализация, ако имаше рандумалзиация не знам как ще нацелят адресите ... )


Титла: Re: има ли библиотеки под линук с статични адреси
Публикувано от: gat3way в Sep 15, 2010, 00:09
Експлойтват се нови и странни уязвимости. Примерно разни JIT engines, използвани от браузърите. Експлойтват се разни странни неща, примерно null pointer dereference проблеми. Експлойтват се странни частни случаи, наскоро имаше едно много добро четиво за как се чупи xorg, нейде из lwn.net, там идеята е да накараш сървъра да ти резервира толкова много памет, че хийпа и стека да се презастъпят. Експлойтват се разни heap overflows като обикновено експлойтите разчитат на много големи фокуси, силно зависещи от приложението което се чупи. Класическите buffer overflows са история в общи линии.

P.S статията в lwn: http://lwn.net/Articles/400746/


Титла: Re: има ли библиотеки под линук с статични адреси
Публикувано от: jonythewalker в Sep 15, 2010, 00:24
дам и аз сам на това менение ...
къде  постват  тези нови експойти ?

www.gat3way.eu - браво :)


Титла: Re: има ли библиотеки под линук с статични адреси
Публикувано от: gat3way в Sep 15, 2010, 00:32
Ами поради ред причини от сорта на превръщането на това в индустрия, масовата хахорщина а и дори и политизирането на тези глупости, никъде. Brad Spender (един от хората дето пишат PaX) е едно от малкото изключения, защото освен че много добре документира уязвимостите, пише и PoC код. Което е жалко ама какво да се прави. Така че забрави за готови експлойти :)

ввв.гат3ваъ.еу - небраво :)


Титла: Re: има ли библиотеки под линук с статични адреси
Публикувано от: jonythewalker в Sep 15, 2010, 00:34
 metasploit не е ли добър туул


Титла: Re: има ли библиотеки под линук с статични адреси
Публикувано от: gat3way в Sep 15, 2010, 00:38
metasploit е добър framework, но някой трябва да пише модули за нови уязвимости. Такива не се пишат кой знае колко (или поне тези дето са за официално теглене не са кой знае колко полезни поне що се отнася до линукс). За уиндоус май е по-добре, но не съм много в течение как са там нещата така че не знам със сигурност. Има една хубава autopwn функционалност, която е голяма забава особено в мрежи с windows XP системи :)


Титла: Re: има ли библиотеки под линук с статични адреси
Публикувано от: jonythewalker в Sep 15, 2010, 00:44
не знам ... аз с несус сканирам ама нищо не намира този хайван
никакъв овърфлоу не е намерил до сега


Титла: Re: има ли библиотеки под линук с статични адреси
Публикувано от: gat3way в Sep 15, 2010, 00:47
Ти дипломна ли пишеш или се чудиш какви пакости да твориш :)


Титла: Re: има ли библиотеки под линук с статични адреси
Публикувано от: jonythewalker в Sep 15, 2010, 00:47
тряя практика ... :)


Титла: Re: има ли библиотеки под линук с статични адреси
Публикувано от: jonythewalker в Sep 15, 2010, 00:48
практика без теория е сляпа, а теория без практика е мъртва :P


Титла: Re: има ли библиотеки под линук с статични адреси
Публикувано от: gat3way в Sep 15, 2010, 00:50
Да ама няма нужда да трепеш хора по улиците, за да се научиш да стреляш :)


Титла: Re: има ли библиотеки под линук с статични адреси
Публикувано от: jonythewalker в Sep 15, 2010, 00:50
споко до сега никой не съм утрепал ...


Титла: Re: има ли библиотеки под линук с статични адреси
Публикувано от: gat3way в Sep 15, 2010, 00:54
Все пак на хората едва ли им е приятно да стреляш по тях :) Има една хубава дистрибуция за тази цел - Damn vulnerable linux, инсталираш си такава във виртуална машина и можеш да почнеш да си играеш да я чупиш. Хората са се постарали и винаги има забавни неща за чупене :)

Там дори можеш да практикуваш писанията на aleph1...проверено :)


Титла: Re: има ли библиотеки под линук с статични адреси
Публикувано от: jonythewalker в Sep 15, 2010, 01:03
алеф добре обяснява ... (мисля че е евреин)
иначе няма страшно ... несуса нищо не открива :)
тази програма трябва да се сложи в penetration-preventing by not showing bugs :)


Титла: Re: има ли библиотеки под линук с статични адреси
Публикувано от: gat3way в Sep 15, 2010, 01:06
Е не знам може и евреин и да си обича азбуката :)

nessus не открива никакви проблеми при дефолтска инсталация на DVL? Това е интересно :)


Титла: Re: има ли библиотеки под линук с статични адреси
Публикувано от: jonythewalker в Sep 15, 2010, 01:08
не на този тестовия линукс, на реални хостове ... нищо не намира хайвана ...
ако nmap-на ще имам повече инфо сигурно


Титла: Re: има ли библиотеки под линук с статични адреси
Публикувано от: gat3way в Sep 15, 2010, 01:14
Не знам, едно от правилата в този подфорум беше да не се помага на хора дето искат да чупят машините на други хора :) Малко е тъпо да го цитирам след като аз съм го писал, ама все пак. Дори някой да реши да ти помогне, ще се наложи да модерирам темата. Това ще бъде прецедент. Предпочитам все пак такива неща да не се обсъждат тука. Има други места, където хората са по-отзивчиви към такива проблеми, но не тук.


Титла: Re: има ли библиотеки под линук с статични адреси
Публикувано от: jonythewalker в Sep 15, 2010, 01:17
спокойно ... ако не забеляза аз не разбирам нищо ...
и да тръгна да се занимавам нищо няма да мога да направя
опасен съм като безопасна игла :)


Титла: Re: има ли библиотеки под линук с статични адреси
Публикувано от: jonythewalker в Sep 15, 2010, 01:26
айде лека от мен ... 


Титла: Re: има ли библиотеки под линук с статични адреси
Публикувано от: gat3way в Sep 15, 2010, 01:42
Лека и умната :)


Титла: Re: има ли библиотеки под линук с статични адреси
Публикувано от: jonythewalker в Sep 21, 2010, 13:40
споко. не нарушаваш никакви правила  :)
като завърша ще гледам да не се занимавам с компс щото нищо не отбирам :)


Титла: Re: има ли библиотеки под линук с статични адреси
Публикувано от: b2l в Sep 21, 2010, 13:48
споко. не нарушаваш никакви правила  :)
като завърша ще гледам да не се занимавам с компс щото нищо не отбирам :)

Ми тогава защо ще го завършваш? Ей, това не мога да разбера - и моите колежки (че и 50% от колегите) нищо не отбират и все пак се борят за диплома. После ще идат на едно интервю за работа и като видят колко са боси и ще станат пак сервитьорки и сервитьори.


Титла: Re: има ли библиотеки под линук с статични адреси
Публикувано от: jonythewalker в Sep 21, 2010, 14:03
че да си програмист или сис админ да не е много по-престижно ...
просто си един високо-квалифициаран и не много добре платен роб :) 


Титла: Re: има ли библиотеки под линук с статични адреси
Публикувано от: b2l в Sep 21, 2010, 14:27
не много добре платен роб :)

Да бее, вярно - виж как не се сетих. Последно в jobs.bg имаше една програма за Java програмисти...нещо от рода на 4K стартово...


Титла: Re: има ли библиотеки под линук с статични адреси
Публикувано от: jonythewalker в Sep 27, 2010, 21:34
да ама за тия 4к ще ти вземат здравето и нервите ...
за мен по-престижните, елтарни професии са лекар, архитект, адвокат, съдия, прокурор, икономист или финансист
добре ?дори и да зима някой сега 4к какво бъдеще има той след 10 години? Ще излязат по-млади и по свежи, дето имат мерак да стоят до сред нищите да четат документации и да разучават нови технологии ... Професорите по унитата едно време са правили супер компютри, електрони устройства в ЦИТ, не знам кви системи за военните ама сега студентите им се смеят че са дъртаци и не знаят технологиите ...
никой не сваля шапка пред белите коси на програмист или ком. инженер, докато един хирург с бели коси и 30 години стаж е почти безценен ...
уви когато бях на 18 години и дойде време за висшето, не бях в час с тези работи ...
иначе влязох с 5.50, излязох бакалавър с 5.70, но откровенно съжалявам че си загубих вече 5 години с тия тъпотии ... според мен това е задънена улица ...


Титла: Re: има ли библиотеки под линук с статични адреси
Публикувано от: BULFON в Sep 27, 2010, 22:26
Интересен разговор се получи. А и попрочетох във Википедия малко за нещата, за които говорехте, за което благодаря!
Иначе животът не е чак толкова дълъг, че да има голямо значение в какво точно ще ставаш много добър. Да не говорим, че никак не е ясно още утре какво те очаква.


Титла: Re: има ли библиотеки под линук с статични адреси
Публикувано от: jonythewalker в Sep 27, 2010, 22:28
както казва един приятел:
живота е прекалено кратък за да се прави дори и една грешка ...
сега осъзнавам е вярна тази фраза ...


Титла: Re: има ли библиотеки под линук с статични адреси
Публикувано от: task_struct в Sep 28, 2010, 09:32
Професорите по унитата едно време са правили супер компютри, електрони устройства в ЦИТ, не знам кви системи за военните ама сега студентите им се смеят че са дъртаци и не знаят технологиите ...

Професорите в унитата нямат стимул да учат новите технологии. Нито ще им плащат повече, нито им е нужно за да ти преподадат материала. Метод на мехурчето си един и същ, независимо от езика.


никой не сваля шапка пред белите коси на програмист или ком. инженер

Предложение: Взимаш си дипломата от унито ( като по-млад явно знаеш някакви нови технологии ) и отиваме на интервю. Аз със стажа, ти с дипломата, пък да видим кой ще предпочетат.

Във всяка професия опитът си е голямо предимство. И както каза "един хирург с бели коси и 30 години стаж е почти безценен", същото важи и за програмистите. Имам колеги с такъв стаж и те решават за секунди проблеми, които на мен ще ми отнемат дни, защото никога не съм се сблъсквал преди с тях.


Титла: Re: има ли библиотеки под линук с статични адреси
Публикувано от: b2l в Sep 28, 2010, 09:47
Предложение: Взимаш си дипломата от унито ( като по-млад явно знаеш някакви нови технологии ) и отиваме на интервю. Аз със стажа, ти с дипломата, пък да видим кой ще предпочетат.

Дано скоро да не побелеят и твоите коси :P :P :P :P


Титла: Re: има ли библиотеки под линук с статични адреси
Публикувано от: task_struct в Sep 28, 2010, 13:16
Ооо мойте отдавна са бели. Още от както видях за първи път джава приложение  ;D  :P


Титла: Re: има ли библиотеки под линук с статични адреси
Публикувано от: b2l в Sep 28, 2010, 13:33
Ооо мойте отдавна са бели. Още от както видях за първи път джава приложение  ;D  :P

 >:D >:D >:D >:D >:D >:D - много си лош еййй...с тая java :D :D :D :D


Титла: Re: има ли библиотеки под линук с статични адреси
Публикувано от: bop_bop_mara в Sep 28, 2010, 13:35
//оффтопик
Стига с тая Джава, че ни е излязло лошо име, че само я нареждаме.. Трябва да привличаме хората, не да ги пъдим ;)


Титла: Re: има ли библиотеки под линук с статични адреси
Публикувано от: jonythewalker в Sep 28, 2010, 15:06
добре оставям ви тази област да се развивате колкото си искате ... няма да ви хвърлям сянка ...


Титла: Re: има ли библиотеки под линук с статични адреси
Публикувано от: jonythewalker в Sep 28, 2010, 15:27
и малко по темата ...
до колкото знам aslr-а прави следното
randomizes the base addresses of executables, dll’s, stack and heap in a process’s address space (for the Windows OS)

и прочетох в една статия следното в статия за linux aslr:
Additionally no code-page of an executable is randomized in the default case.
This
gives a much larger code-base that will be of interest for attackers.
Still though, these
pages are mapped to the lower address half and thus include many
\0 characters, which
cannot be used in most bu ffer overflow situations. Not randomizing the executable's
pages is a major
flaw that should be fixed.

Това което не хващам е за кои страници става въпрос - за тези които са в контекста на виртуалната организация на паметта (n страници, които формират сегмента с код (според мен даден сегмент се дели на страници и те се местят между хардиска и рама))?
До колкото съм разбрал базовите адреси на сегмента за стек и хийп се рандумизират, а вътре в самия сегмент няма рандумизиация.

стек край -- > ----
                     


Стек начало -- > ---  <<< Този адрес се рандъмизира, и спрямо него се ранумизират адресите в стека (относителните адреси (отмествания) в стека спре мен са еднакви)
Основният ми въпрос е за кои страници става въпрос в цитата ...

Мерси за  вниманието



Титла: Re: има ли библиотеки под линук с статични адреси
Публикувано от: bvbfan в Sep 28, 2010, 16:41
Това е доста интересно, доколкото намерих информация из нета, става въпрос за адресите на динамичните библиотеки, които при XP са били винаги със статични адреси при зареждането им след стартиране на ОС. Когато въпросните системни библиотеки са със статични адреси е напълно възможно да бъдат заредени и изпълнен злонамерен код, както основно се имплементират вирусите. http://news.idg.bg/sigurnost/52322_otkriha_9godishna_uyazvimost_v_quicktime_na_apple това интересна статия за деклариран указател към обект чрез който се осъществява пълен контрол върху системата благодарение на хакерски техники.   


Титла: Re: има ли библиотеки под линук с статични адреси
Публикувано от: gat3way в Sep 29, 2010, 00:06
и малко по темата ...
до колкото знам aslr-а прави следното
randomizes the base addresses of executables, dll’s, stack and heap in a process’s address space (for the Windows OS)

Yep.

Цитат
и прочетох в една статия следното в статия за linux aslr:
Additionally no code-page of an executable is randomized in the default case.
This
gives a much larger code-base that will be of interest for attackers.
Still though, these
pages are mapped to the lower address half and thus include many
\0 characters, which
cannot be used in most bu ffer overflow situations. Not randomizing the executable's
pages is a major
flaw that should be fixed.

Това което не хващам е за кои страници става въпрос - за тези които са в контекста на виртуалната организация на паметта (n страници, които формират сегмента с код (според мен даден сегмент се дели на страници и те се местят между хардиска и рама))?
До колкото съм разбрал базовите адреси на сегмента за стек и хийп се рандумизират, а вътре в самия сегмент няма рандумизиация.

Това е интересно, щях да кажа че не е така, но от друга страна сега като тествам, компилирах няколко пъти една и съща програма, main функцията си е на все един и същи адрес. Очевидно .text сегмента си се зарежда на едно и също място, което е интересно. От друга страна, това са страници памет, за които нямаш права да пишеш вътре, така че забрави да презапишеш това което се изпълнява примерно в main(). Вероятно при дадени обстоятелства, може човек да се възползва от това, но ужасно много зависи как е написана програмата и какво прави. После, има различни build-ове на тази програма, използвайки различни флагове на компилатора, това предполагам генерира крайно различен машинен код и писането на reliable експлойт, който да се възползва от това сигурно е мъка.

Всъшност, нагледно:

Код:
debian:~/ocltest# cat /proc/self/maps
00400000-0040d000 r-xp 00000000 fe:00 72102                              /bin/cat
0060d000-0060e000 rw-p 0000d000 fe:00 72102                              /bin/cat
024bd000-024de000 rw-p 00000000 00:00 0                                  [heap]

....
debian:~/ocltest# cat /proc/self/maps
00400000-0040d000 r-xp 00000000 fe:00 72102                              /bin/cat
0060d000-0060e000 rw-p 0000d000 fe:00 72102                              /bin/cat
01e07000-01e28000 rw-p 00000000 00:00 0                                  [heap]
...

Та значи определено .text нещата не се рандомизират.

Цитат
стек край -- > ----
                     


Стек начало -- > ---  <<< Този адрес се рандъмизира, и спрямо него се ранумизират адресите в стека (относителните адреси (отмествания) в стека спре мен са еднакви)
Основният ми въпрос е за кои страници става въпрос в цитата ...

Рандомизира се предполагам края на стека, тъй като той расте наобратно :)

Съдържанието на стека, хийпа, .text, .rodata и т.н. очевидно няма как да се рандомизират - това би изисквало някакви неземни умения от страна на ядрото, ако искаш програмите да ти вървят коректно.

Между другото, рандомизацията си има някакви граници, особено при 32-битовите адресни пространства. Зъл payload с много голямa NOP последователност преди нея, може да се bruteforce-не и злия код да се изпълни в крайна сметка след н-тия опит. При 64-битови системи обаче, адресното пространство е доста по-голямо и рандомизацията си ходи в доста по-широки граници. Може да не ти стигнат години да нацелиш каквото трябва така.


Титла: Re: има ли библиотеки под линук с статични адреси
Публикувано от: jonythewalker в Sep 29, 2010, 01:03
аха, значи все пак говорят за страници в контекста на така наречената "виртуална организация на паметта".  Явно виртуалните адресите на страниците (на библиотека или хеап или стек) се рандумизират по специален закон една спряло друга така че да се запазят релативните адрес и отместванията и да се получи само рандумизация на базовия адреса на стек или тн.

значи в статията се оказаха прави.
Целта е тези страници да не се оферфловат и да се инжектира в тей шел, а да се използват като ret-to-libc ,само че не е либ ц, а изпълним код на програм`Ъта.
четох че в доста ядра има библиотеки (спределени обекти), който се мапват на едни и същи адреси в процеса което също е ret-to-libc ...
доста доста интересно!
както гледаш това мойто си е чиста наука ... няма практика ... 
мерси за отделеното време :)


Титла: Re: има ли библиотеки под линук с статични адреси
Публикувано от: jonythewalker в Sep 30, 2010, 15:27
хммм

как така с cat  виждаш адресите ?


Титла: Re: има ли библиотеки под линук с статични адреси
Публикувано от: jonythewalker в Oct 05, 2010, 15:08
да не развалям хубавата тема, но ако си сложа vmware  server, мога ли да емулирам damn  vulnerable linux


Титла: Re: има ли библиотеки под линук с статични адреси
Публикувано от: jonythewalker в Oct 07, 2010, 01:34
хмм ... nessus нищо не откри като сканирах dvl ....
nessus-a който използвам е версия 4