Inżynieria wsteczna i analiza złośliwego oprogramowania jest czasem owiana aurą tajemniczości. Z jednej strony temat wydaje się intrygujący, ale z drugiej strony wysoki próg wejścia i ryzyko „zepsucia sobie czegoś" odstrasza potencjalnych adeptów od nauki. Celem tego artykułu – i kolejnych z tej serii – jest przybliżenie tego świata dla osób dotychczas bardziej „wysokopoziomowych”. Postaramy się wytłumaczyć wszystko krok po kroku i unikać nadmiernych przeskoków myślowych. Będziemy również korzystać wyłącznie ze zdekompilowanego kodu – płynna znajomość asemblera nie będzie zatem wymagana (chociaż pozostanie mile widziana).
W pierwszej części tej serii zaczniemy od analizy próbki ransomware z rodziny Mapo. Będzie to idealny start – jej kod nie jest zbyt skomplikowany, ale przeczytanie go wymaga znajomości odpowiednich narzędzi. W artykule przeanalizujemy proces generowania klucza, szyfrowanie, a nawet spróbujemy napisać dekryptor...
Niektóre zagadnienia poruszane w tym artykule:
Artykuł pochodzi z magazynu Programista nr 99 (5/2021). Magazyn jest z przełomu listopada i grudnia 2021 r. Szczegółowy spis treści wydania nr 99: https://programistamag.pl/programista-5-2021-99/
Autorem artykułu jest Jarosław Jedynak. Analityk malware w dużej firmie antywirusowej. W swojej pracy zajmuje się głównie walką ze złośliwym oprogramowaniem oraz przestępcami internetowymi. W wolnym czasie gra w CTFy z zespołem p4 albo rozwija własne projekty programistyczne.