07 Кві, 2023

Система X Window Версії 11 (x11)

Penetration Testing as a service (PTaaS)

Tests security measures and simulates attacks to identify weaknesses.

X11 є скороченням від X Window System версії 11. Це мережевий протокол і графічний користувальницький інтерфейс (GUI), який дозволяє програмам запускатися на віддаленому сервері і відображатися на локальному комп'ютері. Розроблена Массачусетським технологічним інститутом у 1980-х роках, X11 стала стандартною системою відображення для операційних систем на базі Unix і широко використовується в дистрибутивах Linux.

Протокол X11 працює шляхом відділення графічного інтерфейсу програми від його функціональності. Додаток запускається на віддаленому сервері, в той час як графічний висновок відправляється на локальний комп'ютер. Це дозволяє користувачам запускати програми на потужних серверах, зберігаючи при цьому можливість взаємодіяти з ними через локальний комп'ютер.

X11 також підтримує кілька вікон, дозволяючи користувачам запускати кілька додатків одночасно і легко перемикатися між ними. Він включає в себе набір стандартних віджетів, таких як кнопки, текстові поля і меню, які розробники додатків можуть використовувати для створення графічних інтерфейсів.

Протокол X11 легко налаштовується, дозволяючи користувачам змінювати зовнішній вигляд середовища свого робочого столу. Він також володіє високим ступенем розширення, і для розширення його функціональності доступно безліч сторонніх додатків.

Загальні порти X11

Порт TCP 6000: Це порт X11, що використовується для зв'язку між сервером X та X-клієнтами.

Порт TCP 6001: Зазвичай він використовується в якості першого альтернативного порту, коли порт за замовчуванням вже використовується.

Порт TCP 6002: Зазвичай він використовується в якості другого альтернативного порту, коли і порт за замовчуванням, і перший альтернативний порт вже використовуються.

Порт TCP 6010: Це ще один альтернативний порт, який можна використовувати для зв'язку X11.

Порт TCP 6011: Це ще один альтернативний порт, який можна використовувати для зв'язку X11.

Стандартні команди від неавторизованих користувачів

xhost: Ця команда дозволяє користувачам додавати або видаляти хости зі списку контролю доступу X server. Неавторизовані користувачі можуть спробувати використати цю команду для отримання доступу до X-сервера з віддаленої системи.

xeyes: Ця команда відображає кілька анімованих очей, які слідують за курсором миші. Хоча ця команда нешкідлива, неавторизовані користувачі можуть спробувати використати її, щоб перевірити, чи є у них доступ до X-сервера.

xkill: Ця команда дозволяє користувачам відключити працюючий клієнт X11. Неавторизовані користувачі можуть спробувати використати цю команду для завершення роботи важливих додатків або служб.

xmodmap: Ця команда дозволяє користувачам змінювати зіставлення ключів на X-сервері. Неавторизовані користувачі можуть спробувати використати цю команду для перехоплення натискань клавіш або виконання шкідливих команд.

xset: Ця команда дозволяє користувачам змінювати різні налаштування X11, такі як час очікування екранної заставки або частоту повторів з клавіатури. Неавторизовані користувачі можуть спробувати використати цю команду для відключення функцій безпеки або зміни системних налаштувань.

Інструменти для використання протоколу X11

Ручні Інструменти:

  • xev: Цей інструмент відображає X подій, що генеруються користувацькими пристроями введення, такими як клацання миші або натискання клавіш. Це може бути корисно для налагодження додатків X11.

  • xdpyinfo: Цей інструмент відображає інформацію про сервер X, включаючи кількість екранів, доступні розширення і підтримувані протоколи.

  • xwininfo: Цей інструмент відображає інформацію про вікні, включаючи його геометрію, батьківські і дочірні вікна і ідентифікатор ресурсу.

  • xkill: Цей інструмент дозволяє користувачам відключити запущений клієнт X11, натиснувши на його вікно. Це може бути корисно для завершення роботи додатків, що не відповідають на запити.

  • xrandr: Цей інструмент дозволяє користувачам налаштовувати дозвіл екрана, частоту оновлення і поворот на дисплеях X11.

  • xset: Цей інструмент дозволяє користувачам налаштовувати різні параметри X11, такі як час очікування екранної заставки і частота повторення з клавіатури.

  • xclock: Цей інструмент відображає аналогові або цифрові годинник на екрані X11. Це може бути корисно для тестування різних функцій X11.

  • xfontsel: Цей інструмент дозволяє користувачам переглядати і вибирати шрифти X11 для використання в додатках.

  • xcalc: Цей інструмент надає простий інтерфейс калькулятора на екрані X11. Це може бути корисно для тестування функціональності введення і виведення.

  • xterm: Цей інструмент надає емулятор терміналу на екрані X11. Це може бути корисно для тестування додатків командного рядка.

