• Nie Znaleziono Wyników

Narzędzia wykrywania ataków na systemy komputerowe DNWA UI0 (8)

N/A
N/A
Protected

Academic year: 2022

Share "Narzędzia wykrywania ataków na systemy komputerowe DNWA UI0 (8)"

Copied!
18
0
0

Pełen tekst

(1)

Discover Co wyciekło Dodatkowa ochrona ModSecurity

Narzędzia wykrywania ataków na systemy komputerowe DNWA UI0 (8)

Marcin Gogolewski marcing@wmi.amu.edu.pl

Uniwersytet im. Adama Mickiewicza w Poznaniu

Poznań, 8 grudnia 2020

(2)

Skanowanie sieci

Wykorzystanie wielu narzędzi do skanowania sieci (szczególnie pasywnego) wymagałoby spędzenia wielu godzin na wyszukiwaniu, opanowywaniu obsługi i stosowaniu kolejnych programów.

Rozwiązanie

Istnieje narzędzie OSINT (dawniej Backtrack Scripts) w Kali Linux, które wykona za nas część pracy.

Instalacja

git clone https://github.com/leebaird/discover /opt/discover/

cd /opt/discover/

./update.sh ./discover.sh

(3)

Discover Co wyciekło Dodatkowa ochrona ModSecurity

discover.sh

Uwaga

Pakiet jest tak przygotowany, że należy go uruchamiać z katalogiem roboczym /opt/discover, zatem cd /opt/discover jest konieczne. Po uruchomieniu skryptu możemy wybrać typ skanowania, np. pasywne (1).

Narzędzie wykorzystuje publicznie dostępne dane korzystając z m.in. dnsrecon, goofile, goog-mail, goohost (IP, Email), theHarvester (Baidu, Bing, Dogpilesearch, Google, Google CSE, Google+, Google Profiles, Jigsaw, LinkedIn, People123, PGP, Yahoo, All), Metasploit, URLCrazy, WhoIs (Domain, IP), dnssy.com, ewhois.com, myipneighbors.net, urlvoid.com.

(4)

discover.sh

Choice: 1 Usage

Company: Target Domain: target.com

=============

Company: Adam Mickiewicz University Domain: wmi.amu.edu.pl

dnsrecon: (1/26) ....

urlvoid.com (26/26)

====

***Scan complete.***

The supporting data folder is located at /root/data/wmi.amu.edu.pl/

Uwaga: po zakończeniu testu „dla wygody” jest otwierana przeglądarka z masą zakładek.

(5)

Discover Co wyciekło Dodatkowa ochrona ModSecurity

discover.sh

RECON 1. Domain 2. Person 3. Parse salesforce

SCANNING

4. Generate target list 5. CIDR

6. List

7. IP, range, or URL

8. Rerun Nmap scripts and MSF aux.

WEB

9. Insecure direct object reference 10. Open multiple tabs in Firefox 11. Nikto

12. SSL

MISC 13. Crack WiFi 14. Parse XML

15. Generate a malicious payload 16. Start a Metasploit listener 17. Update

18. Exit Choice:

(6)

Ciekawe linki

Adobe 2013

W Internecie można znaleźć plik users.tar.gz, który zawiera zaszyfrowane hasła (wyciekły z witryny Adobe, plik można znaleźć, ale jest dość duży).

http://web.mit.edu/zyan/Public/adobe_sanitized_passwords_with_bad_hints.txt http://stricture-group.com/files/adobe-top100.txt

(7)

Discover Co wyciekło Dodatkowa ochrona ModSecurity

System w warstwie aplikacji

Czasami nie zależy nam na ochronie całej sieci (to kosztuje, gdyż chronimy sieć przed wieloma atakami, na które i tak nie jest podatna!).

Pomocą mogą się okazać rozwiązania napisane specjalnie dla danego systemu/aplikacji.

Szczególnie wtedy, gdy umożliwiają stosowanie reguł „pełnego” IPS (np. konwersja części reguł).

Przykładowe rozwiązania to: ModSecurity, czy IIS Lockdown – dla starszych, tzn. ¬ 5.1 wersji IIS. Rozwiązują m.in. problem z połączeniami TLS.

