Skip to content

PepsiCommunity/YouTubeByMITM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Рабочий ютуб без как такового ну или явного дурения ТСПУ

Как это работает?

Браузер подключается к прокси, прокси делает MITM с браузером и открывает новое TLS соединение с сервером устанавливая SNI в соответствии с маппингами в spoof.list, НО, дальнейший HTTP трафик полностью проксируется без изменений, то есть заголовок Host: остается неизменным.

ТСПУ видит SNI = www.google.com, сервер гугла видит HTTP заголовок Host: www.youtube.com, и каким то чудом возвращает ответ для YouTube.com а не Google.com.

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

Код тут полностью навайбкоден нейронкой, так как задача была проверить теорию а не написать что-то производительное.

Сертификат возвращаемый сервером имеет альтернативные доменные имена, и чтобы не было ошибок валидности сертификата - домены для спуфа надо подбирать, например сертификат при подключении к www.google.com подойдет и для www.youtube.com. В случае с GGC (ну или googlevideo.com) нужно подбирать домен для спуфа из альтернативных имен этого самого GGC. Подбирать домены можно ориентируясь этому ❌ Handshake with www.google.com failed: tls: failed to verify certificate: x509: certificate is valid for *.c.docs.google.com, *.a1.googlevideo.com, *.bdn.dev, *.oo rigin-test.bdn.dev, *.c.2mdn.net, *.c.bigcache.googleapis.com, *.c.chat.google.com, *.c.doc-0-0-sj.sj.googleusercontent.com, *.c.drive.google.com, *.c.googlesyndication.com, *.c.google video.com, *.c.mail.google.com, *.c.mail.googleusercontent.com, *.c.pack.google.com, *.c.play.google.com, *.c.youtube.com, *.dai.googlevideo.com, *.googlevideo.com, *.googlezip.net, *.gvt1.com, *.offline-maps.gvt1.com, *.snap.gvt1.com, *.gcpcdn.gvt1.com, xn--ngstr-lra8j.com, *.xn--ngstr-lra8j.com, not www.google.com , звёздочка в домене это Wildcard сертификат, можно и нужно ее заменить на любой текст либо существующее доменное имя GGC, проще говоря: если *.c.docs.google.com то c.docs.google.com -> failed to verify, однако aboba.c.docs.google.com -> сработает.

А что если просто менять SNI и не делать MITM? Мне не удалось заставить это работать, увы, но видимо генерируемые ключи зависят от SNI, и при попытке подменить SNI я получаю curl: (35) schannel: next InitializeSecurityContext failed: SEC_E_DECRYPT_FAILURE (0x80090330) - Указанные данные не могут быть расшифрованы.

Однако это явно имеет какой-либо потенциал.

If you're a Google engineer, I kindly ask you not to change anything on the servers. They are working perfectly, thx.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages