Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 69 reacties
Bron: Websense

Websense, een Amerikaanse ontwikkelaar van securitysoftware, heeft een waarschuwing doen uitgaan voor een nieuw trojaans paard. Dit stukje malware nestelt zich na installatie als een Internet Explorer Browser Helper Object, waar het zich bezighoudt met het verzamelen van de gegevens die door internetters in webformulieren worden ingevoerd. Deze data wordt vervolgens teruggestuurd naar de eigenaar van het paard. Dat is op zich geen vreemd gedrag, dit soort malware wordt dagelijks ontdekt. Wat speciaal is aan deze trojan is dat het versturen van gegevens niet via een HTTP-POST of via een e-mail gebeurt, aangezien dat verkeer relatief eenvoudig is te ontdekken en te onderscheppen. In plaats daarvan wordt gebruikgemaakt van ICMP-commando's, oftewel ping-opdrachten. De te versturen data wordt via een XOR-algoritme gecodeerd, waarna het verstuurd wordt in de datasectie van een ICMP-pakketje. Dit geÔnfecteerde pakketje lijkt op al het andere ICMP-verkeer en is daarom moeilijk te identificeren of tegen te gaan, zonder het volledige ICMP-verkeer plat te leggen.

GeŽncodeerde inhoud van ICMP-pakket (uitsnede)
Uitsnede van de geŽncodeerde inhoud van een ICMP-pakket | Klik voor een grotere versie.
Moderatie-faq Wijzig weergave

Reacties (69)

Je kunt in veel firewalls ICMP packetjes/commandos blokkeren, ik weet dat het in ieder geval met Zone Alarm Pro kan en met de firewall binnen de Kaspersky Suite.
Het is alleen verschrikkelijk dom om ICMP te blokeren, zeker op servers en gateways. ICMP is belangrijk om internet "gezond" te houden.
Besides, voor ICMP heb je RAW socket toegang nodig, en alleen Windows geeft deze toegang zonder admin privileges. De rest van de OS wereld wist al van de gevaren van RAW socket toegang, helaas hebben ze bij Microsoft er andere ideeen over.
Ik meen dat Windowx XP het enige OS is waar de gebruiker toegang kan krijgen tot RAW sockets
Steve Gibson (van grc.com) heeft voor de lancering van XP hierover ook een vrij alarmerende stuken geschreven om voor gevaren als deze te waarschuwen, en tevergeefs stappen ondernomen om dit tegen te houden.

Zie onder andere http://www.grc.com/dos/xpconference.htm
Volgens mij is RAW socket toegang in OS'en vrij normaal? Programma's als nmap werken juist op Windows XP met meer moeite als *nix'en, omdat je in XP SP2 alleen nog RAW toegang hebt tot ethernet sockets.
Nee, RAW socket toegang is abnormaal. Je kunt dan namelijk zelf je packet samenstellen tot op bit niveau. Dus ook pakketten die de boel in de war sturen zoals bijvoorbeeld SYN floods.

Nu kan iemand die kwaad wil altijd wel ergens admin/root rechten krijgen, maar deze bescherming is om ervoor te zorgen dat niet een willekeurige user/programma dit op _JOUW_ machine gaat doen.

Doordat op XP de RAW socket toegang vrij is heb je die bescherming daar niet. Het zou ook niet veel uitmaken, want op XP is bijna iedereen toch al admin.

Normaal heeft alleen admin/root de mogelijkheid om een RAW socket te gebruiken, en bepaalde software zoals ping (traceroute werkt met UDP sockets).

Op XP (en 2000, 2003, .....) maak je gebruik van winsock om toegang te krijgen tot TCP of UDP sockets. Mits het gekozen poortnummer >=1024 zijn daar geen speciale privileges voor nodig. Dit is het normale interface voor TCP/IP netwerk verkeer.

De reden dat nmap et al meer moeite hebben op Windows is dat die programma's op *nix ontwikkeld worden. De meeste *nixen hebben een vergelijkbare protocolstack. Windows wijkt daar op een aantal punten van af. Dan is de port naar Windows dus wat meer werk dan de port naar een andere *nix.
Steve Gibson schrijft altijd overal alarmerende stukken over.
Probeer maar eens een niet-alarmerend stuk (qua inhoud dan wel font-opmaak) te vinden op grc.com...
Nee, RAW socket toegang is abnormaal.
onder windows was dat inderdaad zo, maar sinds windows 2000, toen MS de FreeBSD tcp/ip stack is gaan gebruiken, is het ook op dat OS beschikbaar.

