2008-05-05, 13:26
  #1
Medlem
kexofils avatar
Hej alla glada jävlar.

Min vecka har börjat dåligt (och vekar fortsätta på den vägen), men nog om den, ett litet hjälp på vägen vore om någon av er vill stimulera era geniknölar i en underbar utmaning.

Jag äger en iphone, och tänkte igårkväll att jag nog ska ta och byta root-lösenordet på den (efterosm det var det grundläggande lösenordet och telefonen således var "öppen" för den som skulle vilja ssh:a till den så länge den var ansluten till ett trådlöst nät). Lösenordet är krypterat i en fil, så för att byta lösenordet använde jag kommandot
Kod:
perl -e 'print crypt("B3rGen3r", "ab"). "\n"'
Där B3rGen3r är det tilltänkta lösenordet, kommandot genererade
Kod:
abVQU.bXNcHHk

Nu till problemet: när jag sedan klistrade in den nya hashen i passwordfilen på min stackars telefon blev hashen, för att komma till sak:
Kod:
/smxabVQU.bXNcHHk
Hashen stämmer altså inte, så på sätt och vis har jag väl lyckats låsa in nycklarna i mobilen

Nu behöver jag de smearta flashbackarnas hjälp, om någon har ngra idéer, vilka som helst, så är de välkomna. Att antingen dekryptera lösenordet, vilket kanske är omöjligt for all i know, eller hitta på något fult hack som löser mitt problem.

Jag har väl inte helt koll (som kanske märks) så förvänta er gärna inte för mycket, och räkna med ett par followup-frågor om det kommer röriga svar.
Citera
2008-05-05, 19:18
  #2
Medlem
Jahadu.

Först: Om du nu hade klistrat rätt, hur menar du att lösenordet skulle fungera? Inte använder väl din iPhone samma hash-funktion som du gör där med perl? Det verkar helt flängt.

Har du en användare som kan köra sudo med root-rättigheter, så kan du förhoppningsvis gå den vägen, om du nu lyckas klura ut rätt hash.

Annars bör det gå att starta i "single user mode". Nu är det ju en telefon vi pratar om, så jag vet inte riktigt hur man löser det rent praktiskt. I alla fall, lyckas du med det ska du kunna köra "passwd root" och ge ett nytt vettigt lösenord utan att behöva ange det gamla.

För övrigt: Om du är orolig för ssh, så gör du bäst i att stänga av ssh.

----

Edit: Nu när jag tänker på det, iPhone kör väl OS X? Så vitt jag vet använder den "NetInfo", inte /etc/passwd och liknande. Du får nog ta och kolla upp det hela lite bättre.
__________________
Senast redigerad av Katalysator 2008-05-05 kl. 19:22.
Citera
2008-05-06, 13:25
  #3
Medlem
kexofils avatar
Citat:
Ursprungligen postat av Katalysator
Jahadu.

Först: Om du nu hade klistrat rätt, hur menar du att lösenordet skulle fungera? Inte använder väl din iPhone samma hash-funktion som du gör där med perl? Det verkar helt flängt.

Har du en användare som kan köra sudo med root-rättigheter, så kan du förhoppningsvis gå den vägen, om du nu lyckas klura ut rätt hash.

Annars bör det gå att starta i "single user mode". Nu är det ju en telefon vi pratar om, så jag vet inte riktigt hur man löser det rent praktiskt. I alla fall, lyckas du med det ska du kunna köra "passwd root" och ge ett nytt vettigt lösenord utan att behöva ange det gamla.

För övrigt: Om du är orolig för ssh, så gör du bäst i att stänga av ssh.

----

Edit: Nu när jag tänker på det, iPhone kör väl OS X? Så vitt jag vet använder den "NetInfo", inte /etc/passwd och liknande. Du får nog ta och kolla upp det hela lite bättre.

Iphone kör en strippad variant av osx. Jag gör själv ssh-anslutningar till telefonen, och därför behöver jag ha igång det.

Här är guiden jag följde, längre ner står det om hur man bör gå tillväga för att byta rootpass:
http://george.insideiphone.com/index...issues-in-113/

Där står också förklarat vääldigt grundligt hur lösenorden fungerar... I tidigare versioner av iphonens os gick det att köra passwd, men i senare versioner kraschar ui:n oåterkalleligt om man inte istället gör en hash och lägger i /etc/master.password .

Kul att du intresserar dig!
Citera
2008-05-06, 14:58
  #4
Medlem
Oj, det verkar mycket vanskligt det som den sidan beskriver, att editera
lösenordsfilerna på det viset. Så vitt jag vet tar systemet lösenord+salt
och krypterar med någon algoritm för att producera den där hashen som
då jämförs med den sparade i den "hemliga" lösenordsfilen. För att göra
samma sak för hand så måste du verkligen hålla tungan rätt i mun. Farligt!
Sidan ser trovärdig ut, men... Mycket skrik för lite ull i alla fall (att byta
ett lösenord)!

Går det möjligen att koppla telefonen till en dator, ungefär som en bärbar
hårddisk? I så fall borde du kunna ändra filer på den hur du vill.

För att stänga ssh för root så bör du lägga in raden
Kod:
PermitRootLogin no
i /etc/sshd_config (finns möjligen under ett annat namn, någonstans i /etc
bör du hitta rätt fil i alla fall).
Citera
2008-05-07, 10:20
  #5
Medlem
kexofils avatar
Citat:
Ursprungligen postat av Katalysator
Oj, det verkar mycket vanskligt det som den sidan beskriver, att editera
lösenordsfilerna på det viset. Så vitt jag vet tar systemet lösenord+salt
och krypterar med någon algoritm för att producera den där hashen som
då jämförs med den sparade i den "hemliga" lösenordsfilen. För att göra
samma sak för hand så måste du verkligen hålla tungan rätt i mun. Farligt!
Sidan ser trovärdig ut, men... Mycket skrik för lite ull i alla fall (att byta
ett lösenord)!

Går det möjligen att koppla telefonen till en dator, ungefär som en bärbar
hårddisk? I så fall borde du kunna ändra filer på den hur du vill.

För att stänga ssh för root så bör du lägga in raden
Kod:
PermitRootLogin no
i /etc/sshd_config (finns möjligen under ett annat namn, någonstans i /etc
bör du hitta rätt fil i alla fall).

Ok, tack, det här var inget nytt för mig, men har än så länge inte stött på några konfigfiler för ssh-daemonen =)

Telefonen är ju säker hur jag än gör, eftersom lösenordet lika gärn kan vara vad som helst

Tack för hjälpen!
Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in