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

Packages

 
 
 

Contributors

Languages