Unter slides.netintro.alinkbetweennets.de gibt es diese Slides.
Ursprünglich von Gina Muuss
Abgeändert und geupdated von ALinkBetweenNets und Felix Roth
Beispiele:
Für uns netterweise größtenteils egal.
10.0.0.0/8
172.16.0.0/12
192.168.0.0/16
2001:0db8::ff00:0042:8329
Typische Anwendungsszenarien:
Wir setzen also einen Tunnel, der typischerweise wieder ein Layer implementiert, auf einen bestehenden Netzwerkstack auf.
sudo cp ~/Downloads/peern.conf /etc/wireguard
wg-quick up peern.conf
Zum Aufzeichnen ggf. mit sudo starten.
Ein Beispiel
Wireguard configs gibts unter: vpnconfig.netintro.alinkbetweennets.de/peerx Wobei x deine Zufallszahl ist
Bitte nur die Config für deine Zahl verwenden, sonst ist das System verwirrt
Verbindet euch mit dem VPN und versucht (z.B. per Browser) auf chal0.internal.netintro.alinkbetweennets.de Port 80 zuzugreifen, beobachtet dabei den Traffic mit Wireshark.
Wir sehen uns in 20 min
nc -l -p 1337 # auf port 1337 nach TCP Verbindungen hören
nc -l -u -p 1337 # auf port 1337 nach UCP Paketen hören
nc example.org 1337 # auf port 1337 über TCP mit example.org verbinden
nc -u example.org 1337 # auf port 1337 über UDP mit example.org verbinden
socat - tcp-l:1337 # auf port 1337 nach TCP Verbindungen hören
socat - udp-l:1337 # auf port 1337 nach UDP Paketen hören
socat - tcp:example.org:1337 # auf port 1337 über TCP mit example.org verbinden
socat - udp:example.org:1337 # auf port 1337 über UDP mit example.org verbinden
from pwn import *
# Wir wollen den ganzen output
context.log_level = 'debug'
# Verbindung über TCP & IPv4 zu challenge.ctf.example.org auf Port 1337 herstellen
io = remote('challenge.ctf.example.org', 1337, typ='tcp', fam='ipv4')
# Alternativ kann eine lokale Binary gestartet werden (nützlich zum Debuggen)
# io = process('locale_binary')
# Wir senden Daten über die geöffnete Verbindung
io.send('GET /\r\n\r\n')
# Wir empfangen bis eine neue Zeile kommt
io.recvline()
# Wir gehen in den interaktiven Modus über (macht nur auf dem Terminal Sinn)
io.interactive()
Verbindet euch per TCP mit chal1.internal.netintro.alinkbetweennets.de auf Port 1337 und tut, was der Computer euch sagt.
Wir sehen uns in 20 min
TCP-Streams ermöglichen uns, Text an einen anderen Computer zu verschicken, ohne uns über den Weg dorthin Gedanken zu machen
Mehr Infos hier
In der echten Welt nicht einsetzen, außer ihr wisst, was ihr tut!
GET / HTTP/1.1
Accept: */*
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Host: localhost:8888
User-Agent: HTTPie/3.2.1
GET / HTTP/1.1
Accept: */*
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Host: localhost:8888
User-Agent: HTTPie/3.2.1
ssh felix@server.example.org
# make it look like packets are coming from the ssh server,
# for all packets arriving at some port on your machine
ssh -L [LOCAL_IP:]LOCAL_PORT:DESTINATION:DESTINATION_PORT [USER@]SSH_SERVER
# make it look to the outside, that they are talking to the server,
# while in fact, packets are forwarded to you
ssh -R [REMOTE:]REMOTE_PORT:DESTINATION:DESTINATION_PORT [USER@]SSH_SERVER
Verbindet euch über HTTP mit chal2.internal.netintro.alinkbetweennets.de auf Port 80 und tut, was der Computer euch sagt.
Wir sehen uns in 20 min
Übersetzt Domain Namen in IP Adressen.