Add some small fixes to the MQAC local exploit

This PR piggybacks on to @zeroSteiner's great work on the MQAC local exploit.

* Add a check for `INVALID_HANDLE_VALUE` when attempting to open the device, as this is what is returned when the device doesn't exist (ie. when MSMQ is not installed).
* Make sure that we only run the exploit against targets that we support directly to make sure we don't BSOD machines (such as what happens with SP1/SP2).
* Add a call to `check` in the exploit code to cover all bases.

Minor fixes really, just to make sure that we don't lose boxes when running the sploit. Cheers!
I’m not sure invulnerable and XP belong in the same sentence ;)
You could also flip it and go with “Only Windows XP SP3 is affected” or something like that.

On Jul 24, 2014, at 6:25 PM, Jon Hart <notifications@github.com> wrote:

> In modules/exploits/windows/local/mqac_write.rb:
> 
> > @@ -117,6 +120,7 @@ def check
> >      when /windows xp.*service pack 3/i
> >        return Exploit::CheckCode::Appears
> >      when /windows xp/i
> > +      print_error("Incorrect version of Windows XP detected")
> nit, minor, but "incorrect" is incorrect :). Unsupported, Unaffected or Invulnerable are probably all better options.
> 
> —
> Reply to this email directly or view it on GitHub.
>