CHAPTER 12Exfiltrating Data
Data theft is a major—if not the primary—goal of many cyberattack campaigns. In previous chapters, we have talked about ways to collect a significant amount of data that can be valuable to an attacker.
However, having access to data inside a target network is not the same as having the ability to get that data out of the network without detection. This is the focus of the Exfiltration tactic of the MITRE ATT&CK framework, which is shown in Figure 12.1.
Data exfiltration can occur in a few different ways, and there is significant overlap between these and the command-and-control channels from the previous chapter. In this chapter, we will explore the use of Python for data exfiltration via Alternative Protocols and Non-Application Layer Protocols.
The code sample archive for this chapter can be found at https://www.wiley.com/go/pythonforcybersecurity
and contains the following sample code files:
DNSExfiltrationClient.py
DNSExfiltrationServer.py
DetectAlternativeProtocol.py
NonApplicationClient.py
NonApplicationServer.py
DetectNonApplicationProtocol.py
Alternative Protocols
Network protocols are designed to serve different purposes. Some, like HTTP and SMTP, are designed to carry data between systems, making them a logical choice for data exfiltration. Others, such as ICMP and DNS, are intended to make ...
Get Python for Cybersecurity now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.