image

Anti-virus vindt keylogger niet na wijzigen paar bytes

vrijdag 17 juni 2005, 09:53 door Redactie, 20 reacties

Het wijzigen van een paar bytes van een keylogger kan voorkomen dat de software door anti-virusprogramma's wordt gevonden, zo heeft een groep met de naam RedTeam op de Full-Disclosure mailinglist bekend gemaakt. Het team was bezig met een penetratie test en wilde de keylogger "Klogger" installeren. De software werd in eerste instantie door de aanwezige Sophos anti-virus opgemerkt. Toen men echter een paar bytes in de Klogger binary wijzigde, wist de anti-virus software van Sophos de keylogger niet meer te vinden. De groep lichtte Sophos op 3 juni in, maar aangezien een update uitbleef, maakte het gisteren haar ontdekking bekend. Volgens ander posters op de mailinglist hebben alle anti-virus programma's die van signatures gebruik maken hier last van.

Reacties (20)
17-06-2005, 10:29 door Anoniem
Niks nieuws. Antivirus bedrijven willen op deze manier geld
blijven verdienen.
Houd het volk bang, en blijf signatures maken, more is better.
17-06-2005, 11:11 door Anoniem
damn zo oud :S

gewoon een packer deronder
17-06-2005, 12:01 door Anoniem
Signatures worden op basis van de exported functions van een
DLL gemaakt.. Function naam veranderen wat functies
verplaatsen binnen de source, en voila de keylogger is niet
meer te detecteren.. Dit soort dingen zijn moeilijk tegen te
gaan..
17-06-2005, 12:52 door Anoniem
Dit soort dingen zijn moeilijk tegen te
gaan..

Yup, het enige dat helpt is de zogenaamde 'heuristische'
benadering, i.e. dat scanners kijken wat een binary doet --
maar dat schijnt weer gepatenteerd te zijn waardoor de
verdere ontwikkeling & verbetering ervan een paar standen
lager staat.
17-06-2005, 13:14 door Anoniem
Door Anoniem
Signatures worden op basis van de exported functions van een
DLL gemaakt.. Function naam veranderen wat functies
verplaatsen binnen de source, en voila de keylogger is niet
meer te detecteren.. Dit soort dingen zijn moeilijk tegen te
gaan..

Haha, wat een onzin. Je weet er echt niks van hè?

Iemand die dit nieuws noemt weet niet hoe virus scanners werken.
Sophos werkt vooral met checksums. Een byte veranderen is al genoeg,
wat zeg ik: 1 bit veranderen is genoeg.

Kunnen we nu weer over gaan naar echt nieuws? Dank u.
17-06-2005, 14:33 door Anoniem
Door Anoniem
Signatures worden op basis van de exported functions van een
DLL gemaakt.. Function naam veranderen wat functies
verplaatsen binnen de source, en voila de keylogger is niet
meer te detecteren.. Dit soort dingen zijn moeilijk tegen te
gaan..

onzin. klinklare onzin. ik weet niet waar je die paar termen opgevangen
hebt, maar je kunt je beter eens wat gaan verdiepen in wat betrouwbare
informatie. of bekijk eens AVPX van z0mbie. of leens eens Szor's nieuwe
boek. of gebruik je hersenen eens.
17-06-2005, 22:12 door Anoniem
diegene die het over onzin hebben mogen zelf wel eens
zichzelf gaan verdiepen in de materie.. omdat er vaak
gebruik wordt gemaakt van keyloggers die op het internet te
vekrijgen zijn, inclusief source, checken veel commercielle
producten op de "exported functions".. "Anoniem" heeft het
dus niet over de checksums van de namen van de funties, maar
over de namen die letterlijk in de dll's staan..
18-06-2005, 09:24 door raboof
Zullen we de discussie een beetje constructief houden? Leer
van en aan elkaar, in plaats van meteen onvriendelijk te
doen. Dat is immers de echte `hacker spirit', niet?
18-06-2005, 14:56 door Anoniem
Door raboof
Zullen we de discussie een beetje constructief houden? Leer
van en aan elkaar, in plaats van meteen onvriendelijk te
doen. Dat is immers de echte `hacker spirit', niet?

