Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

VBA Viren-Scanner
#1
Hallo,

vielen Email mit Anhängen von MS-Office-Datei mit Schadcode werden, zumindest in den ersten Stunden, von Anti-Viren-Software schlecht erkannt.

Die öffentlich bekannten Scanner für VBA-Viren durchsuchen den VBA-Code nach bestimmten Schlüsselworten, wie"Declare" oder "CreateObject".

Mit Analysten-Tools ist sehr gut zu erkennen, das die meiste Schadware an den Manipulationen der Zip-Struktur erkannt werden kann. Für Python gibt es diverse Tools, die ich aber mangels Python-Kenntnissen nicht umschreiben konnte.

Hat jemand Interesse an der Entwicklung eines solchen Python-Scanners?

Vorlagen von Python-Codes und Samples von VBA-Viren zum Testen sind genügend vorhanden.

mfg
Antworten Top
#2
Hallo,

Zitat:Die öffentlich bekannten Scanner für VBA-Viren durchsuchen den VBA-Code nach bestimmten Schlüsselworten, wie"Declare" oder "CreateObject".

Nicht ganz, zum Beispiel der MS Defender erkennt (neuerdings) auch Shell-Aufrufe in einer Datei.
Und zwar sowohl per VBA als auch API. Bei dem Python-Projekt kann ich leider nicht unterstützen.

Gruß
Microsoft Excel Expert · Microsoft Most Valuable Professional (MVP) :: 2011-2019 & 2020-2022 :: 10 Awards
https://de.excel-translator.de/translator :: Online Excel-Formel-Übersetzer :: Funktionen :: Fehlerwerte :: Argumente :: Tabellenbezeichner
[-] Folgende(r) 1 Nutzer sagt Danke an maninweb für diesen Beitrag:
  • Der Steuerfuzzi
Antworten Top
#3
Anbei ein erster Ansatz um das Konzept zu verdeutlichen:

Der Code trennt zwischen mit MS Office erzeugten OOXML mit und ohne Passwort durch Prüfung der "Magic-Bytes".

Der nächste Schritt wäre die Tests mit malware.


Angehängte Dateien
.txt   Office_Virus_Check.py.txt (Größe: 1,65 KB / Downloads: 4)
Antworten Top
#4
Warum nicht in VBA ?


Code:
Sub Zipfiles()
  c00 = "G:\OF\adres_001.xlsb"
   
  MsgBox zips1(c00), , "Compressed file(s) in " & c00
End Sub


