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
Linux Screen
Viewed 2805 times since Sat, Jun 2, 2018
How to create stunnel with systemd? stunnel
Viewed 11837 times since Thu, Jan 16, 2020
Extending Linux LVM partitions - scripts
Viewed 7534 times since Sun, May 20, 2018
How to find your System details using inxi
Viewed 4448 times since Sat, Jun 2, 2018
How To Ping Specific Port Number
Viewed 6395 times since Mon, Jun 1, 2020
Yum Update: DB_RUNRECOVERY Fatal error, run database recovery
Viewed 5131 times since Fri, Jan 17, 2020
10 Linux rsync Examples to Exclude Files/Directories
Viewed 12529 times since Wed, Oct 31, 2018
RHEL: iSCSI target/initiator configuration on RHEL7
Viewed 12696 times since Sat, Jun 2, 2018
linux ssh How to Hide the OpenSSH Version Details when Telnet to Port 22
Viewed 7327 times since Wed, Apr 22, 2020
Linux - How to perform I/O performance test with dd command
Viewed 6980 times since Fri, Jun 8, 2018