Het internet op zijn kop

Een tijdje terug las ik een artikel waar iemand zijn buren wou terugpakken. Deze buren zaten namelijk op zijn draadloos internet. Als de buren of andere mensen verbinding maakten zijn draadloos netwerk, werd al hun verkeer door een proxy gestuurd en werden al hun afbeeldingen omgedraaid. Deze wisten natuurlijk niet wat er aan het gebeuren was. Volgens mij spraken hun gezichten boekdelen. :)

Ik was zeer geïnteresseerd en ik wou dit natuurlijk zelf eens proberen. In deze blogpost zal ik proberen te beschrijven hoe ik dit precies heb aangepakt en zal ik proberen de technische details uit te leggen. Ik ben in het hele idee nog iets verder gegaan, ik heb gebruikt gemaakt van arpspoofing zodat ik dit op een lokaal niet-draadloos netwerk kon toepassen. Alles wordt naarmate je verder leest wel duidelijk.

Virtual Box

Ik ben begonnen met het installeren van een virtuele omgeving, waar ik gemakkelijk virtuele machines kon op draaien. Aangezien mijn hoofdbesturingssysteem Windows is en het toepassen van deze technische aspecten gemakkelijker gaat in een Linux-distrubutie, heb ik gekozen om dit te implenteren in een virtuele omgeving. Het heeft natuurlijk nog een extra voordeel, want je kan al eens iets misdoen zonder er ernstige gevolgen van te ondervinden.

Voor dit project heb ik gebruik gemaakt van een Ubuntudistrubutie en Oracle Virtual Box. Je kan deze allebei gratis downloaden van het internet. Na het installeren van Ubuntu heb ik ervoor gekozen om verbinding te maken met een netwerk-bridged-adapter. Dit geeft het voordeel dat het apparaat wordt opgenomen in het netwerk. Dit is nodig als we straks het verkeer van andere computers in het netwerken door de proxy willen sluizen.

Squid: web caching proxy

Ik hoor je al zeggen wat is dat een proxy? Ik zal dit op de meest simpele en verstaanbare manier proberen uit te leggen. Een proxy kan je zien als een soort van tussenpersoon of apparaat tussen een computer en het internet. Al het verkeer wordt dan door een proxy gestuurd en die kan daar dan eventueel nog iets aan wijzigen of kan bestanden cachen zodat die later niet meer gedownload hoeven te worden. In ons geval is het eerste zeer interessant want Squid bevat een functie waarbij je een url kan herschrijven met bijvoorbeeld een Perlscript. Zo kan je bijvoorbeeld alle urls naar één site laten wijzen. Als ik dan bijvoorbeeld surf via de proxy kan ik via dat script gelijk welke site laten verwijzen naar https://www.spanhove.com. In ons geval geeft dit een voordeel want zo kunnen we kijken in het script als het afbeelding is,dit omdraaien en dan deze afbeelding terug sturen naar de gebruiker.

Ik heb dit aangepakt met dit script. Zoals je in dit script kan zien wordt de afbeelding opgehaald met het commando wget, daarna wordt de afbeelding gedraaid met mogrify ('sudo apt-get install imagemagick') en daarna wordt dit weggeschrijven naar een lokale webserver. Hierna geven we een nieuwe url voor de afbeelding terug en die verwijst naar onze lokale gedraaide afbeelding. De webserver die ik geïnstalleerd heb is Apache ('sudo apt-get install apache2') en squid kan je zo downloaden ('sudo apt-get install squid'). Vergeet daarna niet de goeie rechten in te stellen voor zowel het script als de map waar de afbeeldingen in worden weggeschrijven. Dit kan je doen met 'chmod'.

Dan starten we beide services op via de commando's 'sudo service squid' en 'sudo service apache'. We stellen ook de squid.conf file in. Voor de gedetailleerdere uitwerking verwijs ik naar dit artikel.

Arp spoofing

Arp spoofing is een 'man-in-the-middle' attack, dit zorgt ervoor dat we ons tussen het internet en een andere computer kunnen plaatsen. We kunnen dan het verkeer eigenlijk via onze computer laten lopen en het zo uitlezen of veranderingen in brengen, zonder dat die persoon dit doorheeft. Je kan dit pakket installeren met het commando 'sudo apt-get install dsniff'. En daarbij gebruik je het commando 'arpspoof -t ' en omgekeerd ook 'arpspoof -t '. Vergeet ook niet het volgende commando uit te voeren om het te forwarden. 'echo 1 > /proc/sys/net/ipv4/ip_forward'

Ip tables

Als laatste moeten we ervoor zorgen dit het http verkeer dat binnenkomt wordt doorgestuurd naar onze proxyserver. Dit kan je doen aan de hand van ip-tables.
#delete all rules sudo iptables -F sudo iptables -t nat -F sudo iptables -t mangle -F sudo iptables -X # Masquerade. sudo iptables -t nat -A POSTROUTING -j MASQUERADE # Transparent proxying sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3128

Het resultaat

Bronnen: http://www.ex-parrot.com/pete/upside-down-ternet.html
http://www.squid-cache.org/
https://help.ubuntu.com/community/Upside-Down-TernetHowTo


Reacties

Ook interessant!

#16

Volg me op

Blijf op de hoogte via e-mail

Via deze nieuwsbrief kan je maandelijks op de hoogte blijven van alles wat er op deze website verschijnt. Geen zorgen, ik verstuur geen spam en je kan je altijd uitschrijven.

E-mail: *
Naam:
* is verplicht in te vullen