Skip to content
sepalani edited this page Sep 5, 2019 · 2 revisions

Welcome to the clips wiki!

Goal

Manipulate transparently the standard input and standard output of a process to transfer data.

Clipin

Manipulate standard input.

Clipout

Manipulate standard output.

Clips

  • server, use stdout to send requests and stdin to get responses.
  • proxy, connect to both stdin/stdout and forward requests/responses.

Figure

clips

Usage

Prerequisite

Send clips/server.py to the target (Internet isolated) machine.

Steps

Connect to the target using clipin and clipout to handle stdin/stdout.

./clipin/clipin.py --tcp -- ssh user@target_machine | ./clipout/clipout
# Then, run clips/server on the target
./clips/tools/server.py
# It will create a SOCKS5 proxy server on 127.0.0.1:1080

On another terminal on the host system, run the proxy.

# It will connect to clipin/clipout and handle encoded SOCKS5 requests/responses
./clips/tools/proxy.py

After that you can access the Internet on the target machine using the local proxy server on port 1080.

# Example
env ALL_PROXY="socks5h://127.0.0.1:1080" curl https://www.example.com/

Issues

  • Output can be partially missing when using an interactive shell.
  • Linux only, ATM.
  • Hardcoded parameters.
Clone this wiki locally