[Fragen] Malware

B

boss3D

Guest
Hi!

Ich lerne gerade für eine Klausur und benötige bitte bei folgenden Fragen Hilfe. Alle Fragen beziehen sich direkt oder indirekt auf das Thema Malware ...

1) Eine Malwareautorin schreibt einen Bootsektorvirus für i386-Systeme, der die erste HDD im System infiziert. Weiß die Malwareautorin, an welcher Adresse sich der Virus am infizierten System im Speicher befindet?

[ ] ja
[ ] nein

Warum bzw. warum nicht?

2) Architekturabhängigkeit: Der PE-Explorer zeigt bei einem PE-File, dass es sich um eine 32-Bit-Executable handelt (Machine-ID i386). Auf welchen Systemen kann Schadcode durch diese Executable ausgeführt werden?

[ ] 16 Bit
[ ] 32 Bit
[ ] 64 Bit

3) In einer PE-Datei wurde irrtümlich der "Address of Entry Point" verstellt. Glücklicherweise wurde die Instruktion am Entry Point zuvor bereits im Hex-Editor markiert. Ermittle den originalen Entry Point.

1.JPG 2.JPG 3.JPG

4) Eine Malwareautorin möchte Schadcode in die .text-Sektion der PE-Datei aus obiger Frage einfügen. An welcher Stelle findet sie sicher freien Speicherplatz für ihren 256 Byte großen Virus? Wieviel Speicherplatz steht an dieser Stelle zur Verfügung (inkl. Lösungsweg)?

^^ Kurze Anmerkung noch: Bitte keine Kommentare, wie "leicht" das doch wäre. Wenn's (für mich) so leicht wäre, würde ich eh nicht fragen. Außerdem ist das nur ein kleiner Teil aller Fragen, die ich können muss. Gibt genug, die ich selbst geschafft habe.

Danke für baldige Antworten!
 
Malware.. hmm..
Ölkreide, Wasserfarben, Tinte oder doch nur ein schlichter Bleistift mit Graphit Nr. 4?

Ich denke, dafür gibt es speziellere Plätze als ein (deutsches, nix für ungut) Gamer-Forum.
Quellen suchst du dir aber selber..

Gegenfrage: für was brauchst du das? Machst du (sie???) ein College für.. "IT-Security"?
(Die Screenprints schauen schon sehr.. kiddy aus..)
 
Gegenfrage: für was brauchst du das? Machst du (sie???) ein College für.. "IT-Security"?
Steht doch eh im ersten Satz: Ich lerne gerade für eine Klausur meines Studiums, welches in der Tat IT-Security ist. Die Fragen stammen aus einer alten Klausur des selben Faches. Mit "sie" beziehst du dich vermutlich auf "Malwareautorin"?! Das hat gar nichts zu bedeuten. Genau so gut hätte der Lehrer "Malwareautor" in die Angabe der Beispiele/Fragen schreiben können ...

Warum dieses Forum für mein Problem unpassend sein sollte, sehe ich nicht. Wo sich doch neben unzähligen Kiddies, die sich wirklich für nichts außer Zocken interessieren, auch genug gebildete Personen aus allen Bereichen des IT-Sektors tummeln. Und mir wurde schon früher bei noch anderen Dingen sehr gut geholfen. :)
 
Hallo boss3D!

Ja, die Fragen sind weder schwer noch leicht, ich finde sie angemessen ;-)

1) Ja, die Malwareautorin weiß das natürlich. Beim Boot wird - wie ja in BSY1 gelernt wurde - der erste Sektor des Boot-Devices an die Adresse 0x7C00 in den Hauptspeicher geladen, wo auch die Codeausführung fortgesetzt wird. Ein Bootsektorvirus macht da ja nichts anderes als der reguläre Bootloader eines OS.

2) alle drei Antwortmöglichkeiten sind möglich. Jedes 32-Bit-PE-Executeable besitzt einen 16-Bit Real-Mode Stub, der verwendet werden kann, um beispielsweise Fehlermeldungen auszugeben ("This program cannot be run in DOS mode"). Hier kann jeder beliebige 16-Bit-Code ausgeführt werden, also auch Schadcode. Auf 32-Bit-Systemen ist die Ausführung möglich, weil das Sample ja für diese Architektur gebaut wurde. Ein 64-Bit-Windows-OS kann i.d.R. über WOW64 (x86-Emulator auf 64-Bit-Windows) augeführt werden. Die Malware ist also auch hier lauffähig.

3) Der EP in der Datei liegt (wie im ersten Screenshot zu sehen ist) an Adresse 0x1D64E. Im dritten Screenshot sieht man, dass das in der .text-Sektion der Anwendung ist. Diese beginnt im File an Adresse 0x400, der EP ist also vom Start der .text-Sektion 0x1D24E Byte entfernt. Wir suchen die Adresse, die der EP im erzeugten Prozess hat und wissen, dass die .text-Sektion im Speicher an Adresse 0x1001000 beginnt. Der EP liegt also an Adresse 0x1001000 + 0x1D24E, also an Adresse 0x101E24E.

4) Am Ende der .text-Sektion ist noch Platz. Die Größe im File ist immer ein Vielfaches von 512 Byte, im Speicher wird die Größe bytegenau angegeben. Somit ist in der Datei häufig freier Speicherplatz, der genutzt werden kann, indem man die Größe im Speicher auf die Größe im File erhöht. In diesem Fall ist die Größe im File 0x44800 Byte und im Speicher 0x44689 Byte. Subtrahiert man das, also 0x44800-0x44689 = 0x177 Byte. 256 = 0x100 Byte passt da in jedem Fall rein.

HTH und BG,
MalwareProf

PS: Wenn die Fragen im Moodle-Forum des Kurses gepostet würden, würde ich sie früher finden und könnte besser Fragen beantworten ;-)

PPS: Es würde mich wundern, wenn die Fragen bei der Klausur am Montag in der Form kommen würden *g*
 
Zurück