\ käm-prə-ˌmat \ - noun Russian
- compromising information that is used to discredit a person or group
- a tool for informing the Russian people of the atrocities being committed by their government
Kompromat is an automated WebDriver-based tool used for driving an instance of Google Chrome against Yandex Maps. It takes a message and photo, locates random restaurants in and around the intended Russian/Belarusian city, and leaves a review for each. This should make it possible to leave hundreds if not thousands of reviews per day for a single running instance. In this way it may be possible to get information to the Russian people about what is happening just across their border.
At the moment it is only tested on MacOS. It should work on Windows with Windows Subsystem for Linux (WSL) but this has not been tested.
The following is a screen capture of the tool at work:
- Verify you have a Java 11 or greater runtime installed.
- From a command line, type
java --version
and hit enter to see the version - If you don't, download it from their website.
- From a command line, type
- Verify you have a recent version of Chrome installed.
- Download the compressed zip (not the source code) of the latest release from here.
- Extract the zip.
- Open a terminal and go to the extracted directory, e.g. :
cd Downloads/kompromat-1.1.0
First you will have to create a Yandex account. This is actually fairly easy to do with a few simple tricks.
- Using Google Chrome, go to https://yandex.ru
- On the right side of the browser address bar (in Google Chrome) you should see a small translate icon labelled "Translate this page". Click it and select "English". The page should largely be visible in English now.
- Click "Log in" in the upper right corner.
- Click "Create ID".
- Add the necessary information to create an account. NOTE: You do not need to add a phone number when initially signing up, but you may be prompted for it later as a form of "captcha". See adding a phone number to avoid using your actual phone number.
- You may be prompted with a "captcha" of text, in which case you will have to retype what is shown in the captcha
image. Don't be intimidated by this even though it's in cyrillic, it's actually quite easy:
- On MacOS:
- In the desktop menu bar, click the menu, then System Preferences
- In System Preferences, click Keyboard -> Input Sources
- Click the '+' button, search for Russian, click Add
- Finally, click 'Show Input menu in menu bar'
- In your menu bar you should now see a small flag icon of your current country
- Click the icon, select Russian
- Сlick the icon again, select 'Show Keyboard Viewer'
- Now with your cursor in the captcha input box, type the letters as you see them in the captcha image using the simulated Russian keyboard on screen.
- For all platforms:
- Navigate to https://russian.typeit.org/ and type away, then copy/paste.
- On MacOS:
By default a message is already defined
containing a Russian and English translation. The message is contained in the message.txt
file in the same directory
as the kompromat
script. You can edit this file to say whatever you like, but we'd recommend that you make a plea to
the hearts and minds of ordinary people, and refrain from being cruel/bitter. The idea is to win people over, not to
make them turn their backs in anger.
Likewise, a default photo is included that will be left in each review. This photo can also be changed so long as it remains the same filename.
Once you have your Yandex account credentials, you can run the program via your opened terminal:
Usage: kompromat [--city=<city>] <username> <password>
<username> A Yandex username
<password> A password for the given username
--city=<city> Optional city. Defaults to MOSCOW. Can be one of: MOSCOW,
STPETE, BELGORAD, MINSK, SEVASTOPOL, YALTA, GROZNY
Simplest Example, defaulting to Moscow:
$ ./kompromat 'myusername' 'mypassword'
Specify what city to focus on:
$ ./kompromat --city=MINSK 'myusername' 'mypassword'
This is fairly self-explanatory. It doesn't hurt to even minimally try and cover your tracks and hide your location.
It would be wise to create a dummy email address rather than using your personal one. Using a service such as 10MinuteMail should make this extremely simple to do.
In the event Yandex thinks you may be a bot (let's be honest, you effectively are one if you are running this) they may prompt you for a phone number as a form of a captcha. I would strongly advise against using your own personal phone number. Instead, use a "burner" phone number. There are several apps you can use to create a virtual/temporary phone number. Some may or may not work in your country, but you can try the following:
At times Yandex will detect your actions as a bot and prompt you with a small box to click verifying that you are a human, and may also ask you to fill out a captcha. In the event this captcha is required, Kompromat should pause for up to 5 minutes to allow you to enter the necessary text.
The following is a list of things that may help make this tool easier to use by more people:
- Test and/or provide any fixes for Windows machines
- Machine learning to automatically decipher the captcha text, thus not requiring users to try and type out cyrillic which many people will struggle with
- Automate the Yandex account creation process. Dependent on #2 above.