(8)

Co umożliwia ModSecurity?

Real-time application security monitoring and access control Virtual patching

Full HTTP traffic logging

Continuous passive security assessment Web application hardening

Something small, yet very important to you Uwaga

Rozwiązanie to nie chroni zwykle przed błędami samego serwera, gdyż część kodu serwera jest wykonywana przed modułami. Może jednak pracować jako reversed proxy, chroniąc w ten sposób dowolny serwer WWW.

(9)

Discover Co wyciekło Dodatkowa ochrona ModSecurity ClamAV

ModSecurity – co jeszcze?

Podobnie jak w przypadku Suricaty możliwe jest wykorzystanie ClamAV do wyszukiwania „wirusów”.

ClamAV nie jest częścią ModSecurity, więc należy mu trochę pomóc, np. wykorzystując skrypt z następnego slajdu (skrypt zwraca informacje w formacie zrozumiałym przez ModSecurity).

To podejście ma jednak drobną wadę. Dla każdego skanowania uruchamiana jest oddzielna instancja ClamAV – trwa to zwykle poniżej 1s, ale oznacza, że nie da się w ten sposób sprawdzić wielu tysięcy dokumentów w ciągu godziny, a opóźnienie może być widoczne dla użytkownika).

(10)

ModSecurity

#!/usr/bin/perl

$CLAMSCAN = "/usr/bin/clamscan";

if (@ARGV != 1) {

print "Usage: modsec-clamscan.pl FILENAME\n";

exit;

}

my ($FILE) = @ARGV;

$cmd = "$CLAMSCAN --stdout --disable-summary $FILE";

$input = ‘$cmd‘;

$input =~ m/^(.+)/;

$error_message = $1;

$output = "0 Unable to parse clamscan output";

if ($error_message =~ m/: Empty file\.$/) {

$output = "1 empty file";

}

elsif ($error_message =~ m/: (.+) ERROR$/) {

$output = "0 clamscan: $1";

}

elsif ($error_message =~ m/: (.+) FOUND$/) {

$output = "0 clamscan: $1";

}

elsif ($error_message =~ m/: OK$/) {

$output = "1 clamscan: OK";

}

print "$output\n";

(11)

Discover Co wyciekło Dodatkowa ochrona ModSecurity ClamAV

ModSecurity + ClamAV

Problem z wydajnością nie wynika ze złożoności programu ClamAV (ani też z mało wydajnej implementacji). Ze względu na to, że program nie jest częścią serwera WWW, aplikacja jest ładowana (wraz z potrzebnymi bibliotekami, bazą „wirusów”, etc.) przy każdym wywołaniu od nowa.

Demony

Podobnie jak w przypadku serwerów poczty istnieje inny sposób. ClamAV może zostać uruchomiony jako tzw. demon i zaczekać na zapytania klientów np. na porcie TCP.

Jak sprawdzić, czy działa?

http://www.eicar.org/anti_virus_test_file.htm (uwaga: program antywirusowy może zwracać ostrzeżenia podczas przeglądania tej strony, a autorzy nie gwarantują, że jest to zawsze bezpieczne).

(12)

ClamAV – wynik testu

[9] Exec: /opt/modsecurity/bin/modsec-clamscan.pl

[4] Exec: First line from script output: "0 clamscan: Eicar-Test-Signature"

[4] Operator completed in 2137466 usec.

[2] Warning. File ...

"/opt/modsecurity/var/tmp//20090819-181833-Sowz6X8AAQEAACXQAWAAAAAB-file-logg59" ...

rejected by the approver script "/opt/modsecurity/bin/modsec-clamscan.pl": 0 ...

clamscan: Eicar-Test-Signature [file "/opt/modsecurity/etc/rules.conf"] [line "3"]

(13)

Discover Co wyciekło Dodatkowa ochrona ModSecurity ClamAV

Apache

Linux is like a Wigwam no Windows,

no Gates, Apache inside.

(14)

Dlaczego ModSecurity nie jest oddzielną aplikacją?

Apache

1 Decrypts SSL

