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
Netcat shell zabezpieczony hasłem
Viewed 2363 times since Thu, May 24, 2018
how to list all hard disks in linux from command line
Viewed 3771 times since Mon, Jan 28, 2019
How setting the TZ environment variable avoids thousands of system calls
Viewed 10338 times since Mon, May 21, 2018
How To Use Systemctl to Manage Systemd Services and Units
Viewed 7669 times since Mon, Dec 7, 2020
How to remove CTRL-M (^M) characters from a file in Linux
Viewed 2761 times since Thu, Feb 7, 2019
HowTo: Kill TCP Connections in CLOSE_WAIT State
Viewed 16165 times since Thu, Feb 14, 2019
Cron YUM How to use yum-cron to automatically update RHEL/CentOS Linux
Viewed 2623 times since Fri, Oct 26, 2018
RHCS6: Install a two-node basic cluster
Viewed 3566 times since Sun, Jun 3, 2018
RHEL: Rename a network interface on RHEL 7
Viewed 10792 times since Sat, Jun 2, 2018
Using stunnel to Encrypt Database Connections
Viewed 3970 times since Fri, Sep 28, 2018