Автоматизовані інструменти:

  • Xnest: Цей інструмент надає вкладений сервер X11 всередині існуючого сеансу X11. Його можна використовувати для тестування багатоекранний налаштувань або для ізоляції застосунків X11.

  • Xvfb: Цей інструмент надає віртуальний фреймбуфер X11, який можна використовувати для запуску застосунків X11 без фізичної дисплея. Це може бути корисно для тестування безголових серверів.

  • xdotool: Цей інструмент надає інтерфейс командного рядка для автоматизації завдань X11, таких як імітація клацань миші або введення з клавіатури.

  • xmacro: Цей інструмент записує і відтворює макроси X11, які являють собою послідовності подій X11. Це може бути корисно для автоматизації повторюваних завдань.

  • xpra: Цей інструмент надає постійний сервер X11, до якого можна отримати віддалений доступ через веб-браузер або SSH-з'єднання. Це може бути корисно для тестування функціональності віддаленого доступу.

  • Xnee: Цей інструмент надає набір інструментів автоматизації X11, включаючи функції запису і відтворення, моделювання подій і синхронізацію.

  • Xorg-x11-server-utils: Цей пакунок надає набір серверних утиліт X11, включаючи xinput, xmodmap і xsetroot.

  • X11perf: Цей інструмент надає набір тестів продуктивності X11, включаючи візуалізацію, маніпулювання вікнами і затримку введення.

  • xrestop: Цей інструмент надає уявлення про використання ресурсів X11 в режимі реального часу, включаючи використання пам'яті і процесора.

  • xtrace: Цей інструмент забезпечує відстеження трафіку протоколу X11 між X-сервером і клієнтами. Це може бути корисно для налагодження додатків X11.

Останні п'ять відомих CVE для X11

• CVE-2020-14346 – Помилка була виявлена в xorg-x11-server до 1.20.9. Недостатній потік цілих чисел при декодуванні протоколу розширення вводу X на сервері X може призвести до довільного доступу до вмісту пам'яті. Найбільша загроза, що виходить від цієї уразливості, стосується конфіденційності і цілісності даних, а також доступності системи. 

• CVE-2015-3812 – Множинні витоку пам'яті в функції x11_init_protocol в epan/dissectors/packet-x11.c X11 dissector в Wireshark 1.10.x до 1.10.14 та 1.12.x до 1.12.5 дозволяють віддаленим зловмисникам викликати відмову в обслуговуванні (споживання пам'яті) через створений пакет.

• CVE-2013-2004 – Функції (1) getDatabase і (2) _XimParseStringFile в X.org libX11 1.5.99.901 (1.6 RC1) і більш ранні версії не обмежують глибину рекурсії при опрацюванні директив для включення файлів, що дозволяє X-серверів викликати відмову в обслуговуванні (споживання стека) через створений файл.

• CVE-2013-1997 – Багаторазове переповнення буфера X.org libX11 1.5.99.901 (1.6 RC1) і більш ранні версії дозволяють X-серверів викликати відмову в обслуговуванні (збій) і, можливо, виконувати довільний код з допомогою створених значень довжини або індексу для (1) XAllocColorCells, (2) _XkbReadGetDeviceInfoReply, (3) _XkbReadGeomShapes, (4) _XkbReadGetGeometryReply, (5) _XkbReadKeySyms, (6) _XkbReadKeyActions, (7) _XkbReadKeyBehaviors, (8) _XkbReadModifierMap, (9) _xkbreadexplicit Components, (10) _XkbReadVirtualModMap, (11) _XkbReadGetNamesReply, (12) _XkbReadGetMapReply, (13) _XimXGetReadData, (14) XListFonts, (15) XListExtensions, і (16) функції XGetFontPath.

