def rule(event):
    if all(
        [
            event.deep_get("TargetFilename", default="").endswith("\\ntds.dit"),
            any(
                [
                    any(
                        [
                            event.deep_get("ParentImage", default="").endswith("\\cscript.exe"),
                            event.deep_get("ParentImage", default="").endswith("\\httpd.exe"),
                            event.deep_get("ParentImage", default="").endswith("\\nginx.exe"),
                            event.deep_get("ParentImage", default="").endswith("\\php-cgi.exe"),
                            event.deep_get("ParentImage", default="").endswith("\\powershell.exe"),
                            event.deep_get("ParentImage", default="").endswith("\\pwsh.exe"),
                            event.deep_get("ParentImage", default="").endswith("\\w3wp.exe"),
                            event.deep_get("ParentImage", default="").endswith("\\wscript.exe"),
                        ]
                    ),
                    any(
                        [
                            "\\apache" in event.deep_get("ParentImage", default=""),
                            "\\tomcat" in event.deep_get("ParentImage", default=""),
                            "\\AppData\\" in event.deep_get("ParentImage", default=""),
                            "\\Temp\\" in event.deep_get("ParentImage", default=""),
                            "\\Public\\" in event.deep_get("ParentImage", default=""),
                            "\\PerfLogs\\" in event.deep_get("ParentImage", default=""),
                        ]
                    ),
                ]
            ),
        ]
    ):
        return True
    return False
