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.

FYI: Python und VBA
#1
Hallo,

vermutlich ist dieser Ansatz, Python-Programme mit VBA zu starten, wenig bekannt. 

Code:
ActiveDocument.Shapes("Object 2").Select

Selection.ShapeRange(1).OLEFormat.DoVerb VerbIndex:=wdOLEVerbPrimary

Der Python-Code wird als Object in die (Word-) Datei eingebettet (B2 O (O für Object)):

Code:
oledump.py doc.zip -i
A: word/vbaProject.bin
A1:      348                                'PROJECT'
A2:        71                                'PROJECTwm'
A3: M    1327    1084+243        'VBA/NewMacros'
A4: m    924    767+157            'VBA/ThisDocument'
A5:      2649                              'VBA/_VBA_PROJECT'
gekürzt
A10:      570                              'VBA/dir'
B:                                             word/embeddings/oleObject1.bin
B1:        76                               '\x01CompObj'
B2: O    471                             '\x01Ole10Native'
B3:        6                                '\x03ObjInfo'

Über das Clipboard oder CSV-/TXT-Dateien kann das Ergebnis wieder nach Excel importiert werden.

Bei Interesse teile ich die Quelle per PN.

mfg
Antwortento top
#2
Welchen Vorteil bietet dies ggü. Excel Wings (xlwings)?
Antwortento top
#3
Hallo,

danke für den Hinweis, XlWings kannte ich noch nicht.

Auf dem Hintergrund der malware-Analyse: Kann man erkennen, ob eine Excel- bzw Word-Datei mit XlWings bearbeitet wurde?

mfg



-------------------------------------------
(Der oben gezeigte Code könnte aus einem Test für malware stammen. Er ist mit den üblichen Prüfprogrammen recht schwer zu erkennen)

(Kann man so einen Ansatz auch für etwas Gutes verwenden? Vermutlich ja, es könnte eine Lücke geben, die mit Python gut, aber nur schlecht mit VBA oder Powershell bearbeitet werden kann. Es gibt so viele Libaries für Python)
Antwortento top
#4
Jedes Programm und fast jeder Anwender kann Excel- oder Worddateien verändern, ohne dass man den Verursacher identifizieren kann.
Antwortento top
#5
Hallo,

aber diejenigen, die böses im Schilde führen, bringen oft eine Art Signatur rein, sodass man weiss wer's war, wenn auch verklausuliert.
Sonst ist Ruhm & Ehre dahin Wink

Gruß
Microsoft Excel Expert · Microsoft Most Valuable Professional (MVP) :: 01/2011 - 06/2019 :: 04/2020 - 06/2021
https://de.excel-translator.de/translator :: Online Excel-Formel-Übersetzer :: Funktionen :: Fehlerwerte :: Argumente :: Tabellenbezeichner (neu)
Antwortento top
#6
Xlwings führt nichts Böses im Schilde (ohne Gewähr, aber bestes Wissen).
Antwortento top
#7
Hallo,

meine Antwort oben bezog sich ja auch nicht auf xlwings, sondern auf #4 und ist eher ironisch gemeint.

Gruß
Microsoft Excel Expert · Microsoft Most Valuable Professional (MVP) :: 01/2011 - 06/2019 :: 04/2020 - 06/2021
https://de.excel-translator.de/translator :: Online Excel-Formel-Übersetzer :: Funktionen :: Fehlerwerte :: Argumente :: Tabellenbezeichner (neu)
Antwortento top
#8
@Fen

XLwings schon erwähnt in https://www.snb-vba.eu/VBA_Python_en.html
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antwortento top
#9
@snb:

Danke, ich hatte mich damals eher oberflächlich (wegen mangelnder Python-Kenntnisse) damit beschäftigt.

@maninweb:

Ich meine, es ist komplizierter. Nach "any.run" gibt es ca 10-15 Gruppen, die seit Jahren für die meisten malware-Attacken verantwortlich sind (ohne "state-actors"). Dadurch werden aber alle Firmen gezwungen, emails seht sorgfälltig zu prüfen. (Kostenfaktor) System-Administratoren fühlen sich recht gut gerüstet. Auf der Strecke bleiben diejenigen, die wegen der Kosten oder Unaufmerksamkeit (keine updates) "nicht auf der Höhe der Zeit sind". Es profitiert der Bereich IT-security.

Zumindest für Emotet gibt es so viele aktuelle Informationen, dass ich es ärgerlich finde, dass es auch in seriösen Staaten Tage bis mehr als eine Woche dauert, bis Server, die malware verteilen, abgeschaltet werden.

mfg
Antwortento top
#10
Um das Thema abzuschließen: Es war wieder einmal voreilig und nicht genügend geprüft:

"OLEFormat.Verb" sieh zwar interessant aus, ist aber bei allen Versuchen an den Sicherheitseinstellungen gescheitert.

Aber das Einfachste ging:

Code:
Shell "Python c:\temp\write-file.py", vbHide

mit dem Python-Code

Code:
import sys
import os
import tempfile

temp = tempfile.gettempdir() + "\\Kilroy.txt"
f = open(temp, 'w')
f.write ('Kilroy is watching you')
f.close()

mfg
Antwortento top


Gehe zu:


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