2 Breaks up the inbound connection stream into HTTP requests

3 Partially parses HTTP requests

4 Invokes ModSecurity, choosing the correct configuration context (VirtualHost, Location, etc.)

5 De-chunks request bodies as necessary

6 There are few additional tasks Apache performs in a reverse proxy scenario:

1 Forwards requests to backend servers (with or without SSL)

2 Partially parses HTTP responses

3 De-chunks response bodies as necessary

(15)

Discover Co wyciekło Dodatkowa ochrona ModSecurity ClamAV

Ograniczenia płynące ze współpracy

wszystkie łańcuchy są kończone NULLem (nie można sprawdzić, jak było) nagłówki są sprowadzane do „formy kanonicznej”

niektóre żądania (np. błędne zapytania) nie dotrą do ModSecurity niektóre nagłówki nie będą widoczne

(16)

A co potrafi ModSecurity (bez reguł)?

parsuje dane

zapewnia buforowanie zajmuje się logowaniem przetwarza reguły

nie przeprowadza dezynfekcji (sanitize)

(17)

Discover Co wyciekło Dodatkowa ochrona ModSecurity ClamAV

ModSecurity – przykładowa reguła

SecRule ARGS "<script>" log,deny,status:404

SecRule VARIABLES OPERATOR ACTIONS

VARIABLES gdzie szukać (np. ARGS znaczy „w parametrach”) OPERATOR w jaki sposób (np. wyrażenie regularne)

ACTIONS jak zareagować (zaloguj, zablokuj, wyślij 404)

(18)

ModSecurity – przykładowy log

[4] Input filter: Reading request body.

[9] Multipart: Boundary: ---2411583925858 [9] Input filter: Bucket type HEAP contains 256 bytes.

[9] Multipart: Added part header "Content-Disposition" "form-data; name=\"f\"; ...

filename=\"eicar.com.txt\""

[9] Multipart: Added part header "Content-Type" "text/plain"

[9] Multipart: Content-Disposition name: f

[9] Multipart: Content-Disposition filename: eicar.com.txt [4] Multipart: Created temporary file: ...

/opt/modsecurity/var/tmp/20090819-175503-SowuZ38AAQEAACV-Agk-file-gmWmrF [9] Multipart: Changing file mode to 0600: ...

/opt/modsecurity/var/tmp/20090819-175503-SowuZ38AAQEAACV-Agk-file-gmWmrF [9] Multipart: Added file part 9c870b8 to the list: name "f" file name ...

"eicar.com.txt" (offset 140, length 68) [9] Input filter: Bucket type EOS contains 0 bytes.

[4] Reqest body no files length: 96

[4] Input filter: Completed receiving request body (length 256).

Cytaty

Powiązane dokumenty

Z jednej strony mamy szpitale kliniczne, które są zadłużone i notorycznie wykazują straty, z drugiej strony takie, które nie tylko nie generują zobowiązań wymagalnych,

strzeń znacznie wrażliwsza – przestrzeń postaw, wy- obrażeń, oczekiwań oraz poziomu zaufania: społecznej gotowości do ponoszenia ciężarów na zdrowie wła- sne i

AP-G: Mnie się bardzo podobało też to w tej książce, że ona jest taka niewygładzona, że nie ma w tym jakiegoś patosu i takiego podnoszenia tych ludzi, którzy często poświęcają

Wolontariat jaki znamy w XXI wieku jest efektem kształtowania się pewnych idei.. mających swoje źródła już w

Harmonogram zajęć w semestrze zimowym roku akademickiego 2020/2021, rok I P SSI specjalność: język niemiecki od podstaw.. godzina Poniedziałek Wtorek Środa Czwartek

Podstawowym celem większości systemów jest ich dostępność, zatem należy ostrożnie używać metod mogących zablokować uprawniony ruch (taki jest obecnie cel większości

On, Bóg, który sta³ siê cz³owie- kiem (kolor b³êkitny – „ludzki” jest na³o¿ony na czerwieñ tuniki – ozna- ka Boga), podejmuje w geœcie b³ogo- s³awieñstwa

Studium homiletyczne, Lublin 2007, s... lskiej