Робота з позначкою компрометації
Іноді зловмисник може ввести шкідливий код у правомірний процес, що виконується. На жаль, такі методи вставлення коду також використовуються багатьма законними програмами (наприклад, програмами зчитування з екрана для людей з вадами зору).
Створення виявлених об’єктів для кожної події CodeInjection призведе до занадто великої кількості помилкових спрацьовувань. Щоб вирішити цю проблему, у ESET Inspect ми можемо використовувати прапорець Compromised.
Правило
Спочатку ми створюємо правило, яке містить дію MarkAsCompromised без дії TriggerDetection. Дія MarkAsCompromised додасть позначку до процесу, який отримує введення коду.
<?xml version='1.0' encoding='UTF-8'?> <rule> <description> <name>Common Injection Targets</name> <category>Special</category> <os>Windows</os> <severity>90</severity> </description> <definition> <operations> <operation type="CodeInjection"> <operator type="AND"> <condition component="CodeInjectionType" condition="is" property="CodeInjectionType" value="SetThreadContext"/> <operator type="OR"> <condition component="FileItem" property="FileName" condition="is" value="msedge.exe"/> <condition component="FileItem" property="FileName" condition="is" value="ComSvcConfig.exe"/> <condition component="FileItem" property="FileName" condition="is" value="explorer.exe"/> <condition component="FileItem" property="FileName" condition="is" value="DevicePairingWizard.exe"/> <condition component="FileItem" property="FileName" condition="is" value="EhStorAuthn.exe"/> <condition component="FileItem" property="FileName" condition="is" value="Locator.exe"/> <condition component="FileItem" property="FileName" condition="is" value="WUAUCLT.exe"/> <condition component="FileItem" property="FileName" condition="is" value="WWAHost.exe"/> <condition component="FileItem" property="FileName" condition="is" value="WerFault.exe"/> <condition component="FileItem" property="FileName" condition="is" value="bootcfg.exe"/> <condition component="FileItem" property="FileName" condition="is" value="conhost.exe"/> <condition component="FileItem" property="FileName" condition="is" value="dllhost.exe"/> <condition component="FileItem" property="FileName" condition="is" value="getmac.exe"/> <condition component="FileItem" property="FileName" condition="is" value="systray.exe"/> </operator> </operator> </operation> </operations> </definition> <maliciousTarget name="none"/> <actions> <action name="StoreEvent"/> <action name="MarkAsCompromised"/> </actions> </rule> |
Після додавання позначки compromised ми можемо посилатися на нього в іншому правилі, якщо відбудеться додаткова підозріла операція, наприклад, доступ до процесу LSASS.
<?xml version='1.0' encoding='UTF-8'?> <rule> <description> <name>Credential Dumping From Compromised Process</name> <category>Suspicious process creation and process manipulation</category> <os>Windows</os> <severity>90</severity> <mitreattackid>T1003.001</mitreattackid> <explanation>A process has accessed the LSASS process in a way that is typical for Mimikatz. LSASS contains sensitive information such as credentials.</explanation> <benignCauses>Legitimate applications that access other running processes in an improper way (e.g., certain installers).</benignCauses> <maliciousCauses>Adversary may access LSASS process in order to retrieve credentials - passwords and hashes.</maliciousCauses> <recommendedActions>1. Initiate Incident Response procedure.</recommendedActions> </description> <definition> <process> <condition component="ProcessInfo" condition="is" property="Compromised" value="1"/> </process> <operations> <operation type="OpenProcess"> <operator type="AND"> <condition component="FileItem" property="FileName" condition="is" value="lsass.exe"/> <condition component="FileItem" property="Path" condition="is" value="%SYSTEM%"/> <condition component="OpenProcess" property="AccessRight" condition="is" value="4112"/> </operator> </operation> </operations> </definition> <maliciousTarget name="current"/> <actions> <action name="TriggerDetection"/> <action name="StoreEvent"/> </actions> </rule> |