github.com Open in urlscan Pro
140.82.121.4  Public Scan

Submitted URL: https://info.rapid7.com/NDExLU5BSy05NzAAAAF_9OPz8xDJSMJkQVwBfrjz6ko8jLwZ2nCQJlrYhDL2h8fKCWuNN5FvhgZaM66lC0OvcL4qowRV6WJb...
Effective URL: https://github.com/rapid7/metasploit-framework/pull/15632?mkt_tok=NDExLU5BSy05NzAAAAF_9OPz86zYqV_pPilZjkVjTam176bgP...
Submission: On October 06 via api from US — Scanned from DE

Form analysis 44 forms found in the DOM

GET /rapid7/metasploit-framework/search

<form class="js-site-search-form" role="search" aria-label="Site" data-scope-type="Repository" data-scope-id="2293158" data-scoped-search-url="/rapid7/metasploit-framework/search" data-owner-scoped-search-url="/orgs/rapid7/search"
  data-unscoped-search-url="/search" action="/rapid7/metasploit-framework/search" accept-charset="UTF-8" method="get">
  <label class="form-control input-sm header-search-wrapper p-0 js-chromeless-input-container header-search-wrapper-jump-to position-relative d-flex flex-justify-between flex-items-center">
    <input type="text" class="form-control input-sm header-search-input jump-to-field js-jump-to-field js-site-search-focus js-site-search-field is-clearable" data-hotkey="s,/" name="q" data-test-selector="nav-search-input" placeholder="Search"
      data-unscoped-placeholder="Search GitHub" data-scoped-placeholder="Search" autocapitalize="off" role="combobox" aria-haspopup="listbox" aria-expanded="false" aria-autocomplete="list" aria-controls="jump-to-results" aria-label="Search"
      data-jump-to-suggestions-path="/_graphql/GetSuggestedNavigationDestinations" spellcheck="false" autocomplete="off">
    <input type="hidden" data-csrf="true" class="js-data-jump-to-suggestions-path-csrf" value="axk66q2b1BgPQgZbFzcIvLGsQwzG5eEuqHB14OtQBdOY8S4pQWOT/ZI0AbCi5PfGYojvh+L0I5EPTb0JN4WbwA==">
    <input type="hidden" class="js-site-search-type-field" name="type">
    <svg xmlns="http://www.w3.org/2000/svg" width="22" height="20" aria-hidden="true" class="mr-1 header-search-key-slash">
      <path fill="none" stroke="#979A9C" opacity=".4" d="M3.5.5h12c1.7 0 3 1.3 3 3v13c0 1.7-1.3 3-3 3h-12c-1.7 0-3-1.3-3-3v-13c0-1.7 1.3-3 3-3z"></path>
      <path fill="#979A9C" d="M11.8 6L8 15.1h-.9L10.8 6h1z"></path>
    </svg>
    <div class="Box position-absolute overflow-hidden d-none jump-to-suggestions js-jump-to-suggestions-container">
      <ul class="d-none js-jump-to-suggestions-template-container">
        <li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-suggestion" role="option">
          <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href="" data-item-type="suggestion">
    <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none">
      <svg title="Repository" aria-label="Repository" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo js-jump-to-octicon-repo d-none flex-shrink-0">
    <path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path>
</svg>
      <svg title="Project" aria-label="Project" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-project js-jump-to-octicon-project d-none flex-shrink-0">
    <path fill-rule="evenodd" d="M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z"></path>
</svg>
      <svg title="Search" aria-label="Search" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search js-jump-to-octicon-search d-none flex-shrink-0">
    <path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path>
</svg>
    </div>

    <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28">

    <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target">
    </div>

    <div class="border rounded-1 flex-shrink-0 color-bg-tertiary px-1 color-text-tertiary ml-1 f6 d-none js-jump-to-badge-search">
      <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this repository">
        In this repository
      </span>
      <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub">
        All GitHub
      </span>
      <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span>
    </div>

    <div aria-hidden="true" class="border rounded-1 flex-shrink-0 color-bg-tertiary px-1 color-text-tertiary ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump">
      Jump to
      <span class="d-inline-block ml-1 v-align-middle">↵</span>
    </div>
  </a>
        </li>
      </ul>
      <ul class="d-none js-jump-to-no-results-template-container">
        <li class="d-flex flex-justify-center flex-items-center f5 d-none js-jump-to-suggestion p-2">
          <span class="color-text-secondary">No suggested jump to results</span>
        </li>
      </ul>
      <ul id="jump-to-results" role="listbox" class="p-0 m-0 js-navigation-container jump-to-suggestions-results-container js-jump-to-suggestions-results-container">
        <li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-scoped-search d-none" role="option">
          <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href="" data-item-type="scoped_search">
    <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none">
      <svg title="Repository" aria-label="Repository" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo js-jump-to-octicon-repo d-none flex-shrink-0">
    <path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path>
</svg>
      <svg title="Project" aria-label="Project" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-project js-jump-to-octicon-project d-none flex-shrink-0">
    <path fill-rule="evenodd" d="M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z"></path>
</svg>
      <svg title="Search" aria-label="Search" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search js-jump-to-octicon-search d-none flex-shrink-0">
    <path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path>
</svg>
    </div>

    <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28">

    <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target">
    </div>

    <div class="border rounded-1 flex-shrink-0 color-bg-tertiary px-1 color-text-tertiary ml-1 f6 d-none js-jump-to-badge-search">
      <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this repository">
        In this repository
      </span>
      <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub">
        All GitHub
      </span>
      <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span>
    </div>

    <div aria-hidden="true" class="border rounded-1 flex-shrink-0 color-bg-tertiary px-1 color-text-tertiary ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump">
      Jump to
      <span class="d-inline-block ml-1 v-align-middle">↵</span>
    </div>
  </a>
        </li>
        <li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-owner-scoped-search d-none" role="option">
          <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href="" data-item-type="owner_scoped_search">
    <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none">
      <svg title="Repository" aria-label="Repository" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo js-jump-to-octicon-repo d-none flex-shrink-0">
    <path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path>
</svg>
      <svg title="Project" aria-label="Project" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-project js-jump-to-octicon-project d-none flex-shrink-0">
    <path fill-rule="evenodd" d="M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z"></path>
</svg>
      <svg title="Search" aria-label="Search" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search js-jump-to-octicon-search d-none flex-shrink-0">
    <path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path>
</svg>
    </div>

    <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28">

    <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target">
    </div>

    <div class="border rounded-1 flex-shrink-0 color-bg-tertiary px-1 color-text-tertiary ml-1 f6 d-none js-jump-to-badge-search">
      <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this organization">
        In this organization
      </span>
      <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub">
        All GitHub
      </span>
      <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span>
    </div>

    <div aria-hidden="true" class="border rounded-1 flex-shrink-0 color-bg-tertiary px-1 color-text-tertiary ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump">
      Jump to
      <span class="d-inline-block ml-1 v-align-middle">↵</span>
    </div>
  </a>
        </li>
        <li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-global-search d-none" role="option">
          <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href="" data-item-type="global_search">
    <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none">
      <svg title="Repository" aria-label="Repository" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo js-jump-to-octicon-repo d-none flex-shrink-0">
    <path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path>
</svg>
      <svg title="Project" aria-label="Project" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-project js-jump-to-octicon-project d-none flex-shrink-0">
    <path fill-rule="evenodd" d="M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z"></path>
</svg>
      <svg title="Search" aria-label="Search" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search js-jump-to-octicon-search d-none flex-shrink-0">
    <path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path>
</svg>
    </div>

    <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28">

    <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target">
    </div>

    <div class="border rounded-1 flex-shrink-0 color-bg-tertiary px-1 color-text-tertiary ml-1 f6 d-none js-jump-to-badge-search">
      <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this repository">
        In this repository
      </span>
      <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub">
        All GitHub
      </span>
      <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span>
    </div>

    <div aria-hidden="true" class="border rounded-1 flex-shrink-0 color-bg-tertiary px-1 color-text-tertiary ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump">
      Jump to
      <span class="d-inline-block ml-1 v-align-middle">↵</span>
    </div>
  </a>
        </li>
      </ul>
    </div>
  </label>
</form>

POST /join?return_to=%2Frapid7%2Fmetasploit-framework%2Fissues%2Fnew

<form class="js-signup-form" autocomplete="off" action="/join?return_to=%2Frapid7%2Fmetasploit-framework%2Fissues%2Fnew" accept-charset="UTF-8" method="post"><input type="hidden" data-csrf="true" name="authenticity_token"
    value="VbpupevcD1Q+jdCWir6+mBDmhZVa8Bod8cnD3dtdBV9yYbygViY7/5W2GkfNqi6/I67ZwfDBjo796Ub2A+4c6w=="> <auto-check src="/signup_check/username">
    <dl class="form-group">
      <dt class="input-label"><label name="user[login]" autocapitalize="off" autofocus="autofocus" for="user_login_issues">Pick a username</label></dt>
      <dd><input name="user[login]" autocapitalize="off" autofocus="autofocus" class="form-control" type="text" id="user_login_issues" autocomplete="off" spellcheck="false"></dd>
    </dl>
    <input type="hidden" data-csrf="true" value="yuXCe0qn9Bt2OnGvhtrh3TSdhcs94Xu9uBFAngSxhB3aeVaHohXpYcaOpvFQzchyquQkNRUXZSYXd6jZ/rSl8Q==">
  </auto-check>
  <auto-check src="/signup_check/email">
    <dl class="form-group">
      <dt class="input-label"><label name="user[email]" autocapitalize="off" for="user_email_issues">Email Address</label></dt>
      <dd><input name="user[email]" autocapitalize="off" class="form-control" type="text" id="user_email_issues" autocomplete="off" spellcheck="false"></dd>
    </dl>
    <input type="hidden" data-csrf="true" value="oN9N0iX9HGQi5ZUnL/Tjm4+f/gv1inXzOWwEGFFoAzZPO8CheuuysJNTr7JhxKZGz+6zhv5tzFYdOf0mAmr3Sg==">
  </auto-check>
  <auto-check src="/users/password">
    <dl class="form-group">
      <dt class="input-label"><label name="user[password]" for="user_password_issues">Password</label></dt>
      <dd><input name="user[password]" class="form-control" type="password" id="user_password_issues" autocomplete="off" spellcheck="false"></dd>
    </dl><input type="hidden" data-csrf="true" value="aZvp5Zpii1QHX6GOPna8OfDIpYP16rwgUyVUybDcx89wG7c0DOHTc4DfkUhpqowKyAkgB7wNJeun1BsbaGqPDg==">
  </auto-check>
  <input type="hidden" name="source" class="js-signup-source" value="modal-issues">
  <input class="form-control" type="text" name="required_field_f214" hidden="hidden">
  <input class="form-control" type="hidden" name="timestamp" value="1633534210090">
  <input class="form-control" type="hidden" name="timestamp_secret" value="c1c01096a98e23ed4cab942e110d06867ebd278aa338d03842464ee68ed931ec">
  <button data-ga-click="(Logged out) New issue modal, clicked Sign up, text:sign-up" type="submit" data-view-component="true" class="btn-primary btn btn-block mt-2"> Sign up for GitHub </button>
</form>

POST /rapid7/metasploit-framework/reactions

<form class="js-pick-reaction" action="/rapid7/metasploit-framework/reactions" accept-charset="UTF-8" method="post"><input type="hidden" name="_method" value="put" autocomplete="off"><input type="hidden" data-csrf="true" name="authenticity_token"
    value="tBxdjiI7nOXLtZXkHp9F2ho+YUPg0v6mrLHyVXqLFvkS3qOn2BEylwF0lovusefuJBrNOLSHSyUhH9KE4hAjRA==">
  <input type="hidden" name="input[subjectId]" value="MDExOlB1bGxSZXF1ZXN0NzI0MjAxODAy">
  <div class="comment-reactions-options">
    <button disabled="" class="
    btn-link
    tooltipped
    tooltipped-multiline
    d-flex
    flex-items-baseline
    social-reaction-summary-item
      color-text-secondary
    reaction-summary-item tooltipped-se" style="border-radius:100px;font-size:12px;" name="input[content]" type="submit" value="THUMBS_UP react" aria-label="bcoles reacted with thumbs up emoji" data-button-index-position="0"
      data-reaction-content="+1">
      <g-emoji alias="thumbs up" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f44d.png" class="social-button-emoji">👍</g-emoji>
      <span>1</span>
    </button>
    <button disabled="" class="
    btn-link
    tooltipped
    tooltipped-multiline
    d-flex
    flex-items-baseline
    social-reaction-summary-item
      color-text-secondary
    reaction-summary-item tooltipped-s" style="border-radius:100px;font-size:12px;" name="input[content]" type="submit" value="HOORAY react" aria-label="bcoles, zeroSteiner, and adfoster-r7 reacted with hooray emoji" data-button-index-position="1"
      data-reaction-content="tada">
      <g-emoji alias="hooray" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f389.png" class="social-button-emoji">🎉</g-emoji>
      <span>3</span>
    </button>
  </div>
