zad 3 moje

WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI I INFORMATYKI

INSTYTUT AUTOMATYKI I INFORMATYKI

KIERUNEK INFORMATYKA

STUDIA STACJONARNE I STOPNIA

PRZEDMIOT : LABORATORIUM OCHRONY DANYCH W SIECIACH I SYSTEMACH KOMPUTEROWYCH

ZADANIE nr 3

TEMAT: Zabezpieczenia oprogramowania

NAZWISKO: Dobrzański IMIĘ: Artur

TERMIN WYKONANIA: 26-11-2011 TERMIN ODDANIA: : 29-11-2011

Prowadzący:

Dr inż. Grzegorz Bialic

Wstęp:

Ćwiczenie zostało przeprowadzone na wirtualnej maszynie z windowsem Xp. Potrzebne do wykonania ćwiczenia programy zostały prawidłowo ściągnięte i zainstalowane.

Przebieg ćwiczenia:

W programach Filemon i Regmon wykonać następujące czynności: wyfiltrować aktywność procesu CSRSS.EXE lub EXPLORER.EXE (przy korzystaniu z Eksploratora Windows) oraz sprawdzić, ile trwają operacje odczytu i zapisu; znaleźć klucze rejestru, na których operuje.

Aby rozpocząć filtrowanie danych procesów należy z górnego menu wybrać filtrowanie (Options -> filter) oraz wpisać nazwę procesu który chcemy filtrować. Klikając w menu na zegar zmieniamy wartości w kolumnie Time na czas trwania wykonania operacji, dla różnych ich rodzajów, wykonywanych na systemie plików. Kolumna Path pokazuje na ścieżkę do klucza rejestru, na którym proces operuje.

Rysunek 1Filtrowanie procesu csrss.exe w programie Filemon.

Rysunek 2 Filtrowanie procesu csrss.exe w programie Regmon.

W programie Process Explorer zlokalizować za pomocą dostępnego narzędzia procesy odpowiedzialne za otwarte okno Kalkulatora i Notatnika Windows; zastąpić programem Process Explorer Menedżer zadań Windows oraz cofnąć ten proces (Options|…).

Wyszukiwanie procesów w zależności od wskazanego okna. Możemy to uzyskać dzięki ostatniemu elementowi paska narzędzi – celownikowi (ikonka celownika). Po uruchomieniu programu naciskamy na celownik i (trzymając wciśnięty lewy klawisz myszy) najeżdżamy na okno, którego proces macierzysty chcemy odkryć. Jego nazwa zostanie podświetlona w oknie głównym programu. Zastąpienie programem Process Explorer Menedżera zadań – (Options -> Replace Task Manager), cofnięcie zmian - (Options -> Restore Task Manager).

Rysunek 3 Znalezienie procesu macierzystego notatnika w programie Process Explorer.

Rysunek 4 Znalezienie procesu macierzystego Kalkulatora w programie Process Explorer.

  1. Wykonać debugging i złamać zabezpieczenie crackme dostępnego z samouczkami do programu OllyDbg (RegisterMe.exe i Reverse-Me.exe).

    1. Program ReverseMe.exe

W tutorialu pierwszym, do programu OllyDbg zawarty jest program reverseMe.exe. Z oglądniętego tutoriala doszedłem do wniosku, że najszybciej jest zmusić program do skoku pod adres w którym zapisane są instrukcje odpowiadające za właściwe jego działanie.

Aby wykonane zamiany przyniosły stały skutek należy je zapisać przy pomocy menu podręcznego. Wykonane zmiany zapisać w pliku wykonywalnym .exe. Oryginalny program żąda wykupienia licencji. Natomiast program zmodyfikowany przez nas omija to żądanie.

Program RegisterMe.exe

Modyfikacja zabezpieczenia RegisterMe.exe zgodnie z tutorialem polegała na zamianie instrukcji „je” na „jmp” i wypełnienia miejsca pomiędzy skokiem a adresem instrukcją NOP.

W programie IDA Pro uzyskać listing kodu crackme1.exe z katalogu Cruehead CrackMe's i zapisać go na dysku w pliku *.ASM (File|…); zapoznać się z grafami wywołać procedur (F12), sporządzić graf dla wybranego skoku i zapisać go na dysku; zapoznać się z możliwościami wyświetlania grafów programu WinGraph32.

Po uruchomieniu programu IDA Pro uzyskałem listing kodu cracjme1.exe. Za pomocą komendy alt+F10 utworzyłem plik .asm

