Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
Programmieraufgaben Hier wird regelmäßig eine neue Programmieraufgabe gestellt, die dann gelöst werden soll und in Zusammenarbeit mit den Moderatoren auch besprochen werden kann.

Ziparchiv&Passwort

Diskussion: Ziparchiv&Passwort im Forum Programmieraufgaben, in der Kategorie Code Kitchen; Anzeige Und wieder braucht Habo Deine Hilfe: Gestern haben wir einen vielversprechenden Plan zur Übernahme der Weltherrschaft herausgearbeitet (und verschlüsselt ...

Antwort
Alt 23.12.08, 01:15   #1 (permalink)
CDW
Moderator
 
Benutzerbild von CDW
 
Registriert seit: 20.07.05
CDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: Opteron
Likes: 202
Standard Ziparchiv&Passwort

Anzeige

Und wieder braucht Habo Deine Hilfe:
Gestern haben wir einen vielversprechenden Plan zur Übernahme der Weltherrschaft herausgearbeitet (und verschlüsselt abgelegt).
Das musste natürlich gefeiert werden - leider kann sich heute keiner mehr an das Passwort erinnern

Es ist nur bekannt, dass es aus 3 Teilen besteht:
Name eines Admins (Mackz/Throjan/mackz/throjan),
einer laufenden Nummer (2 Stellig),
dem Wort "Plan" oder "plan"
Alle Teile verbunden mit "_".
Die Reihenfolge ist unbekannt.

Beispiele:
"throjan_10_Plan" oder "99_Throjan_plan" oder "throjan_plan_42" oder
"plan_23_Mackz" oder "24_Plan_mackz" usw.

Aufgabe:
An den Inhalt des ZIP Archivs kommen.

Belohnung (gibt es nur, wenn der Plan auch funktioniert ) :
Für Passwort samt Lösungsweg+Code:
Terceira oder Guadalupe oder Ni'ihau
Für Passwort ohne Lösungsweg:
Beaufort-Insel oder Bouvetinsel oder Shag-Rocks


Tipp:
man kann externe Unzipper aufrufen:
unter Linux z.B "unzip -P password manpage unzip"
für Windows bietet z.B 7Zip Kommandozeilenoptionen:
"7z.exe e -y -ppasswort hello.zip"
und am Rückgabewert feststellen, ob der Entpackvorgang erfolgreich war.

Optional (einfacher): nur ein Worterbuch generieren lassen und anschließend irgendein Bruteforcetool einsetzen.

Angehängte Dateien
Dateityp: zip weltherrschaft.zip (795 Bytes, 43x aufgerufen)
__________________
Noch mal, für alle Pseudo-Geeks: 1+1=0. -> 10 wäre Überlauf!
Selig, wer nichts zu sagen hat und trotzdem schweigt.
CDW ist offline   Mit Zitat antworten
Alt 23.12.08, 10:27   #2 (permalink)
 
Benutzerbild von Eydeet
 
Registriert seit: 14.04.06
Eydeet Leistung: Facit NTK
Likes: 4
Standard

Vielleicht ist es nicht so gut, den geheimen Plan offen hier aufzudecken, ich habe ihn sicherheitshalber verschlüsselt...
Lösung   
Code:
#!/usr/bin/python
import os
pwPart = [
        ["throjan", "Throjan", "Mackz", "mackz"],
        ["Plan", "plan"],
        range(10, 100)
     ]

perm = [[0, 1, 2], [0, 2, 1], [1, 0, 2], [1, 2, 0], [2, 0, 1], [2, 1, 0]]
print pwPart

for p in perm:
    for t1 in pwPart[p[0]]:
        for t2 in pwPart[p[1]]:
            for t3 in pwPart[p[2]]:
                pw = str(t1)+'_'+str(t2)+'_'+str(t3)
                print pw
                if os.system("unzip -q -o -P "+pw+" weltherrschaft.zip") == 0:
                    print "Password found!"
                    exit(0)
Passwort: 86_Cyna_znpxm (Gut, dass die Länge nichts verrät ;))
Code:
jrygureefpunsg.gkg:

1.pbzchgreIM teüaqra.
2.pbzchgreIM orxnaag znpura.
3.pbzchgreIM irexnhsra.
4.zvg qrz Tryq Fpuhgmohaxre onhra.
5."Jvaqbjf sbe Fhoznevarf" unpxra, zvaqrfgraf 2 H-obbgr üorearuzra.
6.zruerer Nofpuüffr cebibmvrera.
7.qvr Cnavx ahgmra, Cyägmr vz Fpuhgmohaxre na Zrvfgovrgraqr irexnhsra.
8.zvg qrz Reyöf Tbbtyr nhsxnhsra.
9.abpu zrue servr Qvrafgr naovrgra, Tbbtyr oryvrog znpura.
10.Qngra fnzzrya
11.Nccyr nhsxnhsra
12.tCubar urenhfoevatra:
   12.1: zhff uüofpu nhffrura (fvrur Nccyr Nhsxnhs)
   12.2: frue frue ebohfg frva (zhff rvara Fghem/Jnaqjhes üorefgrura)
   12.3 -> fhoiragvbavreg -> Mvry: 90% Znexgnagrvy!
13.Wnzon nhsxnhsra
14.(Bcgvbany, qraa Chaxg 13 vfg fpuba nhfervpuraq):
   Sbefpuhatfcebwrxg "Gvaahyhf" svanamvrera.
15. Nhs Gnt K jnegra:
15.1 Xbagebyyr üore tCubarf üorearuzra

Snyyf "Gvaahyhf" resbytervpu: Qngra nhs tCubarf üorefcvryra,
irefgrpxgr, ulcabgvfvreraqr Obgfpunsgra va Xyvatrygöara hagreoevatra.
bqre:
creznarag orfbaqref fpuyvzzr, crefbanyvfvregr Xyvatrygöar nofcvryra ynffra
(fvrur Chaxgr 10,13,14). Jvpugvt: Chaxg 12.2 !
15.3 Qvr Cnavx haq qnf Punbf ahgmra haq qvr Jrygureefpunsg üorearuzra.
Eydeet ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 23.12.08, 13:51   #3 (permalink)
 
Benutzerbild von Stein
 
Registriert seit: 10.10.05
Stein Leistung: Facit NTK
Stein eine Nachricht über ICQ schicken
Likes: 0
Standard

PYTON   
Code:
#!/usr/bin/python
import os

admin = 'Mackz','Throjan','mackz','throjan'
plan = 'Plan','plan'
f=open('loe.sh', 'r+')

for i in range(0,4,1):
    for j in range(10,100,1):
        for k in range(0,2,1):
            pw = admin[i]+"_"+ plan[k]+ "_" + str(j)
            if os.system("unzip -q -o -P "+pw+" weltherrschaft.zip") == 0:
                    print "Password found!"
                    print pw
                    exit(0) 
            pw = admin[i]+"_"+ str(j)+ "_" + plan[k]
            if os.system("unzip -q -o -P "+pw+" weltherrschaft.zip") == 0:
                    print "Password found!"
                    print pw
                    exit(0) 
            pw = plan[k]+"_"+ admin[i]+ "_" + str(j)
            if os.system("unzip -q -o -P "+pw+" weltherrschaft.zip") == 0:
                    print "Password found!"
                    print pw
                    exit(0) 
            pw = plan[k]+"_"+ str(j)+ "_" + admin[i]
            if os.system("unzip -q -o -P "+pw+" weltherrschaft.zip") == 0:
                    print "Password found!"
                    print pw
                    exit(0) 
            pw = str(j)+"_"+ plan[k]+ "_" + admin[i]
            if os.system("unzip -q -o -P "+pw+" weltherrschaft.zip") == 0:
                    print "Password found!"
                    print pw
                    exit(0)    
            pw = str(j)+"_"+ admin[i]+ "_" + plan[k]
            if os.system("unzip -q -o -P "+pw+" weltherrschaft.zip") == 0:
                    print "Password found!"
                    print pw
                    exit(0)


Ich musste ein wenig oben abgucken, weil meine erste Version mit Python und Shellskript nicht wollte.
__________________
Steinhagelvoll
Stein ist offline   Mit Zitat antworten
Alt 23.12.08, 15:38   #4 (permalink)
Member of Honour
 
Benutzerbild von +++ATH0
 
Registriert seit: 02.04.05
+++ATH0 Leistung: K 6-3+++ATH0 Leistung: K 6-3+++ATH0 Leistung: K 6-3
Likes: 76
Standard

Mal ein bisschen Ruby.
Ich habe mich mit einem Wordlist Generator begnügt, sonst werde ich noch
wegen Verbreitens von Hacker-Tools verhaftet. *fg*

Ruby   
Code:
#!/usr/bin/env ruby
#---------------------------------------------------------------------------#
#                                list_gen.rb                                #
#                                by +++ATH0                                 #
#---------------------------------------------------------------------------#