</form>

POST /rapid7/metasploit-framework/issues/15632

<form class="js-comment-update" id="issue-984806534-edit-form" action="/rapid7/metasploit-framework/issues/15632" accept-charset="UTF-8" method="post"><input type="hidden" name="_method" value="put" autocomplete="off"><input type="hidden"
    data-csrf="true" name="authenticity_token" value="O7O8rmgL2/QTHwGL0Tf8bih7qy+tS8rK7Fez4of9TVnlVzbyQlDl7OylTCceBK5lrLQL7pbxZqUNKGCXDvUakg=="></form>

POST /rapid7/metasploit-framework/issue_comments/910024798

<form class="js-comment-update" id="issuecomment-910024798-edit-form" action="/rapid7/metasploit-framework/issue_comments/910024798" accept-charset="UTF-8" method="post"><input type="hidden" name="_method" value="put" autocomplete="off"><input
    type="hidden" data-csrf="true" name="authenticity_token" value="Lwv09a9rIdgwDl0TXQRHRKvdLIdmWa5W37eQGeehA9JOd5oydfvcbqmWDcWhOyEfCuEaFGOwT1wZsGpl8L41HQ==">
  <include-fragment loading="lazy" src="/rapid7/metasploit-framework/issue_comments/910024798/edit_form?textarea_id=issuecomment-910024798-body&amp;comment_context=" class="previewable-comment-form js-comment-edit-form-deferred-include-fragment">
    <p class="text-center mt-3" data-hide-on-error="">
      <svg aria-label="Loading..." style="box-sizing: content-box; color: var(--color-icon-primary);" width="32" height="32" viewBox="0 0 16 16" fill="none" data-view-component="true" class="anim-rotate">
        <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke"></circle>
        <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke"></path>
      </svg>
    </p>
    <p class="ml-1 mb-2 mt-2" data-show-on-error="" hidden="">
      <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert">
        <path fill-rule="evenodd"
          d="M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z">
        </path>
      </svg> Sorry, something went wrong.
    </p>
  </include-fragment>
</form>

POST /rapid7/metasploit-framework/issue_comments/913687490

<form class="js-comment-update" id="issuecomment-913687490-edit-form" action="/rapid7/metasploit-framework/issue_comments/913687490" accept-charset="UTF-8" method="post"><input type="hidden" name="_method" value="put" autocomplete="off"><input
    type="hidden" data-csrf="true" name="authenticity_token" value="c/TFpl3OEXd+f8MXbIamXpVjVLh0VLbsY8CgK7RpIIGwJsikETUV7nBdrNGbmDFKIGh04OpFuzRB0j5n620EFQ==">
  <include-fragment loading="eager" src="/rapid7/metasploit-framework/issue_comments/913687490/edit_form?textarea_id=issuecomment-913687490-body&amp;comment_context="
    class="previewable-comment-form js-comment-edit-form-deferred-include-fragment is-error">
    <p class="text-center mt-3" data-hide-on-error="" hidden="">
      <svg aria-label="Loading..." style="box-sizing: content-box; color: var(--color-icon-primary);" width="32" height="32" viewBox="0 0 16 16" fill="none" data-view-component="true" class="anim-rotate">
        <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke"></circle>
        <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke"></path>
      </svg>
    </p>
    <p class="ml-1 mb-2 mt-2" data-show-on-error="">
      <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert">
        <path fill-rule="evenodd"
          d="M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z">
        </path>
      </svg> Sorry, something went wrong.
    </p>
  </include-fragment>
</form>

POST /rapid7/metasploit-framework/issue_comments/913692098

<form class="js-comment-update" id="issuecomment-913692098-edit-form" action="/rapid7/metasploit-framework/issue_comments/913692098" accept-charset="UTF-8" method="post"><input type="hidden" name="_method" value="put" autocomplete="off"><input
    type="hidden" data-csrf="true" name="authenticity_token" value="SRqu9+I/hO2iBIaLnvljZEd+0IhylRDgEyGqNB8tUxgkUNiE0HUFSP6zJ4iJFGipn8AhMqliuBCgDJuvGx6r0w==">
  <include-fragment loading="lazy" src="/rapid7/metasploit-framework/issue_comments/913692098/edit_form?textarea_id=issuecomment-913692098-body&amp;comment_context=" class="previewable-comment-form js-comment-edit-form-deferred-include-fragment">
    <p class="text-center mt-3" data-hide-on-error="">
      <svg aria-label="Loading..." style="box-sizing: content-box; color: var(--color-icon-primary);" width="32" height="32" viewBox="0 0 16 16" fill="none" data-view-component="true" class="anim-rotate">
        <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke"></circle>
        <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke"></path>
      </svg>
    </p>
    <p class="ml-1 mb-2 mt-2" data-show-on-error="" hidden="">
      <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert">
        <path fill-rule="evenodd"
          d="M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z">
        </path>
      </svg> Sorry, something went wrong.
    </p>
  </include-fragment>
</form>

POST /rapid7/metasploit-framework/pull/15632/review_comment/703542087

<form class="js-comment-update" data-type="json" action="/rapid7/metasploit-framework/pull/15632/review_comment/703542087" accept-charset="UTF-8" method="post"><input type="hidden" name="_method" value="put" autocomplete="off"><input type="hidden"
    name="authenticity_token" value="mBFnzAC4iUNMPx+6GlZKFAYSlR8ZwErw050w9mfzRP8xj50J35FHjgYdEsl6uHi3RuqAKhioqR59JDpOJS8Jbg==" autocomplete="off">
  <include-fragment loading="lazy" src="/rapid7/metasploit-framework/pull/15632/review_comment/703542087/edit_form?textarea_id=discussion_r703542087-body&amp;comment_context=discussion"
    class="previewable-comment-form js-comment-edit-form-deferred-include-fragment">
    <p class="text-center mt-3" data-hide-on-error="">
      <svg aria-label="Loading..." style="box-sizing: content-box; color: var(--color-icon-primary);" width="32" height="32" viewBox="0 0 16 16" fill="none" data-view-component="true" class="anim-rotate">
        <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke"></circle>
        <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke"></path>
      </svg>
    </p>
    <p class="ml-1 mb-2 mt-2" data-show-on-error="" hidden="">
      <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert">
        <path fill-rule="evenodd"
          d="M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z">
        </path>
      </svg> Sorry, something went wrong.
    </p>
  </include-fragment>
</form>

POST /rapid7/metasploit-framework/reactions

<form class="js-pick-reaction" action="/rapid7/metasploit-framework/reactions" accept-charset="UTF-8" method="post"><input type="hidden" name="_method" value="put" autocomplete="off"><input type="hidden" name="authenticity_token"
    value="2BHqUE6KL4X/2BJ03utE0x0jVNqt3KwSwhJWdvwlNQJH3sz++2uomWk5jW05QAampP44BPsC8IabSqPLXxJjKA==" autocomplete="off">
  <input type="hidden" name="input[subjectId]" value="MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDcwMzU0MjA4Nw==">
  <div class="comment-reactions-options js-comment-reactions-options">
  </div>
</form>

POST /rapid7/metasploit-framework/pull/15632/review_comment/703893154

<form class="js-comment-update" data-type="json" action="/rapid7/metasploit-framework/pull/15632/review_comment/703893154" accept-charset="UTF-8" method="post"><input type="hidden" name="_method" value="put" autocomplete="off"><input type="hidden"
    name="authenticity_token" value="r8KPyzchx30u9Qh7TD2CIJtIhHQWHEGbZFt58zdDvr55KrBcnvvgJGFYOXvGduGsQjqYHCOSIoh5IFwuS6cUEg==" autocomplete="off">
  <include-fragment loading="lazy" src="/rapid7/metasploit-framework/pull/15632/review_comment/703893154/edit_form?textarea_id=discussion_r703893154-body&amp;comment_context=discussion"
    class="previewable-comment-form js-comment-edit-form-deferred-include-fragment">
    <p class="text-center mt-3" data-hide-on-error="">
      <svg aria-label="Loading..." style="box-sizing: content-box; color: var(--color-icon-primary);" width="32" height="32" viewBox="0 0 16 16" fill="none" data-view-component="true" class="anim-rotate">
        <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke"></circle>
        <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke"></path>
      </svg>
    </p>
    <p class="ml-1 mb-2 mt-2" data-show-on-error="" hidden="">
      <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert">
        <path fill-rule="evenodd"
          d="M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z">
        </path>
      </svg> Sorry, something went wrong.
    </p>
  </include-fragment>
</form>

POST /rapid7/metasploit-framework/reactions

<form class="js-pick-reaction" action="/rapid7/metasploit-framework/reactions" accept-charset="UTF-8" method="post"><input type="hidden" name="_method" value="put" autocomplete="off"><input type="hidden" name="authenticity_token"
    value="eysQSJ0wzxJ7JfF5UQT5VYYI+7i9JCqXnp+kw7k1APDk5DbmKNFIDu3EbmC2r7sgP9WXZuv6dgPHx1F+GgJW2g==" autocomplete="off">
  <input type="hidden" name="input[subjectId]" value="MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDcwMzg5MzE1NA==">
  <div class="comment-reactions-options js-comment-reactions-options">
  </div>
</form>

POST /rapid7/metasploit-framework/pull/15632/review_comment/703561677

<form class="js-comment-update" data-type="json" action="/rapid7/metasploit-framework/pull/15632/review_comment/703561677" accept-charset="UTF-8" method="post"><input type="hidden" name="_method" value="put" autocomplete="off"><input type="hidden"
    name="authenticity_token" value="lBwXwWSBxj44mVucu9H79AgDp5CNupQSdiDAZSOf0afQuUMq7H3lvCjZM0vSvVr6+tJmBbhqfSdSgxbET+ELAA==" autocomplete="off">
  <include-fragment loading="lazy" src="/rapid7/metasploit-framework/pull/15632/review_comment/703561677/edit_form?textarea_id=discussion_r703561677-body&amp;comment_context=discussion"
    class="previewable-comment-form js-comment-edit-form-deferred-include-fragment">
    <p class="text-center mt-3" data-hide-on-error="">
      <svg aria-label="Loading..." style="box-sizing: content-box; color: var(--color-icon-primary);" width="32" height="32" viewBox="0 0 16 16" fill="none" data-view-component="true" class="anim-rotate">
        <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke"></circle>
        <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke"></path>
      </svg>
    </p>
    <p class="ml-1 mb-2 mt-2" data-show-on-error="" hidden="">
      <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert">
        <path fill-rule="evenodd"
          d="M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z">
        </path>
      </svg> Sorry, something went wrong.
    </p>
  </include-fragment>
</form>

POST /rapid7/metasploit-framework/reactions

<form class="js-pick-reaction" action="/rapid7/metasploit-framework/reactions" accept-charset="UTF-8" method="post"><input type="hidden" name="_method" value="put" autocomplete="off"><input type="hidden" name="authenticity_token"
    value="sGbgQWuNqt1QYeXJqyrczTvRG2lb9nskXaRnHFobN64vqcbv3mwtwcaAetBMgZ64ggx3tw0oJ7AE/JKh+SxhhA==" autocomplete="off">
  <input type="hidden" name="input[subjectId]" value="MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDcwMzU2MTY3Nw==">
  <div class="comment-reactions-options js-comment-reactions-options">
  </div>
</form>

GET /_render_node/MDExOlB1bGxSZXF1ZXN0NzI0MjAxODAy/timeline/more_items?variables%5Bafter%5D=Y3Vyc29yOnYyOpPPAAABe8FsSygFqTc0ODI1OTg4MA%3D%3D&variables%5Bbefore%5D=Y3Vyc29yOnYyOpPPAAABe8rXxwAFqTc1MDM3NTU1MA%3D%3D&variables%5BdeferCommitBadges%5D=false&variables%5BdeferStatusCheckRollups%5D=false&variables%5BdeferredCommentActions%5D=false&variables%5Bfirst%5D=60&variables%5BhasFocusedReviewComment%5D=false&variables%5BhasFocusedReviewThread%5D=false

<form class="ajax-pagination-form js-ajax-pagination pagination-loader-container mt-4 mb-4 ml-0 text-center"
  action="/_render_node/MDExOlB1bGxSZXF1ZXN0NzI0MjAxODAy/timeline/more_items?variables%5Bafter%5D=Y3Vyc29yOnYyOpPPAAABe8FsSygFqTc0ODI1OTg4MA%3D%3D&amp;variables%5Bbefore%5D=Y3Vyc29yOnYyOpPPAAABe8rXxwAFqTc1MDM3NTU1MA%3D%3D&amp;variables%5BdeferCommitBadges%5D=false&amp;variables%5BdeferStatusCheckRollups%5D=false&amp;variables%5BdeferredCommentActions%5D=false&amp;variables%5Bfirst%5D=60&amp;variables%5BhasFocusedReviewComment%5D=false&amp;variables%5BhasFocusedReviewThread%5D=false"
  accept-charset="UTF-8" method="get">
  <div class="discussion-item-header pt-0">
    <div class="Box d-inline-flex flex-column">
      <button type="submit" class="color-text-secondary pt-2 pb-0 px-4 color-bg-primary border-0"> 11 hidden items </button>
      <button type="submit" class="ajax-pagination-btn no-underline pb-1 pt-0 px-4 mt-0 mb-1 color-bg-primary border-0" data-disable-with="Loading…"> Load more… </button>
    </div>
  </div>
