Fałszujemy rozpoznania skanerów #2

W

pierwszej części pokazałem, jak łatwo za pomocą iptables sfałszować nasłuchujące usługi. W tym przykładzie zajmiemy się techniką zwaną banner grabbing. Proces ten powoduje, że skaner przechodzi do warstwy aplikacji i zaczyna zachowywać się, jak klient. Wysyła dopasowane żądanie do usługi i oczekuje odpowiedzi, w której ma nadzieje znaleźć jej nazwę i wersję.

Jakiś czas temu Nick Marsh wpadł na pomysł, jak można zawiesić skaner nmap próbujący wykonać rozpoznanie usługi. Na maszynie testowej odpalamy fałszywą usługę, która w rzeczywistości jest pułapką:

ncat -lkv -p 8080 --sh-exec "echo 'HTTP/1.1 200 OK\r\n'; cat /dev/urandom"

Na drugiej obserwujemy, jak zachowuje się nmap:

...
PORT     STATE SERVICE     VERSION
8080/tcp open  http-proxy?
|_http-favicon: Unknown favicon MD5: D41D8CD98F00B204E9800998ECF8427E
|_http-methods: No Allow or Public header in OPTIONS response (status code 200)
|_http-open-proxy: Proxy might be redirecting requests
|_http-title: Site doesn't have a title.
1 service unrecognized despite returning data.

oraz Nikto:

- Nikto v2.1.4
--------------
+ Target IP:       192.168.1.2
+ Target Hostname: darkstar.lan
+ Target Port:     8080
+ Start Time:      2016-01-08 23:22:36
--------------
+ Server: No banner retrieved

Oprócz tego, że skanery nie uzyskały żadnych danych to jeszcze wpadły w pułapkę, która zapętliła ich działanie i spowodowała wyczerpanie zasobów na maszynach, na których zostały uruchomione. Ten prosty przykład pokazuje, jak prosto jest przechytrzyć „narzędzia bezpieczeństwa”. Uruchamiając skanery automatyzujące wykrywanie podatności należy zdawać sobie, co się dzieje za ich kulisami. Narzędzia tego typu przeważnie nie posiadają ostatecznych stwierdzeń, a tylko pośrednie przypuszczenia. W dodatku same z siebie również mogą mieć luki i stać się celem ataków swoich potencjalnych ofiar.

 

 

source: https://nfsec.pl/security/5774

Attachments
There are no attachments for this article.
Related Articles RSS Feed
List of 10 Must Know Oracle Database Parameters for Database Administrator
Viewed 125618 times since Thu, Jun 21, 2018
Netcat shell zabezpieczony hasłem
Viewed 2121 times since Thu, May 24, 2018
RHEL: GPT/MBR partition tables (using disks larger than 2 TiB)
Viewed 12186 times since Sun, May 27, 2018
Get UUID of Hard Disks [Update]
Viewed 2125 times since Tue, Jul 17, 2018
Yum Update: DB_RUNRECOVERY Fatal error, run database recovery
Viewed 3941 times since Fri, Jan 17, 2020
Linux Network (TCP) Performance Tuning with Sysctl
Viewed 11432 times since Fri, Aug 3, 2018
Linux – How to check the exit status of several piped commands
Viewed 2877 times since Wed, Jul 25, 2018
RHEL: Enabling standard ftp/telnet
Viewed 3332 times since Sun, May 27, 2018
How to clear swap memory in Linux
Viewed 1942 times since Mon, Nov 23, 2020
awk printf
Viewed 14931 times since Wed, Aug 19, 2020