We believe that our story should start with the basics. Therefore, the first (and, spoiler, the second) parts will pay a lot of attention to the basics of RPC, rather than directly programming. However, I will actively show examples of C++ code for ease of understanding. In addition, the text of the article contains many references to research and material from other authors. This way, you will get a full and detailed understanding of RPC before moving on to the issues of developing tools using Impacket. We’ll learn Impacket from scratch to the point where you can write a custom tool for Lateral Movement!