Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
iperf3 Service Probe
Background
A remote code execution vulnerability was recently identified in iperf3, a benchmark tool widely used to test network throughput performance. The write-up from Cisco's Talos contains details and a Proof of Concept. iperf3 is maintained by ESNet on GitHub at https://github.com/esnet/iperf. The iperf3 Github Wiki contains protocol documentation.
Service Scan -sV using Nmap SVN Version
An Nmap scan using the latest version from master resulted in an incorrect match against nmap-services:
Several client errors are observed from the server due to incorrect service-probes and the rpc-grind NSE script.
Service Scan with Proposed Change
Here is the result of the same scan but using the proposed service-probe:
The new scan results in two errors on the server, one for the TCP GenericLines probe and another for the proposed iperf3 probe:
I tried to use a match for the GenericLines probe but the timeout occurred before the server response. So far I have been unable to create a probe that does not result in a server error. The protocol does not appear to divulge information about the iperf3 version or hostname.
I would like to eventually create an NSE script or a cleaner service probe, any advice on reversing the protocol would be greatly appreciated.