Onder Unixen was het altijd al beschikbaar, maar dan moest je wel root zijn.
voor ICMP heb je RAW socket toegang nodig
waarom kan dan elke willekeurige user in linux, het commando ping en traceroute gebruiken?
Omdat je hierbij niet zelf het packet samenstelt en dus ook de data niet kan specifieren. Je hebt maw nog altijd geen toegang tot raw sockets....
Omdat ping en traceroute het setuid bitje aan hebben staan. Dit betekend dat bij uitvoer het programma de rechten van de eigenaar krijgt (root bijvoorbeeld).
Doe maar eens een ls -l /bin/ping en je zit het s bitje staan.
Ach als je een beetje firewall hebt staat kan je ook bepaalt segmenten in ICMP protocol laten allowen en andere denyen zoals onderstaande log uit 1 van mij firewalls.
pass out on $ext_if inet proto icmp all icmp-type 8 code 0 keep state
pass in on $ext_if inet proto icmp all icmp-type 8 code 0 keep state
Dit bevoorbeeld staat wel echo replies toe echter geen enkel ander type van het ICMP protocol.
Wat heel slecht is, want je wilt ook ICMP Fragmentation Needed (voor bijvoorbeeld Path MTU discovery), ICMP Destination Unreachable (zodat je sneller een foutmelding krijgt als een site niet beschikbaar is) etc. doorlaten.

ICMP is veel nuttiger dan je op het eerste gezicht zou denken.
Zelf laat ik volgens mij type 3, 8 en 11 inkomend toe (zie lijst..) en uitgaand alles |:(

De types hebben weer subtypes, bijvoorbeeld Fragmentation needed is een subtype van 3: Destination unreachable.
Ik hoop dat dit ze allemaal zijn voor een gezond internet verkeer. (zoniet laat het even weten..) Zeker op je NAT gateway is het belangrijk een aantal toe te laten.
Je zult als firewall dus deeper moeten ingaan op ICMP packetjes dus kijken naar de data etc. bijvoorbeeld de grootte om evil packetten eruit te halen.

* cybero maakt een todo list: toegestane uitgaande icmp en size aanpassen..
Iedereen zit toch als Admin ingelogd, dus dat zal ook het verschil niet maken :z
je kunt icmp pakketen ook sturen via icmp.dll maar dit is well depreciated. Dus je hebt niet perse admin rechten nodig.
....
Besides, voor ICMP heb je RAW socket toegang nodig, en alleen Windows geeft deze toegang zonder admin privileges....
Dar heb je helemaal geen raw sockets voor nodig alleen gedegen kennis van het OS. ICMP is niks meer en minder dan TCP of UDP en bevindt zich op het zelfde niveau als deze. Het enige verschil tussen ICMP en TCP en UDP is een aantal bitjes in de IP-header (8 om precies te zijn) en de Payload. 1 = ICMP; 2= IGMP; 6 = TCP; 17= UDP. Deze Protocol bits bepalen welke SAP (Service Access Points) er gebruikt worden tussen twee communicarende systemen. Om hier misbruik van te kunnen maken heb je Raw Sockets nodig om bijvoorbeeld een eigen protocol te maken. Wie weet overigens hoeveel "eigen" protocollen er al niet zijn die informatie uitwisselen.....

Meer info op http://www.erg.abdn.ac.uk...inet-pages/ip-packet.html
Mischien een beetje misplaatst maar ik vind het vanuit een technisch oogpunt een verademing dat er weer eens iets origineels word gedaan op virus gebied.

Eindelijk weer eens creatieve hackers!

Niet dat ik dit soort dingen leuk vind of goedkeur maar dit is het eerste bericht over virussen waarvan ik zoiets heb van "interessant!".
Nee, da's niet misplaatst. We zijn niet voor niets tweakers. Juist door dit soort ongein verbreden we onze technische horizon en da's voor een tweaker, die altijd op zoek is naar de grenzen van diezelfde horizon, zeer interessant.

Het is een mooi gevonden techniek, alleen jammer dat deze wordt misbruikt door een trojan. Volgende stap is voorkomen dat de techniek misbruikt wordt maar de techniek zelf aanwenden voor allerlei nieuwe oplossingen.
[gruwelijk offtopic]
Zie jij iets over gekraakte software?
Zou niet weten waarom dit dan crackers zouden zijn...
[/gruwelijk offtopic]
Een hacker zal dingen aanpassen, ongeacht of dit positieve of negative gevolgen heeft. Zo kan je een stuk hardware hacken (denk aan zelf een seriele poort solderen op je Sweex router). Hackers heb je in WhiteHat, GreyHat en BlackHat's.

Een cracker is iemand die een beveiliging kraakt binnen software, om zo te zorgen dat je WinXP illegaal kan gebruiken, en andere software. Dit valt totaal buiten het hacken.
Hackers zijn mensen die bugs melden en crackers exploiten ze lekker en houden alle informatie voor zichzelf ;)

