Aplikacja ChatGPT? Nie – to malware!
Po niewiele ponad dwóch miesiącach od publicznej premiery opartego o sztuczną inteligencję rozwiązania ChatGPT wydaje się, iż zainteresowanie nim znacznie przerosło oczekiwania twórców. Coraz częściej zdarzają się sytuacje, gdy ChatGPT nie działa ze względu na zbyt duże zainteresowanie, pojawiła się już też możliwość płatnej subskrypcji. W sieci można też znaleźć… aplikację dla systemu Windows. Cóż to takiego? Przyjrzyjmy się.
W naszym przypadku aplikację znaleźliśmy na stronie hxxps://chat-gpt-for-windows[.]com.
Po kliknięciu “DOWNLOAD CHATGPT FOR WINDOWS NOW” pobiera się plik “ChatGPT For Windows Setup 1.0.0.exe”.
Analiza dynamiczna
Po dwukrotnym kliknięciu w pobrany plik zaczyna się instalacja. Pliki programu są kopiowane do folderu C:Users[Admin]AppDataLocalProgramsvbloks, gdzie [Admin] to nazwa użytkownika, który zainicjował instalację.
Następnie otwiera się okno wyświetlące pasek postępu inicjalizacji programu.
Kolejny krok to ekran logowania do chatGPT. Analiza aktywności sieciowej wykazała ruch do domen chat.openai.com oraz api.telegram.org.
Przy próbie zalogowania (przyciski “Log in” lub “Sign up”) widzimy napis “Undefined” i na tym kończy się interakcja z prawdziwym ChatGPT. Podczas działania zostały otwarte między innymi pliki:
C:UsersAdminAppDataLocalGoogleChromeUser DataDefaultNetworkCookies
C:UsersAdminAppDataRoamingMozillaFirefoxProfiles3o4pebi0.default-releasecookies.sqlite
Analiza statyczna
Przyjrzyjmy się wypakowanym plikom z folderu C:UsersAdminAppDataLocalProgramsvbloks. Widzimy biblioteki, plik wykonywalny ChatGPT For Windows.exe oraz dwa katalogi: locales oraz resources.
Po wejściu do folderu resources zauważamy pliki asar. Są to archiwa używane przez framework Electron.
Możemy je wypakować, w efekcie uzyskując źródłowy kod Javascript. W jednym z plików źródłowych znajduje się kod odpowiedzialny za otwarcie okna z ChatGPT.
W linii 4 widzimy wczytanie pliku loading.html, jest to nic innego jak ekran inicjalizacji z rysunku 3. Następnie otwierana jest strona https://chat.openai.com/chat. W tym samym pliku znajduję się kod odpowiedzialny za uruchomienie oraz dodanie do aplikacji uruchamiających się przy starcie systemu pliku wykonywalnego “ChatGPTSupport.exe”.
Fragment kodu źródłowego uruchamiający “ChatGPTSupport.exe”
Fragment kodu źródłowego dodający “ChatGPTSupport.exe” do aplikacji uruchamianych przy starcie systemu
Plik ChatGPTSupport.exe jest także napisany w JavaScript, lecz skompilowany za pomocą pkg (https://www.npmjs.com/package/pkg). Za pomocą pkg-unpacker (https://github.com/LockBlock-dev/pkg-unpacker), można wypakować pliki z kodem V8 składające się na plik wykonywalny ChatGPTSupport.exe. W jednym z wypakowanych plików (index.cjs) znajdziemy kod odpowiedzialny za działania aplikacji. Znajdują się w nim między innymi łańcuchy znaków:
C:snapshotFacebookHookerindex.cjs
https://api.aiforopen.com
https://www.facebook.com/api/graphql
https://www.facebook.com/
https://lumtest.com/myip.json
https://b-graph.facebook.com/auth/create_session_for_app
https://accountscenter.facebook.com/api/graphql/
https://www.facebook.com/v2.0/dialog/oauth/confirm/
https://www.facebook.com/dialog/oauth?client_id=1174099472704185&scope=public_profile&force_confirmation=true&auth_type=rerequest&ref=DeviceAuth&user_code=
https://graph.facebook.com/v2.6/device/login
cookies.sqlite
not exits cookie path
fbcookie`
cookie
&new_app_id=6628568379&generate_session_cookies=1&pretty=0
cookies
Jeden ze znalezionych łańuchów znaków prowadzi do https://api.aiforopen.com. Są na niej wylistowane polecenia api jakie można wystosować do serwera. Analizując aplikację możemy znaleźć kilka z nich:
/api/add-data-account?api_key=f1f58895-bf9a-495a-bc16-ac3f9c85f414
/api/add-business-manager?api_key=f1f58895-bf9a-495a-bc16-ac3f9c85f414
/api/add-pages?api_key=f1f58895-bf9a-495a-bc16-ac3f9c85f414
/api/add-ads-manager?api_key=f1f58895-bf9a-495a-bc16-ac3f9c85f414
/api/update-data-login-account?api_key=f1f58895-bf9a-495a-bc16-ac3f9c85f414
Podsumowanie
Analiza aplikacji wskazuje wyraźne podobieństwa do malware o nazwie Ducktail, opisanego przez WithSecure (https://labs.withsecure.com/content/dam/labs/docs/WithSecure_Research_DUCKTAIL.pdf) – infostealera, biorącego na cel konta biznesowe na Facebooku. W podobny sposób wyszukuje danych z przeglądarki, czy nawiązuje połączenie z api telegram, zaś znalezione łańcuchy znaków wskazują na możliwą funkcjonalność przejmowania kont Facebooka. Tak samo jak w przypadku Ducktail możliwe jest powiązanie autorów z narodowością wietnamską, na co wkazuje użycie tego właśnie języka na stronie hxxps://api.aiforopen[.]com.
Indicators of Compromise
ChatGPT For Windows Setup 1.0.0.exe ab99ccd02b6681210cfccb6b381fdfda
ChatGPT For Windows.exe 986920d8ab6c83d99ab92d4e3aaea1b1
ChatGPTSupport.exe 4189f49681fcbd7f070174609430eb1a
app.asar 2600e6afe8d23e225b7c20841f510fef
hxxps://chat-gpt-for-windows[.]com
hxxps://chatforwindowpc[.]com
hxxps://api.aiforopen[.]com