Dear viewer, these subtitles were generated by a machine via the service Trint and therefore are (very) buggy. If you are capable, please help us to create good quality subtitles: https://c3subtitles.de/talk/707 Thanks!
Our next speaker is Team Star
personally for me.
I'm happy to I can announce this talk.
I own an Apple device, but for me, the
point of owning this Apple device is that
it just works. Right.
I don't like to tinker with that specific
device. So I'm very grateful that there
are people who actually would like to
tinker with Apple devices such as
Team Star.
So personally, I'm looking forward to
learning all about downgrading iOS,
how it worked in the past, how it works
in the present, and what new that
what new will be in the presentation that
Team Star can teach us.
So with that, I would like
to ask all of you to give Team
Star a warm round of applause.
Thanks.
Alice, thank you very much.
Um, yeah, I'm Tim, sir, and I'm
going to present you downgrading files
from past to present.
So the topics of this talk will be
the I was Bushin and how it changed
through the versions.
I'm going to talk about SHC, blob's
and AP tickets, what those are.
I'm going to talk about the pastorate
methods.
Real quick intro. And I'm just three
names for file format.
Um, then I'm going to tell you what the
basement and sepoys problem is, which
we encounter with songwriting.
And at the end there is something new
for 64 bit devices.
So this is the year Bushin
um, I'm going to see this
picture a few times in this presentation.
But basically right here we have two
routes.
We have the normal board and
we have to give you both to you the
device from or upgrade, um,
if you upgrade the device.
So, yeah, what you can see
here is that, uh, the boardroom first
puts the first stage bootloader,
the first stage up with the second stage
bootloader, which is I would normal board
or IBRC if you go to a restaurant,
if you go to normal, but then the kernel
boards and for a 64 bit devices this
new the sepoys booths.
What that is I'm going to talk about in a
few slides.
If you go to def, you wrote, um,
then the ram is going to Colonel has put
it, this is much like a live system
and you use that for restoring.
So yeah. Let's talk a bit about Iowa's
history with the iPhone
2G. We had iPhone,
iPhone W one and iPhone
two and three and there were Precint
and it was just possible there
was like nothing stopping you from
downgrading that this changed a bit
in iPhone 3G.
Well, it didn't change in iPhone was two
and three. It was basically the same, but
it changed with I was four
on your iPhone 3G, Apple added software,
SHC checks and
don't worry, it was still possible with a
few hacks.
So let's take a look at the chain
off an iPhone 3G.
I was four.
I want to nod real quick.
I'm only talking about iPhones.
Uh, but this also applies
to iPads and iPods with the same
hardware. So keep that in mind.
So what you can see here that the, um,
put components check each other like,
uh, first stage bootloader checks, the
second stage bootloader, second stage
Boolarra checks the kernel and the
Ramdisk and so on.
But you could see here there are missing,
uh, one thing the boot from doesn't check
the first stage bootloader doesn't check
ILB or IBS.
So if you want to go back to Iowa three,
two or one, you could just do it.
The Woodrum doesn't check, doesn't
prevent that.
So what are those SHC blobs
I'm talking about?
Well, Apple introduced those who control
what iOS version can be installed on your
device.
And those need to be requested from
Apple by restoring and
just blob is basically a signed
hash plus the essence of the device.
So this makes them unique
for every device.
You can't just take one just from one
device and try to use it with a different
device. That won't work because the ESET
is different.
So, um, let's take a look at
this age and IMGs RE5 format.
So on the left image, you can see the
grammar for our names.
Yes, we file basically we have some
magic, we have some sizes and
we have a bunch of images, retakes and
also actually interesting ones.
And those, um, what those
images retakes can be, you can see on the
right, this is a picture taken from
the iPhone WICKY and
those files contain stuff like the Abbott
version, what chip this former
is to be used on.
And you can also see SHC age
and the sex age is basically
an RSA encrypted one hash of
the file.
So this is how it looks like if
you open up in a Hex editor, you can
see a bunch of
IMG three tags and
the one which I highlighted is the
price tag.
So it's basically the arrows are
one encrypted Szechuan hash.
And Belal, this is
what you can't really see.
Here is the certificate, which
contains Apple's public key, which you
can use to verify that signature.
So let's continue with the obvious
mystery with iPhone 3GS
and the iPhone four,
things changed a bit with I was three two
hours for Apple, had hardware
and forced, um, SHC
checks. Those were new those two
devices.
And starting with I was, uh, five,
um, Apple introduced AP tickets.
But what that is, um, we'll
see later.
So this is how the Bush-Cheney looks like
on Prius five, on iPhone
four and iPhone 3GS.
And you can see the only difference here
is that the board room does verify the
blobs, so that's
actually the only difference.
How do we downgrade this?
Well, um,
as I just blob is just assigned
hash of the former.
So there is nothing which prevent us from
a downgrade attack.
What you would do is you save as I just
blob's while they're assigned and
there are a bunch of tubes which can do
that, for example, tiny umbrella and
they're their effect.
And when Apple doesn't sign
them anymore you can just reapply them.
So what you would do is you hook you up
your device up to iTunes and
when iTunes would ask the Apple.
So you just met in the middle of traffic
and sent the blob's you saved.
And I would give it to the device and the
device would accept it and you could
download it.
OK, so what are those
AP tickets?
Maybe tickets is as one formatted
container.
It contains an esad aboard a
chip idee and the hashes of
all the FERMA files and
Anon's, and it's obviously signed.
So you can't tamper with that data.
Those things are packed
inside and I'm just file and Flesche
along with the boot files.
So this is how the Bhushan looks like on
all 32 bit devices on iOS
five.
And later, what you can see here,
the Buttram still checks for
the blobs.
But if you go the different
route, the IBS
checks now with the API ticket instead
of the single SHC, H1 and
what it actually does when it puts up
Avios, it would generate a nonce.
And this is random.
And what you need to do is you need to
reload that Norns from the device.
You need to request an app ticket
for that specific nonce.
Then you could stitch that Norns to IBRC
and then you could put it back and then
you do the same Firebacks.
So it would read ordinance, it would
stitch it to the remnants in the kernel
and you can budos for
the normal. But um, the ILB
and I would also check the app
ticket, but they don't check the nonce.
Well this is because um
I can't really check Anon's
because if you would the nonce, um,
generate the nonce randomly, then you
would have to request a new ticket for
everything about.
And since the devices and bootloader
can't really do that, so nonces ignored
a normal. But and this is fine.
So this is how on it looks like
if you decoded with Issan one
saw in the left image, you can see it as
one decoded. The right image is a built
manifest taken from an iPhone Fermor
file.
So I left.
The first thing you can see is the ESET
of the device this blob's belongs to.
Then you have a bunch of hashes and those
actually correspond to the one you can
see in the manifest.
So the one I highlighted there is the
epilog or hash.
Then you can see the nonce, the iBOT
version and a bunch of other stuff.
And at the very bottom you have the
signature and build a signature,
a certificate which you can use to verify
the, um, signature.
So if you pack that inside and I'm just
refile, there's nothing too special about
it. This is how it looks like you can see
the identifier here
is Seab.
You need to read that little endian.
So that's basically just the ticket.
And storing all those information about
the device in one single file, um,
removes the need to have it and bunch
of files. So it just collects all in one
place.
So how do we do it.
Well we have lime lamebrain a
sibutramine exploit from Geohot
and it works up to the iPhone four
and patch to the iPhone for us, but up to
the iPhone works and we can make
the boot from boot anything we want.
So what we could do is we could patch
out the app to get checks and
Ebsen IBRC and then
we could boot ibises, ABAC,
Ramdisk and a kernel without any
app ticket.
What we would do then is we would restore
with the previously saved app ticket and
since the nonces and checked on.
No, but we are good to go.
So this is uh, an image visualizing
the downgrade using Lamebrain first step
upon a Woodrum, then you
send a budget.
I work on Ramdisk and so on,
simply restor.
And then if you restore with a valid
ticket, you can see that
everything from there is valid if you go
the normal budget.
So what about
newer devices where we don't have
lamebrain?
Well, first, some background info
from our files are encrypted
and the decryption is not possible
any more.
Then the kernel has put it this
is disabled by hardware since the iPhone
four. So before the iPhone for us,
you could actually decrypted with the
engine on the phone.
But since the iPhone four, as this is
disabled by hardware and you can't
use it anymore once the kernel has put it
once and yes.
So basically to get the keys, you need
to either reboot or goodrum exploit.
But luckily, in the general
community, we have some people who have
private iPod exploits on
WI and we have people who have
private hardware hacking techniques.
And those people, they're able to get
the keys and
they're so kind to share them with us.
You can find them on the iPhone.
Vickey.
So, yeah, they're publicly available for
many device nyos combinations, not
for all, but for a lot of them.
Also, we have Kalodner by Willkomm
and what it could do, it could bootstrap
irra image from kernel mold.
So what you could do then
is something like jumping back to the
bootloader, for example, by booting
IBS.
So taking all these possibilities,
um we have or this is a, this
is a technique by sirup
he uses gericke, he uses a task
to put Zeron closer to bootstrap
and ibises.
I personally call this Kadee if
few more currently fumo.
It's similar to the pontiff.
You mold with lamebrain where it would
like accept anything
which you would give it. It would just
put it. You can do the same if you
bootstrap decrypted
and patched IBS.
But the only difference is since
internally from what the kernel has
booted once the
engine is disabled.
So this means you cannot decrypt
Fermor files anymore.
Um, so the solution to this problem
is we simply built the custom former
Ascender form of files decrypted already.
So yeah, we decrypt ibises, IBRC remnant
kernel and a file system and just send it
so the device doesn't need to decrypt
them and we can do that.
So this is what it looks like if
we're downgrading using this was
the first thing you have here is the
normal board. You boot up the old
ILB and in this case old
means before the downgrade, a new means
after the downgrade.
Budarin verifies, I'll be, I'll be
verifiers. I would.
And so on to the kernel.
Then you pon the kernel, you generate the
kernel unable to ask for zero.
Then your uncle order and put,
uh, patched and
decrypted IBS.
And this is what I call quite a few more
than this, because if your device
booted IBS s, it
behaves to the outside world like as
of would be in kadiatu mode.
So the outside world couldn't tell if
it's actually abscessed.
OK, if you moad or if you mozote.
This is why I call this Kadee.
If you got what you would do then is
decrypted and patched Dybek and decrypted
and patched Rammasun kernel,
then you would simply run the normal
restor but you would restore Ravella
ap take it.
And if you try to then
puram verifies be
in the AP to get the nonsense ignored.
So you're good to go and you could put.
So this really cool, but in
this talk, I haven't talked about the
basement, the basement is the processor
which handles communication, like
when you're trying to call someone and
stuff like that.
And the security of the basement
has improved, too. And Donna, it is not
really possible.
Also, less people care
about basement at all since
Carious start to unlock phones.
So in the early days of iPhones,
the reason why I would want to hack the
basement is because the carrier would
sell a similar phone and you want to use
the phone with a different carrier.
So you would try to hack the basement and
get an unlocked so you can use the phone
with a different SIM card.
But since carriers start to sell
unlocked, phones don't really need that
anymore.
But from the earlier days, the common
practice became not to update baseband
because security proved that
to what you would do
is when you are upgrading the US,
you would keep the old baseband
so you could still keep all
the vulnerabilities and exploit it
again. And when you gericke the device,
you could then exploit again the basement
and you could unlock your phone.
And from those times we know that
many non default iOS based on
combinations are working combinations
that weren't shipped.
Some are not, but a lot of them
are working.
So, yeah, we know that the
new I was an old Bassman works,
but the other way around works
too if the gap isn't too big.
So Odyssey's uses this fact.
It keeps the baseband with its
signature and downgrading
since the iPhone four is the basement
is stored on a file system.
Before that, it's stored on some memory.
But, um, since for
us it's on a file system.
And this is why, uh, you need
to patch to former for not updating
the basement. So what you would actually
do, you would grab the old baseband from
the phone, create a custom
firmware where you put this old basement
in and you would flechette knew the
custom former with the old basement.
So then we have
Orissa's Hotta, so,
um, Epel science, Orte
blob's four, I was six point
one point three for the iPhone for us and
for the iPad two.
And what exactly are those Altium blobs?
Well, old Heet means over the year.
If you update your device, um,
not using iTunes, but if you go to
settings and update and just download
the former and updates
and this is what we call an update
and Apple Science, uh, six point one
point three for this device, because
those were shipped initially with iOS
five.
And for some reason, you can't just
straight go from iOS five to eight or
nine or think you can't even go to iOS
eight. So what you would need to do if
those devices are still now is five, you
need to upgrade first to six one three.
And from there you could go to iOS nine.
And same applies for iOS eight
for one for some other devices.
So the idea with desire
is to use fresh old
tickets.
And, uh, you can also grab a baseband
ticket since that's sign, too.
And this allows us to actually downgrade
the basement, because the only thing
which was, uh, stopping us from
downgrading the baseband is the fact that
it wasn't signed.
But since it's signed here, we could just
grab tickets and downgrade.
Is this what this was discovered
by sirup and me around the same time?
We're using different techniques like
I'm pitching to form a bundle to
use to generate the custom firmware.
He added the command line parameter to
restore where you possibly manifest,
but it's basically the same thing.
So, um, normal
a ticket and a ticket
only differ by the Ramdas cash.
And this also makes sense because if
you're upgrading using iTunes, you
what you want the upgrade process
to be handled by iTunes.
But if you're upgrading, using the old
method, you want your phone to do it on
its own without iTunes.
So we need to build a different ramdisk.
And the hash of the RAM doesn't really
matter because we're putting
that thing with Kalodner anyway.
So no nonsense.
No nothing is checked.
So this is cool, but it also
has some limitations.
It only works for certain
devices and you need for Merkies
because, you know, the
device can't handle the decryption.
You need to decrypt it.
You also need custom bundles.
So know how to make
the custom for I need all these patches
and also not available for
all device.
And I use combinations.
So what about
64 bit devices?
Well, let's have first some background
info was 64 devices.
Apple switched to the I'm due
for file format
and we also have a new enemy, the secure
and safe processor or short sap.
And SAP is used for touch
ID. It's used for filesystem
encryption and some other
things, and it's definitely required for
booting. So you can't just decide to
not put it and use the phone.
This won't work because you wouldn't be
able to decrypt your file system.
SAP has its own Norns inside
it and those need to match the one
SAP generates when it boots.
So also there are no
known exploits for them.
So for those who expected a
zero day for that to be dropped, I'm
sorry, no exploits for THEP.
So, yeah, let's take a look at the
four or five format I'm due
for a sannyasin one formatted
container.
This is the uncoded and
what assigned signed IMG for basically
is it's just I'm for
P this is the payload.
This is like, uh, just
the word file labeled or something
like that with an aim for M
and I'm for M is the manifest and the
manifest is basically the AP ticket.
And uh, the interesting thing here
is that every IMG for file has
its own copy of the manifest
of the ticket.
This eliminates the need for a
ticket only file like we used to have
with the three file format.
And this is probably required for
Zebb because all bootloader
files are flashes from memory except for
Zip Zeppos, the only thing which is
stored on a file system.
And this is maybe why
they made a single copy of the ticket
to every file.
So yeah, let's take a look at the IMG
four or five from it. You could see here
on the left side, this is if you
just simply assign one, decrypt
a decode the file.
You can see I'm for I'm for P
and the tech of that file, this
is speed. This is a separate S
which is um.
Yeah. Display Dorottya.
Then you have the actual setup, then you
have the Chebeague and the Chebeague is
actually an encrypted
key which the device could decrypt
and it could use that key to decrypt
Fermor.
So below that you have
the time frame.
This is basically the manifest, but you
can actually see that better on the right
image. Right image is what I'm
going to gives you.
If you just displayed a file,
um, basically also the X and
you can see there I'm for M and
I work through all those things real
quick.
The BNC H is the
AP Nunc um which is inside
the ticket.
Then you have some device specific,
uh data. You have the Essid
for which, which
device, uh which specific unique device
this uh ticket can be used
and the unknown is the nuns
and s RVN is
the server nuns.
Uh it's basically server generates.
So even if you request um
over and over again a ticket with the
same parameters, you would still get a
different ticket because the server
announced changes.
And as far as I know, the server nonsense
not really used for anything.
So below that, you have a bunch of
hashes from all the different files
right here you can see the hash for the
bed, zero image.
So this is how the Bush-Cheney looks like
on 64 bit devices.
If you go the normal Bujold, the only
thing which really changed there is
starting with the board from the AP
ticket has changed.
Earlier this was the age.
And if you go the diff, you
wrote not only the dbu
drum checks, the AP tickets and
AP non. So actually you need to request
an appearance from the boardroom and
so on. But you also need to request
acceptance and put it inside
your ticket.
Um, yeah,
so we've seen this all
improved a lot, but
can we still do it
and yes, we can.
So let's make a downgrade plan for
64 bit devices.
Well, we know that the baseband iOS
mismatch works.
And what if this
would work for SEPTA?
That would be cool, right.
And also, every emoji for
file contains its own
copy of the app ticket.
But do they actually need to be the same?
Well, let's continue with our plan here.
What I did here is I made a little
tool. I get Norns.
Basically all it does, it fetches
the appearance and disappearance from
the device and all the different modes.
What I did then, I took my iPhone,
FIFA's, uh, put it in default mode
connected to computer and
read out the nonsense.
Um, yeah.
For AP inceptions, what I did then
is I requested and ticket
for those two specific nonces for
my device with test checker
and stitched that ticket to
IBS and I booted
ibises.
Then I again checked what nonsense
are generated and I've seen
Non's doesn't change.
So I again stitched with uh
Stich that ticket to IBRC
and Budha Dybek and again I requested the
nonce. And again, Anon's
doesn't change. So this is definitely
something we can work with.
Yeah. We seen we get the same Norns
uh for these few ideas.
IBRC and this is a this
also works if you go from about
two IBRC and this is actually Derald,
we're going to go for downgrading.
You'll see why in a few slides
and also notice that the sentence is
completely ignored.
And Ebsen IBRC
it only matters when booting
Sep, which
kind of makes sense I guess.
So um, what happens if
you could somehow predict or
regenerate an abstinence?
Well, this is where Prometheus comes
in.
Let's for a second assume we
somehow can predict an abstinence.
What we could do then is we would request
now a ticket for Anon's, which
will be generated later.
And once it isn't signed anymore, we can
somehow make the device, magically
regenerate the nonce and use the ticket
we saved before.
So this brings us back to the old
classic replay attack.
And we could build up to the remnants
so we can only put up to the remise
because they're still Zebb.
We can't do this for them and we need
somehow to good sep.
Well, what we can do here is we can
just put it possibly newer,
but signs sep.
And since that side we can request
a valid ticket and
we also restoring the newer
but sine SEP and we're also doing the
same for the baseband.
So fix everything right.
This is how Prometheus looks like.
Um, yeah.
When putting the stuff first you board
to ILB then
I bought. This is checked by the AP
ticket on a device.
If you hold down your home button while
booting, you will get into recovery mode
and it will stop there.
Um then we do some wudu magic
and make the device regenerate the
nonce which we have uh saved
the ticket for.
Then we stitch that ticket to IBRC and
Boutet and again to save tickets
to shit to the remnants of Colonel.
And with that and what we're doing
here is we booting not the ships
but the latest step, for example
with a valid ticket,
which we just requested for the Nonsuch
generated us and we that
then we're doing a normal Ristau with the
difference that we're restoring the AP
ticket we saved
and we are restoring, uh, the newer
SEP with a different AP ticket.
And we can do that because every Imja
four or five stores its own copy of the
ticket.
Um, yeah.
No, the only real question is
how do we predict the opinions?
Because if we can't predict the opinions,
we can't really use all this.
OK, let's take a look at the RTA
update procedure.
So, uh, when you take your phone,
go to settings, update, uh, what
it would do. It would download
the boot files and stored the Ramdisk
in memory. It would set some Buraq
and it would reboot.
Uh, dreaminess is not encrypted.
The Woodford's are.
And you need an
app ticket to boot, so
you can't really request an app
ticket while you're in recovery.
This means you need to request a ticket
before going to recovery.
And we have a problem here.
So there's something needed
to be stored.
So the app so the updater
can predict what nonsense
will be generated on next Puzzo.
So we can request now, uh, NAPI ticket
and use it on the next reboot.
So are we going to do is find this
something?
Well, let's take a look and enviro.
So in the big picture, you can see
Colonel Cash from iOS 10.
Um, yeah. Apple was so kind to
ship iOS 10 unencrypted.
So we can just take a look here.
And what we see here is that
Apple, that system non's.
And the only thing left is figuring out
what all those values mean.
And if you Google, you'll eventually
end up on your end of your age
on open source told Apple Dotcom.
And then you can see this, uh,
of variables, this, uh, variable
table.
And so basically the elements here
are first the string and then
the type, then the permission.
And the last thing is probably counter.
So if you take a look at the kernel dump,
we see, um, uh, zero
three and zero three for the type
and for the permission.
And if we take a look at the type, it's,
uh, type string.
And if we check the permission, it is
permission kernel only, which
is kind of bad, but it's
nothing we couldn't change with the
kernel patch. So patching this a
permission user, it would allow us
to use the envir, I'm told, to read and
write this variable from user land.
So, um, yeah, how do we
predict opinions so
the generator is saved and we
run once a, uh, once
you request from lockdown the Anon's and
you can do that by either, uh, requesting
Anon's with items or
the updater can request the nonce from
knocked on them.
And that generator is safe
to Elverum and consumed on the next
reboot. So you can't really predict,
uh, Norns twice.
You can do just just once.
So this is how such a generator looks
like and it generates the following
Norns on my iPhone six.
And yes, since the permissions are
currently, you need to patch to colonel
to be able to read and write that.
So this is kind of a demo.
I guess it's just an image.
But still, this is my iPhone
six running iOS nine point one.
And what you what I did here is
first I requested a nonce from Lockton
De then I run and run minus
P to print all the variables.
Then you can see we only have Buderus
de boatyards output and becknell
backlight level, then running
nondenial which patches, um,
the kernel.
And again I run and run minus
P you can see the complex
system, but Norns magically appears and
we can read it and we also can write it.
So this is the only way.
Well the nonce, 20
bytes and this means we have
two to the power of 160 different
possibilities and this
is just too many to brute force.
The generator, on the other hand, is
eight bytes.
This is two to the power of
sixty four possibilities.
But this is still too many.
Unless you're the NSA, there's even no
point in trying.
But I did all these calculations
after I tried that.
So let me show you my results.
So I wrote the little script, basically,
all it does is puts your device into
recovery, sets the boot are
to fall. So you always put into recovery
when you reboot, then it reads out
the nonce
and reboots, then again reads
ordinance and so on.
And I let us run for, I don't know, two
hours. And it gave me like two
thousand answers.
And if we take a look at the answers
there on the right side.
So I ordered them.
And you can see the first
thing there is the nonce.
Then in the second column, this is how
often that was generated.
And the last column is the percentage
sold. The one highlighted in blue
is not actually one generated most often,
but it's my favorite one.
That's why it's blue.
And if you,
uh, take a look and some all this
up, you can see that five finances
are 20 percent.
So we can definitely work with
that.
We also had some community
test results. So I asked on Twitter,
um, just take your phones
and traders to and I've seen multiple
iPhone five s generate, uh,
the same nonsenses nine three two
nine three five.
And this also works with
multiple iPod ers, um,
and gross versions.
Uh, I haven't tried 32
bit devices.
Maybe it works, maybe it doesn't.
I have tried later devices like
iPhone six six s and
I don't know if someone tried a knife on
seven, but those don't
generate collisions.
Also, the funny thing here is
that, uh, I have seen collisions
on I was nine three.
I have seen collisions on iOS ten, ten,
one and two, but I haven't seen any
collisions on I was nine
point one and nine point zero.
So maybe that's something,
some part that Apple introduced a nine
three. I don't know, I haven't seen any
collisions for iPhone five s and
nine point zero.
So it seems some collisions are possible
for some device iOS combinations
and this can be used
to download it without a jailbreak.
So what you should do is run your
own tests, um, figure out what
nonsense generated the most and
get a ticket for that specific
NUNC.
So downgrade scenario here would
be you upgrade to newer iOS
and figure out what nonsense
generated the most often.
And you need to do that because maybe
it changes what nonsense generated.
And yeah.
So you would request an app ticket
with that specific Norns for an older
iOS while it's still signed when Apple
releases new, I was the older
one assigned for a certain amount
of time and you you would need to do that
while the older one assigned and when the
signing window closes, you make the
device regenerate the same nonce you have
the ticket for and you could download it.
You could even train up, um,
different iOS versions, like for a strong
reading phone.
I was ten to nine because nine,
three, five maybe generates a different,
uh, Norns and then you can use
the tickets with the save on stare, make
the device regenerates another
not another nonce which you have the
ticket for and you could go even further.
Uh, I need to say at this
point that it does
work for downgrading.
I would, but the
iOS Ten, SEP is not compatible
with iOS nine. So if you try
to downgrade iOS ten to nine by
restoring and I was ten Sep to nine,
you don't get a working system,
so don't do that.
Well, this is cool, but Prometheus
had lots of limitations and
it relies on the fact that the basement
and iOS versions are not tied together
and checks for that can easily
be added.
Also, SEP and Baseband
are always the latest
version and they might not work
with all the ISO.
This is the case for iOS ten, SEP
with iOS nine.
Also, the opinions must be predictable
and Apple can make our
lives really hard here.
They could, for example,
at a sold in Ibold
and change that and every different
abled version. And since they're
encrypted, there's no chance that you can
get that sold.
So it would kind of eliminate
the downward without Cherrix.
So, um, yeah, Apple can really
do lots of things here.
So for future downgrades.
Um, yeah. Saving AP tickets is
always a good idea.
Even if you can't downgrade right now,
maybe you can in future and maybe
that will be new box and futures
are new techniques and
yeah, definitely save you tickets.
So the tools are used.
Here is checker.
DNS Checker is a tool.
For requesting air tickets from Apple
with a lot of customizations,
you can manually specify the
opinions Decepticons you want a ticket
for if you want to postpone
ticket, if you don't want a baseball
ticket and really lots of stuff.
And I haven't seen any other tool which
can do that. So please check
out the school for that.
Also, HMG for Tool.
It is used for manipulating images
for I am for a friend files.
You can view those files,
you can search for files, you
can check the
manifest and stuff like that.
Also futurists or this is
the actual implementation of
the Prometheus Thouret method.
So what future Restor allows you to do is
to specify the ticket you want to
use the specified ASEP, you want to
install in the specify the basement you
want to install.
And all of these, uh, will
be open source. T.S.A.
is open source right now.
I'm due for school and future store will
be open source shortly after the stock.
And yeah, at this point,
I want to thank Nikias, who made
Multitool script for building futurists
or futurist stories, uh, really
messy, uh, project, which consists
of these Chicca IMG for Tool and
I advisory store.
It's just all packed together and made
some work. So it was really complicated
to make, uh, both files for that
and. Yeah, thank you.
And now it's time for some
Q&A.
Thank you very much for the presentation.
If there are any questions in the
audience, we have four microphones
at which you can line up and then I will
call you if you need to
leave the room. Now, that's OK.
But please do so quietly and take
some trash with you if you can.
I think the first question was at the
very back of the room.
Yes.
Thanks. So my question is but generic.
But since you're in the scene,
right, why
do jailbreak and
iOS hardware hackers never
consider hacking is the Carter
directly?
Or maybe they do.
Um, I think they
are people doing hardware hacking.
I know that some people are doing
hardware hacking for getting
the former keys,
but I think most likely
this is because hardware attacks
are not really practical for
the average user.
So you can't tell a user, well,
you need to open up the device, you need
to wire those two pins and then you have
a jailbreak. So this is why I think
mostly it's focused on software.
All right, we are going to take one
question from the Internet, please.
Thank you. What is the point in
downgrading a device?
Well,
I actually asked myself a few times,
but it seems like there are really lots
of people who do want to it for some
reason. For example, if you use this
technique to downgrade without a gericke
right now, you could right now,
the latest version is I was ten point
two. And if you put all this
voodoo magic, you could right now
downgrade with that to iOS 10
one one. And there are some break
for that. So you could basically
downgrade to get to Gericke, but
most likely you can't do this.
Um, so I don't know.
Maybe many people say newer
versions are slower, so they downgrade
for speech.
I don't know. People just want
downgrades.
All right. We're going to take a question
from the frontier.
Yeah, I have a question about NSA
spying. The study found that there
are some nonsense that are much more
frequent than others.
Is that right?
Yeah. And did you investigate
why this could happen?
Like, did you find the algorithm which
generates somewhere in the firmware?
Um, I haven't really
looked into that part.
What I did this just basically tried.
I figured out if you take lots of iPhone
five hours on iOS nine through something,
it would generate the same
Norns across the devices.
But I haven't really looked into it.
Why they're doing that specific
Norns.
I didn't even expect this to work at all,
so I was surprised.
Why does it even work?
Thank you. All right, we're going to take
a question from the front, please.
That was actually my question as well,
but could I could I just get a picture of
that? Not that Norns collision slide,
that was fantastic.
I think there yeah,
I think they're even more on
Reddit post, which there's a guy who
I published them on my blog
and there's a guy on Reddit who put them
all together. And even different
statistic. I was thinking about taking
that image to a presentation, but it's
somewhere on Reddit which devices
generate collisions and which don't.
OK, we're going to take one more question
from the Internet, please.
Thank you. Will it work on all
64 devices?
Well, I guess
the only thing which would stop it from
work on the iPhone seven right now
is that I haven't pulled
the, um. Well, what the iPhone seven
is doing with the basement are changed
to baseband. And I haven't pulled the
idea as we saw commits
for handling the new basement format.
This is why it doesn't work right now.
And I don't I don't know
what the new memory protection, the
iPhone seven, um, does.
If it stops it if it doesn't stop
it from patching, I don't know.
It will probably work.
Well, I assume it works with all 64
devices. It might even work with 32
bit devices. But I never tried.
OK, question from the back.
Thanks for the talk.
My question is
more or less a dummy question
you showed us in
the slides that work
for nine three five
and nine three three.
And now you're set by
answer answering
the first question that does work with
iOS 10.
And maybe I misunderstand
something. You mean that slide,
right? Yes.
Well, basically what the slide
is saying that I had people with
iPhone five s on nine
three two nine three three ninety four
and five.
And they were trying to generate Anon's.
And this was the same across
all these devices, so generated the same.
But the iPhone five s also
generates nonces
collisions on iOS 10 zero
10 one 10 two.
There are there there's a difference
between nine and 10 that they're just
simply different ones like five
five of these files, nine and on now
just five different ones.
Um, can I
sorry. We're going to take another
question from the front.
Thank you for talking still about the
repeated nonsense you already answered
that you haven't looked into how they're
generated, but is that code in
the publicly reversible
part, like how hard would it be to
figure out how they're generated?
Well, if you put the device
and request the nonce from there, that
would be a nonce generated from
the bootloader from Ibold or something.
So you would probably need to
dump Ibold and reverse that.
They are the random number generator.
What I did is I took a look at the
generator thing and I figured out
is just the, um, the little
engine and coding.
And if you hash that bitstream, this is
basically the nonce.
So I focus on that.
So you just take eight bytes,
hash that and this is the Norns.
This is also what T.S.A.
does when saving lobs.
It would make random it by its hash them
so we know you can use that specific
generator if you're related to
environment would generate the same
nodes. But I haven't really looked
into how Ibold generates a
random nonsense.
But I would is there
are decrypted Eberts available for
reversing order?
I don't think that they are decrypted.
Once you I know there is a technique
by Kurti where you could dump
enabled from iOS eight
devices for 64 bit
for S2, but there are decrypted
Frommer's. But I haven't really
looked into that on this.
I have focused on 64 bit.
Thank you. OK, one more question from the
Internet, please.
Thank you. Is it possible to get around
the theft protection with downgrading
a device?
No, it is not, because after
your downgrade or restore in
general, you
need to activate the device.
And this is completely separated from the
system. So we would need to
get an activation record.
This has nothing to do with downgrading,
restoring. So now you cannot bypass
theft protection question in
the front.
Yes, earlier you said that the basement
itself was used primarily for tying
devices to a specific carrier and
that for a while you could drive a
different baseband and AOS combinations.
But then at the end, you said that they
were now tied together.
What is actually inside the baseband?
What is it being used for in modern
times?
Well, you have four, as far
as I understand, the different some
kind of chip and the baseband
is the former for that specific chip
and that handles the common
communication with the GSM and stuff like
that. So if you want to use
LTE or if you call someone,
then you using that specific
chip with that specific Fermor, talk to
that.
And this baseband
is the US of the thing
that handles telephone and stuff like
that.
And does it have storage?
Could there be cryptographically relevant
information in that particular
section?
Um, probably there are some
carrier formations I don't really know,
but does nothing or really what
the user would have access
to anyhow.
OK, another question in front, please.
I thank you for the talk I wanted to ask
you about. Is there a way to get
a kilo there for 64 bit devices?
Honestly, I don't know.
OK.
Another question from the Internet, have
you ever the device?
If I ever break the device,
no, I haven't.
Any other questions, now's
your chance.
Yes, please.
You mentioned that it wasn't possible to
downgrade from ten to nine point five,
but then you also had a slide on chaining
those downgrades.
Can you talk about that?
So this slides
were made in the days where I
was and I was still signed.
So I wrongly assumed you can what the
really thing which is stopping you from
downgrading iOS 10 to iOS nine
is that you cannot use
iOS 10 SEP on
the iOS nine Fermor.
You could finish up the restore,
but at the very end of the restore, it
would fail.
At that point, it would have already
written the bootloader and I would
so we could build up to recovery.
But there's some stuff at the end which
is stored and finished.
You don't have a file.
I don't know if you have a file system,
but you have don't have a phone.
You could use the bootloader
there, but that's it.
Another question on the front, please.
This might be a dumb question as well,
but after the downgrade, are still the
user data on the phone
maintained or are they wiped afterwards?
Um, this is a good question.
This is actually a restore.
So when you restore, you can
wipe the whole data.
There's also an option to upgrade
where you don't actually erase the data.
Um, I have an option in
future restor, which sets
the flag for a device restore
to not wipe the position, but to
the upgrade instead.
So you could try downgrading
and with that flag set so it would
keep the data.
But I don't know if it's a good idea
to do that, if it would mess stuff
up. I haven't tried that, but maybe
I get another question from the Internet.
Um, thank you. Can you save the set
before updating and use it,
um, again after you
downgraded to a previous version?
Um, no, you cannot, because,
um, when the
sep when restoring, you
put, um, Ramdisk
and then you also need to board
to Ceppos.
So, um, and before rebooted
the Sepoys you can't really
start to downgrade and
um the normal download
we the file system and stuff.
And the Sep Fermor actually
handles the restore process for the SEP.
So four it would restore
also the SEP and those nonces
need to match.
So it's a completely separate
restore process.
So we come to that question
in the front, please.
Why is the baseband so hard to exploit?
I'm not saying the basement is hard to
exploit, but I have the feeling
personally that not many people are
looking into it because, um,
I wouldn't know what I would do with,
like, it's a lot of work just
so we could download it.
I'm not saying why would anyone should,
uh, would do that in
theory. You could, um, exploit
the basement. You could try to downgrade
that.
What you also could do is you could
pitch the older, um,
us so it would understand
the newer basement API and get
that somehow to work.
It's definitely doable, but
easier ways. Just hope that it works.
Thanks. Another question from Alice.
Is it so what software
handles writing the firmware
to the SAP and things like that, and
would it be possible to patch that in the
same way that you would patch the kernel
to just not write the sap so that
you would be able to do downgrades
and things like that without having to
write the Nuers up?
I don't think you can do that
just as easily.
Maybe you probably need to
exploit the SAP Fermor and
to stop it from downgrading because
SAP handles a lot of stuff like
Sweida, random, true random number
generator and other things.
So I think to not update
the sap, you would need to actually
exploit the sap.
But I haven't really looked into the
Sabbath, just what I assume.
Any other final questions?
All right, so when you go, please take
some trash with you and please give
another warm round of applause to.