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
Using stunnel and TinyProxy to obfuscate HTTP traffic
Viewed 8628 times since Fri, Sep 28, 2018
ZPOOL: Add a mirror to a concat zpool
Viewed 4807 times since Sun, Jun 3, 2018
RHEL: Manually encrypting a filesystem with LUKS
Viewed 4968 times since Sun, May 27, 2018
Create a Linux Swap File
Viewed 3871 times since Fri, Jun 8, 2018
Linux RedHat How To Create An RPM Package
Viewed 4410 times since Sun, Jan 9, 2022
OpenSSL: Check SSL Certificate Expiration Date and More
Viewed 8497 times since Mon, Feb 18, 2019
Tip: SSD and Linux. Enable TRIM and check if it works
Viewed 18766 times since Fri, May 15, 2020
HowTo: Kill TCP Connections in CLOSE_WAIT State
Viewed 17804 times since Thu, Feb 14, 2019
Linux Network (TCP) Performance Tuning with Sysctl
Viewed 13552 times since Fri, Aug 3, 2018
Przekazywanie portów TCP rinetd
Viewed 47370 times since Thu, May 24, 2018