Daarom heten cracks ook cracks hť !!

Niet alleen software related dus...
Hackers zijn toch van die coole jongelui op skateboards :+
n plaats daarvan wordt gebruikgemaakt van ICMP-commando's, oftewel ping-opdrachten
ICMP != ping. ICMP is een veel uitgebreidere protocol dan alleen het ping commando. Onder ICMP vallen:

t of permitted control messages (incomplete list)

* 0 - Echo Reply
* 1 - Reserved
* 2 - Reserved
* 3 - Destination Unreachable
* 4 - Source Quench
* 5 - Redirect Message
* 6 - Alternate Host Address
* 7 - Reserved
* 8 - Echo Request
* 9 - Router Advertisement
* 10 - Router Solicitation
* 11 - Time Exceeded
* 12 - Parameter Problem
* 13 - Timestamp
* 14 - Timestamp Reply
* 15 - Information Request
* 16 - Information Reply
* 17 - Address Mask Request
* 18 - Address Mask Reply
* 19 - Reserved for security
* 20-29 - Reserved for robustness experiment
* 30 - Traceroute
* 31 - Datagram Conversion Error
* 32 - Mobile Host Redirect
* 33 - IPv6 Where-Are-You
* 34 - IPv6 Here-I-Am
* 35 - Mobile Registration Request
* 36 - Mobile Registration Reply
* 37 - Domain Name Request
* 38 - Domain Name Reply
* 39 - SKIP Algorithm Discovery Protocol
* 40 - Photuris, Security failures
* 41 - ICMP for experimental mobility protocols such as Seamoby [RFC4065]
* 42-255 - Reserved

Meer informatie: http://en.wikipedia.org/wiki/Icmp
Je zegt dus eigenlijk dat er mer soorten data verkeer via ICMP-commando's kunnen worden verzonden.
Jep, Ping is maar ťťn van de vele toepassingen van ICMP.

Net als TCP/IP voor meer bedoelt is dan alleen porno downloaden, je kunt het ook gebruiken voor e-mail, wist je dat? :D
In de datasectie van een ICMP pakketje kun je alles versturen wat je maar wilt. Je kunt zelfs, als je op je eigen server een programmaatje installeert dat de ICMP request afhandelt (in plaats van dat de kernel dat doet), een complete PPP verbinding over ICMP opzetten:

ICMPTX doet dat bv. op Linux:

http://thomer.com/icmptx/

Dit wordt, met recht, een covert data channel genoemd.
je kan in een icmp pakket een bepaald bitpatroon stoppen. Standaard zal dit gewoon een standaard patroon zijn. Maar het is natuurlijk geen enkel probleem om er data mee te sturen. Ik heb zelf wel ping gestuurd met bijvoorbeeld alleen maar nullen of enen om vage problemen met een modem te troubleshooten.
Jop, zat er dik in zoiets. En als ICMP niet werkt kan een handige hacker dit met een eigen DNS server en DNS requests (data ge-encodeerd als subdomein). Hoef je niet eens rauwe paketten voor te versturen (voor ICMP zullen ze wel de pcap driver gebruiken, aangezien raw packet support uit XP is verwijderd), nagenoeg elk OS ondersteunt DNS, en er is genoeg ruimte voor essentiele data (passwords etc).

De kunst is toch om dit soort rommel niet op je pc te krijgen.
Precies, er zijn zelfs al tooltjes voor het opzetten van tunnels via ICMP en DNS queries. Ik wilde nog een keer servers opzetten die mij instaat stellen zo'n tunnel te bouwen. Hier zijn de links: ViaDNS ViaICMP

