a mne norm - Джава макаки зламали TLS - розслідування [entries|archive|friends|userinfo]
mattekudasai

[ userinfo | ljr userinfo ]
[ archive | journal archive ]

Джава макаки зламали TLS - розслідування [Nov. 19th, 2022|08:50 am]
Previous Entry Add to Memories Tell A Friend Next Entry
[Current Mood | shocked]

Хоч щось смішне серед безкінечної череди зробленого руснею пиздеця.
https://github.com/openjdk/jdk11u/commit/b8741052c5c86eaf4b819cfd84543cf03285033d

Ми в якості клієнта використовуємо один вебсервіс. Через їх дірку в авторизації, наш противник вирішив не пофіксати як нормальні люди, а впиляти mTLS і закрити її IdP рулами.

Ми згенерили сертифікат, підписали його кастомерським авторіті, поділились з противником, а воно не працює ніхуя. І не лише в нас, клієнтів кілька і не працює ні у кого. На тому кінці сесюріті інженери кажуть що ви не передаєте свій сертифікат. Шо цікаво, локально працює, а на ECS ні. Різниця в JDK версіях мізерна, 11.0.9 у нас проти 11.0.16 у контейнері. Локально той JDK не поставиш через знову ж срану секюріті, докер локально заборонений, все нахуй заборонено, будь-який софт ставиться через ріквест в централізованій системі, яка ставить софт по заявкам з того що у ній є.

Включаю розширені кілометрові логи на сервері, починаю читати.

Сертифікат з приватним ключем в KeyStore грузиться нормально, intermediate і root сертифікати нормальні, ті якими ми і мали підписати.
ClientHello ОК.
ServerHello ОК, автентифікували сервак.
Домовились про версію TLS.
Згенерили секрети.
Отримали CertificateRequest від сервера, все заєбісь, наш leaf сертіфікат на місці в його траст сторі.
ХУЯК ХУЯК ХУЯК ХУЯК автентифікейшен схема RSA PSS SHA 256 недоступна, не можу знайти підходящий сертифікат БЛЯТЬ ЄБАТЬ.
Шлем порожній CertificateRequest.
Шлем непідписаний реквест.
Сосем пісос.

Знайшов можливість таки запустити той докер імедж. В замовника знайшлась окрема система для цього, з доступом через браузер, емулятор термінала теж в браузері, плак плак. Завдяки цьому знайшов можливість продебажити код, що відповідає за TLS у JDK 11.0.16.

Коротше, шо виявилось. Виявилось то, шо ні intermediate ні root сертифікати не були на сервері в траст сторі. Здавалось би хуйня, є leaf і йому вірять.
А ось хуй собачий.

В JDK покращили підтримку TLS, додавши certificate_authorities extension. Покращили блядь, серед всього іншого примусивши обирати сертифікат тільки якшо його issuer також знаходиться у траст сторі у противника по TLS, тобто під час хендшейка сервер мав би повернути ім"я або intermediate або root у сегменті "certificate authorities". Ну зробили в 15 та і зробили, але крім того бекпортнули в певні мінорні версії JDK 11, йоб їхню мать.

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


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


Підозрюю що головні макаки це ті, хто крутив цей сраний корпоративний докер імедж для джави-аплікацій, і поставив "jdk.tls.client.enableCAExtension=true" тоді як він по очевидних причинах сумісності передбачався розробниками як false за замовчуванням.

Я посів друге місце на конкурсі макак.

А розробники JDK красавчики, додали підтримку того, що і так напевно прописане в якомусь єбучому RFC.
LinkLeave a comment

Comments:
From:(Anonymous)
Date:November 19th, 2022 - 08:07 am
(Link)
> мова
поблевал
[User Picture]
From:[info]dece
Date:November 19th, 2022 - 09:59 am
(Link)
Ты чорт ёбаный ггг
From:(Anonymous)
Date:November 19th, 2022 - 02:28 pm
(Link)
чего не на мови?
[User Picture]
From:[info]dece
Date:November 19th, 2022 - 03:12 pm
(Link)
Потому, что ты пидор, вот почему. Очевидно жы есть! ггг
From:(Anonymous)
Date:November 19th, 2022 - 03:28 pm
(Link)
хрюкало завали, хохлятина тухлая.
[User Picture]
From:[info]dece
Date:November 19th, 2022 - 03:34 pm
(Link)
Завалил твое хрюкало немытыми хуями, не благодари ггг
From:(Anonymous)
Date:November 19th, 2022 - 03:34 pm
(Link)
Как влажно ты мечтаешь. Полячки не дают?
[User Picture]
From:[info]dece
Date:November 19th, 2022 - 03:42 pm
(Link)
Проецировай! ггг
From:(Anonymous)
Date:November 19th, 2022 - 03:44 pm
(Link)
Типа дают? Да ладно, ггг
From:(Anonymous)
Date:November 19th, 2022 - 04:21 pm
(Link)
Ему поляки зато дают. На клыка.
From:(Anonymous)
Date:November 19th, 2022 - 07:36 pm
(Link)
если я стану гетером ты перейдешь на мову, я правильно понял?
From:(Anonymous)
Date:November 19th, 2022 - 10:33 am
(Link)
это додек виноват
From:(Anonymous)
Date:November 19th, 2022 - 10:42 am
(Link)
Саси козлик, саси!
From:(Anonymous)
Date:November 19th, 2022 - 01:21 pm
(Link)
потому что он кал переел
From:(Anonymous)
Date:November 19th, 2022 - 01:34 pm
(Link)
Но ведь фекаложор на тифаретнике один -- это обблёванной киевскай педерац.
From:(Anonymous)
Date:November 19th, 2022 - 03:34 pm
(Link)
Про чо хоть речь, опять хохлов выебали?
From:(Anonymous)
Date:November 19th, 2022 - 04:03 pm
(Link)
как обычно