NEF files show the raw sensor data, which is linear. It is quite common that the maximum intensity in a NEF file might be a small area of highlight, and the main body significantly less. The different colors also have different sesitivities. Typically NEF files have a overall green cast if viewed without any adjustments.
This is all normal and as expected. There is plenty of dynamic range information left in the NEF file, even if everything appears to be 2 stops or more underexposed at first glance. Usually the first step I have my software do is find the darkest and brightest spots, and set them to black and white. You should also measure your sensor with sunlight and any other repeatable lighting condition you commonly use. This allows you to find what gray is with each of these lighting conditions and have the software adjust automatically. For example gray in sunlight with my camera has a relative weighting of (.541, 1, .694), which will obviously look green without correction.
Many of my NEF files look just like what you show before correction. Again, this is all normal and as expected.
Added:
To clarify, here is a picture from my Nikon camera shown thru some of the steps of post-processing.
Here is the NEF file interpreted to RGB but otherwise mapped directly to the 8 bit intensity space of the JPG file:

As you can see, this is dark and green. This looks a lot like the left image in your top picture, for the same reason.
Here is this same image with the darkest area mapped to full black in the output file and the lightest to full white, while keeping within the color balance for sunlight I previously measured for this particular camera:

The colors make more sense, but the linear mapping is still unnatural since only a few small highlights are anywhere near full white.
This is now fixed by applying a non-linear mapping of the intensity without changing the input values that result in black and white. In other words, the input range taken from the original is still the same, but the in-between values are no longer mapped linearly to the output image. This used a logarithmic correction of 3 f-stops, which means the darkest parts were expanded 8x more into the output than the lightest parts. I also added a "brightness" correction of .3, which brings up the dark areas even more quickly while having less of a effect on the light areas than the logarithmic correction does.
Anyway, the exact math isn't the issue, but that a non-linear mapping that expands the dark range while compressing the light range should be expected.

Now that I'm seeing this image surrounded by a fairly light background on this web page, I think I probably should have used a logarithmic mapping of 3.5 or 4 instead of 3. Context of the final image matters. If the image will be viewed projected on a screen in a dark room, or on a monitor with dark surround, then what I have above is probably better.
Anyway, I'm not going to keep playing with this image since the point has been made regardless of additional tweaks you might want to make to it.