require 'permutation'

pass = [["Mackz", "mackz", "throjan", "Throjan"],
        ["Plan", "plan"]]

permOrder = Permutation.new(3)
outs = []

permOrder.each do |pOrder|
    pass[0].each do |j|
        pass[1].each do |k|
            0.upto 99  do |i|
                outs[pOrder.value[0]] = j
                outs[pOrder.value[1]] = k
                outs[pOrder.value[2]] = sprintf("%02d",i)
                printf("%s_%s_%s\n",outs[0],outs[1],outs[2])
            end
        end
    end
end


PS: *schauder* In so einer Welt würde ich nicht leben wollen.
+++ATH0 ist offline   Mit Zitat antworten
Alt 15.02.11, 17:21   #5 (permalink)
Moderator
 
Benutzerbild von Tarantoga
 
Registriert seit: 11.02.06
Tarantoga QuadcoreTarantoga QuadcoreTarantoga QuadcoreTarantoga QuadcoreTarantoga QuadcoreTarantoga Quadcore
Likes: 229
Standard

Keine Ahnung wie diese interessante Aufgabe an mir vorbeigehen konnte...

Aber ich habe sie ja doch noch entdeckt und als neugieriger Mensch, wollte ich natürlich wissen um welche Version unseres Masterplans es sich hier handelt - daher habe ich ein kleines Tool gebastelt...

Da es sich um einen längst veralteten Ansatz zur Erlangung der Weltherrschaft handelt, stelle ich das Tool einfach mal hier rein:
Java-Code   

Code:
import java.io.*;

public class ZipCrackHabo 
{//ZipCrackHabo
    private static void entpacke(String[] perm)throws InterruptedException, IOException
    {//entpacke()
        int laenge;
        String puffer="_", passwd;
        
        for(int i=0; i<3; i++)
        {
            puffer+=perm[i]+"_";
        }
        laenge=puffer.length();
        passwd=puffer.substring(1, laenge-1);
        System.out.println("teste --> "+passwd);
        Process proc=Runtime.getRuntime().exec("unzip -o -q -P "+passwd+" weltherrschaft.zip");
        proc.waitFor();
        if(proc.exitValue()==0)
        {
            System.out.println("***  Passwort gefunden! *** ");
            System.out.println("Passwort: "+passwd);
            System.exit(0);
        }
    }//entpacke()
    private static void tausche(String[]perm, int i, int index)throws IOException
    {//tausche()
        String ablage=perm[i];
        perm[i]=perm[index];
        perm[index]=ablage;
    }//tausche()
    private static void permutiere(String[] perm, int index)throws InterruptedException, IOException
    {//permutiere()
        if(index==0)
        {
            entpacke(perm);
        }
        else
        {
            permutiere(perm, index-1);
            for(int i=0; i<3; i++)
            {
                tausche(perm, i, index);
                permutiere(perm, index-1);
                tausche(perm, i, index);
            }
        }
    }//permutiere()
    private static void crack()throws InterruptedException, IOException
    {//crack()
        int zahl=10, index=2;
        String[] admin={"Mackz", "mackz", "Throjan", "throjan"};
        String[] plan={"Plan", "plan"};
        String[] perm=new String[3];
        
        for(int z=zahl; z<99; z++)
        {
            for(int i=0; i<3; i++)
            {
                for(int j=0; j<2; j++)
                {
                    perm[0]=admin[i];
                    perm[1]=plan[j];
                    perm[2]=String.valueOf(z);
                    permutiere(perm, index);
                }
            }
        }
        
    }//crack()
    public static void main(String[]args)throws InterruptedException, IOException
    {//main()
        crack();
    }//main()
}//ZipCrackHabo


Die Permutation ist vielleicht etwas umständlich realisiert, ist aber auch aus dem Stehgreif gecodet... Vielleicht verschlanke ich den Code noch einmal, wenn mir irgendwann sehr langweilig ist...

Geändert von Tarantoga (16.02.11 um 15:59 Uhr)
Tarantoga ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Software Home » Code Kitchen » Programmieraufgaben » Ziparchiv&Passwort
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Passwort auf DVD Djangoboese (In)security allgemein 6 28.03.06 16:09
ICQ Passwort Al Calzone Cryptography & Encryption 2 08.05.05 18:04
ftp passwort paya Die Problemzone 10 21.07.03 15:46
Passwort !!! Phill Windows 7 19.04.03 05:56


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61