</form>

POST /rapid7/metasploit-framework/pull/15632/review_comment/705364825

<form class="js-comment-update" data-type="json" action="/rapid7/metasploit-framework/pull/15632/review_comment/705364825" accept-charset="UTF-8" method="post"><input type="hidden" name="_method" value="put" autocomplete="off"><input type="hidden"
    name="authenticity_token" value="Xsi4YHPiR0VpfrrOf+JyVaTZqqerEayIiW23qy262MtSaWjZv9oGYSjJeTIGLZJLk20cedPtT2mJZQeWU5AP7A==" autocomplete="off">
  <include-fragment loading="lazy" src="/rapid7/metasploit-framework/pull/15632/review_comment/705364825/edit_form?textarea_id=discussion_r705364825-body&amp;comment_context=discussion"
    class="previewable-comment-form js-comment-edit-form-deferred-include-fragment">
    <p class="text-center mt-3" data-hide-on-error="">
      <svg aria-label="Loading..." style="box-sizing: content-box; color: var(--color-icon-primary);" width="32" height="32" viewBox="0 0 16 16" fill="none" data-view-component="true" class="anim-rotate">
        <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke"></circle>
        <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke"></path>
      </svg>
    </p>
    <p class="ml-1 mb-2 mt-2" data-show-on-error="" hidden="">
      <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert">
        <path fill-rule="evenodd"
          d="M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z">
        </path>
      </svg> Sorry, something went wrong.
    </p>
  </include-fragment>
</form>

POST /rapid7/metasploit-framework/reactions

<form class="js-pick-reaction" action="/rapid7/metasploit-framework/reactions" accept-charset="UTF-8" method="post"><input type="hidden" name="_method" value="put" autocomplete="off"><input type="hidden" name="authenticity_token"
    value="fpxUs8oqlH4/0ca5Btxbn8c6Vh4Cbw3ujuAACqhCWU3hU3Idf8sTYqkwWaDhdxnqfuc6wFSxUXrXuPW3C3UPZw==" autocomplete="off">
  <input type="hidden" name="input[subjectId]" value="MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDcwNTM2NDgyNQ==">
  <div class="comment-reactions-options js-comment-reactions-options">
  </div>
</form>

POST /rapid7/metasploit-framework/pull/15632/review_comment/706163487

<form class="js-comment-update" data-type="json" action="/rapid7/metasploit-framework/pull/15632/review_comment/706163487" accept-charset="UTF-8" method="post"><input type="hidden" name="_method" value="put" autocomplete="off"><input type="hidden"
    name="authenticity_token" value="Bz/WhBliajFysv5yEoz6LMG47b2Ahvzt7Vp+A13nz2DGSacOxGF5enem60GaaUqG5ZSnQtPnx/c59MRsRpdZ3A==" autocomplete="off">
  <include-fragment loading="lazy" src="/rapid7/metasploit-framework/pull/15632/review_comment/706163487/edit_form?textarea_id=discussion_r706163487-body&amp;comment_context=discussion"
    class="previewable-comment-form js-comment-edit-form-deferred-include-fragment">
    <p class="text-center mt-3" data-hide-on-error="">
      <svg aria-label="Loading..." style="box-sizing: content-box; color: var(--color-icon-primary);" width="32" height="32" viewBox="0 0 16 16" fill="none" data-view-component="true" class="anim-rotate">
        <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke"></circle>
        <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke"></path>
      </svg>
    </p>
    <p class="ml-1 mb-2 mt-2" data-show-on-error="" hidden="">
      <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert">
        <path fill-rule="evenodd"
          d="M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z">
        </path>
      </svg> Sorry, something went wrong.
    </p>
  </include-fragment>
</form>

POST /rapid7/metasploit-framework/reactions

<form class="js-pick-reaction" action="/rapid7/metasploit-framework/reactions" accept-charset="UTF-8" method="post"><input type="hidden" name="_method" value="put" autocomplete="off"><input type="hidden" name="authenticity_token"
    value="kcqxoY6STUsyLEf7QbUtzd1e9fNhYE3aD6yObGkSVmAOBZcPO3PKV6TN2OKmHm+4ZIOZLTe+EU5W9HvRyiUASg==" autocomplete="off">
  <input type="hidden" name="input[subjectId]" value="MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDcwNjE2MzQ4Nw==">
  <div class="comment-reactions-options js-comment-reactions-options">
  </div>
</form>

POST /rapid7/metasploit-framework/pull/15632/review_comment/705366314

<form class="js-comment-update" data-type="json" action="/rapid7/metasploit-framework/pull/15632/review_comment/705366314" accept-charset="UTF-8" method="post"><input type="hidden" name="_method" value="put" autocomplete="off"><input type="hidden"
    name="authenticity_token" value="3H3wy5ypgOOfEIFKDkxHDaV4GSUv9axzEQ8zSkDFh71ftd+G1CW9YmJAaUN7WelXhgWTnxOULbyM6xSyZy0bRg==" autocomplete="off">
  <include-fragment loading="lazy" src="/rapid7/metasploit-framework/pull/15632/review_comment/705366314/edit_form?textarea_id=discussion_r705366314-body&amp;comment_context=discussion"
    class="previewable-comment-form js-comment-edit-form-deferred-include-fragment">
    <p class="text-center mt-3" data-hide-on-error="">
      <svg aria-label="Loading..." style="box-sizing: content-box; color: var(--color-icon-primary);" width="32" height="32" viewBox="0 0 16 16" fill="none" data-view-component="true" class="anim-rotate">
        <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke"></circle>
        <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke"></path>
      </svg>
    </p>
    <p class="ml-1 mb-2 mt-2" data-show-on-error="" hidden="">
      <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert">
        <path fill-rule="evenodd"
          d="M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z">
        </path>
      </svg> Sorry, something went wrong.
    </p>
  </include-fragment>
</form>

POST /rapid7/metasploit-framework/reactions

<form class="js-pick-reaction" action="/rapid7/metasploit-framework/reactions" accept-charset="UTF-8" method="post"><input type="hidden" name="_method" value="put" autocomplete="off"><input type="hidden" name="authenticity_token"
    value="juoCbtc3wCtYg3O1KNkKl34eO3WnnXtx49olL16empQRJSTAYtZHN85i7KzPckjix8NXq/FDJ+W6gtCS/anMvg==" autocomplete="off">
  <input type="hidden" name="input[subjectId]" value="MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDcwNTM2NjMxNA==">
  <div class="comment-reactions-options js-comment-reactions-options">
  </div>
</form>

POST /rapid7/metasploit-framework/pull/15632/review_comment/706162060

<form class="js-comment-update" data-type="json" action="/rapid7/metasploit-framework/pull/15632/review_comment/706162060" accept-charset="UTF-8" method="post"><input type="hidden" name="_method" value="put" autocomplete="off"><input type="hidden"
    name="authenticity_token" value="THTRsdJTGDUZ5kWr1d1pT7PjUuvRR5F5nY1Y/zy7V71G7gYgJBq9VPK9QDyfiwoE9ZClNnqArqc7bknOnMcKQA==" autocomplete="off">
  <include-fragment loading="lazy" src="/rapid7/metasploit-framework/pull/15632/review_comment/706162060/edit_form?textarea_id=discussion_r706162060-body&amp;comment_context=discussion"
    class="previewable-comment-form js-comment-edit-form-deferred-include-fragment">
    <p class="text-center mt-3" data-hide-on-error="">
      <svg aria-label="Loading..." style="box-sizing: content-box; color: var(--color-icon-primary);" width="32" height="32" viewBox="0 0 16 16" fill="none" data-view-component="true" class="anim-rotate">
        <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke"></circle>
        <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke"></path>
      </svg>
    </p>
    <p class="ml-1 mb-2 mt-2" data-show-on-error="" hidden="">
      <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert">
        <path fill-rule="evenodd"
          d="M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z">
        </path>
      </svg> Sorry, something went wrong.
    </p>
  </include-fragment>
</form>

POST /rapid7/metasploit-framework/reactions

<form class="js-pick-reaction" action="/rapid7/metasploit-framework/reactions" accept-charset="UTF-8" method="post"><input type="hidden" name="_method" value="put" autocomplete="off"><input type="hidden" name="authenticity_token"
    value="Jls3LcNjiKQlQ6vA1kgxpR+3RtDWVXJ9QCGN1Rk/gra5lBGDdoIPuLOiNNkx43PQpmoqDoCLLukZeXhougjUnA==" autocomplete="off">
  <input type="hidden" name="input[subjectId]" value="MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDcwNjE2MjA2MA==">
  <div class="comment-reactions-options js-comment-reactions-options">
  </div>
</form>

POST /rapid7/metasploit-framework/pull/15632/review_comment/705370291

<form class="js-comment-update" data-type="json" action="/rapid7/metasploit-framework/pull/15632/review_comment/705370291" accept-charset="UTF-8" method="post"><input type="hidden" name="_method" value="put" autocomplete="off"><input type="hidden"
    name="authenticity_token" value="z6u5dwFk7/JW5GSwLGccxMhPOESSjhwwIzgc1aQJtZRxd1NPgs2LeKXAnoCZsAc3NKdwp6RRC/reKcjfMJxPvQ==" autocomplete="off">
  <include-fragment loading="lazy" src="/rapid7/metasploit-framework/pull/15632/review_comment/705370291/edit_form?textarea_id=discussion_r705370291-body&amp;comment_context=discussion"
    class="previewable-comment-form js-comment-edit-form-deferred-include-fragment">
    <p class="text-center mt-3" data-hide-on-error="">
      <svg aria-label="Loading..." style="box-sizing: content-box; color: var(--color-icon-primary);" width="32" height="32" viewBox="0 0 16 16" fill="none" data-view-component="true" class="anim-rotate">
        <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke"></circle>
        <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke"></path>
      </svg>
    </p>
    <p class="ml-1 mb-2 mt-2" data-show-on-error="" hidden="">
      <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert">
        <path fill-rule="evenodd"
          d="M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z">
        </path>
      </svg> Sorry, something went wrong.
    </p>
  </include-fragment>
</form>

POST /rapid7/metasploit-framework/reactions

<form class="js-pick-reaction" action="/rapid7/metasploit-framework/reactions" accept-charset="UTF-8" method="post"><input type="hidden" name="_method" value="put" autocomplete="off"><input type="hidden" name="authenticity_token"
    value="tnTDTmmOph/pGi5OPhhvRZEclX9kJbLmvDegqkYaanspu+Xg3G8hA3/7sVfZsy0wKMH5oTL77nLlb1UX5S08UQ==" autocomplete="off">
  <input type="hidden" name="input[subjectId]" value="MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDcwNTM3MDI5MQ==">
  <div class="comment-reactions-options js-comment-reactions-options">
  </div>
</form>

POST /rapid7/metasploit-framework/pull/15632/review_comment/706164456

<form class="js-comment-update" data-type="json" action="/rapid7/metasploit-framework/pull/15632/review_comment/706164456" accept-charset="UTF-8" method="post"><input type="hidden" name="_method" value="put" autocomplete="off"><input type="hidden"
    name="authenticity_token" value="Xf5XMkI91wN4u7OcnzcQ3iiN9zC85SeXeO/1ax6irCr1ALDeYzrbCtilsVUtmjIVgmOvHKI4tSstO/RJiOOYZA==" autocomplete="off">
  <include-fragment loading="lazy" src="/rapid7/metasploit-framework/pull/15632/review_comment/706164456/edit_form?textarea_id=discussion_r706164456-body&amp;comment_context=discussion"
    class="previewable-comment-form js-comment-edit-form-deferred-include-fragment">
    <p class="text-center mt-3" data-hide-on-error="">
      <svg aria-label="Loading..." style="box-sizing: content-box; color: var(--color-icon-primary);" width="32" height="32" viewBox="0 0 16 16" fill="none" data-view-component="true" class="anim-rotate">
        <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke"></circle>
        <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke"></path>
      </svg>
    </p>
    <p class="ml-1 mb-2 mt-2" data-show-on-error="" hidden="">
      <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert">
        <path fill-rule="evenodd"
          d="M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z">
        </path>
      </svg> Sorry, something went wrong.
    </p>
  </include-fragment>
</form>

POST /rapid7/metasploit-framework/reactions

<form class="js-pick-reaction" action="/rapid7/metasploit-framework/reactions" accept-charset="UTF-8" method="post"><input type="hidden" name="_method" value="put" autocomplete="off"><input type="hidden" name="authenticity_token"
    value="a9WeA8rmP1oSrUMf5lH/47rpOEqXa2oEFzIbawejupT0Gritfwe4RoRM3AYB+r2WAzRUlMG1NpBOau7WpJTsvg==" autocomplete="off">
  <input type="hidden" name="input[subjectId]" value="MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDcwNjE2NDQ1Ng==">
  <div class="comment-reactions-options js-comment-reactions-options">
  </div>
</form>

POST /rapid7/metasploit-framework/pull/15632/review_comment/705376978

<form class="js-comment-update" data-type="json" action="/rapid7/metasploit-framework/pull/15632/review_comment/705376978" accept-charset="UTF-8" method="post"><input type="hidden" name="_method" value="put" autocomplete="off"><input type="hidden"
    name="authenticity_token" value="bLA+W+HbO3CAtOMoDBBzFtfAbXYk2hEti8r6JM0zHx+z/8D1mtMVUfhx8hc/2hpbFtqJ27Oa72p9gtrBJpvQ4g==" autocomplete="off">
  <include-fragment loading="lazy" src="/rapid7/metasploit-framework/pull/15632/review_comment/705376978/edit_form?textarea_id=discussion_r705376978-body&amp;comment_context=discussion"
    class="previewable-comment-form js-comment-edit-form-deferred-include-fragment">
    <p class="text-center mt-3" data-hide-on-error="">
      <svg aria-label="Loading..." style="box-sizing: content-box; color: var(--color-icon-primary);" width="32" height="32" viewBox="0 0 16 16" fill="none" data-view-component="true" class="anim-rotate">
        <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke"></circle>
        <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke"></path>
      </svg>
    </p>
    <p class="ml-1 mb-2 mt-2" data-show-on-error="" hidden="">
      <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert">
        <path fill-rule="evenodd"
          d="M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z">
        </path>
      </svg> Sorry, something went wrong.
    </p>
  </include-fragment>
</form>

POST /rapid7/metasploit-framework/reactions

<form class="js-pick-reaction" action="/rapid7/metasploit-framework/reactions" accept-charset="UTF-8" method="post"><input type="hidden" name="_method" value="put" autocomplete="off"><input type="hidden" name="authenticity_token"
    value="U/GhYTrrZWa1uBBMP0+baDb5HS5sET2sCYQk21Nl0l7MPofPjwrieiNZj1XY5NkdjyRx8DrPYThQ3NFm8FKEdA==" autocomplete="off">
  <input type="hidden" name="input[subjectId]" value="MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDcwNTM3Njk3OA==">
  <div class="comment-reactions-options js-comment-reactions-options">
  </div>
</form>

POST /rapid7/metasploit-framework/issue_comments/916139445

<form class="js-comment-update" id="issuecomment-916139445-edit-form" action="/rapid7/metasploit-framework/issue_comments/916139445" accept-charset="UTF-8" method="post"><input type="hidden" name="_method" value="put" autocomplete="off"><input
    type="hidden" data-csrf="true" name="authenticity_token" value="s5oKu1TI+8wYR9BpdO+Al/YjnNaitaYLTEl0tFkCq6HhbjnPbeneD+nBIulCZD7VDrs+O2muIw8Jv953sCE9UA==">
  <include-fragment loading="lazy" src="/rapid7/metasploit-framework/issue_comments/916139445/edit_form?textarea_id=issuecomment-916139445-body&amp;comment_context=" class="previewable-comment-form js-comment-edit-form-deferred-include-fragment">
    <p class="text-center mt-3" data-hide-on-error="">
      <svg aria-label="Loading..." style="box-sizing: content-box; color: var(--color-icon-primary);" width="32" height="32" viewBox="0 0 16 16" fill="none" data-view-component="true" class="anim-rotate">
        <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke"></circle>
        <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke"></path>
      </svg>
    </p>
    <p class="ml-1 mb-2 mt-2" data-show-on-error="" hidden="">
      <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert">
        <path fill-rule="evenodd"
          d="M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z">
        </path>
      </svg> Sorry, something went wrong.
    </p>
  </include-fragment>
</form>

POST /rapid7/metasploit-framework/pull/15632/review_comment/705380679

<form class="js-comment-update" data-type="json" action="/rapid7/metasploit-framework/pull/15632/review_comment/705380679" accept-charset="UTF-8" method="post"><input type="hidden" name="_method" value="put" autocomplete="off"><input type="hidden"
    name="authenticity_token" value="9bmQ+5UV7zjBAzwPgToaX27aW5/xJn/n0VPfNvH3rRs2JYrFJEMMyTuASqXfSDWadEuTRsgwFmjGYSrpqAYgOg==" autocomplete="off">
  <include-fragment loading="lazy" src="/rapid7/metasploit-framework/pull/15632/review_comment/705380679/edit_form?textarea_id=discussion_r705380679-body&amp;comment_context=discussion"
    class="previewable-comment-form js-comment-edit-form-deferred-include-fragment">
    <p class="text-center mt-3" data-hide-on-error="">
      <svg aria-label="Loading..." style="box-sizing: content-box; color: var(--color-icon-primary);" width="32" height="32" viewBox="0 0 16 16" fill="none" data-view-component="true" class="anim-rotate">
        <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke"></circle>
        <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke"></path>
      </svg>
    </p>
    <p class="ml-1 mb-2 mt-2" data-show-on-error="" hidden="">
      <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert">
        <path fill-rule="evenodd"
          d="M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z">
        </path>
      </svg> Sorry, something went wrong.
    </p>
  </include-fragment>
</form>

POST /rapid7/metasploit-framework/reactions

<form class="js-pick-reaction" action="/rapid7/metasploit-framework/reactions" accept-charset="UTF-8" method="post"><input type="hidden" name="_method" value="put" autocomplete="off"><input type="hidden" name="authenticity_token"
    value="9Q2eQlrGAIb6S7K6Ou/Bj8nnHaGuOmAGh51OclkIVkJqwrjs7yeHmmyqLaPdRIP6cDpxf/jkPJLexbvP+j8AaA==" autocomplete="off">
  <input type="hidden" name="input[subjectId]" value="MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDcwNTM4MDY3OQ==">
  <div class="comment-reactions-options js-comment-reactions-options">
  </div>
</form>

POST /rapid7/metasploit-framework/pull/15632/review_comment/706166327

<form class="js-comment-update" data-type="json" action="/rapid7/metasploit-framework/pull/15632/review_comment/706166327" accept-charset="UTF-8" method="post"><input type="hidden" name="_method" value="put" autocomplete="off"><input type="hidden"
    name="authenticity_token" value="y9KXLHih3w5UpxMWU+JlgOnXlBnszVxgwUQZa61mKgeWT19/TGAaRIn18/iprO0h+CghIDobJT/jtrlLD/gjMg==" autocomplete="off">
  <include-fragment loading="lazy" src="/rapid7/metasploit-framework/pull/15632/review_comment/706166327/edit_form?textarea_id=discussion_r706166327-body&amp;comment_context=discussion"
    class="previewable-comment-form js-comment-edit-form-deferred-include-fragment">
    <p class="text-center mt-3" data-hide-on-error="">
      <svg aria-label="Loading..." style="box-sizing: content-box; color: var(--color-icon-primary);" width="32" height="32" viewBox="0 0 16 16" fill="none" data-view-component="true" class="anim-rotate">
        <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke"></circle>
        <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke"></path>
      </svg>
    </p>
    <p class="ml-1 mb-2 mt-2" data-show-on-error="" hidden="">
      <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert">
        <path fill-rule="evenodd"
          d="M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z">
        </path>
      </svg> Sorry, something went wrong.
    </p>
  </include-fragment>
</form>

POST /rapid7/metasploit-framework/reactions

<form class="js-pick-reaction" action="/rapid7/metasploit-framework/reactions" accept-charset="UTF-8" method="post"><input type="hidden" name="_method" value="put" autocomplete="off"><input type="hidden" name="authenticity_token"
    value="xRYc5bJLF6K6Jo2vrKMl8J44GWfZC+T4fGSEAtLDph9a2TpLB6qQvizHErZLCGeFJ+V1uY/VuGwlPHG/cfTwNQ==" autocomplete="off">
  <input type="hidden" name="input[subjectId]" value="MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDcwNjE2NjMyNw==">
  <div class="comment-reactions-options js-comment-reactions-options">
  </div>
</form>

POST /rapid7/metasploit-framework/reactions

<form class="js-pick-reaction" action="/rapid7/metasploit-framework/reactions" accept-charset="UTF-8" method="post"><input type="hidden" name="_method" value="put" autocomplete="off"><input type="hidden" data-csrf="true" name="authenticity_token"
    value="RK0sHYIDc9gLAK0wTWMrr7CfOyoaAn3mR+lFiE6fDijib9I0eCndqsHBrl+9TYmbjruXUU5XyGXKR2VZ1gQ7lQ==">
  <input type="hidden" name="input[subjectId]" value="IC_kwDOACL9ps42ptFE">
  <div class="comment-reactions-options">
    <button disabled="" class="
    btn-link
    tooltipped
    tooltipped-multiline
    d-flex
    flex-items-baseline
    social-reaction-summary-item
      color-text-secondary
    reaction-summary-item tooltipped-se" style="border-radius:100px;font-size:12px;" name="input[content]" type="submit" value="EYES react" aria-label="timwr reacted with eyes emoji" data-button-index-position="0" data-reaction-content="eyes">
      <g-emoji alias="eyes" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f440.png" class="social-button-emoji">👀</g-emoji>
      <span>1</span>
    </button>
  </div>
</form>

POST /rapid7/metasploit-framework/issue_comments/916902212

<form class="js-comment-update" id="issuecomment-916902212-edit-form" action="/rapid7/metasploit-framework/issue_comments/916902212" accept-charset="UTF-8" method="post"><input type="hidden" name="_method" value="put" autocomplete="off"><input
    type="hidden" data-csrf="true" name="authenticity_token" value="sQd/sUml1koCcBgR4TisC9tBQpJn1N5L6ONhk4CYaTw/9mtkeg9A24STv5jO6BkhjP5D7a4XVIehN3k9ZFXbFg==">
  <include-fragment loading="lazy" src="/rapid7/metasploit-framework/issue_comments/916902212/edit_form?textarea_id=issuecomment-916902212-body&amp;comment_context=" class="previewable-comment-form js-comment-edit-form-deferred-include-fragment">
    <p class="text-center mt-3" data-hide-on-error="">
      <svg aria-label="Loading..." style="box-sizing: content-box; color: var(--color-icon-primary);" width="32" height="32" viewBox="0 0 16 16" fill="none" data-view-component="true" class="anim-rotate">
        <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke"></circle>
        <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke"></path>
      </svg>
    </p>
    <p class="ml-1 mb-2 mt-2" data-show-on-error="" hidden="">
      <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert">
        <path fill-rule="evenodd"
          d="M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z">
        </path>
      </svg> Sorry, something went wrong.
    </p>
  </include-fragment>
</form>

POST /rapid7/metasploit-framework/issue_comments/923338594

<form class="js-comment-update" id="issuecomment-923338594-edit-form" action="/rapid7/metasploit-framework/issue_comments/923338594" accept-charset="UTF-8" method="post"><input type="hidden" name="_method" value="put" autocomplete="off"><input
    type="hidden" data-csrf="true" name="authenticity_token" value="FOTmJZaHFoA7uGrXLSxTwMZvoSEGBqrSP+98UzUUoPJqd1yKnKTZaJOQChfapYOHCDtLcLJt4YWwhJzOcT0Pww==">
  <include-fragment loading="lazy" src="/rapid7/metasploit-framework/issue_comments/923338594/edit_form?textarea_id=issuecomment-923338594-body&amp;comment_context=" class="previewable-comment-form js-comment-edit-form-deferred-include-fragment">
    <p class="text-center mt-3" data-hide-on-error="">
      <svg aria-label="Loading..." style="box-sizing: content-box; color: var(--color-icon-primary);" width="32" height="32" viewBox="0 0 16 16" fill="none" data-view-component="true" class="anim-rotate">
        <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke"></circle>
        <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke"></path>
      </svg>
    </p>
    <p class="ml-1 mb-2 mt-2" data-show-on-error="" hidden="">
      <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert">
        <path fill-rule="evenodd"
          d="M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z">
        </path>
      </svg> Sorry, something went wrong.
    </p>
  </include-fragment>
</form>

POST /rapid7/metasploit-framework/issue_comments/924368692

