All streams
Search
Write a publication
Pull to refresh
156
129.3
Alex Chernyshev @alex0x08

Немного понимаю в компьютерах

Send message

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

Вы можете скомпилировать у себя на компе бинарник заранее и так же записать его по байтам.

В ветке выше речь про линукс и сервер а не Windows и ПК. То что вы описали это проблематика все же больше вендов.

Обрезание прав до невозможности создания файла с битом запуска конечно возможно но сильно неудобно, поэтому я такого давно не видел.

Повторюсь что все эти «навороты» в прошлом, сейчас балом правит виртуализация а вся ОС целиком воспринимается как песочница — твори что хочешь, лишь бы из контейнера не вылезал.

Для линукса в те времена (до эпохи виртуализации) было стабильно два шага:

1) проникновение с загрузкой файла

2) эскалация

Эксплоит делающий эскалацию до рута попадал на машину как раз в виде исходника и затем компилировался локально. Готовые бинарники плохо работали из-за разницы в библиотеках между дистрибутивами, так что загружали именно исходник.

Сейчас это уже не так актуально из-за повсеместной виртуализации и контейнеров, вылезать из которых сильно сложнее.

Компилятор csc.exe как-то не тянет на "утилитку". И по LOLBAS я раньше не знал )

а разве вся обвязка политик из домашней версии не вырезана?

Так ее может не быть только в серверной версии Windows у пользователя, в статье речь про обычную.

Все описанное только в MacOS, Swift вне MacOS это просто один голый язык, без всего.

вы хотели от меня увидеть как я вспоминаю структуру pe заголовков, красочно расписываю как я по табличке набиваю x86 опкоды?

именно этого.

Звучит смешно и несерьезно? Только так это происходит всегда когда кто-то предлагает "поработать в опкодах".

Но рад что вы хотя-бы понимаете процесс а не пустословите.

Описанная в статье проблема, вообще говоря, заключается не в наличии в системе компилятора полноценного языка программирования

Именно что в этом наличии.

Первое что делал нормальный линуксовый сисадмин до эпохи виртуализации это удаление компиляторов с сервера, чтобы нельзя было локально собрать эксплоит для эскалации привилегий.

В Windows же получается что всегда есть неотключаемый и неудаляемый компилятор с полным доступом к WinAPI.

попался в магазине набор MSDN на 6 CD. Кладезь инфы, много лет пользовался.

да, именно с него я когда-то начинал.

ну да, в винде есть полноценный .NET Framework, HTTP.SYS и иже с ними. Доступен PowerShell(и не важно, скрипт не скрипт, в нем доступен весь .NET)

Поиграться можно, но что вы хотите этим сказать?

Что про данный факт мало кто знает.

По крайней мере никто из знакомых разработчиков (!) на .NET или админов Windows про такое не знал, а у меня их достаточно много.

Вопрос к Microsoft. Кстати обычно стоит еще и несколько разных версий .NET - поищите csc.exe поиском в папке Windows.

Очень много спорного, nasm редко где есть при установке, чтобы на нем стоял аж suid бит не видел ни разу.

Все же для Linux подобный сайт собирать бессмысленно - очень много зависит от дистрибутива и набора установленного ПО.

Имеется ввиду полагаю серверная версия Windows, где это право есть только у администратора?

В статье именно это и происходит - привилегия SeShutdownPrivilege выставляется искусственно.

ну вот смотрите. я не программист на ассемблере

вот в том и проблема, что «не владея и не являясь» вы тем не менее считаете возможным поучать других.

Думаю вам самому стоит перечитать результат вашего же гугления и оценить возможность «разработки на опкодах».

Помешали масштабы, даже этот "твит" растянулся на 20 минут чтения.

Не очень понял при чем тут LOLBAS но за наводку спасибо :)

Не знал что кто-то додумался собрать в одном месте вообще все системные утилиты с векторами атак, думаю этот сайт стоит один раз посмотреть любому безопаснику чтобы навсегда удалить любые венды с объекта - лучшая реклама линукса из возможных.

Каждый раз, когда рассказываю о привилегиях и о привилегии SeShutdownPrivilege вижу непонимающие глаза

Я все же программист а не злобный хацкер и рассказываю про разработку а не взломы, поэтому пример с выключением это всего лишь пример кода, чуть длинее "Hello world" с вызовами WinAPI, чтобы разбор уместился в масштаб статьи а не книги.

Если речь про Ubuntu где из базового дистрибутива убрали gcc - наверное да, но вообще для Linux всегда было характерным иметь в базовой системе все средства разработки вплоть до IDE. Уж emacs какой-нибудь точно был всегда.

Вообще это первая часть и тут речь про один только голый компилятор csc.exe.

В качестве спойлера для второй части скажу, что нашелся и msbuild (те самые скрипты сборки) и реляционная СУБД и парсеры JSON/XML и HTTP-сервер с вебсокетами - все это внутри обычной пользовательской венды.

Так что дальше будет веселее.

Без вас к сожалению получается как обычно: два сообщения (с натяжкой) по делу, что крайне печалит с учетом сложности статьи.

Так что все также жду чего-то по делу.

Information

Rating
53-rd
Location
Москва, Москва и Московская обл., Россия
Registered
Activity

Specialization

Fullstack Developer, Chief Technology Officer (CTO)
Lead
Java
Java Spring Framework
Java EE
Scala
C++
C
Software development