Lista winnt@man.lodz.pl
[Lista archiwów] [Inne Listy]

Re: [WINNT] Komendy CMD bat w Win 7 - odmowa dostępu

To: winnt@man.lodz.pl
Subject: Re: [WINNT] Komendy CMD bat w Win 7 - odmowa dostępu
From: "Grzegorz Niemirowski" <gnthexfiles@poczta.onet.pl>
Date: Tue, 28 Jul 2015 00:08:08 +0200
ACMM-033 <valhalla@interia.pl> napisał(a):
To dlaczego się uruchamia? Błąd programisty, że przepuścił dziurę?

Jak najbardziej. Generalnie chodzi o to, że może dojść do nadpisania miejsc w pamięci kontrolujących sekwencje wykonywanych czynności (flow) programu. Przykładowo przy wywołaniu funkcji program musi umieć z niej wrócić. Odkłada więc na stosie adres powrotu. Na stosie mogą znaleźć się też bufory alokowane przez program. Błąd programisty może spowodować, że dane np. z pliku zostaną zapisane poza granicą bufora (nastąpi jego przepełnienie) i zostanie nadpisany adres powrotu. Gdy funkcja się zakończy, program nie wróci do miejsca z którego została wywołana funkcja, tylko skoczy gdzieś indziej. A konkretnie pod adres, który został wczytany z pliku. Adres ten może wskazywać na bufor i w buforze tym może być wczytany przez program kod wykonywalny z otwartego pliku. Czyli atakujący musi stworzyć taki plik, że po jego wczytaniu w pamięci programu znajdzie się kod wykonywalny i program do niego skoczy i wykona go. Można też atakować inne miejsca, np. wskaźniki na metody obiektu. Umieszczając w pamięci swój kod i napisując jeden ze wskaźników tak, aby na ten kod pokazywał, można spowodować że zostanie on wykonany. Tutaj wykorzystywany jest często błąd user after free, czyli odwołania do obiektu, który niby został zniszczony, ale program nadal się do niego odwołuje. Zniszczenie obiektu powoduje, że zajmowana przez niego pamięć zostaje oznaczona jako wolna i atakujący może w tym miejscu umieścić swój kod, np. technik heap spray. Przy próbie wywołania metody obiektu zostanie wykonany kod atakującego. Trudno to jasno opisać w krótki poście, odsyłam do mojego tekstu, do którego link już dziś podawałem w tym wątku.

--
Grzegorz Niemirowski
http://www.grzegorz.net/
OE PowerTool i Outlook Express: http://www.grzegorz.net/oe/
Uptime: 51 days, 4 hours, 32 minutes and 24 seconds

<Pop. w Wątku] Aktualny Wątek [Nast. w Wątku>