De ene Anoniem en ik leerden de andere Anoniem dat hij het verkeerd
had, da's toch best constructief? en 1. op security.nl komen geen hackers
en 2. echt veel hackers bestaan niet meer, da's iets romantisch van
vroeger.
18-06-2005, 15:12 door Anoniem
Door Anoniem
diegene die het over onzin hebben mogen zelf wel eens
zichzelf gaan verdiepen in de materie.. omdat er vaak
gebruik wordt gemaakt van keyloggers die op het internet te
vekrijgen zijn, inclusief source, checken veel commercielle
producten op de "exported functions".. "Anoniem" heeft het
dus niet over de checksums van de namen van de funties, maar
over de namen die letterlijk in de dll's staan..

Het gaat over Sophos, niet over ander AV. Als je kritiek hebt op kritiek dan
wel graag over hetzelfde praten. Ik had het niet over checksums van DLL
namen, dat is namelijk nogal dom, zoals ik duidelijk liet merken.

Je hebt het over vermeend gebruik van DLL namen in commerciële AV, dat
is leuk en aardig, maar dat is allemaal nogal standaard. Als je alleen
dat gebruikt om te detecteren ben je niet goed bezig, false positives zijn
niet te vermijden. Waar haal je die "kennis" vandaan dat dit gebruikt wordt?

Wat je wel kan detecteren (als je flauw i.c. zonder kennis van zaken
heuristisch bezig bent) zijn bepaalde voor sommige families unieke
mutexes en andere named handles. Maar ja, daarvoor moet je de
executable wel eerst kunnen uitpakken.

De groeten en veel plezier nog.
18-06-2005, 21:06 door raboof
Door raboof
Zullen we de discussie een beetje constructief houden?

De ene Anoniem en ik leerden de andere Anoniem dat hij het
verkeerd had, da's toch best constructief?