• CVE-2013-1982 – Багаторазове переповнення цілих чисел X.org libXext 1.3.1 і більш ранні версії дозволяють X-серверів ініціювати виділення недостатньої пам'яті і переповнення буфера за допомогою векторів, пов'язаних з (1) функціями XcupGetReservedColormapEntries, (2) XcupStoreColors, (3) XdbeGetVisualInfo, (4) XeviGetVisualInfo, (5) xshapegetrectangle і (6) xsynclistsystemcounter.

Корисна інформація

– X11 - це розширюваний протокол, який дозволяє додавати додаткові функції, не порушуючи роботу існуючих клієнтів.

– X11 прозорий для мережі, що означає, що клієнт і сервер можуть бути запущені або на одній або на різних машинах.

– X11 - це віконна система для відображення растрових зображень, зазвичай використовується в Unix-подібних операційних системах.

– X11 надає базову платформу для середовища GUI, що дозволяє малювати і переміщати вікна на пристрої відображення, а також взаємодіяти з мишею і клавіатурою.

– Протокол X11 дозволяє програмам створювати об'єкти, такі як вікна, і використовувати базові примітиви малювання, такі як заповнення прямокутника або відображення тексту.

– Віджети, такі як кнопки і меню, створюються клієнтськими бібліотеками з використанням протоколу X11.

– X11 є версією протоколу з вересня 1987 року і використовує TCP в якості транспортного протоколу.

Відомі банери

  • “Версія системи X Window x.x.x" – це банерне повідомлення за замовчуванням, яке відображається при запуску сеансу X11.

  • "Ласкаво просимо в систему X Window" – це банерне повідомлення зазвичай використовується дистрибутивами Linux в якості привітання для їх сесій X11.

  • "Увага: Немає контролю доступу!" – Це банерне повідомлення відображається, коли X11 налаштований на дозвіл доступу з будь-якого клієнта, незалежно від особистості клієнта або місцезнаходження.

  • "Це приватна система – несанкціонований доступ заборонений" – це банерне повідомлення часто використовується організаціями для попередження користувачів про те, що система є приватною і несанкціонований доступ заборонений.

  • "Виявлений незахищений сеанс X11" – це банерне повідомлення відображається, коли сеанс користувача X11 не захищений належним чином і може бути уразливим для атак.

  • "Запитана пересилання X11, але відображення не встановлено" – це банерне повідомлення відображається, коли користувач намагається перенаправити запити X11 у віддалену систему, але відображення не було налаштовано належним чином.

  • "З'єднання X11 відхилено з-за неправильної аутентифікації" – це банерне повідомлення відображається, коли сеанс користувача X11 відхиляється з-за неправильних облікових даних для аутентифікації.

  • "Помилка запиту переадресації X11 на каналі 0" – це банерне повідомлення відображається, коли запит користувача на переадресацію X11 не вдався через проблеми з мережевим каналом.

  • "З'єднання X11 втрачено" – це банерне повідомлення відображається, коли угода з'єднання X11 було втрачено через проблеми з мережею або сервером.

  • "Сеанс X11 несподівано завершений" – це банерне повідомлення відображається, коли сеанс користувача X11 був перерваний із-за помилки або збою.

Книги для навчання X11

"Система X Window: Повна посилання на Xlib, X Protocol, ICCCM, XLFD" Роберт Ст. Шейфлер і Джеймс Геттис – Ця книга вважається остаточним довідником по системі X Window, що охоплюють такі теми, як бібліотека Xlib, протокол X і керівництво за угодами про взаємодію між клієнтами (ICCCM). Він також надає поглиблений огляд стандарту X Logical Font Description (XLFD).

"X Електроінструменти" автор Кріс Тайлер – Ця книга являє собою всеосяжне керівництво по системі X Window, що охоплює такі теми, як віконні менеджери, середовища робочого столу та програмування X11. Він також містить поради та рекомендації з настроювання середовища X11 і підвищенню продуктивності.

"Керівництво по програмуванню Xlib: для версії 11 системи X Window" автор: Адріан Най – Ця книга являє собою докладний введення в програмування з допомогою бібліотеки Xlib, що охоплює такі теми, як створення вікон, обробка подій і графічне програмування. Вона також містить приклади та вправи, які допоможуть читачам розвинути свої навички програмування на X11.

