Starting Point - Unable To Ping - #Error 487


I’m brand new to this world, so didn’t expect to be to contribute on day one, but having just figured out this issue myself I feel it’s only right to share with the others who also seem to be struggling.

This post probably be longer than many will deem necessary, but I want to capture as many phrasings of the issue and be as clear as possible with the solution so those searching for it can find the solution easily and execute without confusion. I couldn’t find this answer on here (if I missed the post feel free to link it here and I’ll happily bow my head in shame).

Scenario:- Starting Point (Kali Linux 2020)
After downloading and connecting to the openvpn file the user is unable to connect to any HTB network.

‘ifconfig’ or ‘ip a’ - shows the "tun0"connection as running.

‘ping’ - provides 100% packet loss with a “Host unreachable” message return.

‘ports=$(nmap -p- --min-rate=1000 -T4 | grep ^[0-9] | cut -d ‘/’ -f 1 | tr ‘\n’ ‘,’ | sed s/,$//)’ - runs without issue.
‘nmap -sC -sV -p$ports’ - returns the following error;

“Starting Nmap 7.80 ( ) at 2020-05-12 10:52 IST
Error #487: Your port specifications are illegal. Example of proper form: “-100,200-1024,T:3000-4000,U:60000-”

Users CAN run other forms of nmap scan, but they won’t get any useful information. Provided they utilise the -Pn flag they will be met with a message stating either all ports are closed, or all ports are filtered (I had both variations strangely).

Turns out to be both obvious and yet not at all obvious, so get ready to facepalm the developers.

Kali 2020 has the latest version of nmap pre-loaded, but what it doesn’t say on the label is that the nmap database itself doesn’t update automatically, so your version number of nmap and this won’t line up, and as it turns out, this is pretty crucial.

That’s the bad news. The good news is it’s super easy to do in 6 quick steps.

  1. Check out what the current version (37923 at time of posting) is at this link: “- Revision 38284: /nmap

  2. Check out the version running on your system at present (it’ll be second line from the top, centre of the quoted example text):
    ‘less /usr/share/nmap/nmap-service-probes’
    “# $Id$ nmap-service-probe 37826 2020-05-12 kaliuser1”

  3. Save the present, existing version just in case something goes wrong (replace example 37826 number with number from step 2):
    ‘sudo mv /usr/share/nmap/nmap-service-probes /usr/share/nmap/nmap-service-probes-37826

  4. Move into the right directory and then get yourself the latest version of nmap:
    ‘cd /usr/share/nmap’
    ‘sudo wget

  5. Insert the version number into the newly created nmap-service-probes file so that you know which is which whenever you do this in the future (housekeeping is always important):
    ‘sudo vi nmap-service-probes’
    Hit ‘i’ to enter insert mode and navigate the cursor to the second line that starts with the text “# $Id$” and replace it with the following:
    “# $Id$ nmap-service-probe **37923 2020-05-12 kaliuser1”
    Alter the version number to be the one you found in step 1, change the date to the present, and the username to whichever one you’re using while updating. Once complete you can save and exit vi by hitting the escape key once, then typing “:wq”.

  6. Ping for a quick test, and if that works you can now run the first two enumeration nmap commands without issue.

Hope that helps someone else save a few hours, and sorry again for the long winded post (anticipating a stern warning from the mods :sweat_smile: )

Now - time to try out the actual challenge haha! :sunglasses: