Skip to content

edxsh/BrowserPivotingIE

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation


BrowserPivotingIE

Browser Pivoting implementation for Internet Explorer


Report Bug · Request Feature

Table of Contents

  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact

About The Project

BrowserPivotingIE implements the browser pivoting technique for Internet Explorer. Additional information about the technique can be found here.

This repo is split into multiple parts:

HTTPParser

Static library project that handles the parsing of HTTP messages

HTTPProxy

DLL project that implements that the meat of the technique. Upon being loaded, the DLL will host an HTTP proxy on port 8080. Requests will be sent to the destination using WinINET APIs. As a consequence, the request will inherit the browser's authentication credentials, cookies, etc.

HTTPProxyHost

EXE project that hosts the HTTPProxy DLL.

InjectIE

EXE project that embeds the HTTPProxy DLL as a resource and injects the DLL into Internet Explorer using the DLL Injection technique.

WinINETPOC

A simple example on how WinINet persists credentials accross requests on a per process basis.

BasicAuthHTTPServer.py

A Python3 based HTTP server that supports Basic Authentication.

Getting Started

To get started with the Usage example follow these simple steps.

Prerequisites

  • Visual Studio (optional)

Installation

  1. Compile the "InjectIE" project with Visual Studio (optional if using the release binary). The build architecture (x86 vs x64) must match the architecture of the target Internet Explorer process.

Usage

  1. Host or identify a website with authentication (NTLM, cookies, etc). This example will use a server hosted at 127.0.0.1:80 using BasicAuthHTTPServer.py.
python3 BasicAuthHTTPServer.py 80
  1. Open an x86 instance of Internet Explorer
  2. In Internet Explorer, browse to http://127.0.0.1 and authenticate using the credentials demo:demo. Upon authenticating, the page will present this text {"path": "/", "get_vars": "{}"}
  3. Open an instance of Firefox.
  4. In Firefox, browse to http://127.0.0.1 and note the prompt for credentials.
  5. Run InjectIE.exe on the target machine. InjectIE.exe will inject into iexplore.exe a DLL that implements an HTTP proxy server on port 8080.
  6. Configure Firefox to the reach the internet via the HTTP proxy server 127.0.0.1:8080. If the proxy is on localhost, the network.proxy.allow_hijacking_localhost config setting will need to be modified.
  7. In Firefox, browse to http://127.0.0.1 and note that the session is authenticated.

Roadmap

See the open issues for a list of proposed features (and known issues).

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE for more information.

Contact

ZwCreatePhoton - @ZwCreatePhoton

Project Link: https://github.com/ZwCreatePhoton/BrowserPivotingIE

About

Browser Pivoting implementation for Internet Explorer

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages