Stegosploit to innowacyjna technika opracowana przez badacza bezpieczeństwa Saumila Shaha, umożliwiająca osobie atakującej osadzenie wykonywalnego kodu JavaScript w dowolnych obrazkach.
Saumil przedstawił na konferencji Hack In The Box w Amsterdamie swój projekt Stegosploita, który umożliwia osobie atakującej osadzenie wykonywalnego kodu JavaScript w obrazie, aby wywołać np. znane już ataki typu "drive-by download".
Ataki stegosploitami mogą stworzyć nowe przerażające scenariusze dla użytkowników Internetu, którzy zostaną nieświadomie zarażeni poprzez sam fakt oglądania dowolnego obrazka na dowolnej stronie internetowej, nawet bez klikania na nim i bez pobierania go.
Obraz może służyć jako przechowalnia złośliwego kodu malware. Shah nie ma wątpliwości, że Stegosploity mogą być przyszłością ataków internetowych. Gdy internauta wyświetli obrazek, ukryty skrypt automatycznie załaduje na komputerze złośliwy kod, który może być wykorzystany do różnych celów, w tym sterowania urządzeniem ofiary i kradzieży poufnych danych. Ekspert podkreślił, że oprogramowania antywirusowe nie mają obecnie rozwiązań, które są w stanie wykryć stegosploity, więc użytkownicy nie są odporni na tego rodzaju ataki.
Steganografia w przeszłości była już wykorzystywana przez twórców szkodliwego oprogramowania, aby ukrywać informacje wykorzystywane przez ich złośliwy kod (np. adresy serwerów C&C lub parametry botnetów) ale jak wyjaśnił badacz bezpieczeństwa, narzędzie "Stegosploit" to nowy, wyższy poziom zagrożenia.
Shah rozpoczął swój projekt pięć lat temu ze względu na jego pragnienie połączenia swoich dwóch pasji: hackingu oraz fotografii. Pracował on nad techniką Stegosploita, aby ukryć kod wykonywalny w obrazku i wykonać ten sam kod w przeglądarce internetowej ze wsparciem HTML5 Canvas. Wykorzystał on HTML5 Canvas do odczytu danych obrazu w pikselach przy użyciu JavaScript i dekodowania obrazu w przeglądarce. Shah wziął znane exploity dla Chrome, Safari, Explorera i innych przeglądarek wspierających HTML 5 Canvas i zakodował je do warstw obrazu. Rezultatem tego jest typ plików nazwany przez Shaha jako Imajs (image + JavaScript).
Oprócz niewykrywalności ataku przez rozwiązania antywirusowe, kolejnym zagrożeniem jest to, że ofiara nie wykrywa szkodliwego skryptu ponieważ pojawiający się obraz może być zupełnie niezmieniony w zależności od warstwy, gdzie skrypt jest osadzony.
Wyobraźmy sobie zatem szkody wywołane umiejętnym zastosowaniem Stegosploita w serwisach społecznościowych typu Instagram, Twitter czy Imgur. Implementacja złośliwego kodu do zdjęcia praktycznie nie ma żadnego wpływu na finalny obrazek.
Saumil Shah swojego Stegosploita pokazał po raz pierwszy w Singapurze w marcu 2015 r. na SyScan'15 i początkowo wymagał on techniki włamań za pomocą dwóch różnych obrazów, odpowiednio zawierających kod wykonywalny i kod dekodowania. Dalsze wysiłki w badaniach pozwoliły jednak na jego poprawę i udało się osadzić zarówno kod wykonywalny i dekoder w ramach tego samego obrazu (PNG i JPEG).