Zucht jammer, nou worden de firewalls ook gericht op ICMP door deze acties.. Daar gaat mijn tunnel.
Zucht jammer, nou worden de firewalls ook gericht op ICMP door deze acties.. Daar gaat mijn tunnel.
Goed opgezette firewalls zijn al lang bestand tegen dit soort misbruik door goed opgezette filters en content scanning. Bij een goede firewall setup hoort een goede rulebase waarbij zo min mogelijk word doorgelaten met zo krap mogelijke filters. Dus bv alleen DNS naar de dns servers van de ISP, uitgaand icmp alleen vanaf speciale management stations etc.
bv alleen DNS naar de dns servers van de ISP
Mits juist opgezet helpt je dit dus niks, de ISP zal het alsnog verder moeten vragen, de data komt dus uiteindelijk aan op de plaats waar de hacker het wil hebben (op zijn/haar DNS server dus). Dat is juist het smerige aan deze opzet, de client maakt gewoon gebruikt van voorzieningen van het OS (je kunt zelfs vanuit een batch wel op de een of andere manier een DNS query doen), en de hacker hoeft alleen een uitgebreide log van zijn/haar DNS server te hebben...
Welke firewalls scannen op dit soort content van datapakketjes?
Volgens mij valt het wel mee met de goed opgezette firewalls in deze wereld. Ik ken er nog geen die de content van uitgaande icmp scannen, hoe wel dit natuurlijk gewoon te bouwen is met iptables. Dit gebeurt toch vaak niet.. Daarom dat het een logische stap is om dit te misbruiken. Vervolgens word hierop standard beter gechecked en verschuift het geheel naar een nieuw veld en zo gaan we door..

<off-topic>
De DNS aanpak is veel genialer opgezet, omdat dit een echte valide query is (lijkt) die door je eigen DNS server word doorgestuurd! Zoals aangeven door Friek. Je krijgt dus een soort spam oorlog via DNS queries, je moet namelijk twee valide queries uit elkaar zien te houden. Probleem voor het implementeren van de tunnel is dat je ergens in een dns server een NS record moet hebben voor een subdomein die naar jou server wijst.. Blijft (off-topic) leuk spelen met dit spul, daarvoor zijn we toch tweakers :)
</off-topic>
tenminste iemand die me begrijpt ;)

die tunnel is trouwens vrij eenvoudig te bouwen, een IPv4 adres vertaalt eenvoudig naar 4 bytes. Met ipv6 wordt de bandbreedte nog groter.
In principe is het niet de bedoeling dat een firewall dit soort aanvallen behandelt.
het lastige is dat dit een uitgaand ICMP pakketje is. En heel erg veel firewalls laten alles van binnen naar buiten gewoon door......

De ontvangende kant zal het wel doorlaten hoor...
Volgens mij wordt het verkeerd begrepen (of heb ik het verkeerd begrepen :? )
De trojan verspreid zich niet via ICMP.
Als de trojan geactiveerd is, wordt er gescand op hetgeen je in webformulieren invult (om dus e-mailadressen, paswoorden, etc te weten te komen). De informatie die dan verzameld is, wordt naar de hacker gestuurd via een ICMP packet.

Kortom: Het is dus geen bug/zwakheid/probleem in de ICMP packetten.
En toch: het ICMP protocol is dus niet zo beveiligd dat alleen ICMP informatie verstuurd kan worden. In mijn ogen zou je dat als een bug/zwakheid/probleem kunnen opvatten, net zoals het SMTP protocol als lek wordt gezien omdat het veel te gemakkelijk is om headers te veranderen.
Dit is geen zwakheid, het is gewoon bekend dat dit kan, en je kan je er prima tegen beschermen.

Je hebt verschillende typen ICMP verkeer.
Voor een compleet overzicht zie hier: http://www.faqs.org/docs/iptables/icmptypes.html

Met de volgende firewall regels(FreeBSD IPFilter) zorg ik ervoor dat alleen onschadelijke typen ICMP verkeer door worden gelaten.
pass in quick on rl0 proto icmp all icmp-type 0 keep state # echo replies
pass in quick on rl0 proto icmp all icmp-type 3 keep state # unreachable
pass in quick on rl0 proto icmp all icmp-type 8 keep state # echo requests
pass in quick on rl0 proto icmp all icmp-type 11 keep state # time exceeded
Veel firewalls hebben standaard soortgelijke regels, of zijn op deze manier te configureren.
ICMP paketten zoals deze trojan verstuurd(met data) komen er dus niet door.
Je stelt voor om ICMP te standaardiseren
Dat is 20 jaar (gokje??) geleden al gebeurd
Euhm, het is gewoon ICMP informatie die verstuurt wordt.

