Return to Video

Alexander Graf: Beyond your cable modem

  • 0:00 - 0:10
    32C3 preroll music
  • 0:10 - 0:14
    Herald: The next talk is going to be
    “Beyond Your Cable Modem”
  • 0:14 - 0:18
    – how not to do DOCSIS networks.
  • 0:18 - 0:22
    Sorry, I’m not a hardware guy.
    But Alexander Graf is going to
  • 0:22 - 0:26
    hold the talk and he has
    done a lot of virtualization
  • 0:26 - 0:29
    and stuff other people
    think is too complicated.
  • 0:29 - 0:33
    Now he is going to talk about
  • 0:33 - 0:37
    the outside of your apartment.
    Give him a warm welcome.
  • 0:37 - 0:44
    applause
  • 0:45 - 0:47
    Alexander: Hi and welcome to my
    talk “Beyond Your Cable Modem”.
  • 0:47 - 0:50
    This is going to look at what’s beyond
    the stuff you usually see at home
  • 0:50 - 0:54
    where you just plug in a network cable
    and you happen to have Internet available.
  • 0:54 - 0:56
    So, who am I?
  • 0:56 - 0:59
    I’m Alexander Graf – I’m usually
    more of a virtualization developer.
  • 0:59 - 1:01
    I have nothing to do with
    hacking in my day work,
  • 1:01 - 1:05
    I don’t usually go around and
    hack embedded devices.
  • 1:05 - 1:06
    Usually, at least.
  • 1:06 - 1:09
    But, during the last year, I had
    a lot of spare time at night
  • 1:09 - 1:12
    because the baby was
    crying, so I figured:
  • 1:12 - 1:17
    I could as well spend that time
    and do something useful.
  • 1:17 - 1:20
    So, what happened?
    We moved to a new home.
  • 1:20 - 1:23
    I was living in a home
    where I had DSL available,
  • 1:23 - 1:27
    I had a real phone line, everything
    was great, things were just awesome.
  • 1:27 - 1:32
    But then we moved into
    this new home where…
  • 1:32 - 1:35
    where there was no DSL available. Well,
    there was DSL available but there were
  • 1:35 - 1:40
    different circumstances why I couldn’t use
    it. So instead, I figured: You know what?
  • 1:40 - 1:44
    Try this cool new technology:
    Internet over your cable TV.
  • 1:44 - 1:46
    Ehh, cable. TV cable.
  • 1:46 - 1:49
    So I got myself a cable
    modem from the provider,
  • 1:49 - 1:53
    got myself registered and
    now had Internet over cable TV.
  • 1:53 - 1:57
    Also, along the same lines, I figured:
  • 1:57 - 2:00
    Why not go and also do your phone
    line over that cable provider
  • 2:00 - 2:05
    with your old phone number so that people
    still can contact you when they want to.
  • 2:05 - 2:08
    Now, the thing is, when I finally
    received the whole package,
  • 2:08 - 2:12
    I realized: Woh! Wait!
    Something’s wrong here!
  • 2:12 - 2:19
    That’s an analogue phone line!
    Are we, like, in 2015 or is it 1994?
  • 2:19 - 2:22
    So, instead of the usual digital
    stuff that I am used to,
  • 2:22 - 2:25
    I just got myself an analogue phone line.
  • 2:25 - 2:28
    So I had to put myself
    another box in there
  • 2:28 - 2:31
    that would convert the analogue phone
    line back to a digital phone line,
  • 2:31 - 2:33
    so I could route it in my house to
    another line, to another machine
  • 2:33 - 2:36
    that would then go and
    route it to my phone.
  • 2:36 - 2:38
    You see the problem in there?
  • 2:38 - 2:42
    Yeah, that whole stuff over there
    just doesn’t look right, right?
  • 2:42 - 2:45
    Why would you go and convert
    something that is obviously digital?
  • 2:45 - 2:48
    I mean, the stuff that goes into
    your cable is obviously digital, right?
  • 2:48 - 2:50
    Kind of obvious…
  • 2:50 - 2:53
    and convert it back to analogue
    and then back to digital
  • 2:53 - 2:55
    just to be able to do a phone call.
  • 2:55 - 3:00
    So I called up the technicians, Support,
    and said: “Hey guys, you know what?
  • 3:00 - 3:03
    Isn’t there a way I can,
    like, directly access
  • 3:03 - 3:08
    whatever you have there and go
    and use digital throughout?”
  • 3:08 - 3:11
    And the guy said: “Well, you know what?
    Actually, behind the scenes,
  • 3:11 - 3:14
    we’re all just running SIP.
    It’s just a normal SIP server.
  • 3:14 - 3:17
    Just normal voice-over-IP,
    nothing special about it.
  • 3:17 - 3:23
    So, if you know what you’re doing,
    just go ahead and connect to it.”
  • 3:23 - 3:32
    laughter and applause
  • 3:32 - 3:35
    Challenge accepted.
  • 3:35 - 3:40
    So, what we learned from
    Felix earlier in his car talk:
  • 3:40 - 3:42
    It was: What do you do when you
    don’t want to brick your own system?
  • 3:42 - 3:46
    Of course, you buy a new one
    on ebay. They’re really cheap,
  • 3:46 - 3:50
    just go and get a cable modem
    and then you can go away and
  • 3:50 - 3:53
    treat it with the kind of love that you
    want a device to be treated with.
  • 3:53 - 3:56
    laughter
  • 3:56 - 4:00
    Turns out, my modem is actually
    just running Linux. Hooh! Nice!
  • 4:00 - 4:02
    That fits me pretty well!
  • 4:02 - 4:05
    And it’s just a normal ARM system.
  • 4:05 - 4:07
    Well, the only special
    thing is: It’s Big-Endian.
  • 4:07 - 4:12
    But then again, I’m kind of used to
    ARM by now, why not just go away
  • 4:12 - 4:15
    and like go around and just
    look at how this thing works.
  • 4:15 - 4:18
    And, well, we really just want to
    get this voice-over-IP stuff working,
  • 4:18 - 4:22
    so take a look at how this
    voice-over-IP stuff works on the device!
  • 4:22 - 4:24
    Turns out, there’s actually a normal SIP.
  • 4:24 - 4:29
    SIP works on port 5060 usually.
  • 4:29 - 4:33
    Normal SIP client running on
    there, but this IP looks weird.
  • 4:33 - 4:35
    So, my external IP looks different.
  • 4:35 - 4:41
    And my internal IP is different, so
    where does this IP come from?
  • 4:41 - 4:44
    So I looked at the IP list
    of my device and figured:
  • 4:44 - 4:48
    Well, something’s weird here. I have
    a lot of IPs in there and connections
  • 4:48 - 4:53
    that I really don’t know
    anything about. Hm.
  • 4:53 - 4:57
    So down here, is obviously my phone line.
  • 4:57 - 5:03
    And up here, is something else
    that I have no idea what this is about.
  • 5:03 - 5:07
    So I figured: Let’s go
    and dig a bit deeper.
  • 5:07 - 5:10
    And see what’s actually happening there.
  • 5:10 - 5:14
    So how does DOCSIS work?
    This is just a small introduction,
  • 5:14 - 5:17
    like high-level introduction,
    on how the routing runs.
  • 5:17 - 5:22
    So basically, you have the cable modem
    that is connected using your TV cable line
  • 5:22 - 5:26
    to a CMTS, just a translation service,
  • 5:26 - 5:30
    that then takes all of the DOCSIC-specific
    stuff and just basically gives you
  • 5:30 - 5:36
    an IP routing over into something-
    something-something behind it.
  • 5:36 - 5:40
    However, it doesn’t just give you one
    line. It actually gives you three.
  • 5:40 - 5:43
    It gives you one line for your Internet.
    Makes sense, right? You want
  • 5:43 - 5:46
    to get online. That’s the one you actually
    see when you plug into the device.
  • 5:46 - 5:49
    It also gives you another line for VoIP.
  • 5:49 - 5:52
    And it gives you one more line
    that I would call the “Admin” line.
  • 5:52 - 5:56
    It’s the provisioning line.
  • 5:56 - 6:00
    Now, let’s start with the Admin line.
    That sounds the most interesting, right?
  • 6:00 - 6:01
    laughter
  • 6:01 - 6:04
    What does the Admin line do?
  • 6:04 - 6:09
    Well, in the end, a modem in the DOCSIS
    network is just a normal client
  • 6:09 - 6:11
    like in your Ethernet network.
  • 6:11 - 6:14
    So the first thing it does
    when it gets online is:
  • 6:14 - 6:17
    it does a DHCP request.
    And on the DHCP request
  • 6:17 - 6:20
    it goes and gets an IP address
    and gets all the information it needs.
  • 6:20 - 6:25
    And it also, well, it’s kind of sane,
    it’s just a normal DHCP request.
  • 6:25 - 6:29
    It also, however, gets something
    similar to PXE booting
  • 6:29 - 6:33
    where it gets usually… in PXE booting you
    would get an executable that you’d run,
  • 6:33 - 6:36
    here, you get something different.
    Here, you also get a file
  • 6:36 - 6:39
    that you need to download
    using TFTP just like with PXE.
  • 6:39 - 6:45
    However, in this case,
    it’s a configuration file…
  • 6:45 - 6:47
    – There you go –
    …configuration file…
  • 6:47 - 6:50
    …that you just receive using
    PXE to your cable modem;
  • 6:50 - 6:53
    and then, the cable modem is configured.
  • 6:53 - 6:57
    Now what is inside this Provisioning
    File, that’s what I call it? Well,
  • 6:57 - 7:01
    there’s interesting information like: What
    is your firmware update filename called?
  • 7:01 - 7:05
    If you want to update your firmware
    or if the provider wants to have you
  • 7:05 - 7:10
    update your firmware.
    How much bandwidth do I have?
  • 7:10 - 7:14
    laughter
  • 7:14 - 7:17
    I hear, people have been
    playing with that one…
  • 7:17 - 7:20
    laughter
  • 7:20 - 7:24
    And, well, since it’s just a normal TFTP
    request you can just do it yourself, too.
  • 7:24 - 7:28
    This is my configuration. You just go, get
    it, and you have your configuration file.
  • 7:28 - 7:34
    Now, the interesting thing that I realied
    when I first started doing this was:
  • 7:34 - 7:37
    Sure, this is my configuration file.
    But what about configuration files
  • 7:37 - 7:42
    from other people? Well, you
    go and get the MAC address,
  • 7:42 - 7:45
    if you have the MAC address you
    just go and get it and there you go:
  • 7:45 - 7:47
    You have the other people’s
    configuration file.
  • 7:47 - 7:48
    laughter
  • 7:48 - 7:51
    Easy as that, right? That’s the
    way it’s supposed to work.
  • 7:51 - 7:58
    applause
  • 8:00 - 8:03
    The actual effects of that,
    we’re going to come to that later.
  • 8:03 - 8:06
    Let’s just declare TFTP,
    the whole access to that,
  • 8:06 - 8:09
    as “slightly insecure” for now.
  • 8:09 - 8:12
    laughter
  • 8:12 - 8:16
    But now, if you’re an ISP, you want to
    monitor what your people do, right?
  • 8:16 - 8:19
    So imagine, you’re the admin there.
  • 8:19 - 8:22
    Just imagine, you’re one
    of the good guys, right?
  • 8:22 - 8:25
    And you want to see what are those
    people on your modem doing.
  • 8:25 - 8:27
    Are they, like, downloading
    too much content?
  • 8:27 - 8:32
    Because you obviously cannot filter
    or find that out from the other side.
  • 8:32 - 8:36
    So, what do you do? Well, you obviously
    send the industry standard for that:
  • 8:36 - 8:42
    An SNMP request. Using a
    password that only you know.
  • 8:42 - 8:47
    laughter
  • 8:47 - 8:50
    Send it over to the cable modem
    and the cable modem then goes in
  • 8:50 - 8:54
    and replies with the respective
    reply saying “Oh, yeah, sure,
  • 8:54 - 8:57
    I got that piece of information,
    there you go, you have it.”
  • 8:57 - 9:01
    Oh, that was too quick!
  • 9:01 - 9:08
    But how does your modem
    actually verify that password?
  • 9:08 - 9:11
    Yeah, you guessed right: Using
    the Provisioning File, obviously!
  • 9:11 - 9:13
    laughter
  • 9:13 - 9:17
    Once you download the Provisioning File
    from any random modem in there
  • 9:17 - 9:23
    – including yours – you end up
    getting an interesting password.
  • 9:23 - 9:28
    laughter
  • 9:28 - 9:30
    However, they actually
    did at least one thing:
  • 9:30 - 9:35
    They limited the address range you are
    allowed to access those devices on.
  • 9:35 - 9:40
    laughter
  • 9:40 - 9:47
    Yeah…
    applause
  • 9:47 - 9:50
    As a hint for those who did not clap:
  • 9:50 - 9:55
    This means, everybody
    who is in that network.
  • 9:55 - 9:57
    But how big is this network?
  • 9:57 - 10:02
    I figured: Why not just give it a try
    and ask some people in Hannover
  • 10:02 - 10:04
    whether I could just get
    their MAC addresses
  • 10:04 - 10:07
    and see how far I could get.
  • 10:07 - 10:11
    Just send an SNMP request over,
    I had the password now, right?
  • 10:11 - 10:15
    And ask that modem:
  • 10:15 - 10:18
    “Please tell me everything you know!”
  • 10:18 - 10:23
    And it replied!
    laughter
  • 10:23 - 10:25
    There’s a lot of interesting information,
    SNMP, you wouldn’t believe it!
  • 10:25 - 10:29
    So this is obviously just stuff like
    “Oh, yeah, I’m this and that modem!”
  • 10:29 - 10:31
    But there’s more in there.
    There’s, for example…
  • 10:31 - 10:34
    this is my public IP address!
  • 10:34 - 10:38
    – in case you’re searching
    for someone specific. Or…
  • 10:38 - 10:41
    these are my internal MAC
    addresses and IP addresses.
  • 10:41 - 10:44
    In case you’re searching for some
    specific notebook that someone
  • 10:44 - 10:50
    stole from you or so.
    laughter
  • 10:50 - 10:53
    Or… this is my Provisioning File, in
    case you just happened to port scan
  • 10:53 - 10:56
    all of the machines out there and
    ask them using the same password
  • 10:56 - 11:01
    that they all share on what their
    Provisioning Files could be called.
  • 11:01 - 11:02
    clears throat
  • 11:02 - 11:05
    Of course, I never did that. Right?
  • 11:05 - 11:08
    laughter
  • 11:08 - 11:15
    So, I would say, the whole SNMP story
    isn’t “really” all that secure either.
  • 11:16 - 11:20
    But at a certain point in time, like when
    the modem actually doesn’t work
  • 11:20 - 11:22
    like the way you would envision
    it to be or if you just need to do
  • 11:22 - 11:26
    more administrative stuff, the admin wants
    to have more access than just SNMP, right?
  • 11:26 - 11:31
    This is kind of isolated to a few
    specific pieces of information.
  • 11:31 - 11:37
    You want some more hardcore access.
    Like real go down into a real shell.
  • 11:37 - 11:40
    How do you do shells in 2015?
    Audience: TELNET!
  • 11:40 - 11:44
    Alexander: Telnet. Exactly!
    laughter
  • 11:44 - 11:51
    applause
  • 11:53 - 11:59
    We’ll actually get to the point why
    Telnet was a good idea later, but…
  • 11:59 - 12:04
    that’s 30 slides down or so.
  • 12:04 - 12:07
    We already managed to get an SNMP
    connection working to a different modem,
  • 12:07 - 12:13
    let’s just try the same with Telnet
    and see how far we can get.
  • 12:13 - 12:19
    We can go in and just Telnet in and it
    replies and says “please give me a login”
  • 12:19 - 12:24
    Hm. Now where do I get this login from?
  • 12:24 - 12:26
    laughter
  • 12:26 - 12:30
    Turns out, the administrator needs to
    provide that password just the same
  • 12:30 - 12:33
    to the modem, which needs to verify it.
  • 12:33 - 12:38
    Based on configuration. Which it gets
    from the Provisioning File. That…
  • 12:38 - 12:41
    I think you see the point.
  • 12:41 - 12:45
    So in the same Provisioning File that you
    can obviously again download for every
  • 12:45 - 12:50
    single user in the network
    you also have the password.
  • 12:50 - 12:53
    In plaintext.
  • 12:53 - 12:56
    That’s the part that actually took
    me the longest in this whole thing.
  • 12:56 - 13:00
    I spent weeks trying to
    figure out what hash this is.
  • 13:00 - 13:05
    raging laughter
  • 13:05 - 13:12
    big applause
  • 13:12 - 13:16
    So if we try to log in to the server
    using those credentials we got,
  • 13:16 - 13:18
    we get greeted with a nice
    command line interface
  • 13:18 - 13:22
    for poor Mr. Admin at our provider’s side.
  • 13:22 - 13:27
    But I don’t really like those,
    like, boiled-down interfaces.
  • 13:27 - 13:29
    I want a real shell.
    I want to load kernel modules.
  • 13:29 - 13:32
    I want to filter all my network traffic.
  • 13:32 - 13:36
    I want to reroute everything that
    modem does to a different machine.
  • 13:36 - 13:41
    I want to rewrite the VoIP
    client to instead do… either way!
  • 13:41 - 13:45
    So I want to do something real.
    Let’s do the help command
  • 13:45 - 13:47
    and it tells us that there’s a
    cool command called “shell”.
  • 13:47 - 13:50
    laughter
  • 13:50 - 13:53
    Ah yeah, there you go, got a shell!
  • 13:53 - 13:57
    By now, at that point, I can actually
    go and do anything I want to that modem.
  • 13:57 - 14:02
    I got full root access. By the way,
    all the modems run every single
  • 14:02 - 14:05
    piece of software running on there,
    including your web server and your
  • 14:05 - 14:11
    SIP server and anything as UID 0.
    Which is a good idea, right?
  • 14:11 - 14:15
    So, I now got shell access so
    I can do anything I want.
  • 14:15 - 14:19
    I can re-route all your traffic,
    I don’t, obviously, but
  • 14:19 - 14:22
    this is basically where we
    went half a year ago.
  • 14:22 - 14:25
    Another thing to note is that
    – since it’s so annoying to generate
  • 14:25 - 14:30
    different passwords for different devices…
  • 14:30 - 14:32
    Yeah, yeah, I know.
  • 14:32 - 14:36
    You just use one password
    for all, right? It’s good enough.
  • 14:36 - 14:43
    So you don’t even have to read your
    other person’s Provisioning File,
  • 14:43 - 14:45
    you can just use your own password
    that is in your own Provisioning File
  • 14:45 - 14:50
    which you already have on your modem
    because you’re provisioned yourself.
  • 14:50 - 14:54
    The only notable exception that
    I found to this whole scheme
  • 14:54 - 14:58
    – I mean, you could basically go
    and log in to any modem out there,
  • 14:58 - 15:02
    except for Fritz!Boxes.
    applause
  • 15:02 - 15:08
    Yeah, congratulations everyone! Kudos!
  • 15:08 - 15:12
    So, apparently, AVM are the only ones
    who did not follow the standard scheme
  • 15:12 - 15:15
    from my provider and instead said: “No
    no no, guys! You don’t do the firmware.
  • 15:15 - 15:20
    WE do the firmware”, and they just
    don’t like to enable Telnet. Apparently
  • 15:20 - 15:25
    there are people in that company that
    actually know what they’re doing.
  • 15:25 - 15:31
    So, I would say the whole Telnet
    access thing isn’t exactly…
  • 15:31 - 15:37
    I wouldn’t mark it “secure”
    either. Naahhh… naaah…
  • 15:37 - 15:39
    But we didn’t really come here
    for the Admin network, right?
  • 15:39 - 15:45
    I was just… it happened to be around.
    I just looked at it and… njeeeeeh.
  • 15:45 - 15:48
    We wanted to go and do
    voice-over-IP! Hah!
  • 15:48 - 15:52
    Yeah, so how does VoIP look
    like? It’s kind of similar.
  • 15:52 - 15:54
    It also does a DHCP
    request in the beginning.
  • 15:54 - 16:00
    DHCP is usually fine, I mark
    it with a green tick here.
  • 16:00 - 16:05
    I’ll leave it to others to further
    dig down into that part.
  • 16:05 - 16:10
    It does the same TFTP bit so if you just
    go and – instead of downloading your
  • 16:10 - 16:17
    Provisioning File from your own modem,
    from the RAN, from the admin network –
  • 16:17 - 16:23
    you just go and get it from the other MAC
    address and there you go, you have it.
  • 16:23 - 16:29
    Nicely enough, all those cable providers
    registered consecutive MAC addresses,
  • 16:29 - 16:36
    so if you have one,
    you also have the others.
  • 16:36 - 16:40
    Just… You basically just ask a friend:
    “Give me your MAC address that’s
  • 16:40 - 16:44
    written on the box” and you basically
    have everything you need.
  • 16:44 - 16:47
    SNMP is the same thing.
    You can access it using SNMP.
  • 16:47 - 16:49
    The really nice thing about
    SNMP here is that the box also
  • 16:49 - 16:54
    tells you the other accesses it has, so
    if you only have one IP address, or…
  • 16:54 - 16:58
    I also have a nice DNS service internally
    that tells you what the IP address is
  • 16:58 - 17:01
    to a certain MAC address, so you just
    ask the DNS for the MAC address of
  • 17:01 - 17:09
    the VoIP access, then you go and
    SNMP, ask it for the IP address
  • 17:09 - 17:14
    of the admin network, and
    there you go. You’re in the box.
  • 17:14 - 17:18
    However, the really interesting bit
    on the voice-over-IP network is SIP.
  • 17:18 - 17:22
    Since… you want to do VoIP, right?
    That’s what the whole thing is about.
  • 17:22 - 17:28
    So VoIP basically works… the way that your
    modem wants to go and do a phone call.
  • 17:28 - 17:31
    So how do you do a phone call with SIP?
  • 17:31 - 17:39
    You need to provide data like credentials,
    like, tell the other side, the server,
  • 17:39 - 17:40
    how you authenticate yourself.
  • 17:40 - 17:44
    Which, obviously, is written
    in your Provisioning File.
  • 17:44 - 17:48
    So, you use those and tell the
    server: “I want to do a phone call”
  • 17:48 - 17:50
    and there you go: You do a phone call.
  • 17:50 - 17:54
    Now if we look at this Provisioning File,
    you can see that it contains your server
  • 17:54 - 17:58
    and your user name and your phone number
  • 17:58 - 18:04
    and your… well, basically everything
    you’d need to log in into an SIP server.
  • 18:04 - 18:10
    Now, since I can read, anybody
    else’s Provisioning Files, …
  • 18:10 - 18:12
    laughter
  • 18:12 - 18:16
    So, imagine I’m this user up there. Right?
  • 18:16 - 18:21
    And I’m just doing a normal call
    as this phone number up there.
  • 18:21 - 18:24
    Well, maybe there’s this
    other guy in the network
  • 18:24 - 18:28
    who just goes in and downloads
    your Provisioning File
  • 18:28 - 18:31
    and, well, he gets all the credentials
    he would need, so he gets
  • 18:31 - 18:36
    the same phone number and
    then he can just go and do a call.
  • 18:36 - 18:47
    Hm. Yeah. Maybe I should have
    registered a few 0900 numbers.
  • 18:47 - 18:50
    Now the really interesting part here is –
    it also works the other way!
  • 18:50 - 18:54
    You register for it and if you’re
    the fastest one registering it,
  • 18:54 - 18:59
    the other modem doesn’t get the
    chance to receive calls which means
  • 18:59 - 19:02
    now you receive the calls and then you can
    just tell the other modem that there was
  • 19:02 - 19:07
    a call, just that, by now, you actually
    route all the traffic through your modem
  • 19:07 - 19:13
    and you can listen to all the voice data
    that there is on the line. Yay!
  • 19:14 - 19:18
    Yeah…
    laughter
  • 19:18 - 19:22
    Not sure it’d be a good idea to
    talk to your lawyer around…
  • 19:22 - 19:27
    Using this line for secure stuff
    is probably not the best.
  • 19:27 - 19:33
    I wouldn’t mark SIP as secure
    on this thing, either.
  • 19:33 - 19:38
    But at this point, so on the Telnet
    access and on all the other parts,
  • 19:38 - 19:41
    I was, like, sure,
    I can fix it for myself.
  • 19:41 - 19:44
    I’m an egoist, right?
    I can fix it for myself.
  • 19:44 - 19:47
    I don’t care about the rest of mankind…
  • 19:47 - 19:51
    I do, but I can claim that!
  • 19:51 - 19:54
    I can just as well ignore all the
    others and say: I fix it for myself.
  • 19:54 - 19:58
    But for voice-over-IP, I can’t.
    Because I’m completely out of the loop.
  • 19:58 - 20:05
    This other guy, he could just go and
    steal my credentials, because he can…
  • 20:05 - 20:07
    and there’s nothing I can do about it.
  • 20:07 - 20:12
    So at that point, I was kind of scared
    that someone would be able to hack me.
  • 20:12 - 20:17
    So I started to think about
    how to fix this thing.
  • 20:17 - 20:23
    Now, the first thing that comes to
    mind is obviously: You as a user
  • 20:23 - 20:29
    go and pick up the phone and call
    the service line from your provider.
  • 20:29 - 20:32
    laughter
  • 20:32 - 20:34
    Yeah, I don’t think, that’s a good idea.
    laughter
  • 20:34 - 20:39
    Nah, no I didn’t want to go down that
    road, nah… So, instead, I figured,
  • 20:39 - 20:42
    I’m going to call someone else.
    I’m going to call a couple friends.
  • 20:42 - 20:44
    laughter and applause
  • 20:44 - 20:51
    applause
  • 20:51 - 20:54
    Gonna call a couple of friends from
    Heise, thanks to my Linux work, I knew
  • 20:54 - 21:00
    a few of those, and they also tend to
    do security, which kind of falls into
  • 21:00 - 21:02
    this whole thing and used them as a proxy.
  • 21:02 - 21:09
    So that nobody could actually go and
    sue me until things were public.
  • 21:12 - 21:15
    So, imagine what the provider
    would do when he hears
  • 21:15 - 21:19
    that I hacked into their Telnet account.
  • 21:19 - 21:24
    Sure, you’d do the obvious thing:
    You’d replace Telnet with SSH, right?
  • 21:24 - 21:26
    It’s what everybody would do. It’s the
    first thing. You look at this and think,
  • 21:26 - 21:30
    like, “Oh my god, this is 2015,
    why would you be doing Telnet?”
  • 21:30 - 21:36
    Well, the answer is pretty simple. Emm…
    laughter
  • 21:36 - 21:39
    Take a look again. It’s not as simple
    as you think. Take a look at it again,
  • 21:39 - 21:43
    there’s this Provisioning File. SSH
    actually gets different credentials!
  • 21:43 - 21:47
    So, the SSH credentials
    are actually down here.
  • 21:47 - 21:50
    And the password is different
    from the one on the top.
  • 21:50 - 21:51
    I don’t know what the password is.
  • 21:51 - 21:56
    But I can tell you that the
    password hash is really cool!
  • 21:56 - 22:00
    So, the password hash is something
    that comes from VxWorks, so I’m pretty
  • 22:00 - 22:04
    sure that there are more devices out there
    that might be interesting to look at.
  • 22:04 - 22:07
    The VxWorks hash actually
    works in a really simple way:
  • 22:07 - 22:13
    It creates a checksum of your input that
    lies somewhere between those 2 numbers
  • 22:13 - 22:17
    and then creates a fancy String out
    of them based on some heuristics.
  • 22:17 - 22:22
    But essentially, the whole password down
    there boils down to just a single number
  • 22:22 - 22:27
    that is basically, in a realistic case,
    the upper limit is 40 characters,
  • 22:27 - 22:29
    so you’re not going to see
    a password that long,
  • 22:29 - 22:33
    realistically you basically check around
    100 passwords and any hash out there,
  • 22:33 - 22:37
    any password that’s available, you
    already cracked it. Which means,
  • 22:37 - 22:42
    there are so many collisions in this
    hash, which I wouldn’t even call a hash,
  • 22:42 - 22:44
    that I don’t know what the original
    password is like… I don’t know.
  • 22:44 - 22:47
    But this one works pretty well!
  • 22:47 - 22:51
    laughter and applause
  • 22:51 - 22:57
    applause
  • 22:57 - 23:01
    So we go ahead and we log into this
    machine and we type in our collision
  • 23:01 - 23:04
    and… there you go! We got
    the same thing as before!
  • 23:04 - 23:08
    So we told them again: “Guys,
    look, it’s not as easy as that.
  • 23:08 - 23:11
    You should probably take a bit
    deeper breath and take a look
  • 23:11 - 23:14
    at how things actually are broken.”
  • 23:14 - 23:18
    Which, turns out, they did!
    So what happened next?
  • 23:18 - 23:24
    We had this whole huge mess with
    lots of services that are all attackable
  • 23:24 - 23:27
    and everything’s just wholly broken.
  • 23:27 - 23:32
    That was two months ago.
  • 23:32 - 23:36
    There were some circumstances
    why we just couldn’t tell them earlier.
  • 23:36 - 23:40
    And we basically told them: “Guys, you
    know, in 2 months’ time we’re going to do
  • 23:40 - 23:43
    a talk here and everything’s going to
    be public so you might want to fix
  • 23:43 - 23:47
    your network until then.”
    laughter
  • 23:47 - 23:52
    So the first thing that they did is: They
    added a check to their TFTP server
  • 23:52 - 23:57
    to verify whether you’re actually eligible
    to download this Provisioning File.
  • 23:57 - 24:02
    applause
  • 24:02 - 24:05
    So now, you can only download your
    own Provisioning File. Which is great…
  • 24:05 - 24:09
    finally! I mean, this is the obvious
    thing to do. So that one’s fixed.
  • 24:09 - 24:13
    Then, they went ahead and said: Well,
    there’s no real reason why one modem
  • 24:13 - 24:16
    should do SNMP traffic with another.
    So they just added a firewall, saying,
  • 24:16 - 24:20
    we’re blocking SNMP traffic
    between different machines
  • 24:20 - 24:23
    – problem solved!
  • 24:23 - 24:27
    applause
  • 24:27 - 24:30
    The same for SSH – they went ahead and
    said: There’s no reason why you should
  • 24:30 - 24:34
    be doing TCP between
    one modem and another.
  • 24:34 - 24:36
    Problem solved!
  • 24:36 - 24:40
    applause
  • 24:40 - 24:45
    And because the VoIP access credentials
  • 24:45 - 24:48
    are actually part of your Provisioning
    File which you can now
  • 24:48 - 24:51
    no longer download from somebody
    else, that one is fixed too.
  • 24:51 - 24:57
    Awesome! shy applause
    Go ahead, go ahead, clap! It’s awesome!
  • 24:57 - 25:00
    applause
  • 25:00 - 25:05
    Thank you, ISPs. So after two months,
    you actually managed to limit me
  • 25:05 - 25:08
    into the borders that I was supposed
    to be in, in the beginning.
  • 25:08 - 25:12
    It’s cool!
    So what do we have…
  • 25:12 - 25:16
    Please guard your networks even if you
    believe that somebody couldn’t go in
  • 25:16 - 25:18
    – they probably will.
  • 25:18 - 25:23
    Because, as soon as a customer
    can access your device physically,
  • 25:23 - 25:26
    which kind of happens to be the
    case with a modem that’s sitting
  • 25:26 - 25:32
    in your apartment,
  • 25:32 - 25:35
    that guy can access your network.
    There’s no way you can prevent it.
  • 25:35 - 25:39
    So don’t believe that the border
    of your network is the home.
  • 25:39 - 25:44
    The border of your network is
    the cable going into that home.
  • 25:44 - 25:47
    The same way goes the other way
    around: If an ISP gives you a device,
  • 25:47 - 25:49
    don’t trust that thing.
  • 25:49 - 25:51
    Seriously. They can do anything they like.
  • 25:51 - 25:55
    And sometimes, somebody else can, too.
  • 25:55 - 26:03
    In this case, according to my provider, I
    was able to access 3 million devices.
  • 26:03 - 26:05
    applause
    That’s quite some number.
  • 26:05 - 26:11
    applause
  • 26:11 - 26:17
    Also, the press is your friend. If you
    are afraid of revealing something,
  • 26:17 - 26:19
    tell someone who can do it for you
  • 26:19 - 26:25
    and usually, things go out well.
    Let’s hope for the best.
  • 26:25 - 26:29
    And then, this whole thing went
    online in the beginning of the week
  • 26:29 - 26:33
    and there were a couple of questions
    on the forums that I read
  • 26:33 - 26:36
    and I just wanted to take
    the time to reply to those.
  • 26:36 - 26:38
    First thing that always comes
    up is: “Is this a conspiracy?”
  • 26:38 - 26:41
    Like “Oh my god, this
    is the NSA backdoor!”
  • 26:41 - 26:45
    No way. I mean, seriously,
    those guys are not that stupid.
  • 26:45 - 26:48
    They have their own front doors,
    they don’t need backdoors.
  • 26:48 - 26:50
    laughter
  • 26:50 - 26:55
    This really is just a case of “If we don’t
    secure things, it’s going to be easier
  • 26:55 - 27:00
    for us.” Njee, it was
    easier for everybody,
  • 27:00 - 27:03
    including the ones who
    shouldn’t have access.
  • 27:03 - 27:08
    So, no, this is not a conspiracy. This is
    not some backdoor from some agency.
  • 27:08 - 27:13
    This is really just a matter of a
    company not doing their homework.
  • 27:13 - 27:16
    The same thing goes for other providers.
  • 27:16 - 27:20
    My cable just wasn’t long enough
    to connect to some other country
  • 27:20 - 27:24
    so I don’t know whether other
    DOCSIS networks are affected.
  • 27:24 - 27:31
    From the best of my knowledge:
    Yes, they are.
  • 27:31 - 27:34
    I’m not allowed to tell you to check.
  • 27:34 - 27:37
    But if you happen to have
    that idea on your own…
  • 27:37 - 27:40
    laughter and applause
  • 27:40 - 27:47
    applause
  • 27:47 - 27:50
    No animals were hurt during
    the production of this movie.
  • 27:50 - 27:51
    laughter
  • 27:51 - 27:55
    All the passwords were changed, so if you
    happen to know the real passwords,
  • 27:55 - 27:58
    you probably had a good laugh
    during the presentation.
  • 27:58 - 28:04
    If you don’t know the real passwords,
    njeeee, they are different.
  • 28:04 - 28:07
    To the best of my knowledge, all of that
    knowledge that I just gave you is
  • 28:07 - 28:14
    completely useless to you,
    because all the issues are fixed.
  • 28:14 - 28:17
    Thank you.
  • 28:17 - 28:32
    applause
  • 28:32 - 28:34
    Herald [to Alexander]: Q&A?
    [Alexander nodding]
  • 28:34 - 28:36
    Alexander: So now we can
    go for questions if you like.
  • 28:36 - 28:39
    So please… or… you go
    ahead and announce it.
  • 28:39 - 28:44
    Herald: So if you have questions,
    run towards a microphone and
  • 28:44 - 28:49
    stand behind it visibly.
    The first one was on number 4.
  • 28:49 - 28:54
    Q: You were talking about taking
    a couple of weeks to get to know
  • 28:54 - 28:58
    that the password wasn’t
    hashed but plaintext.
  • 28:58 - 29:02
    So how long did this whole
    exchange in total go on?
  • 29:02 - 29:07
    How much facepalming and
    how many hours did it take for you?
  • 29:07 - 29:10
    A: So I didn’t spend full time on it,
    I really literally just whenever
  • 29:10 - 29:14
    the baby was crying I just went up
    and figured “I can do something”.
  • 29:14 - 29:22
    It’s not… I basically got
    cable access two years ago.
  • 29:22 - 29:25
    I first got into the modem
    about one year ago, I think.
  • 29:25 - 29:32
    That’s when I started looking for real.
  • 29:32 - 29:35
    I basically ended up digging
    deeper and deeper, right? It’s not…
  • 29:35 - 29:39
    VoIP, for example, I only realized the
    whole voice-over-IP story in August.
  • 29:39 - 29:43
    Since I just didn’t look before. I was
    like so excited to see all the other bits.
  • 29:43 - 29:44
    shy laughter
  • 29:44 - 29:46
    Just didn’t look.
  • 29:46 - 29:49
    Herald: Now number 1, please.
  • 29:49 - 29:54
    Q: Are you really sure that the TFTP
    Provisioning File fetching is secure now?
  • 29:54 - 30:01
    Because… do they do some MAC
    integrity tests for MAC spoofing?
  • 30:01 - 30:05
    A: Yeaaaaah…
  • 30:05 - 30:09
    laughter
  • 30:09 - 30:14
    The problem is the law, right? I’m not
    allowed to tell you to try it yourself,
  • 30:14 - 30:19
    I’m not allowed to tell you that I don’t
    think that anything on the physical layer
  • 30:19 - 30:23
    is insecure. I’m not allowed to tell you
    that… I mean there’s so many things
  • 30:23 - 30:29
    I’m not allowed to tell you about
    this whole network… I haven’t tried.
  • 30:29 - 30:36
    I really just went in and said “TFTP
    Fetch and see whether I can get it.”
  • 30:36 - 30:41
    laughter and applause
  • 30:41 - 30:46
    applause
  • 30:46 - 30:49
    Herald: Number 7 up
    there on the balcony.
  • 30:49 - 30:52
    Q: Hello. My question is, in the
    beginning in your config files,
  • 30:52 - 30:57
    I think there was something about traffic
    priority or network priority as well.
  • 30:57 - 31:01
    Did you play around with that one as well?
    Is that something about Net Neutrality,
  • 31:01 - 31:03
    maybe?
    A: Ahh, that’s an interesting…
  • 31:03 - 31:05
    OK, so, it’s not about
    Net Neutrality at all.
  • 31:05 - 31:11
    It’s about QoS of different services,
    so they basically say that
  • 31:11 - 31:15
    VoIP traffic gets higher
    priority than the other bits
  • 31:15 - 31:18
    since you want to have low latency
    on voice-over-IP traffic, obviously.
  • 31:18 - 31:21
    So that has nothing to do with
    Net Neutrality in this thing at all.
  • 31:21 - 31:28
    I did play around with
    those settings, just because…
  • 31:28 - 31:31
    coincidentally, right the day after
    the Fahrplan got released,
  • 31:31 - 31:35
    my account got throttled to 80 kBit/s.
  • 31:35 - 31:38
    I don’t know why.
    Could be related, could be not.
  • 31:38 - 31:43
    But I figured, “I’m paying for 100 MBit/s”
    so I should probably get 100 MBit/s
  • 31:43 - 31:46
    and started to look at those things.
  • 31:46 - 31:50
    I did not manage to actually convince
    my modem to get me more.
  • 31:50 - 31:53
    Q: Did you change the
    bandwidth in the settings?
  • 31:53 - 31:55
    Herald: No dialogues, please.
  • 31:55 - 32:00
    A: Yes, I did change the bandwidth.
    It’s not… my guess is,
  • 32:00 - 32:02
    they’re also QoS’ing on the
    other side. But if you want to
  • 32:02 - 32:05
    verify it, I’m not telling you not to.
  • 32:05 - 32:08
    laughter
  • 32:08 - 32:09
    Herald: Number 2, please.
  • 32:09 - 32:12
    Q: Yes. So at first, thank
    you for the nice insights.
  • 32:12 - 32:15
    I’m a cable user, so I’m interested here.
  • 32:15 - 32:19
    And I want to, again, make a
    statement on the Provisioning File.
  • 32:19 - 32:24
    You should have told them that the
    Provisioning File fetching in this way
  • 32:24 - 32:26
    isn’t a good idea anyway.
  • 32:26 - 32:30
    And I personally would believe
    if they do not can transfer it
  • 32:30 - 32:36
    via a completely different channel,
    it will not get really secure.
  • 32:36 - 32:40
    A: They can not do it differently
    because it’s part of a standard.
  • 32:40 - 32:43
    There’s a DOCSIS standard which
    all the modems have to adhere to
  • 32:43 - 32:46
    and that’s part of the standard.
    They cannot do it differently.
  • 32:46 - 32:48
    If you want to have it done
    differently, you have to tell
  • 32:48 - 32:53
    the DOCSIS standardization
    committee which is in India.
  • 32:53 - 32:57
    Q: Yes, so I’ll talk to them. Thanks!
  • 32:57 - 33:00
    Herald: Now, we’ll have a
    question from the Internet.
  • 33:00 - 33:04
    Q: Could two modems be
    programmed to talk among
  • 33:04 - 33:07
    themselves directly,
    bypassing the ISP firewall?
  • 33:07 - 33:09
    A: Say it again.
  • 33:09 - 33:15
    Signal Angel repeats question more slowly
  • 33:15 - 33:17
    A: You mean with the new scheme
    or with the old scheme?
  • 33:17 - 33:21
    With the old scheme, it was…
    you could just go and route through it.
  • 33:21 - 33:29
    With the new scheme… you…
    not with the official modems.
  • 33:29 - 33:33
    laughter and applause
  • 33:33 - 33:39
    applause
  • 33:39 - 33:43
    Herald: And number 8 on the balcony.
  • 33:43 - 33:47
    Q: Did you find any traces
    of TR-069 in this thing?
  • 33:47 - 33:52
    A: I did on the AVM boxes
    that were secure, yeah.
  • 33:52 - 33:56
    So that was the only bit that actually
    ended up making a lot of sense.
  • 33:56 - 33:59
    TR-069 is a pretty nice standard.
    You basically have authenticated
  • 33:59 - 34:03
    – I think it was even HTTPS – traffic that
    basically goes and pokes the server
  • 34:03 - 34:08
    to get you a firmware update. It’s a
    perfectly nice way of provisioning
  • 34:08 - 34:11
    such a system. It’s definitely a
    lot different from the usual way
  • 34:11 - 34:15
    so on those DOCSIS modems, the usual
    way to tell it to get a new “firmware” is
  • 34:15 - 34:19
    either to tell it to reboot and get a new
    file from the provisioning server or
  • 34:19 - 34:25
    to just poke directly through SNMP to tell
    it: “Go to this TFTP server over there
  • 34:25 - 34:28
    with this file name and
    flash it onto your Flash.”
  • 34:28 - 34:29
    laughter
  • 34:29 - 34:35
    No, I have not tried to spoof the
    privileged IP address range.
  • 34:35 - 34:39
    laughter
  • 34:39 - 34:41
    Herald: Now it’s number 4 again.
  • 34:41 - 34:45
    Q: The question I have is:
  • 34:45 - 34:49
    When you tried to first
    contact them via Heise,
  • 34:49 - 34:54
    was there any way they
    might have tried to
  • 34:54 - 34:58
    convince you to not
    do the talk and if so,
  • 34:58 - 35:02
    would there be an itch on your head?
  • 35:02 - 35:07
    A: They did not try in any
    way whatsoever. Zero.
  • 35:07 - 35:10
    Q: Do you think that was due to
    the credibility or do you think
  • 35:10 - 35:14
    they thought “Oh, we screwed up”?
  • 35:14 - 35:20
    A: I don’t know. I don’t think they
    thought any other way would work at that
  • 35:20 - 35:24
    point in time. Since the press was already
    involved, they are not gonna pull back
  • 35:24 - 35:28
    their story, there’s nothing
    else they can do.
  • 35:28 - 35:29
    Q: Thank you again.
  • 35:29 - 35:34
    Herald: Before I hand the microphone,
    do you want to do the entire 24
  • 35:34 - 35:38
    remaining minutes Q&A or
    do you want to put a limit?
  • 35:38 - 35:42
    Graf: No, I think 24 minutes Q&A is fine.
    We can always cap it later on, right?
  • 35:42 - 35:44
    Just go and ask. Ask as much as you like.
  • 35:44 - 35:51
    applause
  • 35:51 - 35:54
    Herald: The Internet, again.
  • 35:54 - 35:57
    Q: How much of this would have been
    possible if the modem had been
  • 35:57 - 36:02
    in bridge mode?
    A: My modem was in bridge mode.
  • 36:02 - 36:05
    laughter
  • 36:05 - 36:07
    Herald: And number 6.
  • 36:07 - 36:12
    Q: Do you have an idea how
    long this has been that way?
  • 36:12 - 36:16
    And do you have any
    specific reasons to believe
  • 36:16 - 36:21
    what group of people
  • 36:21 - 36:25
    might have abused these problems?
  • 36:25 - 36:29
    A: I don’t know. I did not see anybody
    else on the network but it’s really hard
  • 36:29 - 36:34
    to see someone in a
    sea of 3 million devices.
  • 36:34 - 36:38
    I am not aware of anybody exploiting this,
  • 36:38 - 36:42
    so I can only state what Vodafone said.
  • 36:42 - 36:46
    And they said that nobody else
    did exploit those problems.
  • 36:46 - 36:50
    According… as far as time… and
    I believe that one actually… it’s…
  • 36:50 - 36:52
    I don’t think that anybody
    did. Which is surprising
  • 36:52 - 36:55
    since this whole stuff was kind of obvious
  • 36:55 - 36:59
    but apparently nobody thought of
    digging into their modem before.
  • 36:59 - 37:03
    The one thing about the timing is:
  • 37:03 - 37:05
    Apparently, they already,
    Kabel Deutschland,
  • 37:05 - 37:09
    basically already does
    Internet for 10 years by now
  • 37:09 - 37:14
    and there’s very little reason to believe
    it’s been different in the beginning.
  • 37:14 - 37:19
    So it was probably vulnerable
    for about ten years.
  • 37:19 - 37:22
    That said, in the beginning, they
    were not even using DOCSIS 3.0,
  • 37:22 - 37:26
    which did not really do real encryption,
    so at the end of the day you could
  • 37:26 - 37:30
    just do whatever, any ways on the network.
  • 37:30 - 37:35
    Back in the day. By now,
    it’s only halfway complicated.
  • 37:35 - 37:38
    Herald: Now number 1.
  • 37:38 - 37:41
    Q: Yes, thank you for the talk, too.
  • 37:41 - 37:47
    So it’s completely possible that they may
    have not found out that somebody else
  • 37:47 - 37:52
    accessed this before and maybe already
    flashed a lot of devices with another
  • 37:52 - 37:56
    firmware which is still
    listening to his commands?
  • 37:56 - 37:59
    With the new setup. Because
    he changed the firmware.
  • 37:59 - 38:04
    A: They did not… okay, they did update
    the firmware at that one point in time
  • 38:04 - 38:06
    when I showed that they switched to SSH.
  • 38:06 - 38:09
    They did not change the
    firmware ever since. So
  • 38:09 - 38:14
    all the services that I was talking about,
    they are still running on your modem.
  • 38:14 - 38:18
    Q: Okay, but they can’t be sure that there
    is another firmware by somebody else
  • 38:18 - 38:23
    on routers running. If somebody else
    maybe thought of making a bot net,
  • 38:23 - 38:26
    before all of this came up,
    in the last 5 years or 10 years,
  • 38:26 - 38:28
    and already controls some devices
  • 38:28 - 38:32
    and they can’t be sure that their firmware
    is not running on those devices.
  • 38:32 - 38:36
    There can be still devices somewhere
    controlled by somebody else.
  • 38:36 - 38:38
    A: Sure. You have to, obviously, fake
    all the information they receive
  • 38:38 - 38:41
    from the modem pretty well,
    otherwise they get you onto the
  • 38:41 - 38:46
    security block that I am on.
    But if you do that correctly,
  • 38:46 - 38:49
    you can probably just replace
    all the pieces of firmware,
  • 38:49 - 38:53
    just ignore all the updates and try to
    behave the same way as they’d expect
  • 38:53 - 38:56
    and then hope that nobody finds out.
  • 38:56 - 38:58
    It’s entirely possible –
    I don’t think it’s very likely
  • 38:58 - 39:00
    but it is definitely entirely possible.
  • 39:00 - 39:03
    Q: Let’s hope there are no more
    networks like this out there.
  • 39:03 - 39:07
    Herald: Usually, there
    are no 2nd questions,
  • 39:07 - 39:11
    so… we still got comfortable time
  • 39:11 - 39:15
    but try to limit yourself to one question.
  • 39:15 - 39:17
    Now it’s number 2.
  • 39:17 - 39:21
    Q: Have you tried to change your
    MAC address on the DOCSIS level
  • 39:21 - 39:23
    or also for the DHCP request
  • 39:23 - 39:26
    or how do they do authentication
    of the modem over the network?
  • 39:26 - 39:30
    A: So, the authentication
    works using certificates.
  • 39:30 - 39:34
    I’m actually not sure, I haven’t
    read the standard on that side
  • 39:34 - 39:38
    whether the MAC address is part
    of the certificate. I don’t know.
  • 39:38 - 39:43
    If it’s not, you can easily just
    change it. I haven’t tried.
  • 39:43 - 39:49
    But then again, the modems
    are – what? – 8 Euros?
  • 39:49 - 39:51
    Herald: Number 7.
  • 39:51 - 39:56
    Q: What other recommendations
    do you have
  • 39:56 - 40:00
    – if someone were to have a
    suspicion about a vulnerability –
  • 40:00 - 40:06
    for the research part and
    for the disclosure part?
  • 40:06 - 40:10
    A: What do you have to do… I can’t give
    you any legal or any advice on that one.
  • 40:10 - 40:13
    I can tell you that getting
    somebody involved
  • 40:13 - 40:16
    that has done this before
    is a really smart idea.
  • 40:16 - 40:19
    Because they’ve gone
    through a lot of pain points.
  • 40:19 - 40:22
    The press is even better because
    they have a really, really big lever
  • 40:22 - 40:26
    nobody wants to be in the press
    for 2 months or whatever
  • 40:26 - 40:31
    just on negative news that there was
    somebody who was legitimately trying
  • 40:31 - 40:35
    to tell them to improve their
    network and they sued them.
  • 40:35 - 40:40
    So there’s a really good chance that
    going via the press is going to keep
  • 40:40 - 40:44
    problems away from you,
    but there’s no guarantee.
  • 40:44 - 40:50
    I cannot give you real – I mean legal
    or any coherent – advice on that one.
  • 40:50 - 40:54
    I would… I mean, if I would find such
    a thing again, I would definitely go
  • 40:54 - 40:57
    the same route. I would just call
    up Heise and tell them and…
  • 40:57 - 41:00
    That went pretty smoothly.
  • 41:00 - 41:04
    And if… I mean, the really cool thing
    is, they actually listen to the press.
  • 41:04 - 41:06
    If I had gone to the service,
    they would have just said
  • 41:06 - 41:11
    “Sorry, wrong number,
    I can’t help you.”
  • 41:11 - 41:14
    Herald: Now the Internet.
  • 41:14 - 41:17
    Q: How did you obtain the
    original data? Did you use JTAG
  • 41:17 - 41:22
    or dump the device’s firmware
    and run it virtualized?
  • 41:22 - 41:28
    A: Ahhhhh. Not sure how much of
    that I should actually tell everybody.
  • 41:28 - 41:31
    Let’s say, I replaced…
  • 41:31 - 41:34
    You can actually see
    this on the slide, wait.
  • 41:34 - 41:39
    makes “Tchtchtchtchtch” sound
  • 41:39 - 41:42
    Oh my god, this is going to take forever.
  • 41:42 - 41:47
    Okay, dududum, where’s my
    mouse cursor? There it is.
  • 41:47 - 41:51
    Okay… So, I got a
    picture of the modem…
  • 41:51 - 41:56
    …here. There you go. So…
  • 41:56 - 42:00
    …what you can see here, down there,
    the white and the yellow cables,
  • 42:00 - 42:02
    those are the serial port.
  • 42:02 - 42:06
    And the IDE cable up there
    that’s where the flash chip was
  • 42:06 - 42:09
    before I started fiddling with the modem.
    laughter
  • 42:09 - 42:12
    Now, the flash chip is actually
    in that socket up there.
  • 42:12 - 42:16
    Which means I could swap the
    flash chip between a device I own
  • 42:16 - 42:18
    – BeagleBone Black, for example,
    that’s a really nice spy interface
  • 42:18 - 42:20
    that you could just use to write those
  • 42:20 - 42:22
    – and then plug it back into the modem.
  • 42:22 - 42:28
    So I could replace the firmware
    and get myself an initial shell.
  • 42:28 - 42:33
    As I mentioned earlier, I really
    do not like to lose Internet access.
  • 42:33 - 42:38
    So this is not the modem that
    I was actually using at home.
  • 42:38 - 42:41
    Instead, I just used that modem
    to fetch a firmware image
  • 42:41 - 42:45
    so I could then look and see
    whether there might be other bugs
  • 42:45 - 42:49
    that you could use.
  • 42:49 - 42:52
    Herald: Now number 8.
  • 42:52 - 42:55
    Q: Earlier, you’ve said that
    – who was it… –
  • 42:55 - 42:59
    Fritz!Box was more secure and they
    didn’t have the same vulnerabilities.
  • 42:59 - 43:03
    Do you think they simply didn’t use
    hardcoded passwords and stuff.
  • 43:03 - 43:07
    So do you think they’ll be vulnerable
    to similar attacks and that someone
  • 43:07 - 43:11
    probably, like you wouldn’t tell them,
    but maybe they should look into it
  • 43:11 - 43:14
    or do you think that it isn’t possible
    and someone should, like, prove you wrong.
  • 43:14 - 43:18
    A: From all I can tell, but this is…
    I mean, just a gut feeling that I get
  • 43:18 - 43:20
    from looking at different firmware files,
  • 43:20 - 43:23
    the usual way, at least
    the Linux based firmware
  • 43:23 - 43:29
    works on those systems is
    that there’s TI creating a BSP
  • 43:29 - 43:32
    then they give it out to Motorola.
    Then Motorola gives it out to CBN.
  • 43:32 - 43:36
    Then CBN gives it out
    to Kabel Deutschland.
  • 43:36 - 43:41
    And then, each party of those
    adds a few pieces of stuff.
  • 43:41 - 43:45
    That’s the usual way it
    works in those devices.
  • 43:45 - 43:48
    Whereas in the AVM boxes,
    things looked vastly different.
  • 43:48 - 43:50
    There was one firmware image
    that even contained information
  • 43:50 - 43:52
    for some Austrian provider.
  • 43:52 - 43:58
    So instead of giving full
    control to the cable provider,
  • 43:58 - 44:05
    AVM kept control on their own and actually
    audited the stuff they were doing.
  • 44:05 - 44:08
    That’s the major difference.
  • 44:08 - 44:13
    applause
  • 44:13 - 44:17
    Herald: One more question
    from the Internet.
  • 44:17 - 44:20
    Q: Do you know if they
    still use unencrypted SIP?
  • 44:20 - 44:24
    A: Oh yeah. chuckles
    slight laughter
  • 44:24 - 44:27
    A: Oh yeah.
    loud laughter
  • 44:27 - 44:30
    A: Nothing in the protocols
    changed at all, whatsoever.
  • 44:30 - 44:32
    They really just added a few firewalls.
  • 44:32 - 44:38
    So once you are on the physical layer,
    you can read everything you like, yes.
  • 44:38 - 44:42
    Well, and you break through
    the DOCSIS encryption, obviously.
  • 44:42 - 44:45
    Herald: Now the newly adjusted number 2.
  • 44:45 - 44:48
    Q: Thank you. Mine is
    not so much a question
  • 44:48 - 44:51
    as I’d like to add some insight
    and perspective to this.
  • 44:51 - 44:55
    I, myself, worked for several ISPs
  • 44:55 - 44:58
    and the… we… actually
    I worked for an ISP
  • 44:58 - 45:01
    that had not this particular
    issue, but a similar issue.
  • 45:01 - 45:04
    The way that it was fixed and
  • 45:04 - 45:07
    – you can look me up, I’ve worked
    for several ISPs, you won’t know
  • 45:07 - 45:09
    which one had this problem –
  • 45:09 - 45:14
    but what was actually the fix
    was a simple IP check.
  • 45:14 - 45:18
    So once you downloaded
    from the TFTP server,
  • 45:18 - 45:22
    it was just checked if you did it
    from the IP that was suspected.
  • 45:22 - 45:27
    So this issue may actually be
    reproducible if you can somehow
  • 45:27 - 45:30
    get hold of an IP [address]
    you weren’t supposed to have.
  • 45:30 - 45:35
    Like, say, spoof MAC address
    or something like that.
  • 45:35 - 45:40
    That being said, I’d like to attach
    a comment to the whole SIP thing, too.
  • 45:40 - 45:45
    You indicated that it’d be possible
    to silently intercept the conversations
  • 45:45 - 45:50
    which is not necessarily the issue
    because many SIP servers
  • 45:50 - 45:53
    can be configured
    to allow multiple endpoints
  • 45:53 - 45:56
    so as the
    – what’d you call it? –
  • 45:56 - 45:58
    the bad guy would be able
    to pick up your calls,
  • 45:58 - 46:01
    you would also hear you
    phone calling yourself.
  • 46:01 - 46:04
    A: Right, and if your phone picks
    up within 0.01 microseconds,
  • 46:04 - 46:07
    then, yeah, there’s nothing
    you can do about it.
  • 46:07 - 46:10
    It just rings again.
    That’s the point about it.
  • 46:10 - 46:14
    Also, the other bit that
    you have on the SIP server
  • 46:14 - 46:17
    is that that particular server actually
    only allowed one endpoint
  • 46:17 - 46:21
    to be registered at a time.
    At least from what I could tell.
  • 46:21 - 46:25
    It was some Huawei
    box. I don’t know.
  • 46:25 - 46:29
    Herald: Number 3, please.
  • 46:29 - 46:31
    Q: Yeah, I attended this talk today
  • 46:31 - 46:37
    because I know that at the beginning,
    when DOCSIS was introduced,
  • 46:37 - 46:40
    the modem were asking
    for the configuration file
  • 46:40 - 46:45
    also over the Ethernet
    port which is great.
  • 46:45 - 46:48
    And my question is:
  • 46:48 - 46:54
    Is there a way within the DOCSIS standard
    so that the ISP can verify their hardware?
  • 46:54 - 47:00
    I mean, you… I have seen
    the type and the vendor name
  • 47:00 - 47:06
    and the SNMP but you can
    obviously spoof that.
  • 47:06 - 47:11
    Of course, firmware
    binaries won’t run on the
  • 47:11 - 47:15
    wrong hardware, but…
  • 47:15 - 47:17
    A: I’m not quite sure
    I’m getting what you’re…
  • 47:17 - 47:22
    Q: The question is: Is there
    a way to control for the ISP
  • 47:22 - 47:26
    which hardware there is they’re using?
  • 47:26 - 47:28
    A: So I come from a
    virtualization background.
  • 47:28 - 47:32
    And in my world, there is
    no such thing. It doesn’t exist.
  • 47:32 - 47:33
    slight laughter
  • 47:33 - 47:39
    Sorry. If you can somehow
    abstract it, you can abstract it.
  • 47:39 - 47:43
    Q:OK.
    Herald: 8, please.
  • 47:43 - 47:48
    Q: Hi. I wanted to add on the
    part with the MAC spoofing.
  • 47:48 - 47:52
    Because I had a modem
    like that, like 5 years ago,
  • 47:52 - 47:56
    and actually I never went
    inside the modem,
  • 47:56 - 48:00
    but I had some applications where
    I needed a new IP address
  • 48:00 - 48:03
    in a short period of time…
  • 48:03 - 48:07
    loud laughter
  • 48:07 - 48:10
    And I remember that actually… the thing…
  • 48:10 - 48:17
    if you told the modem your MAC
    address, a different MAC address,
  • 48:17 - 48:21
    you got different external
    IP addresses back then.
  • 48:21 - 48:24
    I don’t know if things have changed
    because it was 5 years ago
  • 48:24 - 48:28
    but… yeah… after what
    I’ve heard from you,
  • 48:28 - 48:31
    I’m kind of unsure that things changed.
  • 48:31 - 48:34
    A: No, I’m fairly sure this is actually
    accurate. From what I understand,
  • 48:34 - 48:38
    I never did that myself but I
    heard from people who did,
  • 48:38 - 48:43
    the MAC address check and the
    certificate check are actually separate.
  • 48:43 - 48:48
    So that if you own a valid certificate
    from some random dude who happens to
  • 48:48 - 48:53
    actually pay for the service,
    and you get that certificate,
  • 48:53 - 48:56
    and you’re not on the
    same CMTS as that guy,
  • 48:56 - 48:59
    then you can actually go and, well,
  • 48:59 - 49:03
    basically say that you’re him even if
    you have a different MAC address.
  • 49:03 - 49:06
    Which then, again, implies that if you
    change the MAC address, you can just
  • 49:06 - 49:09
    be somebody else. Which
    then again implies that…
  • 49:09 - 49:14
    maybe you can actually go and get
    somebody else’s Provisioning Files, yeah.
  • 49:14 - 49:15
    slight laughter
  • 49:15 - 49:18
    Q: Well, yeah… not up to you.
  • 49:18 - 49:20
    A: Not going to try out.
  • 49:20 - 49:22
    Herald: Number 2, please.
  • 49:22 - 49:28
    Q: Yeah, you had this one
    with one particular provider
  • 49:28 - 49:30
    and I happen to know that
    there’s a second provider
  • 49:30 - 49:36
    using the same technology in Germany:
    were they somehow involved in this loop?
  • 49:36 - 49:40
    I mean, it took Kabel Deutschland
    two months to fix this and…
  • 49:40 - 49:42
    A: No, but they better hurry up!
  • 49:42 - 49:46
    laughter and applause
  • 49:46 - 49:48
    Q: Thanks!
    applause
  • 49:48 - 49:54
    A: And, quite frankly, I do not believe
  • 49:54 - 49:58
    that this is limited to Germany
    at all, whatsoever.
  • 49:58 - 50:07
    So… Yeah. Let’s see who’s faster.
  • 50:07 - 50:09
    Alright, end of questions, right?
    Or is there any…?
  • 50:09 - 50:11
    Herald: It looks like we’re
    at the end of questions.
  • 50:11 - 50:13
    The Internet maybe…?
  • 50:13 - 50:16
    No, the Internet doesn’t
    have any questions.
  • 50:16 - 50:18
    There are 8 empty microphones.
  • 50:18 - 50:25
    So thank you very much for your talk
    and thank you very much for the Q&A.
  • 50:25 - 50:31
    applause
  • 50:31 - 50:35
    postroll music
  • 50:35 - 50:42
    Subtitles created by c3subtitles.de
    in 2016. Join and help us!
Title:
Alexander Graf: Beyond your cable modem
Description:

more » « less
Video Language:
English
Duration:
50:42

English subtitles

Revisions