, Hack_Proofing_Your_Network_Edycja_polska_hacpro 

[ Pobierz całość w formacie PDF ]

gramie warunkuje powodzenie ataku. Funkcja musi zostać wywołana za pośrednictwem
wskaznika  tylko wtedy może zostać wykonany podsuni¹ty przez atakujÄ…cego kod.
Analiza podatnego programu
Czas na podj¹cie decyzji co do programu, który w dalszej cz¹Å›ci rozdziaÅ‚u b¹dzie sÅ‚użyÅ‚
za przykład wykorzystania luki ciągu formatującego. Luka ta powinna dawać możliwość
zdalnego jej wykorzystania. Scenariusz, w którym penetracji systemu komputerowe-
go dopuszcza si¹ haker nie majÄ…cy żadnego upoważnienia i teoretycznie od niego od-
ci¹ty jest najlepszÄ… ilustracjÄ… zagrożeÅ„ wynikajÄ…cych z istnienia tego rodzaju luk. Da-
lej, luka powinna znajdować si¹ w rzeczywistym programie, najlepiej takim, którego
autorem jest znany i poważany programista; uświadomi to Czytelnikom, że tego rodzaju
bÅ‚¹dy mogÄ… znajdować si¹ również w oprogramowaniu pozornie pewnym i poprawnym.
Przykład powinien ponadto posiadać kilka cech dających sposobność do omówienia
rozmaitych aspektów bÅ‚¹dów zwiÄ…zanych z ciÄ…gami formatujÄ…cymi, takich jak np.
problem wyświetlania sformatowanego ciągu.
ZdecydowaÅ‚em si¹ zaprezentować luk¹ na przykÅ‚adzie programu Rwhoisd. Rwhoisd czy
też demon RWHOIS jest implementacją usługi RWHOIS. Projektem serwera usługi
RWHOIS zajmuje si¹ obecnie dziaÅ‚ badawczy i rozwojowy Network Solutions; serwer
ten zostaÅ‚ udost¹pniony szerokiej publicznoÅ›ci na podstawie Powszechnej Licencji
Publicznej GNU.
Klasyczny błąd umożliwiający przeprowadzenie ataku wykorzystującego ciąg formatu-
jący został wykryty w rwhoisd w wersji 1.5.7.1 i wcześniejszych. Błąd ten umożliwia
nieautoryzowanym klientom usługi, którzy nawiązali połączenie z usługą wykonanie
dowolnego kodu. Pierwszy opis tej luki ujrzał światło dzienne jako wiadomość prze-
sÅ‚ana na list¹ dystrybucyjnÄ… Bugtraq (wiadomość ta zostaÅ‚a zarchiwizowana pod adre-
sem www.securityfocus.com/archive/1/222756).
Aby zrozumieć istot¹ luki wyst¹pujÄ…cej w demonie rwhoisd należy zapoznać si¹ z jego
kodem zródłowym. Analizie poddany zostanie kod zródłowy wersji 1.5.7.1. W czasie pi-
sania tej książki kod ten byÅ‚ dost¹pny w sieci WWW pod adresem www.rwhois.net/ftp.
BÅ‚Ä…d ujawnia si¹, kiedy program w odpowiedzi na przekazanie przez użytkownika
niepoprawnego parametru polecenia ma wypisać na wyjÅ›ciu komunikat o bÅ‚¹dzie.
Komunikaty o bÅ‚¹dach sÄ… przez serwer konstruowane i wypisywane za pomocÄ… funk-
cji o nazwie . Funkcja ta jest wykorzystywana w całym kodzie zródło-
wym do obsługi sytuacji awaryjnych i do informowania o nich aplikacji klienta i same-
go użytkownika. Funkcja przyjmuje kilka parametrów: liczb¹ caÅ‚kowitÄ… okreÅ›lajÄ…cÄ…
numer bÅ‚¹du, ciÄ…g formatujÄ…cy oraz zmiennÄ… liczb¹ parametrów odpowiadajÄ…cych spe-
cyfikatorom formatującym określonym w ciągu.
Rozdział 9. f& Ciągi formatujące 303
Wieści z podziemia&
Najgrozniejsze błędy związane z ciągami formatującymi
Poza błędną obsługą polecenia SITE EXEC serwera WU-FTPD wykryto kilka innych
zasługujących na wzmiankę luk. Niektóre z nich wykorzystane zostały w robakach in-
ternetowych i narzędziach masowego włamywania i dały efekt w postaci skutecznych
włamań do tysięcy węzłów internetowych.
IRIX Telnetd  odpowiednio spreparowane dane pobrane od klienta przekazy-
wane jako ciąg formatujący do funkcji umożliwiały hakerom zdalne wy-
konanie dowolnego kodu bez konieczności przechodzenia jakichkolwiek procedur
uwierzytelniających. Luka została wykryta przez grupę Last Stage of Delirium
(patrz www.securityfocus.com/bid/1572).
Linux rpc.statd  wykryta w tym programie luka również związana była z nie-
prawidłowym zastosowaniem funkcji i także umożliwiała zdalne uzyska-
nie uprawnień administracyjnych. Lukę wykrył Daniel Jacobowitz i opublikował ją
16 czerwca 2000 roku jako wiadomość przesłaną na listę Bugtraq (patrz
www.securityfocus.com/bid/1480).
Cfingerd  kolejna luka wynikająca z nieprawidłowego zastosowania wywołania
, odkryta przez Megyera Laszlo. Jej wykorzystanie mogło doprowadzić do
przejęcia przez zdalnego włamywacza kontroli nad atakowanym węzłem (patrz
www.securityfocus.com/bid/2576).
Implementacja moduÅ‚u locale w bibliotece Libc  Jouko Pynnönen oraz zespół
Core SDI niezależnie od siebie ogłosili wykrycie luki związanej z ciągiem formatu-
jącym w implementacji biblioteki C wchodzącej w skład kilku systemów unikso-
wych. Luka umożliwiała atakującemu lokalne przejęcie rozszerzonych uprawnień
przez ataki na programy setuid (patrz www.securityfocus.com/bid/1634). [ Pobierz całość w formacie PDF ]
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • modemgsm.keep.pl