Function zips1(c00)
  Open c00 For Binary As #1
    c01 = input(LOF(1), #1)
  Close #1

  Select Case Right(c00, 4)
  Case ".zip", "xlsb"
    sn = Split(c01, "PK" & Chr(1) & Chr(2))
    For Each fl In sn
      zips1 = zips1 & vbLf & Mid(Split(fl, "PK")(0), 43)
    Next
  End Select
End Function
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#5
@snb

ja, das ist die Frage: Mit VBA geht es so einfach, dass nach einer Stunde eine erste passable Lösung geben könnte (prüfen der Magic-Bytes und auf Schlüsseworte im VBAProject wie "Declare" und "Create"). Alles was notwendig ist wäre ein

Code:
application.AutomationSecurity = disable

und aus reiner Vorsicht sollte dieser PC keine Verbindung zu Netz haben.

Als kleine Programmierübung habe ich den Python-Code noch (soweit wie mögich) fertiggestellt. Zum Testen eines von M$ eigebauten File-Open-Password mußte ich allerdings eine Zusatz-Library importieren.

Für meine Stichprobe geht es gut. Im Anhang der Code, hier das Ergebnis:

Zitat:python3 Office_Virus_Check.py
Virus (S)      /home/pi/Documents/Oledump/Virus/files_found.xlsx
Virus (S)      /home/pi/Documents/Oledump/Virus/docx/668271c9472f392f3e61c1ced6c45dd2518eba967900562cb36677b6469980ab.docx
Virus (S)      /home/pi/Documents/Oledump/Virus/docx/270c40ed02166b3f9687722a922082abd182688cb3cc27d4f0f27ff8af729b53.docx
Error          /home/pi/Documents/Oledump/Virus/docx/ee8644488dec3eafbaa5a339eee98a5328cf6d6358efddb7bc890ef3430e83d8.docx
Virus (S)      /home/pi/Documents/Oledump/Virus/docx/b050545a7ffcbbcf96dc79354a6988fcc2f55bc76b67b59eaab36e7d238a7f62.docx
Error          /home/pi/Documents/Oledump/Virus/docx/e1203e7b58681aee0876eaf804daf413ef6529d8ebeeb71c75cf7eca1afb853f.docx
Virus (S)      /home/pi/Documents/Oledump/Virus/docx/994b3b76317cd9f6d5d1777119e102503ba5f354cc2fe19bd471949a029b1770.docx
Error          /home/pi/Documents/Oledump/Virus/docx/25e32aa862bdd2d9fb9e14dbc9ff76094130b674dcf3e18a107ed96d4532fc41.docx
Error          /home/pi/Documents/Oledump/Virus/docx/726338c1d3d4edcaded97f31f8d3690d75c182432a6da92888a6596c3be26968.docx
Virus (S)      /home/pi/Documents/Oledump/Virus/docx/05cb_saved_Lo_VBA.docx
Virus (S)      /home/pi/Documents/Oledump/Virus/docx/5b176693bd034c2640fbd079a73726cafaefdfe64d9e5814a24b157bfcbcfd42.docx
Virus (S)      /home/pi/Documents/Oledump/Virus/docx/Emotet_53f7/53f72bbf0abcccf90474673ff4ae6ab777908f9a151c82beeb980283ea592cda.docx
Virus (S)      /home/pi/Documents/Oledump/Virus/SansISC/ca62501fd8a132340a63f97e4547ee1384a7744ab8c7e1afe4e69a008b2c3602.docx
Virus (V)      /home/pi/Documents/Oledump/Virus/xlsx/e72a99bda4fcd0097ad19356af9a327070a5d30bb2dfc7439085e7d49c9f8928.xlsx
Virus (S)      /home/pi/Documents/Oledump/Virus/xlsx/3ff281071fe50003127bed613624d8d22425f65688462a43aa6d3106c1da02ae.xlsx
Virus (V)      /home/pi/Documents/Oledump/Virus/xlsx/8bc5f10aeb794d356df1974f501ed3712ef105793bc793c99246fec6cc770001.xlsx
Virus (V)      /home/pi/Documents/Oledump/Virus/xlsx/5525b80e4317e08cea05a9e1940b367d0fe98094b8624823d14b360fca5f55c9.xlsx
Virus (V)      /home/pi/Documents/Oledump/Virus/xlsx/6055c9082177de31bd75ef56f112fe7c2d36d2f064b9564e3e16968805bd479a.xlsx
Virus (S)      /home/pi/Documents/Oledump/Virus/xlsx/a46b5d45d8ec0fd6f943d694fc9c42d7ae72d33122fb4c0e790d420c1bb53204.xlsx
Virus (S)      /home/pi/Documents/Oledump/Virus/xlsx/5aa8791f8baedf09bd004e5305b0ba61b60faef7e281ed04fe07ef6dd571289c.xlsx
Virus (S)      /home/pi/Documents/Oledump/Virus/xlsx/c80e00e44a9ad1f8209d72e1de7a5cc9fd239b2554f2ac53cdb609e7f5131a92.xlsx
Virus (V)      /home/pi/Documents/Oledump/Virus/xlsx/ad6b1ee638251f696964e6cedf93d55eea5442a83843a4fbd5676114d46cd645.xlsx
Error          /home/pi/Documents/Oledump/Virus/xlsx/b176dd1d9b50e5e05b94266618ed4df009a8324eb25834d0c341c9620f3e6b21.xlsx
Virus (V)      /home/pi/Documents/Oledump/Virus/xlsx/22ca2f67ea0b1df994ba615904082bc16ef72b61198430094cafbabc7a7d91f5.xlsx
Virus (V)      /home/pi/Documents/Oledump/Virus/xlsx/e386c601021290959846266ba4fec1ca405db93d883749f36830db174c6999e7.xlsx
Virus (V)      /home/pi/Documents/Oledump/Virus/xlsx/b33bf41c80c4e6e373025815badf3cf76379292596033126372204aa49fd5eb4.xlsx
Virus (S)      /home/pi/Documents/Oledump/Virus/xlsx/85d4b56dbf79623caa6b94f4d851c12735a171d022542f7ac0b7792a09fef143.xlsx
Virus (V)      /home/pi/Documents/Oledump/Virus/xlsx/a7f642441d45e74279cf6ca2b19215fba0d96af586416e168796f5595b7bcaa0.xlsx
Virus (V)      /home/pi/Documents/Oledump/Virus/xlsx/Loki_Excel4_a9ca57af75c56b8a34548445eae94f673d3bc60867ac565b2c1a9d02b2601911.xlsx
Virus (V)      /home/pi/Documents/Oledump/Virus/xlsx/Formbook_Excel4_272f7a090957ae6c458e84833d7fb1b30bb6f630ee16bc642cc093a82713b7bb.xlsx
Virus (S)      /home/pi/Documents/Oledump/Virus/xlsx/41cdff6bc198b4e041d092b52663f0ea0dd06334e70c62b595710e214cb8e3d9.xlsx
ActiveX        /home/pi/Documents/Oledump/Virus/Dridex/06300fe884cdb51d9687c523aa9088a37185e7e9f45d54d9dc396e72cd0285a3.xlsm
Virus (S)      /home/pi/Documents/Oledump/Virus/Dridex/06300fe884cdb51d9687c523aa9088a37185e7e9f45d54d9dc396e72cd0285a3.xlsm
Virus (S)      /home/pi/Documents/Oledump/Virus/EPPlus/00b2c7ee70bb3f29655e0c3b4eb07d76974702f39b9845220fa6e36a7be50c0f.xlsx
Virus (S)      /home/pi/Documents/Oledump/Virus/EPPlus/a02258ba10419bc678e832f3224dc6340e22f567f7b8ba1d344a5e5213d129a1.xlsm

Wegen der Abfrage des Datums werden auch LibreOffice-Dateien erkannt.
Virus (V) bedeutet das spezielle M$ password
Virus (S) bedeutet eine manipulierte Zip-Struktur
Error zeigt besonders start manipulierte Zip-Files

Wenn man noch alle Office-Dateien vor 2007 blockt und die docm/xlsm auf riskanten VBA-Code untersucht, sollte man einen Vergleich mit AV versuchen.

Der Vorteil von Python ist, dass es auch unter Linux läuft.

mfg

(PS: die Magic-bytes von RTF (Word) sind extrem kompliziert abzufragen)


Angehängte Dateien
.txt   Office_Virus_Check.py.txt (Größe: 3,63 KB / Downloads: 3)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste