SSH-Schlüssel über Instance Connect übertragen
Kann über Instance Connect einen SSH-Schlüssel übertragen und sich an einer Instanz anmelden.
Ermöglicht Eskalation für sich allein.
ec2-instance-connect:SendSSHPublicKeyFür sich allein kann ec2-instance-connect:SendSSHPublicKey einen SSH-Schlüssel über Instance Connect übertragen und sich bei einer Instanz anmelden. Bei einem weiten Ressourcenbereich erreicht dies allein Administratorzugriff.
Warum es gefährlich ist
Ein Principal kann ec2-instance-connect:SendSSHPublicKey aufrufen, um einen kurzlebigen SSH-Schlüssel auf die laufende Instanz zu übertragen, und dann per SSH über das Netzwerk einsteigen und mit Code-Ausführung auf OS-Ebene auf der Maschine landen. Von dort liest der Principal die Anmeldeinformationen der an die Instanz angehängten IAM-Rolle aus IMDS und bewegt sich weiter. Anders als beim SSM Session Manager erfordert dies einen erreichbaren SSH-Port (22) auf der Instanz, es funktioniert also nur dort, wo der Netzwerkpfad existiert.
In MITRE ATT&CK entspricht dies T1098.004, Account Manipulation: SSH Authorized Keys, unter der Taktik Lateral Movement. AWS protokolliert dies in CloudTrail als SendSSHPublicKey. Der Aufruf erscheint in CloudTrail, geht aber in der normalen Administration unter, daher braucht es eine Regel, damit er auffällt.
Erkennung
SendSSHPublicKeyVoraussetzungen
Die Zielinstanz läuft, trägt eine IAM-Rolle und ist von der Position des Angreifers aus über ihren SSH-Port (22) erreichbar. Instance Connect umgeht im Gegensatz zu SSM NICHT den Netzwerkpfad oder die Security Groups.
Taktik
Lateral Movement
Eine Maßnahme, die ihn beseitigen würde: ec2-instance-connect:SendSSHPublicKey auf Break-Glass-Principals beschränken; eingehenden Port 22 schließen und SSM Session Manager bevorzugen.
Ob sie angewendet werden sollte, hängt davon ab, wie die Berechtigung in Ihrer Umgebung verwendet wird, daher ist es eine geschäftliche Entscheidung und keine automatische Behebung. Dieselbe Berechtigung kann in einem Konto tragend und in einem anderen reines Risiko sein.
Pathbreak bestätigt, ob dieser Pfad in Ihrem Konto auflösbar ist, stuft ihn gegenüber den anderen danach ein, wie viel er eröffnet, und nutzt Ihr Bedrohungsmodell und Ihren Geschäftskontext, um zu zeigen, welche Pfade es wert sind, unterbrochen zu werden.
Fragen
Was erlaubt ec2-instance-connect:SendSSHPublicKey?
Kann über Instance Connect einen SSH-Schlüssel übertragen und sich an einer Instanz anmelden.
Kann ec2-instance-connect:SendSSHPublicKey allein Privilegien eskalieren?
Ja. Auf einer ausreichend breiten Ressource gehalten, erreicht sie ohne weitere Berechtigung Administratorzugriff.
Wie wird das Übertragen eines SSH-Schlüssels über Instance Connect erkannt?
Achten Sie in CloudTrail auf SendSSHPublicKey. Der Aufruf erscheint in CloudTrail, geht aber in der normalen Administration unter, daher braucht es eine Regel, damit er auffällt.
Wie unterbricht man diesen Pfad?
Eine Maßnahme, die ihn beseitigen würde, ist: Beschränken Sie ec2-instance-connect:SendSSHPublicKey auf Break-Glass-Principals; schließen Sie den eingehenden Port 22 und bevorzugen Sie SSM Session Manager. Ob sie angewendet werden sollte, hängt davon ab, wie die Berechtigung in Ihrem Konto verwendet wird, es ist also eine geschäftliche Entscheidung und keine automatische Behebung.
Welche MITRE ATT&CK Technik ist das?
T1098.004, Account Manipulation: SSH Authorized Keys, unter der Taktik Lateral Movement.
Verwandte Pfade
Referenzen
Finden Sie dies in Ihrem eigenen Konto
Wir führen einen schreibgeschützten Scan eines AWS-Kontos durch und zeigen Ihnen, welche dieser Pfade existieren, nach Blast-Radius priorisiert, mit der Änderung, die jeden einzelnen unterbricht. Erste validierte Pfade innerhalb der Stunde.