Net als ik in een e-mail kan zeggen dat ik 10milj. euro van nigeria wil overbrengen of via MSN je kan uitnodigen naar mijn pr0nsite.

De header is wat het ICMP maakt, de informatie die in het pakket staat kan al dan niet gebruikt worden door een programma aan de ontvangende zijde.
Ik begrijp het probleem niet goed...
ICMP: ik verstuur 1 data-pakketje en kijk of het goed aankomt. Je kan nu alle firewalls laten scannen op de OSI layer 7 om te kijken of het om een "standaard" ICMP gaat, of om een ICMP met andere packet data.
Je stelt voor om ICMP te standaardiseren zodat enkel specifieke content kan verstuurd worden?
Kortom: Het is dus geen bug/zwakheid/probleem in de ICMP packetten.
Is dat niet een beetje kort door de bocht?
Ik kan een honkbalknuppel goed gebruiken in de sport.
Maar ook om iemand z'n ramen er uit te meppen of z'n schedel mee in te slaan!
Is het dan een "bug/zwakheid/probleem" in de honkbalknuppel?
Ik moet wel zeggen dat het wel "geniaal" gevonden is om data zo te verbergen en te versturen.
Kortom: Het is dus geen bug/zwakheid/probleem in de ICMP packetten.

wel effe goed lezen he :9

edit:
Mmz post over honkbalknuppel is reeds verwijderd
Dat valt mee; eerst las ik namelijk 'ICBM' (Intercontinental Ballistic Missile). :Z
Zou geen verkeerd idee zijn, virussen die ICBM's richting hun makers sturen. :+
Dat zal dan maar net je buurman zijn :o
Licht helemaal aan de grootte van de lading! Kleine lading en je hebt alleen wat last van wat lichte aardschokjes! Tenzij het je onderbuurman is....!
Ik vraag me af wat het probleem is met het filteren van deze pakketjes.
Is het moeilijker dan het filteren van het http verkeer ?

Vrijwel alle computer aan het internet laten al http verkeer door dus waarom de moeite nemen om pakketjes via icmp te versturen ? Over het algemeen lijkt me ongewoon icmp verkeer (dat normaal veel gestructureerder in mekaar zit en veel minder variatie toont dan http verkeer) een veel makkelijker indicator van een trojan besmetting.
Het is een probleem om dit te filteren omdat het via een type van ICMP gaat dat ook voor normaal gebruik van internet heel nuttig is. Puur filteren op ICMP type is dus niet mogelijk. Filteren op content is ook niet mogelijk omdat deze is encoded met XOR. Je kunt dat wel vrij makkelijk decoderen, maar om dit on-the-fly in een firewall te doen is misschien vrij lastig.
Dat de content in icmp verkeer gecodeerd is hoeft niet anders te zijn als bij http verkeer waar je de inhoud ook kan coderen.
Dan hebben de meeste bedrijven niet veel problemen hiermee.
De meeste proxy's laten geen ping of ICMP verkeer door. Dus komt het pakketje nooit bij de eigenaar terecht.
Niet waar, de meeste proxies laten geen ping of ICMP NAAR BINNEN door. Naar buiten toe lukt vrijwel altijd. En dus komt de -door de trojan verstuurde- informatie wel aan bij de maker.

Ook ik ben trouwens onder de indruk van de creativiteit van deze schrijver.
Een proxy is wat anders dan een gateway.

Een proxy laat sowieso nooit een ping door. Als hij dat wel doet, dan is het geen proxy meer maar een router of een proxy-router-combinatie.

Maar veel grote bedrijven, wij ook, hebben gewoon een proxy die verder niets door laat.
ja. je wordt namelijk niet geinfecteerd via ping, maar je geinfecteerde computer stuurt dingen ergens anders heen via ICMP.
Ik ben er eerder verbaasd over dat dit "nu pas" gebeurt. 4 jaar geleden gebruikte ik ICMP al om een tunneltje te bouwen. Had toen een eigen servertje op de hogeschool, en die zette opeens heel veel poorten dicht.

Ik weet niet meer welke software we daar toen voor gebruikten, maar hier staat ook zo'n soort programma'tje:
http://www.cs.uit.no/~daniels/PingTunnel/

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True