<form class="js-comment-update" id="issuecomment-924368692-edit-form" action="/rapid7/metasploit-framework/issue_comments/924368692" accept-charset="UTF-8" method="post"><input type="hidden" name="_method" value="put" autocomplete="off"><input
    type="hidden" data-csrf="true" name="authenticity_token" value="+XahvwSDGmu/FlaBO1c04YwdR/GrFReiKofIWlNzwkQ/S4BvVs3jFcb5LQrVNa8ZLrTdJjjAkji8YOGbnVgYMA==">
  <include-fragment loading="lazy" src="/rapid7/metasploit-framework/issue_comments/924368692/edit_form?textarea_id=issuecomment-924368692-body&amp;comment_context=" class="previewable-comment-form js-comment-edit-form-deferred-include-fragment">
    <p class="text-center mt-3" data-hide-on-error="">
      <svg aria-label="Loading..." style="box-sizing: content-box; color: var(--color-icon-primary);" width="32" height="32" viewBox="0 0 16 16" fill="none" data-view-component="true" class="anim-rotate">
        <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke"></circle>
        <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke"></path>
      </svg>
    </p>
    <p class="ml-1 mb-2 mt-2" data-show-on-error="" hidden="">
      <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert">
        <path fill-rule="evenodd"
          d="M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z">
        </path>
      </svg> Sorry, something went wrong.
    </p>
  </include-fragment>
</form>

POST /rapid7/metasploit-framework/issue_comments/924370338

<form class="js-comment-update" id="issuecomment-924370338-edit-form" action="/rapid7/metasploit-framework/issue_comments/924370338" accept-charset="UTF-8" method="post"><input type="hidden" name="_method" value="put" autocomplete="off"><input
    type="hidden" data-csrf="true" name="authenticity_token" value="Xw/YFdQQT5AjwhW8A9NOMs/Ma9OFBgxvavFAauiwD1pXfrOAjLAse1U+M92wwAEDtlVFEcsVg7vBuTjRZbwB/g==">
  <include-fragment loading="lazy" src="/rapid7/metasploit-framework/issue_comments/924370338/edit_form?textarea_id=issuecomment-924370338-body&amp;comment_context=" class="previewable-comment-form js-comment-edit-form-deferred-include-fragment">
    <p class="text-center mt-3" data-hide-on-error="">
      <svg aria-label="Loading..." style="box-sizing: content-box; color: var(--color-icon-primary);" width="32" height="32" viewBox="0 0 16 16" fill="none" data-view-component="true" class="anim-rotate">
        <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke"></circle>
        <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke"></path>
      </svg>
    </p>
    <p class="ml-1 mb-2 mt-2" data-show-on-error="" hidden="">
      <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert">
        <path fill-rule="evenodd"
          d="M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z">
        </path>
      </svg> Sorry, something went wrong.
    </p>
  </include-fragment>
</form>

POST /_graphql/MarkNotificationSubjectAsRead

<form class="d-none js-timeline-marker-form" action="/_graphql/MarkNotificationSubjectAsRead" accept-charset="UTF-8" data-remote="true" method="post"><input type="hidden" data-csrf="true" name="authenticity_token"
    value="fipfqU2jcblB9GHG6PVdngAf3zV4mAsFNrkO2Ir+zrZNIBMsJNlzRcMpf2FMjACgiqnWRUBLjNMjghNHFHPw3g==">
  <input type="hidden" name="variables[subjectId]" value="MDExOlB1bGxSZXF1ZXN0NzI0MjAxODAy">
</form>

POST /rapid7/metasploit-framework/pull/15632/review-requests

<form class="js-issue-sidebar-form" aria-label="Select reviewers" data-reviewers-team-size-check-url="/rapid7/metasploit-framework/pull/15632/review-requests/team-size-check" action="/rapid7/metasploit-framework/pull/15632/review-requests"
  accept-charset="UTF-8" method="post"><input type="hidden" data-csrf="true" name="authenticity_token" value="7TCuWkBzLkyRulGiqxymNekO9M306YRnclqmQ033Dty/UjHoCT8f7hhcSRx4QyCV3w5gSw0Q8OMxLvfrpQZYWA==">
  <div class="js-large-teams-check-warning-container"></div>
  <div class="discussion-sidebar-heading text-bold"> Reviewers </div>
  <span class="css-truncate">
    <p class="d-flex">
      <span class="d-flex min-width-0 flex-1 js-hovercard-left" data-hovercard-type="user" data-hovercard-url="/users/smcintyre-r7/hovercard" data-assignee-name="smcintyre-r7">
        <a class="no-underline" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/smcintyre-r7">
    <img class="avatar mr-1 avatar-user" src="https://avatars.githubusercontent.com/u/58950994?s=40&amp;v=4" width="20" height="20" alt="@smcintyre-r7">
</a> <a class="assignee Link--primary css-truncate-target width-fit" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/smcintyre-r7">
    <span class="css-truncate-target width-fit v-align-middle">smcintyre-r7</span>
</a></span>
      <a class="flex-order-1" href="/rapid7/metasploit-framework/pull/15632/files/b8e98ca99ce16559f740c8ca7cc36cbf69058d71">
            <span class="reviewers-status-icon tooltipped tooltipped-nw float-right d-block text-center" aria-label="smcintyre-r7 left review comments">
              <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment color-icon-secondary">
    <path fill-rule="evenodd" d="M2.75 2.5a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h2a.75.75 0 01.75.75v2.19l2.72-2.72a.75.75 0 01.53-.22h4.5a.25.25 0 00.25-.25v-7.5a.25.25 0 00-.25-.25H2.75zM1 2.75C1 1.784 1.784 1 2.75 1h10.5c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0113.25 12H9.06l-2.573 2.573A1.457 1.457 0 014 13.543V12H2.75A1.75 1.75 0 011 10.25v-7.5z"></path>
</svg>
            </span>
          </a>
    </p>
    <p class="d-flex">
      <span class="d-flex min-width-0 flex-1 js-hovercard-left" data-hovercard-type="user" data-hovercard-url="/users/adfoster-r7/hovercard" data-assignee-name="adfoster-r7">
        <a class="no-underline" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/adfoster-r7">
    <img class="avatar mr-1 avatar-user" src="https://avatars.githubusercontent.com/u/60357436?s=40&amp;v=4" width="20" height="20" alt="@adfoster-r7">
</a> <a class="assignee Link--primary css-truncate-target width-fit" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/adfoster-r7">
    <span class="css-truncate-target width-fit v-align-middle">adfoster-r7</span>
</a></span>
      <a class="flex-order-1" href="/rapid7/metasploit-framework/pull/15632/files/2f0509f2b56dbb73f28a19d5956de22c0bde0e91">
            <span class="reviewers-status-icon tooltipped tooltipped-nw float-right d-block text-center" aria-label="adfoster-r7 left review comments">
              <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment color-icon-secondary">
    <path fill-rule="evenodd" d="M2.75 2.5a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h2a.75.75 0 01.75.75v2.19l2.72-2.72a.75.75 0 01.53-.22h4.5a.25.25 0 00.25-.25v-7.5a.25.25 0 00-.25-.25H2.75zM1 2.75C1 1.784 1.784 1 2.75 1h10.5c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0113.25 12H9.06l-2.573 2.573A1.457 1.457 0 014 13.543V12H2.75A1.75 1.75 0 011 10.25v-7.5z"></path>
</svg>
            </span>
          </a>
    </p>
  </span>
</form>

POST /rapid7/metasploit-framework/issues/15632/assignees

<form class="js-issue-sidebar-form" aria-label="Select assignees" action="/rapid7/metasploit-framework/issues/15632/assignees" accept-charset="UTF-8" method="post"><input type="hidden" name="_method" value="put" autocomplete="off"><input
    type="hidden" data-csrf="true" name="authenticity_token" value="sN0syB3CMx6e+uAmrrBZy2cQL6AR7nw7lnTYRF5rI/+/NYcYeUBvvWMUL2rqkn3rXZXYEKMHB/xMR+OZrf78LQ==">
  <div class="discussion-sidebar-heading text-bold"> Assignees </div>
  <span class="css-truncate js-issue-assignees">
    <p>
      <span class="d-flex min-width-0 flex-1 js-hovercard-left" data-hovercard-type="user" data-hovercard-url="/users/smcintyre-r7/hovercard" data-assignee-name="smcintyre-r7">
        <a class="no-underline" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/smcintyre-r7">
    <img class="avatar mr-1 avatar-user" src="https://avatars.githubusercontent.com/u/58950994?s=40&amp;v=4" width="20" height="20" alt="@smcintyre-r7">
</a> <a class="assignee Link--primary css-truncate-target width-fit" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/smcintyre-r7">
    <span class="css-truncate-target width-fit v-align-middle">smcintyre-r7</span>
</a> <span class="reviewers-status-icon v-hidden" aria-hidden="true"></span>
      </span>
    </p>
  </span>
</form>

POST /rapid7/metasploit-framework/projects/issues/15632

<form class="js-issue-sidebar-form" aria-label="Select projects" action="/rapid7/metasploit-framework/projects/issues/15632" accept-charset="UTF-8" method="post"><input type="hidden" name="_method" value="put" autocomplete="off"><input type="hidden"
    data-csrf="true" name="authenticity_token" value="3U7s4sCoboth3e3rW0t5Fsbkr4HhHRo8SwARsHKknXpLWUA/KM9+aWKg2WGCD8XLLdQRuG6XpUcRPPzzbu622g==">
  <div class="discussion-sidebar-heading text-bold"> Projects </div>
  <span class="css-truncate sidebar-progress-bar"> None yet </span>
</form>

POST /rapid7/metasploit-framework/issues/15632/set_milestone?partial=issues%2Fsidebar%2Fshow%2Fmilestone

<form class="js-issue-sidebar-form" aria-label="Select milestones" action="/rapid7/metasploit-framework/issues/15632/set_milestone?partial=issues%2Fsidebar%2Fshow%2Fmilestone" accept-charset="UTF-8" method="post"><input type="hidden" name="_method"
    value="put" autocomplete="off"><input type="hidden" data-csrf="true" name="authenticity_token" value="5ndBchxn/TW4z9isuY86SVJp2X8o60GxdO7LJ6uwnr+R/A6kxUSXOIe15Lt9GmBx3OuMnpZPiuIw30ETpL5/Yg==">
  <div class="discussion-sidebar-heading text-bold"> Milestone </div> No milestone
</form>

POST /rapid7/metasploit-framework/issues/closing_references?source_id=724201802&source_type=PULL_REQUEST

<form class="js-issue-sidebar-form" aria-label="Link issues" action="/rapid7/metasploit-framework/issues/closing_references?source_id=724201802&amp;source_type=PULL_REQUEST" accept-charset="UTF-8" method="post"><input type="hidden" name="_method"
    value="put" autocomplete="off"><input type="hidden" data-csrf="true" name="authenticity_token" value="4zxiOWtX/QkRRleQVvMZAj5s9VORhKDFk5uOG9DRfUV+vKecb879G1yt6OZkFF4lfzto9Y+JWuS/2KrMNJK7DA==">
  <div class="discussion-sidebar-heading text-bold"> Linked issues </div>
  <p>Successfully merging this pull request may close these issues.</p>
  <p>None yet</p>
</form>

Text Content

Skip to content
Sign up
 * Why GitHub?
   Features →
    * Mobile →
    * Actions →
    * Codespaces →
    * Packages →
    * Security →
    * Code review →
    * Issues →
    * Integrations →
   
    * GitHub Sponsors →
    * Customer stories→

 * Team
 * Enterprise
 * Explore
    * Explore GitHub →
   
   LEARN AND CONTRIBUTE
   
    * Topics →
    * Collections →
    * Trending →
    * Learning Lab →
    * Open source guides →
   
   CONNECT WITH OTHERS
   
    * The ReadME Project →
    * Events →
    * Community forum →
    * GitHub Education →
    * GitHub Stars program →

 * Marketplace
 * Pricing
   Plans →
    * Compare plans →
    * Contact Sales →
   
    * Education →

 * In this repository All GitHub ↵
   Jump to ↵

 * No suggested jump to results

 * In this repository All GitHub ↵
   Jump to ↵
 * In this organization All GitHub ↵
   Jump to ↵
 * In this repository All GitHub ↵
   Jump to ↵

Sign in
Sign up

{{ message }}


RAPID7 / METASPLOIT-FRAMEWORK PUBLIC

 * Notifications
 * Star 25.3k
 * Fork 11.6k


 * Code
 * Issues 467
 * Pull requests 26
 * Discussions
 * Actions
 * Projects 2
 * Wiki
 * Security
 * Insights

More
 * Code
 * Issues
 * Pull requests
 * Discussions
 * Actions
 * Projects
 * Wiki
 * Security
 * Insights

New issue

Have a question about this project? Sign up for a free GitHub account to open an
issue and contact its maintainers and the community.

Pick a username Email Address Password Sign up for GitHub

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy
statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Jump to bottom


WINRM IMPROVEMENTS #15632

Merged
smcintyre-r7 merged 40 commits into rapid7:master from
smashery:winrm_improvements 15 days ago

Merged


WINRM IMPROVEMENTS #15632

smcintyre-r7 merged 40 commits into rapid7:master from
smashery:winrm_improvements 15 days ago

