IPFuscation
Images are broken. I will fix when I have time.
What the...
IPFuscation is a technique that allows for IP addresses to be represented in hexadecimal, octal, or a combination, instead of the decimal encoding that we are used to.
What can we do?
Normal:
ping 45.54.123.21
Hexadecimal + Decimal + Octal:
ping 0x2d.54.123.025
Hexadecimal:
ping 0x2d367b15
Hexadecimal with period symbol:
ping 0x2d.0x36.0x7b.0x15
Hexadecimal with 0 padding:
ping 0x0000000002d.0x00000000036.0x00000007b.0x0000000015
Decimal:
ping 758545173
Octal:
ping 05515475425
Octal with period symbol:
ping 055.066.0173.025
Octal with 0 padding:
ping 000000055.000066.000000173.0000000025
As we can see there's a bunch of ways you can ping the same IP. For a moment, I wondered if this was just how Ping worked. However, given that this works with OpenURL
, I decided to try it with Cobalt Strike!
GitHub
I wrote a script that automatically outputs a set of known formats for the same IP address that you specify. Hopefully will be useful for some people!
Usage
Cobalt Strike
Although I rarely use IP addresses compared to hostnames when it comes to connecting to resources, we know for a fact that many threat actors do. In some cases you may want to resort to using IP addresses and this technique can add a bit of flavor to the mix.
To use this technique in Cobalt Strike, you simply create a listener like you normally would. Let's say my IP was 45.54.123.21
, run IPFuscator as shown below:
Generate a payload as you would normally, and it all works fantastically!
You could even mix it up a bit:
Cobalt Strike Aggressor Script
Conclusion
IPFuscation is not an advanced technique. However, it can be used to:
potentially break regex rules for command line logging looking for IP addresses. Eg. when you issue a command such as
ping 0055.0x0036.000173.0x0015
obfuscate previously unobfuscated / unencrypted cleartext strings to C2 locations within the payload
According to inphosys on Reddit, the proxy sees the regular decimal IP address notation:
To keep it simple, make the use of IPs cool again! :)
Last updated
Was this helpful?