Mja, niet echt als je daarbij nauwelijks de moeite neemt uit
te leggen waarom hij fout zit en/of hoe het dan wel zit. En
op de man spelen (`Jij weet er echt niks van, he?') is nooit
zinvol.

Maar nu heb ik wel weer genoeg gehapt, over de definitie van
`hacker' zullen we maar niet meer beginnen :).
19-06-2005, 00:04 door Anoniem
dat was die andere anoniem, ikke niet! en nee, ad hominem drogredenen
zijn inderdaad niet constructief.
19-06-2005, 18:22 door Anoniem
Door raboof
Mja, niet echt als je daarbij nauwelijks de moeite neemt uit
te leggen waarom hij fout zit en/of hoe het dan wel zit. En
op de man spelen (`Jij weet er echt niks van, he?') is nooit
zinvol.

Lees mijn reactie dan nog maar eens. Er staat duidelijk wat er wel aan de
hand is. Hoe leg je iemand uit dat fantasie niet waar is? Ik begin er niet
aan.
20-06-2005, 10:56 door Anoniem
Door Anoniem
Door raboof
Mja, niet echt als je daarbij nauwelijks de moeite neemt uit
te leggen waarom hij fout zit en/of hoe het dan wel zit. En
op de man spelen (`Jij weet er echt niks van, he?') is nooit
zinvol.

Lees mijn reactie dan nog maar eens. Er staat duidelijk wat
er wel aan de
hand is. Hoe leg je iemand uit dat fantasie niet waar is? Ik
begin er niet
aan.

Kinderachtig gedrag, zo bereik je echt veel.. Echte
techno-hooligan!
20-06-2005, 11:03 door Anoniem
Door Anoniem
Door Anoniem
Signatures worden op basis van de exported functions van een
DLL gemaakt.. Function naam veranderen wat functies
verplaatsen binnen de source, en voila de keylogger is niet
meer te detecteren.. Dit soort dingen zijn moeilijk tegen te
gaan..

Haha, wat een onzin. Je weet er echt niks van hè?

Iemand die dit nieuws noemt weet niet hoe virus scanners
werken.
Sophos werkt vooral met checksums. Een byte veranderen is al
genoeg,
wat zeg ik: 1 bit veranderen is genoeg.

Kunnen we nu weer over gaan naar echt nieuws? Dank u.


Ach je bent natuurlijk zo'n betweetertje die al dat
theoretisch gelul gelooft.. Ga eerst maar eens wat praktijk
ervaring opbouwen.. Ik heb dit niet zomaar getypt, maar is
gebasseerd op praktijk ervaring waar bytes veranderen
absoluut geen zin had maar de functies hernoemen was de
oplossing.. Maar ja, binnen de ICT kom je heel veel van jou
soort mensen tegen die overal tegen aan schoppen wat andere
doen en wat jij doet zal wel weer veeeeeeel beter zijn..
20-06-2005, 12:29 door Anoniem
Door Anoniem
Door Anoniem
Door Anoniem
Signatures worden op basis van de exported functions van een
DLL gemaakt.. Function naam veranderen wat functies
verplaatsen binnen de source, en voila de keylogger is niet
meer te detecteren.. Dit soort dingen zijn moeilijk tegen te
gaan..

Haha, wat een onzin. Je weet er echt niks van hè?

Iemand die dit nieuws noemt weet niet hoe virus scanners
werken.
Sophos werkt vooral met checksums. Een byte veranderen is al
genoeg,
wat zeg ik: 1 bit veranderen is genoeg.

Kunnen we nu weer over gaan naar echt nieuws? Dank u.


Ach je bent natuurlijk zo'n betweetertje die al dat
theoretisch gelul gelooft.. Ga eerst maar eens wat praktijk
ervaring opbouwen.. Ik heb dit niet zomaar getypt, maar is
gebasseerd op praktijk ervaring waar bytes veranderen
absoluut geen zin had maar de functies hernoemen was de
oplossing.. Maar ja, binnen de ICT kom je heel veel van jou
soort mensen tegen die overal tegen aan schoppen wat andere
doen en wat jij doet zal wel weer veeeeeeel beter zijn..

Je gaat er voor het gemak maar vanuit dat een checksum over de hele file
genomen wordt. Zo werkt dat dus niet. Je hebt de klok wel horen luiden,
maar je weet niet waar de klepel hangt.

Voordat je wat roept hier kun je beter weten wat er aan de hand is.
Raden kan iedereen, en dan is het al gauw fout, zoals je merkt.

Dat je zomaar aanneemt dat ik een theoreticus ben ligt wel in de lijn de
verwachting, voor iemand die zo gemakkelijk conclusies trekt op basis van
te weinig informatie.
20-06-2005, 13:17 door Anoniem
Door Anoniem
Door Anoniem
Door Anoniem
Door Anoniem
Signatures worden op basis van de exported functions van een
DLL gemaakt.. Function naam veranderen wat functies
verplaatsen binnen de source, en voila de keylogger is niet
meer te detecteren.. Dit soort dingen zijn moeilijk tegen te
gaan..

Haha, wat een onzin. Je weet er echt niks van hè?

Iemand die dit nieuws noemt weet niet hoe virus scanners
werken.
Sophos werkt vooral met checksums. Een byte veranderen is al
genoeg,
wat zeg ik: 1 bit veranderen is genoeg.

Kunnen we nu weer over gaan naar echt nieuws? Dank u.


Ach je bent natuurlijk zo'n betweetertje die al dat
theoretisch gelul gelooft.. Ga eerst maar eens wat praktijk
ervaring opbouwen.. Ik heb dit niet zomaar getypt, maar is
gebasseerd op praktijk ervaring waar bytes veranderen
absoluut geen zin had maar de functies hernoemen was de
oplossing.. Maar ja, binnen de ICT kom je heel veel van jou
soort mensen tegen die overal tegen aan schoppen wat andere
doen en wat jij doet zal wel weer veeeeeeel beter zijn..

Je gaat er voor het gemak maar vanuit dat een checksum over
de hele file
genomen wordt. Zo werkt dat dus niet. Je hebt de klok wel
horen luiden,
maar je weet niet waar de klepel hangt.

Voordat je wat roept hier kun je beter weten wat er
aan de hand is.
Raden kan iedereen, en dan is het al gauw fout, zoals je merkt.

Dat je zomaar aanneemt dat ik een theoreticus ben ligt wel
in de lijn de
verwachting, voor iemand die zo gemakkelijk conclusies trekt
op basis van
te weinig informatie.

Blijkbaar is lezen ook al erg moeilijk voor je...
20-06-2005, 16:33 door Anoniem
Hou maar op met flamen, jullie reageren toch anoniem, dus wat maakt het
uit als de ander "wint"?

Veel AV's gebruiken deze methode: start byte, lengte, checksum. er wordt
gezocht naar een bepaalde startbyte (en dan het liefst een byte die niet
vaak voorkomt in normale code, zodat er niet vaak onnodige (dure)
checksums berekend hoeven te worden, zoals een
pusha/popa/lidt/sidt/etc, die compilers normaal niet genereren), vervolgens
wordt er over de volgende 'lengte' aantal bytes een checksum berekend en
vergeleken met een bekend checksum. en vaak wordt dit proces nog
herhaald op een ander stukje code.

En uiteraard kan er voor een stuk in de imports/exports van een module
gekozen worden, maar waarschijnlijk gebeurt dat wel in combinatie met
een checksum over een ander stuk code, het lijkt me nogal onbetrouwbaar
zo.

Dus misschien hebben jullie allebei min of meer gelijk, het kan worden
gedaan (checksummen over exports) (en of het zo is weet ik niet, ik kan het
me wel voorstellen bij open source achtige malware), misschien wordt het
wel gedaan maar het wordt dan weer niet *altijd* gedaan. ach ja. arguing
on the internet...
20-06-2005, 19:23 door raboof
Ik geef het op.
21-06-2005, 22:34 door Anoniem
Door Anoniem
Veel AV's gebruiken deze methode: start byte, lengte, checksum. er wordt
gezocht naar een bepaalde startbyte (en dan het liefst een byte die niet
vaak voorkomt in normale code, zodat er niet vaak onnodige (dure)
checksums berekend hoeven te worden, zoals een
pusha/popa/lidt/sidt/etc, die compilers normaal niet genereren),
vervolgens wordt er over de volgende 'lengte' aantal bytes een checksum
berekend en vergeleken met een bekend checksum. en vaak wordt dit
proces nog herhaald op een ander stukje code.

Een snellere methode is: checksum berekenen van een standaard plaats
en daarna matchen met de verzameling checksums. Zodoende is hoef je
niet steeds opnieuw checksums te berekenen, want dat is kostbaar.

De eerste poster had het over gebruik van DLL namen. DLL's zijn vaak
standaard Microsoft libraries. Gebruik van dergelijke veel voorkomende
DLL namen voor detectie is natuurlijk niet bruikbaar.

Sophos gebruikt vaak checksums- inderdaad niet altijd. Het is denkbaar
dat Sophos een checksum van een (deel van) export sectie gebruikt.

Het nadeel van checksums is dat je snel detectie verliest als er een
aanpassing wordt gedaan in de code. Het voordeel is snelheid. Vandaar
dat Sophos een redelijke snelle scanner is/was.

Een klein nadeel van checksums - voorals als ze 16 bits zijn - is de
mogelijkheid van false positives. Dat gebeurt dan ook zo nu en dan bij
Sophos.

Het zijn heel andere false positives dan bijvoorbeeld bij Symantec als die
een string gebruikt. Die fp's lijken dan op de malware die men wil
detecteren. Bij Sophos is het tegendeel vaak waar. Zo kan Sophos een
oud DOS virus detecteren in een stuk MIME. Of een e-mail worm in een
SAP executable.
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.