+978 −82
Conversation 45 Commits 40 Checks 19 Files changed 15


CONVERSATION

Copy link
Contributor


SMASHERY COMMENTED ON SEP 1 •
EDITED

This turns the WinRM command runner into a full-fledged command shell with WinRM
as the transport. A bunch of things to neaten up yet, but basic functionality is
there; happy for early feedback on my approach to it.

Some design notes:

 * I use WinRM's stdin mechanism, rather than the command-based one. This is to
   support situations such as nested shells (Ruby's WinRM module's default
   Powershell shell seems to immediately terminate any processes, and its
   default Cmd shell waits for the process to end, thus seeming to hang when you
   launch cmd.exe for example, neither of which is fit for our purpose)
 * To support streaming output back to Metasploit, I'll probably need to have it
   regularly requesting data (that's yet to do). Currently it only requests
   stdout/stderr after sending new stdin.


VERIFICATION

List the steps needed to make sure this thing works

 * Start msfconsole
 * use scanner/winrm/winrm_cmd
 * set rhosts ...
 * set username ...
 * set password ...
 * run
 * sessions #

Test cases to then look at:

 * Module:
   * Single command only (set CreateSession false)
   * Valid creds
   * Invalid creds
 * CreateSession
   * Valid
   * Invalid
 * Shell:
   * Nested shells
   * Gracefully handle end of shell:
     * Terminating by user (exit)
     * Terminating the powershell process itself (kill proc)
     * System ceases responding
   * Ensure it's pivot-friendly
   * Long-running program (where output isn't all immediate - should come in as
     it )

The text was updated successfully, but these errors were encountered:

👍 1 🎉 3


smashery added 5 commits last month
Created WinRM command shell type
Verified
This commit was signed with the committer’s verified signature.
smashery Ashley Donaldson
GPG key ID: 70277622B54D3BCE Learn about vigilant mode.

3dc1b22
Basic command shell operational. Does not yet utilise Rex sockets.
Verified
This commit was signed with the committer’s verified signature.
smashery Ashley Donaldson
GPG key ID: 70277622B54D3BCE Learn about vigilant mode.

8d047dc
Use rex sockets for WinRM transport
Verified
This commit was signed with the committer’s verified signature.
smashery Ashley Donaldson
GPG key ID: 70277622B54D3BCE Learn about vigilant mode.

3839bc5
Neatness improvements
Verified
This commit was signed with the committer’s verified signature.
smashery Ashley Donaldson
GPG key ID: 70277622B54D3BCE Learn about vigilant mode.

3192f9b
Use stdin rather than separate commands
Verified
This commit was signed with the committer’s verified signature.
smashery Ashley Donaldson
GPG key ID: 70277622B54D3BCE Learn about vigilant mode.
Loading status checks…
b78b741
Copy link
Contributor


BCOLES COMMENTED ON SEP 1

Related #11456
Possibly related #8900



Sorry, something went wrong.

smashery added 14 commits last month
Check stdin repeatedly
Verified
This commit was signed with the committer’s verified signature.
smashery Ashley Donaldson
GPG key ID: 70277622B54D3BCE Learn about vigilant mode.

6648a47
Coerce failure immediately on bad password when setting up a session
Verified
This commit was signed with the committer’s verified signature.
smashery Ashley Donaldson
GPG key ID: 70277622B54D3BCE Learn about vigilant mode.

f16d91f
Cleanup up old socket-based approach
Verified
This commit was signed with the committer’s verified signature.
smashery Ashley Donaldson
GPG key ID: 70277622B54D3BCE Learn about vigilant mode.
Loading status checks…
fdfac22
Better messages in the session info table
Verified
This commit was signed with the committer’s verified signature.
smashery Ashley Donaldson
GPG key ID: 70277622B54D3BCE Learn about vigilant mode.
Loading status checks…
1138a5b
Fix segfault apparently caused by using the Rex HTTP client in a fina… …
Verified
This commit was signed with the committer’s verified signature.
smashery Ashley Donaldson
GPG key ID: 70277622B54D3BCE Learn about vigilant mode.
Loading status checks…
a530336

…lizer

Updated documentation for winrm_cmd
Verified
This commit was signed with the committer’s verified signature.
smashery Ashley Donaldson
GPG key ID: 70277622B54D3BCE Learn about vigilant mode.
Loading status checks…
41fb8dc
Moved reusable functionality into separate file
Verified
This commit was signed with the committer’s verified signature.
smashery Ashley Donaldson
GPG key ID: 70277622B54D3BCE Learn about vigilant mode.
Loading status checks…
b50a1aa
Moved command shell creation across to winrm_login, rather than winrm… …
Verified
This commit was signed with the committer’s verified signature.
smashery Ashley Donaldson
GPG key ID: 70277622B54D3BCE Learn about vigilant mode.
Loading status checks…
1425269

…_cmd

Request stdout on a separate thread, so we are alerted when the shell… …
Verified
This commit was signed with the committer’s verified signature.
smashery Ashley Donaldson
GPG key ID: 70277622B54D3BCE Learn about vigilant mode.
Loading status checks…
7a75a91

… dies.

Support domain login in WinRM module
Verified
This commit was signed with the committer’s verified signature.
smashery Ashley Donaldson
GPG key ID: 70277622B54D3BCE Learn about vigilant mode.
Loading status checks…
eeef8a3
Enabled encryption for WinRM when using Negotiate auth
Verified
This commit was signed with the committer’s verified signature.
smashery Ashley Donaldson
GPG key ID: 70277622B54D3BCE Learn about vigilant mode.
Loading status checks…
0e103e8
Fixed edge case; scanner automagically changes the SSL value based on… …
Verified
This commit was signed with the committer’s verified signature.
smashery Ashley Donaldson
GPG key ID: 70277622B54D3BCE Learn about vigilant mode.
Loading status checks…
170d911

… the port

Handle the server ceasing to respond
Verified
This commit was signed with the committer’s verified signature.
smashery Ashley Donaldson
GPG key ID: 70277622B54D3BCE Learn about vigilant mode.
Loading status checks…
00100f4
Make winrm_cmd module work with the changes
Verified
This commit was signed with the committer’s verified signature.
smashery Ashley Donaldson
GPG key ID: 70277622B54D3BCE Learn about vigilant mode.
Loading status checks…
78d6c26
smashery marked this pull request as ready for review last month
If we're told on the first request that our creds are wrong, don't tr… …
Verified
This commit was signed with the committer’s verified signature.
smashery Ashley Donaldson
GPG key ID: 70277622B54D3BCE Learn about vigilant mode.
Loading status checks…
a65bfc9

…y again

Copy link
Contributor Author


SMASHERY COMMENTED ON SEP 6

So I believe this is ready for a proper review. As an added bonus, it now
supports encryption when using NTLMSSP auth, which should enable it to be used
on default installs of Win10 and Server 2019.

Here are the test cases I think are relevant, but let me know if you think of
any other edge cases. The focus of this PR is winrm_login, but I also ported
some changes to winrm_cmd to support encryption.

 * winrm_cmd:
   * Valid creds
   * Invalid creds
 * winrm_login:
   * Valid creds
   * Invalid creds
 * Working over SSL
 * Nested shells (e.g. powershell launching cmd launching powershell...)
 * Gracefully handle:
   * Terminating by user (exit)
   * Terminating the powershell process itself (kill the powershell process in
     task manager)
   * System ceases responding (e.g. pause your VM)
   * All of these termination cases while interacting and not interacting with
     the shell
 * Long-running program (with output that doesn't come all-at-once, but over
   several minutes) e.g. Seatbelt

I don't expect it to work if NTLM is disabled (i.e. Kerberos-only). I'm not sure
about the impact of EPA.



Sorry, something went wrong.

Copy link
Contributor Author


SMASHERY COMMENTED ON SEP 6

Some notes on implementation:

 * To ensure we're using Rex sockets, we override a few classes from the WinRM
   module to force them to use the Rex HttpClient.
 * To support stdin and nested shells, we just launch powershell.exe and operate
   over stdin and stdout, rather than using separate commands. This is different
   to how tools such as evil-winrm work, which are more command-based. There are
   pros and cons both ways; this was chosen as it's closer to how other MSF
   command shells work.
 * A background thread runs constantly to ask "is there more stdout for me?".
   This is to be alerted to lost shells while not interacting with them.



Sorry, something went wrong.

smashery added 3 commits last month
Support Extended Protection for Authentication
Verified
This commit was signed with the committer’s verified signature.
smashery Ashley Donaldson
GPG key ID: 70277622B54D3BCE Learn about vigilant mode.
Loading status checks…
ea0925f
Ignore channel binding on HTTP
Verified
This commit was signed with the committer’s verified signature.
smashery Ashley Donaldson
GPG key ID: 70277622B54D3BCE Learn about vigilant mode.
Loading status checks…
e6dba1a
Increase responsiveness of WinRM shell, while also reducing number of… …
Verified
This commit was signed with the committer’s verified signature.
smashery Ashley Donaldson
GPG key ID: 70277622B54D3BCE Learn about vigilant mode.
Loading status checks…
b8e98ca

… requests sent.

Achieved by either waiting N seconds, or immediately after stdin is sent.
While we were sending them every 2 seconds, we could sometimes be held up
waiting for a stdout response before we could even send our stdin message.

smcintyre-r7 reviewed 29 days ago
View changes
lib/msf/util/signallable_event.rb Outdated Show resolved Hide resolved

lib/net/winrm/connection.rb Outdated

end
def create_transport(connection_opts) raise NotImplementedError unless
connection_opts[:transport] == :rex

Copy link
Contributor


SMCINTYRE-R7 29 DAYS AGO

Could we please rename our transport to :rex_http? That would more closely align
with the RexHttpTransport class name and put us in a better position if we got
around to adding SSH as a transport.

Sorry, something went wrong.


Copy link
Contributor Author


SMASHERY 29 DAYS AGO

I've made the change; however I'm not sure what you mean about an SSH transport.
The intention of connection_opts[:transport] is to tell the WinRM library which
Transport subclass to instantiate: Plaintext? Negotiate? Kerberos? CredSSP? We
want none of these built-in transports, because they all use HTTPClient.
Instead, we want our own class: RexHttpTransport. I don't think SSH is relevant
here. Let me know if you think the code needs additional clarification in there.

Sorry, something went wrong.


lib/msf/base/sessions/winrm_command_shell.rb Outdated Show resolved Hide
resolved

lib/msf/core/exploit/remote/winrm.rb Outdated Show resolved Hide resolved

lib/msf/core/exploit/remote/winrm.rb Outdated Show resolved Hide resolved

lib/net/winrm/connection.rb Outdated

begin response_reader.read_output(command_output_message(shell_id, command_id),
&block) rescue WinRM::WinRMWSManFault => err if err.fault_code == '2150858793'

Copy link
Contributor


SMCINTYRE-R7 29 DAYS AGO

A comment about what this value is would be really helpful.

Sorry, something went wrong.


lib/msf/base/sessions/winrm_command_shell.rb Show resolved Hide resolved

adfoster-r7 reviewed 29 days ago
View changes
lib/msf/core/session_manager.rb Outdated Show resolved Hide resolved

adfoster-r7 reviewed 29 days ago
View changes
lib/rex/proto/http/client.rb Outdated Show resolved Hide resolved

11 hidden items Load more…
adfoster-r7 reviewed 27 days ago
View changes
lib/msf/base/sessions/winrm_command_shell.rb Outdated Show resolved Hide
resolved

adfoster-r7 reviewed 27 days ago
View changes
modules/auxiliary/scanner/winrm/winrm_cmd.rb Outdated Show resolved Hide
resolved

adfoster-r7 reviewed 27 days ago
View changes
lib/net/winrm/connection.rb Outdated

def read_response(wsmv_message, wait_for_done_state = false) resp_doc = nil
until command_done?(resp_doc, wait_for_done_state) logger.debug('[WinRM] Waiting
for output...')

Copy link
Contributor


ADFOSTER-R7 27 DAYS AGO

I wonder if these logs would be useful to integrate with our existing rex logger
mechanism, not a blocker for me - as we would have to write a custom rex/winrm
adapter for that functionality.

Sorry, something went wrong.


Copy link
Contributor Author


SMASHERY 26 DAYS AGO

Added an adapter to MSF's logging:

https://github.com/smashery/metasploit-framework/blob/winrm_improvements/lib/net/winrm/connection.rb#L45-L61

Sorry, something went wrong.


adfoster-r7 reviewed 27 days ago
View changes
lib/net/winrm/connection.rb Outdated

end end
def ntlm_transform_response(ntlm_client, response)

Copy link
Contributor


ADFOSTER-R7 27 DAYS AGO

Just to ask the obvious, what are the reasons for overriding these methods? 👀

Sorry, something went wrong.


Copy link
Contributor Author


SMASHERY 26 DAYS AGO

Good call; comments added. As far as I can tell from the content-type, I can't
find anything else anywhere that uses this, other than WSMV, so didn't want to
put it directly into the HttpClient itself.

Sorry, something went wrong.


adfoster-r7 reviewed 27 days ago
View changes
modules/auxiliary/scanner/winrm/winrm_cmd.rb Outdated

f = File.open(path,'wb') output = shell.run(datastore['CMD']) do |stdout,stderr|
stdout&.each_line do |line| print_line(line.rstrip!) f.puts(stdout) end
print_error(stderr) if stderr end f.close

Copy link
Contributor


ADFOSTER-R7 27 DAYS AGO •
EDITED

File.open can take a proc which should autoclose f for us:

Suggested change

f = File.open(path,'wb') output = shell.run(datastore['CMD']) do |stdout,stderr|
stdout&.each_line do |line| print_line(line.rstrip!) f.puts(stdout) end
print_error(stderr) if stderr end f.close File.open(path,'wb') do |f| output =
shell.run(datastore['CMD']) do |stdout,stderr| stdout&.each_line do |line|
print_line(line.rstrip!) f.puts(stdout) end print_error(stderr) if stderr end
end

Edit: Looks like we'd be be running into an issue where store_loot would be
storing nothing in the database, then later we're writing the result of stdout
to the file. Which means the database and file system don't quite align.

It might make sense to buffer the stdout ourselves, then call store_loot at
once, instead of writing to the file

Sorry, something went wrong.


Copy link
Contributor Author


SMASHERY 26 DAYS AGO

Now writing all at once at the end:

https://github.com/smashery/metasploit-framework/blob/winrm_improvements/modules/auxiliary/scanner/winrm/winrm_cmd.rb#L59-L68

Sorry, something went wrong.


adfoster-r7 reviewed 27 days ago
View changes
modules/auxiliary/scanner/winrm/winrm_login.rb Outdated

@@ -82,6 +110,41 @@ def run_host(ip)
end
def session_setup(shell,rhost,rport,endpoint)

Copy link
Contributor


ADFOSTER-R7 27 DAYS AGO

Suggested change

def session_setup(shell,rhost,rport,endpoint) def
session_setup(shell,rhost,rport,endpoint)

Sorry, something went wrong.


Copy link
Contributor


ADFOSTER-R7 COMMENTED 27 DAYS AGO

We use Rubocop and msftidy to ensure the quality of our code. This can be ran
from the root directory of Metasploit:

rubocop <directory or file>
tools/dev/msftidy.rb <directory or file>




You can automate most of these changes with the -a flag:

rubocop -a <directory or file>




I think we'd be good to run that on the new files that we're adding, as well as
the winrm modules



Sorry, something went wrong.

adfoster-r7 reviewed 27 days ago
View changes
modules/auxiliary/scanner/winrm/winrm_login.rb Outdated

:timeout => 20, # For the underlying HTTP client :retry_delay => 1, :realm =>
result.credential.realm, )

Copy link
Contributor


ADFOSTER-R7 27 DAYS AGO

https://github.com/rapid7/metasploit-framework/pull/15632/files#r705363789

Sorry, something went wrong.


Copy link
Contributor Author


SMASHERY 26 DAYS AGO

Now using a hash:

https://github.com/smashery/metasploit-framework/blob/winrm_improvements/modules/auxiliary/scanner/winrm/winrm_login.rb#L84-L98

Sorry, something went wrong.


smashery added 7 commits 27 days ago
Support re-authentication during the shell …
Verified
This commit was signed with the committer’s verified signature.
smashery Ashley Donaldson
GPG key ID: 70277622B54D3BCE Learn about vigilant mode.

cf09d56

After 8 hours, the server requests re-authentication, so need to support that.

Removed unused code
Verified
This commit was signed with the committer’s verified signature.
smashery Ashley Donaldson
GPG key ID: 70277622B54D3BCE Learn about vigilant mode.

5cffa86
Implemented suggestions from code review …
Verified
This commit was signed with the committer’s verified signature.
smashery Ashley Donaldson
GPG key ID: 70277622B54D3BCE Learn about vigilant mode.

b0e1502

- Use a literal hash
- Comment meaning of NTLM transforms
- store loot with data ready to go, to keep database in sync with file

Adapted WinRM module logging to MSF logging …
Verified
This commit was signed with the committer’s verified signature.
smashery Ashley Donaldson
GPG key ID: 70277622B54D3BCE Learn about vigilant mode.

0927737

Separated WinRM module into separate files

Emulate a stream to make the base command shell happy
Verified
This commit was signed with the committer’s verified signature.
smashery Ashley Donaldson
GPG key ID: 70277622B54D3BCE Learn about vigilant mode.

50e3191
Support Ctrl+C now we're using Command Shell rather than Powershell
Verified
This commit was signed with the committer’s verified signature.
smashery Ashley Donaldson
GPG key ID: 70277622B54D3BCE Learn about vigilant mode.

1254686
Honour the timeout parameter for reading from the shell
Verified
This commit was signed with the committer’s verified signature.
smashery Ashley Donaldson
GPG key ID: 70277622B54D3BCE Learn about vigilant mode.
Loading status checks…
16af8ad
Copy link
Contributor Author


SMASHERY COMMENTED 26 DAYS AGO

Thanks for the review @adfoster-r7; really helpful. I'm still chasing down a bug
in upgrading this kind of shell to meterp on 2012; root cause seems to be that
the 2012 shell is not reflecting stdin back to stdout (which seems to be assumed
for Windows shells).

👀 1

Sorry, something went wrong.

smashery added 3 commits 24 days ago
Handle upgrading to Meterp on Windows 2012 command shell via WinRM …
Verified
This commit was signed with the committer’s verified signature.
smashery Ashley Donaldson
GPG key ID: 70277622B54D3BCE Learn about vigilant mode.
Loading status checks…
4f8e435

These shells appear not to reflect input back to the user, which messes with
assumptions when it comes to parsing them out. So we utilise the code that
determines whether reflection is happening on Windows too.

Added some comments for clarity
Verified
This commit was signed with the committer’s verified signature.
smashery Ashley Donaldson
GPG key ID: 70277622B54D3BCE Learn about vigilant mode.
Loading status checks…
44455fd
Fixed rubocop issues
Verified
This commit was signed with the committer’s verified signature.
smashery Ashley Donaldson
GPG key ID: 70277622B54D3BCE Learn about vigilant mode.
Loading status checks…
5dceb48
smcintyre-r7 self-assigned this 22 days ago
smcintyre-r7 added enhancement feature library labels 22 days ago
Re-auth after the session times out …
Verified
This commit was signed with the committer’s verified signature.
smashery Ashley Donaldson
GPG key ID: 70277622B54D3BCE Learn about vigilant mode.
Loading status checks…
91d0a6c

This seems to happen after 8 hours. WinRM doesn't like having bodies
in the authentication requests, so we force the HTTP client to send
an empty one first

Copy link
Contributor


SMCINTYRE-R7 COMMENTED 16 DAYS AGO

I'm getting an error when I try to run a command against multiple sessions with
sessions -c that seems to come from the fact that the command shell session
isn't a selectable IO.

msf6 auxiliary(scanner/winrm/winrm_login) > run USERNAME=smcintyre PASSWORD=Password1

[!] No active DB -- Credential data will not be saved!
[+] 192.168.159.42:5985 - Login Successful: WORKSTATION\smcintyre:Password1
[*] Command shell session 1 opened (192.168.159.29:45551 -> 192.168.159.42:5985) at 2021-09-20 17:25:23 -0400
[*] Scanned 1 of 2 hosts (50% complete)
[!] No active DB -- Credential data will not be saved!
[+] 192.168.159.96:5985 - Login Successful: WORKSTATION\smcintyre:Password1
[*] Command shell session 2 opened (192.168.159.29:44063 -> 192.168.159.96:5985) at 2021-09-20 17:25:24 -0400
[*] Scanned 2 of 2 hosts (100% complete)
[*] Auxiliary module execution completed
msf6 auxiliary(scanner/winrm/winrm_login) > sessions -c "systeminfo"
[*] Running 'systeminfo' on shell session 1 (192.168.159.42)
[-] Session manipulation failed: no implicit conversion of nil into IO ["/home/smcintyre/Repositories/metasploit-framework.pr/lib/msf/base/sessions/command_shell.rb:649:in `select'", "/home/smcintyre/Repositories/metasploit-framework.pr/lib/msf/base/sessions/command_shell.rb:649:in `shell_command'", "/home/smcintyre/Repositories/metasploit-framework.pr/lib/msf/ui/console/command_dispatcher/core.rb:1444:in `block (2 levels) in cmd_sessions'", "/home/smcintyre/Repositories/metasploit-framework.pr/lib/msf/ui/console/command_dispatcher/core.rb:1413:in `each'", "/home/smcintyre/Repositories/metasploit-framework.pr/lib/msf/ui/console/command_dispatcher/core.rb:1413:in `block in cmd_sessions'", "/home/smcintyre/Repositories/metasploit-framework.pr/lib/msf/ui/console/command_dispatcher/core.rb:1403:in `each'", "/home/smcintyre/Repositories/metasploit-framework.pr/lib/msf/ui/console/command_dispatcher/core.rb:1403:in `cmd_sessions'", "/home/smcintyre/Repositories/metasploit-framework.pr/lib/rex/ui/text/dispatcher_shell.rb:555:in `run_command'", "/home/smcintyre/Repositories/metasploit-framework.pr/lib/rex/ui/text/dispatcher_shell.rb:504:in `block in run_single'", "/home/smcintyre/Repositories/metasploit-framework.pr/lib/rex/ui/text/dispatcher_shell.rb:498:in `each'", "/home/smcintyre/Repositories/metasploit-framework.pr/lib/rex/ui/text/dispatcher_shell.rb:498:in `run_single'", "/home/smcintyre/Repositories/metasploit-framework.pr/lib/rex/ui/text/shell.rb:162:in `run'", "/home/smcintyre/Repositories/metasploit-framework.pr/lib/metasploit/framework/command/console.rb:48:in `start'", "/home/smcintyre/Repositories/metasploit-framework.pr/lib/metasploit/framework/command/base.rb:82:in `start'", "./msfconsole:23:in `<main>'"]
msf6 auxiliary(scanner/winrm/winrm_login) >




To reproduce, obtain one or more WinRM sessions and then run sessions -c
"systeminfo". Our standard shell sessions will execute it as expected.

The other test I ran was using a post module and it worked as expected:

msf6 auxiliary(scanner/winrm/winrm_login) > run

[!] No active DB -- Credential data will not be saved!
[+] 192.168.159.42:5985 - Login Successful: WORKSTATION\smcintyre:Password1
[*] Command shell session 5 opened (192.168.159.29:32787 -> 192.168.159.42:5985) at 2021-09-20 17:30:54 -0400
[*] Scanned 1 of 2 hosts (50% complete)
[!] No active DB -- Credential data will not be saved!
[+] 192.168.159.96:5985 - Login Successful: WORKSTATION\smcintyre:Password1
[*] Command shell session 6 opened (192.168.159.29:45845 -> 192.168.159.96:5985) at 2021-09-20 17:30:55 -0400
[*] Scanned 2 of 2 hosts (100% complete)
[*] Auxiliary module execution completed
msf6 auxiliary(scanner/winrm/winrm_login) > use post/windows/gather/checkvm 
msf6 post(windows/gather/checkvm) > set SESSION 5
SESSION => 5
msf6 post(windows/gather/checkvm) > run

[*] Checking if the target is a Virtual Machine ...
[+] This is a VMware Virtual Machine
[*] Post module execution completed
msf6 post(windows/gather/checkvm) > set SESSION 6
SESSION => 6
msf6 post(windows/gather/checkvm) > run

[*] Checking if the target is a Virtual Machine ...
[+] This is a VMware Virtual Machine
[*] Post module execution completed
msf6 post(windows/gather/checkvm) >






Sorry, something went wrong.

Allow running a shell command separately to the currently interactive… …
Verified
This commit was signed with the committer’s verified signature.
smashery Ashley Donaldson
GPG key ID: 70277622B54D3BCE Learn about vigilant mode.
Loading status checks…
9d81931

… shell

Copy link
Contributor


SMCINTYRE-R7 COMMENTED 15 DAYS AGO

Nice, that did the trick. There's quite a bit of output here, but I tested the
module on a Server 2016 and Server 2019 targets. The sessions -c command works,
the shells are interactive and they work with post modules. I'll go ahead and
land this now. Thanks alot @smashery !

Testing Output

msf6 > use auxiliary/scanner/winrm/winrm_login 
msf6 auxiliary(scanner/winrm/winrm_login) > show options 

Module options (auxiliary/scanner/winrm/winrm_login):

   Name              Current Setting  Required  Description
   ----              ---------------  --------  -----------
   BLANK_PASSWORDS   false            no        Try blank passwords for all users
   BRUTEFORCE_SPEED  5                yes       How fast to bruteforce, from 0 to 5
   DB_ALL_CREDS      false            no        Try each user/password couple stored in the current database
   DB_ALL_PASS       false            no        Add all passwords in the current database to the list
   DB_ALL_USERS      false            no        Add all users in the current database to the list
   DOMAIN            WORKSTATION      yes       The domain to use for Windows authentification
   PASSWORD                           no        A specific password to authenticate with
   PASS_FILE                          no        File containing passwords, one per line
   Proxies                            no        A proxy chain of format type:host:port[,type:host:port][...]
   RHOSTS                             yes       The target host(s), range CIDR identifier, or hosts file with syntax 'file:<path>'
   RPORT             5985             yes       The target port (TCP)
   SSL               false            no        Negotiate SSL/TLS for outgoing connections
   STOP_ON_SUCCESS   false            yes       Stop guessing when a credential works for a host
   THREADS           1                yes       The number of concurrent threads (max one per host)
   URI               /wsman           yes       The URI of the WinRM service
   USERNAME                           no        A specific username to authenticate as
   USERPASS_FILE                      no        File containing users and passwords separated by space, one pair per line
   USER_AS_PASS      false            no        Try the username as the password for all users
   USER_FILE                          no        File containing usernames, one per line
   VERBOSE           true             yes       Whether to print output for all attempts
   VHOST                              no        HTTP server virtual host

msf6 auxiliary(scanner/winrm/winrm_login) > set RHOSTS 192.168.159.42 192.168.159.96
RHOSTS => 192.168.159.42 192.168.159.96
msf6 auxiliary(scanner/winrm/winrm_login) > set USERNAME smcintyre
USERNAME => smcintyre
msf6 auxiliary(scanner/winrm/winrm_login) > set PASSWORD Password1
PASSWORD => Password1
msf6 auxiliary(scanner/winrm/winrm_login) > run













msf6 auxiliary(scanner/winrm/winrm_login) > run

[!] No active DB -- Credential data will not be saved!
[+] 192.168.159.42:5985 - Login Successful: WORKSTATION\smcintyre:Password1
[*] Command shell session 1 opened (192.168.159.128:41611 -> 192.168.159.42:5985) at 2021-09-21 16:35:57 -0400
[*] Scanned 1 of 2 hosts (50% complete)
[!] No active DB -- Credential data will not be saved!
[+] 192.168.159.96:5985 - Login Successful: WORKSTATION\smcintyre:Password1
[*] Command shell session 2 opened (192.168.159.128:33095 -> 192.168.159.96:5985) at 2021-09-21 16:35:57 -0400
[*] Scanned 2 of 2 hosts (100% complete)
[*] Auxiliary module execution completed
msf6 auxiliary(scanner/winrm/winrm_login) > save
Saved configuration to: /home/smcintyre/.msf4/config
msf6 auxiliary(scanner/winrm/winrm_login) > sejssions
[-] Unknown command: sejssions
msf6 auxiliary(scanner/winrm/winrm_login) > sessions

Active sessions
===============

  Id  Name  Type           Information                                   Connection
  --  ----  ----           -----------                                   ----------
  1         shell windows  WinRM smcintyre:Password1 (EXCHG\smcintyre)   192.168.159.128:41611 -> 192.168.159.42:5985 (192.168.159.42)
  2         shell windows  WinRM smcintyre:Password1 (MSFLAB\smcintyre)  192.168.159.128:33095 -> 192.168.159.96:5985 (192.168.159.96)

msf6 auxiliary(scanner/winrm/winrm_login) > sessions -c "systeminfo"
[*] Running 'systeminfo' on shell session 1 (192.168.159.42)

Host Name:                 WIN-BPID95ACQ7E
OS Name:                   Microsoft Windows Server 2016 Standard
OS Version:                10.0.14393 N/A Build 14393
OS Manufacturer:           Microsoft Corporation
OS Configuration:          Primary Domain Controller
OS Build Type:             Multiprocessor Free
Registered Owner:          Windows User
Registered Organization:   
Product ID:                00376-30000-00299-AA135
Original Install Date:     10/13/2020, 2:42:26 PM
System Boot Time:          9/21/2021, 4:27:52 PM
System Manufacturer:       VMware, Inc.
System Model:              VMware7,1
System Type:               x64-based PC
Processor(s):              2 Processor(s) Installed.
                           [01]: Intel64 Family 6 Model 158 Stepping 13 GenuineIntel ~2304 Mhz
                           [02]: Intel64 Family 6 Model 158 Stepping 13 GenuineIntel ~2304 Mhz
BIOS Version:              VMware, Inc. VMW71.00V.16221537.B64.2005150253, 5/15/2020
Windows Directory:         C:\Windows
System Directory:          C:\Windows\system32
Boot Device:               \Device\HarddiskVolume1
System Locale:             en-us;English (United States)
Input Locale:              en-us;English (United States)
Time Zone:                 (UTC-05:00) Eastern Time (US & Canada)
Total Physical Memory:     8,191 MB
Available Physical Memory: 158 MB
Virtual Memory: Max Size:  15,301 MB
Virtual Memory: Available: 1,753 MB
Virtual Memory: In Use:    13,548 MB
Page File Location(s):     C:\pagefile.sys
Domain:                    exchg.lan
Logon Server:              N/A
Hotfix(s):                 6 Hotfix(s) Installed.
                           [01]: KB3192137
                           [02]: KB4054590
                           [03]: KB4486129
                           [04]: KB4565912
                           [05]: KB4576750
                           [06]: KB4580346
Network Card(s):           1 NIC(s) Installed.
                           [01]: Intel(R) 82574L Gigabit Network Connection
                                 Connection Name: Ethernet0
                                 DHCP Enabled:    Yes
                                 DHCP Server:     192.168.159.127
                                 IP address(es)
                                 [01]: 192.168.159.42
                                 [02]: fe80::d932:1cb5:5d16:a750
Hyper-V Requirements:      A hypervisor has been detected. Features required for Hyper-V will not be displayed.

[*] Running 'systeminfo' on shell session 2 (192.168.159.96)

Host Name:                 WIN-3MSP8K2LCGC
OS Name:                   Microsoft Windows Server 2019 Standard
OS Version:                10.0.17763 N/A Build 17763
OS Manufacturer:           Microsoft Corporation
OS Configuration:          Primary Domain Controller
OS Build Type:             Multiprocessor Free
Registered Owner:          Windows User
Registered Organization:   
Product ID:                00429-00523-08135-AA816
Original Install Date:     2/26/2020, 12:09:54 PM
System Boot Time:          9/21/2021, 4:28:20 PM
System Manufacturer:       VMware, Inc.
System Model:              VMware7,1
System Type:               x64-based PC
Processor(s):              2 Processor(s) Installed.
                           [01]: Intel64 Family 6 Model 158 Stepping 13 GenuineIntel ~2304 Mhz
                           [02]: Intel64 Family 6 Model 158 Stepping 13 GenuineIntel ~2304 Mhz
BIOS Version:              VMware, Inc. VMW71.00V.16221537.B64.2005150253, 5/15/2020
Windows Directory:         C:\Windows
System Directory:          C:\Windows\system32
Boot Device:               \Device\HarddiskVolume1
System Locale:             en-us;English (United States)
Input Locale:              en-us;English (United States)
Time Zone:                 (UTC-05:00) Eastern Time (US & Canada)
Total Physical Memory:     4,094 MB
Available Physical Memory: 2,621 MB
Virtual Memory: Max Size:  4,798 MB
Virtual Memory: Available: 3,343 MB
Virtual Memory: In Use:    1,455 MB
Page File Location(s):     C:\pagefile.sys
Domain:                    msflab.local
Logon Server:              N/A
Hotfix(s):                 11 Hotfix(s) Installed.
                           [01]: KB5003538
                           [02]: KB4486153
                           [03]: KB4523204
                           [04]: KB4535680
                           [05]: KB4539571
                           [06]: KB4561600
                           [07]: KB4570332
                           [08]: KB4577586
                           [09]: KB4589208
                           [10]: KB5003711
                           [11]: KB5004947
Network Card(s):           2 NIC(s) Installed.
                           [01]: Microsoft Kernel Debug Network Adapter
                                 Connection Name: Ethernet (Kernel Debugger)
                                 DHCP Enabled:    Yes
                                 DHCP Server:     192.168.159.127
                                 IP address(es)
                                 [01]: 192.168.159.96
                                 [02]: fe80::b4dd:730c:d9b8:57b5
                           [02]: Intel(R) 82574L Gigabit Network Connection
                                 Connection Name: Ethernet0
                                 Status:          Hardware not present
Hyper-V Requirements:      A hypervisor has been detected. Features required for Hyper-V will not be displayed.

msf6 auxiliary(scanner/winrm/winrm_login) > pry
[*] Starting Pry shell...
[*] You are in the "auxiliary/scanner/winrm/winrm_login" module object

[1] pry(#<Msf::Modules::Auxiliary__Scanner__Winrm__Winrm_login::MetasploitModule>)> sessions
NameError: undefined local variable or method `sessions' for #<Msf::Modules::Auxiliary__Scanner__Winrm__Winrm_login::MetasploitModule:0x0000000017a70280>
Did you mean?  session_setup
from (pry):1:in `__pry__'
[2] pry(#<Msf::Modules::Auxiliary__Scanner__Winrm__Winrm_login::MetasploitModule>)> framework.sessions
=> {1=>#<Session:shell 192.168.159.42:5985 (192.168.159.42) "WinRM smcintyre:Password1 (EXCHG\smcintyre)">, 2=>#<Session:shell 192.168.159.96:5985 (192.168.159.96) "WinRM smcintyre:Password1 (MSFLAB\smcintyre)">}
[3] pry(#<Msf::Modules::Auxiliary__Scanner__Winrm__Winrm_login::MetasploitModule>)> framework.sessions.values.map { |session| session.type }
=> ["shell", "shell"]
[4] pry(#<Msf::Modules::Auxiliary__Scanner__Winrm__Winrm_login::MetasploitModule>)> exit
msf6 auxiliary(scanner/winrm/winrm_login) > sessions -i -1
[*] Starting interaction with 2...

Microsoft Windows [Version 10.0.17763.2029]
(c) 2018 Microsoft Corporation. All rights reserved.

C:\Users\smcintyre>ipconfig
ipconfig

Windows IP Configuration


Ethernet adapter Ethernet (Kernel Debugger):

   Connection-specific DNS Suffix  . : localdomain
   Link-local IPv6 Address . . . . . : fe80::b4dd:730c:d9b8:57b5%3
   IPv4 Address. . . . . . . . . . . : 192.168.159.96
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : 192.168.159.2

C:\Users\smcintyre>Write-Host 'Hello, World!'

Write-Host 'Hello, World!'
'Write-Host' is not recognized as an internal or external command,
operable program or batch file.

C:\Users\smcintyre>powershe
C:\Users\smcintyre>ll

powershell
Windows PowerShell 
Copyright (C) Microsoft Corporation. All rights reserved.

PS C:\Users\smcintyre> 
PS C:\Users\smcintyre> Write-Host 'Hello, World!'
Write-Host 'Hello, World!'
Hello, World!
PS C:\Users\smcintyre> exit
exit

C:\Users\smcintyre>^Z
Background session 2? [y/N]  y
msf6 auxiliary(scanner/winrm/winrm_login) > use post/windows/gather/checkvm 
msf6 post(windows/gather/checkvm) > set SESSION 5
SESSION => 5
msf6 post(windows/gather/checkvm) > set SESSION 1
SESSION => 1
msf6 post(windows/gather/checkvm) > run

[*] Checking if the target is a Virtual Machine ...
[+] This is a VMware Virtual Machine
[*] Post module execution completed
msf6 post(windows/gather/checkvm) > set SESSION 2
SESSION => 2
msf6 post(windows/gather/checkvm) > run

[*] Checking if the target is a Virtual Machine ...
[+] This is a VMware Virtual Machine
[*] Post module execution completed
msf6 post(windows/gather/checkvm) > 






Sorry, something went wrong.

Hide details View details smcintyre-r7 merged commit ca6f957 into rapid7:master
15 days ago
20 checks passed


Copy link
Contributor


SMCINTYRE-R7 COMMENTED 15 DAYS AGO


RELEASE NOTES

This improves Metasploit's WinRM capabilities by allowing shell sessions to be
established over the protocol. The shell sessions are interactive and able to be
used with post modules.



Sorry, something went wrong.

agalway-r7 added the rn-enhancement label 12 days ago

Sign up for free to join this conversation on GitHub. Already have an account?
Sign in to comment
Reviewers

smcintyre-r7

adfoster-r7

Assignees

smcintyre-r7

Labels
enhancement feature library rn-enhancement
Projects
None yet
Milestone
No milestone
Linked issues

Successfully merging this pull request may close these issues.

None yet

5 participants

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.

 * © 2021 GitHub, Inc.
 * Terms
 * Privacy
 * Security
 * Status
 * Docs

 * Contact GitHub
 * Pricing
 * API
 * Training
 * Blog
 * About


You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You
signed out in another tab or window. Reload to refresh your session.