Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/syncsynchalt/dime-a-tap

Man-in-the-middle TLS intercept proxy with tcpdumpable loopback
https://github.com/syncsynchalt/dime-a-tap

hackertools im-in mitm proxy ssl tcpdump tls

Last synced: 3 months ago
JSON representation

Man-in-the-middle TLS intercept proxy with tcpdumpable loopback

Awesome Lists containing this project

README

        

# dime-a-tap

MITM proxy to make TLS/SSL traffic readable in the clear.

Unencrypted traffic is sent over loopback to make it easily tcpdumpable.

### Getting started

To start the proxy on port 443 (HTTPS):

```
$ go install github.com/syncsynchalt/dime-a-tap/cmds/dime-a-tap@latest
$ export PATH=$PATH:~/go/bin
$ dime-a-tap 443
```

Use /etc/hosts, captive DNS, or similar to redirect hosts and devices to your proxy for a given hostname.

### Creating a certificate store

To avoid security warnings you'll want to create a CA and distribute it to your devices:

```
$ dime-a-tap ca-init /tmp/cadir
$ dime-a-tap -cadir /tmp/cadir 443
```

Install the certificate in `/tmp/cadir/ca.crt` as a trusted CA on your hosts or devices.

### Capturing the unencrypted data

To capture intercepted data, there are two options.

Use `-capturedir {dir}` to write the unencrypted client (.c) and server (.s) conversation to files in that dir. Example:
```
$ mkdir /tmp/captures
$ dime-a-tap -capturedir /tmp/captures 443 &
(send traffic through the tap)
$ ls /tmp/captures
total 56
-rw-r--r-- 1 user wheel 75 Oct 4 12:45 192.168.69.42:52981.20181004124516.667781.c
-rw-r--r-- 1 user wheel 756 Oct 4 12:45 192.168.69.42:52981.20181004124516.733675.s
-rw-r--r-- 1 user wheel 0 Oct 4 12:45 192.168.69.42:52981.20181004124516.735306.c
-rw-r--r-- 1 user wheel 75 Oct 4 12:45 192.168.69.42:52989.20181004124551.808247.c
-rw-r--r-- 1 user wheel 756 Oct 4 12:45 192.168.69.42:52989.20181004124551.875861.s
-rw-r--r-- 1 user wheel 0 Oct 4 12:45 192.168.69.42:52989.20181004124551.877488.c
-rw-r--r-- 1 user wheel 75 Oct 4 12:46 192.168.69.42:52992.20181004124609.494528.c
-rw-r--r-- 1 user wheel 297 Oct 4 12:46 192.168.69.42:52992.20181004124609.554621.s
-rw-r--r-- 1 user wheel 459 Oct 4 12:46 192.168.69.42:52992.20181004124609.555327.s
-rw-r--r-- 1 user wheel 0 Oct 4 12:46 192.168.69.42:52992.20181004124609.556733.c
```

Or use `tcpdump` on localhost:4430 to create a pcap file suitable for use with wireshark. Example:
```
$ dime-a-tap 443 &
$ tcpdump -i lo0 -s 0 -w capture.pcap port 4430
(send traffic through the tap)
```