W oknie IDA View wybrałem jeden ze skoków. Można było podglądnąć graf dla tego skoku. Wybierając koejno ‘view -> graphs -> Flow Chart’ lub naciskając F12, uzyskujemy podgląd wybranego grafu w programie WinGraph32.

Widok grafu w WinGraph32

W programie Syser Debugger załadować do debuggingu program crackme1.exe i ustawi_ punkt przerwania na funkcję CreateWindow(bpx …), zaobserwować czynności programu po naciśnięciu klawisza F5 oraz w jakich momentach następuje wstrzymanie załadowanego programu.

Niestety nie udało mi się uruchomić programu. Przy pierwszym uruchomieniu wyskoczył komunikat, że program potrzebuje restartu systemu do prawidłowego działania. Po restarcie systemu pomimo wszelkich starań maszyna za każdym razem restartowała się przy próbie uruchomienia programu syser debuger.

Komunikat pojawiający się przy próbie uruchomienia programu Syser Debugger

Zapoznać się z rodzajami zabezpieczeń zastosowanych w dołączonych do instrukcji programach crackme (Cruehead CrackMe's, mexelite crackme 4, PhrozenCrew No.3).

W przypadku zabezpieczenia pierwszego crackme1 należy podać nazwę i numer seryjny. W przypadku 2 zabezpieczenia- crackme2 Password. W zabezpieczeniu Crackme3 program będzie szukał pliku z numerem rejestracyjnym, należy ominąć tą sekcję. Zabezpieczenie- mexelite crackme 4 także wymagało podania nazwy i numeru seryjnego. Do łamania zabezpieczeń wybrałem program OllyDBG.

CrackMe1.

Aby objeść zabezpieczenie programu CrackMe1 należało zmienić jedną instrukcje aby program akceptował każde login i serial. Podmieniamy „JE SHORT 0040124C” na „JMP SHORT 0040124C” w linii 00401243. Wynik programu:

CrackMe2.

Aby objeść zabezpieczenie programu CrackMe2 należało zmienić jedną instrukcje aby program akceptował każde login i serial. Podmieniamy „JE SHORT 0040124A” na „JMP SHORT 0040124A” w linii 00401241. Wynik programu:

  1. CreckMe3.

    Aby objeść zabezpieczenie programu podmienić „JE SHORT 0040124A” na „NOP” w linii 0040118A. Wynik programu:

Mexelite Crackme 4\Crkme4.exe

Zabezpieczenie Mexelite CrackMe's 4 złamano poprzez zamianę istrukcji JE na adresie 0042DCC2 na instrukcję NOP.

Wynik programu:

  1. PhrozenCrew No.3\ Crackme3.exe

    Ostatni program zabezpieczony jest plikiem kluczem. Niestety nie potrafię scrackować, nie do końca rozumiem jego sposób działania a jego kod po wczytaniu do programu Ollydbg nie jest dla mnie zbyt czytelny.

Wnioski

W pierwszej części ćwiczenia największy problem stanowiła próba zainstalowania programu Syser Debugger na maszynie wirtualnej z systemem Windows xp, ponieważ po włączeniu programu maszyna zostawała resetowana. Każde z zabezpieczeń przedstawione w drugiej części ćwiczenia wymagało śledzenia niskopoziomowych operacji w kodzie programu. Za pomocą programów, których użyłem w tym ćwiczeniu możemy scrackować zabezpieczone programy, tak jak w przypadku wyżej wymienionych prostych programików, możemy ominąć wpisywanie haseł czy też zarejestrować program nie znając potrzebnych danych.


Wyszukiwarka

Podobne podstrony:
C4 - Roztrzepaniec, Pomoce naukowe SGSP, Moje Dokumenty, fizyka zad
MOJE zad 10, geo wyższa
C4 - PUCHAL, Pomoce naukowe SGSP, Moje Dokumenty, fizyka zad
C4-kh, Pomoce naukowe SGSP, Moje Dokumenty, fizyka zad
moje zad 8
moje zad
wm 2011 zad 2
Podtopienie moje
Instrukcja do zad proj 13 Uklad sterowania schodow ruchom
CAD CAM KWPPWPS Zad graf PDF
Praktyczna Nauka Języka Rosyjskiego Moje notatki (leksyka)2
2009 klucz zad 01 092 u
ALGEBRA zad 2 id 57346 Nieznany (2)

więcej podobnych podstron