Zeek DCE-RPC Analyzer Update

Zeek-Dev Group,

hi i’m Gabriele from purple team of Certego. We are trying to rely on zeek to increase the detection of our platform in the moving through the internal network scenario ( credential access, discovery and specially lateral movement ATT&CK Matrix phases).

In the case of dcerpc for the moment we are correlating the information generated by bro_dce_rpc parser with data coming from endpoint agents.

In order to reduce the number of false positives and to gather more detailed information for a possible analysis, we thought it would be really interesting “to get extensive parsing in place for DCE-RPC messages by parsing the IDL files […]” or to implement a “byte string containing the stub data itself” in case it is not encrypted. In our case we would like to give priority to all those operations that allow to directly carry out an entire attack or a code execution, restricting the scope to those with stub data in cleartext (for example in the case of dcerpc over smb named_pipe or in the case of dcom, at least for the operations observed until now ). I found the following BINPAC zeek/src/analyzer/protocol/dce-rpc/endpoint-atsvc.pac, and I ended up to this discussion https://bro-dev.bro-ids.narkive.com/jq0Ofe6L/bro-dce-rpc-analyzer-questions .

Have there been any updates regarding this topic? Do you have any advice on how to proceed?

Once we have assessed the feasibility, we could be willing to contribute to achieve this goal. In this work we would also like to insert a series of endpoints and operations that currently are not mapped by zeek, among those observed for example there are several in DCOM. Once the tests are completed, if you are interested, we could also provide you with an exhaustive list or integrate it directly with a possible merge.

At the moment we do not know of the existence of technologies that allow to do alerting on some types of Windows APIs, we therefore believe that being able to do it at the network level through DCERPC is an important added value to zeek.

Thanks,

Gabriele.