"Програмування X Window з нуля" Джеррі Джонгериус – Ця книга являє собою керівництво для початківців по програмуванню на X11, що охоплює такі теми, як створення вікон, обробка подій і графічне програмування. Вона також містить приклади та вправи, які допоможуть читачам розвинути свої навички програмування на X11.

"Керівництво користувача системи X Window: для X11 R3 і R4 системи X Window" автор: Валері Кверсия і Тім о'рейлі – Ця книга являє собою керівництво користувача по системі X Window, що охоплює такі теми, як віконні менеджери, середовища робочого столу та додатки X11. Він також містить поради та рекомендації з настроювання середовища X11 і підвищенню продуктивності.

Список корисного навантаження для X11

  • Віконні менеджери: Це програми, які керують розміщенням, зовнішнім виглядом і поведінкою Windows. Прикладами можуть служити twm, Metacity і Openbox.

  • Середовища робочого столу: Це повні графічні інтерфейси, які включають віконний менеджер, файловий менеджер, панель і інші додатки. Прикладами можуть служити GNOME, KDE та Xfce.

  • Програмне забезпечення для віддаленого робочого столу: Це програми, які дозволяють користувачам підключатися до віддаленого комп'ютера і відображати його робочий стіл на своєму власному комп'ютері. Приклади включають VNC і RDP.

  • Емуляторів терміналів: Це програми, які дозволяють користувачам запускати програми командного рядка в графічному середовищі. Приклади включають xterm, GNOME Terminal і Konsole.

  • Графічні Бібліотеки: Це бібліотеки програмування, які надають інтерфейс для створення графічних об'єктів, таких як зображення і шрифти, і керування ними. Приклади включають Cairo, OpenGL та SDL.

  • Програмне забезпечення для захоплення екрану: Це програми, які дозволяють користувачам робити скріншоти або записувати відео зі свого робочого столу. Прикладами можуть служити recordmydesktop і Kazam.

  • Редактори способів вводу: Це програми, які дозволяють користувачам вводити нелатинські символи, такі як китайський або японський, з допомогою клавіатури або миші. Прикладами можуть служити ibus і SCIM.

  • Дисплейні менеджери: Це програми, які керують екран входу в систему і запускають X-сервер. Приклади включають GDM, LightDM і XDM.

Пом'якшення наслідків

  1. Відключення переадресації X11 може зменшити поверхню атаки системи, оскільки не дозволяє зловмисникам використовувати X11 для віддаленого управління додатками або доступу до даних.

  2. Обмеження доступу X11 може допомогти запобігти доступу неавторизованих користувачів до системи. Це можна зробити, запровадивши засоби контролю доступу, такі як брандмауери, і налаштувавши X11 так, щоб він приймав підключення тільки з надійних джерел.

  3. Використання SSH тунелювання може допомогти захистити з'єднання X11 шляхом шифрування переданих даних. Це може допомогти запобігти перехоплення або підробку трафіку X11 зловмисниками.

  4. Підтримка програмного забезпечення X11 в актуальному стані може допомогти усунути уразливості, які можуть бути використані зловмисниками. Це включає в себе оновлення як сервера X11, так і будь-яких клієнтських застосунків X11, встановлених в системі.

  5. Використання аутентифікації X може допомогти запобігти доступу неавторизованих користувачів до ресурсів X11. Це включає в себе налаштування X11 на вимогу автентифікації для підключення і використання безпечних методів автентифікації, таких як Kerberos або XDM-AUTHORIZATION-1.

  6. Використання віртуального фреймбуфер X11 може допомогти знизити деякі ризики безпеки, пов'язані з X11, шляхом ізоляції застосунків X11 від хост-системи. Це передбачає запуск додатків X11 у віртуальному середовищі, яка не має прямого доступу до апаратних ресурсів системи.

  7. Використання захищеного сервера X11 може допомогти запобігти використання зловмисниками вразливостей в протоколі X11. Це включає в себе використання серверів X11, які були посилені або модифіковані для зниження ризиків безпеки.

Висновок

X11 це протокол, який використовується для графічних користувацьких інтерфейсів, який був широко прийнятий багатьма операційними системами. Хоча X11 надає потужний набір функцій для віддаленого відображення і керування додатками, він також створює певні ризики для безпеки, які необхідно усунути.

Інші Послуги

Готові до безпеки?

зв'язатися з нами