Elektroda.pl
Elektroda.pl
X
Elektroda.pl
IT SerwisIT Serwis
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Samsung SRD-1650 shell login:pass | webui login:pass

-emwu- 28 Lis 2016 18:38 1035 0
  • Pomocny post
    #1
    -emwu-
    Poziom 13  
    [Rozwiązane/Solved]

    Witam,
    posiadam w pełni sprawny (i mi niepotrzebny) rejestrator SRD-1650.
    Z ciekawości chciałem zobaczyć co jest dostępne po złączu 'console' - pełny log w załączniku.
    Czy ktoś już bawił się takim rejestratorem? Zna ktoś hasło do root'a?
    Ogólnie to myślałem czy nie dało by się dodać do funkcjonalności czegoś na podobieństwo serwera NAS (tftp, lighttpd, sshd).

    EDIT
    Po kilku dniach walki (po godzinach) jestem na następującym etapie:
    - znalazłem 3 wersje firmware 1.08, 1.11, 1.36; 1.08 ma odblokowany telnet, 1.11 ma zablokowany telnet; 1.36 ma zablokowany telnet i cały firmware jest dodatkowo szyfrowany.
    - z przyczyn oczywistych nie mogę nic zrobić z 1.36 więc na tą chwilę nie zawracam sobie nim głowy :)
    - rozpakowałem 1.11, wyodrębniłem pliki (uboot, uimage, uramdisk), usunąłem nagłówki i podmontowałem Ramdisk,
    - z pliku /etc/shadow odczytałem hash hasła root'a DES128/128 i czekam 7dzień na wyniki działania JohnTheRipper,
    - równolegle z próbami 'odczytania' prowadzę testy z podmianą hash'a hasła na własne - bez skutku - nie wiem dlaczego, wygląda na to iż moduł pam.d także posiada sumę kontrolną przed modyfikacją (md5)?
    - hasło do firmware jest takie samo w wersji 1.08 i 1.11 - w 1.36 pewnie też,

    Czy próbował ktoś, lub czy w ogóle da się rozłożyć na części skompilowany uboot? Pomimo wielu moich prób (mkimage, binwalk) nie udało mi się tego zrobić, jakieś wskazówki?

    Albo jak podmienić hash hasła w /etc/shadow aby nie było konfliktu z modułem PAM?

    Cytat:

    detroit_ve login: root
    Password:
    login[4246]: (pam_unix) authentication failure; logname= uid=0 euid=0 tty=console ruser= rhost= user=root

    login: pam_authenticate call failed: Authentication failure (7)
    Login incorrect


    EDIT

    Temat rozwiązany, znalazłem dwa sposoby na zalogowanie się do rejestratora:
    1) edycja oryginalnego obrazu uRamdisk'u, rozpakowanie, podmiana hasła, ponowne spakowanie, policzenie sum kontrolnych, dodanie nagłówka, wgranie,
    2) znalazłem błąd/dziurę w oprogramowaniu która pozwala na swobodny dostęp do konsoli, uruchomienie usług ssh, ftp - czyli wszystko to na czym mi zależało i to bez jakiejkolwiek niebezpiecznej ingerencji - działa na każdym sofcie (1.08/1.11/1.36) :P

    Przy okazji mogę śmiało stwierdzić iż sprzęt jest bardzo dobrze wykonany i 'ciężko' go uszkodzić, nawet po całkowitym wymazaniu zawartości NAND'u da się go uruchomić z NAND SPL i poprzez rs232 i ftp wgrać oprogramowanie.

    Na PC pobieramy program "OpenTFTPServer", pliki wrzucamy do katalogu z programem i korzystamy z gotowca do wgrywania z mapą NAND, można wszystko, można tylko te części które są nam potrzebne/uszkodzone:
    Cytat:

    nfsip=192.168.1.201
    ethact=TSEC0
    ipaddr=192.168.1.200
    serverip=192.168.1.201
    gatewayip=192.168.1.1
    hostname=detroit_ve
    ethaddr=xx:xx:xx:xx:xx:xx
    stdin=serial
    stdout=serial
    stderr=serial
    bootargs=root=/dev/ram rw ip=192.168.1.200:192.168.1.201:192.168.1.1:255.255.255.0:detroit_ve:eth0:off console=ttyS0,115200


    mw.b 200000 ff 100000
    tftp 200000 srd_u-boot-nand.img
    imi 200000
    nand erase 0 100000
    nand write 200040 0 0x$filesize

    mw.b 200000 ff 100000
    tftp 200000 srd16xx.dtb
    nand erase 200000 100000
    nand write 200000 200000 0x$filesize

    mw.b 200000 ff 800000
    tftp 200000 srd_uImage
    nand erase 300000 800000
    nand write 200000 300000 0x$filesize

    mw.b 200000 ff 4000000
    tftp 200000 srd_uRamdisk
    nand erase 2000000 5000000;
    nand write 200000 2000000 0x$filesize

    mw.b 200000 ff A00000
    tftp 200000 srd_logo.img
    nand erase B00000 A00000
    nand write 200000 B00000 0x$filesize




    Cytat:

    Welcome to Samsung DVR

    mpc837x_rdb login: root
    Password:
    login[4254]: (pam_unix) session opened for user root by (uid=0)

    login[4254]: root login on 'console'

    root@mpc837x_rdb:~# lsmod
    Module Size Used by Not tainted
    mpc_resource 11508 2
    rtc_ds3232 8960 1
    tw2865 10684 8
    micom 8984 2
    at24c256 6956 0
    mdin240 6848 2
    usbcore 162360 4 usbhid,ehci_hcd,usb_storage
    usb_storage 56308 0
    ehci_hcd 58472 0
    usbhid 31704 0
    solo6010 94584 20
    root@mpc837x_rdb:~# lspci
    0000:00:00.0 Power PC: Freescale Semiconductor Inc Unknown device 00c7 (rev 21)
    0000:00:0b.0 Multimedia video controller: Unknown device 9413:6110
    0000:00:0f.0 Multimedia video controller: Unknown device 9413:6110
    0001:01:00.0 PCI bridge: Freescale Semiconductor Inc Unknown device 00c7 (rev 21)
    0001:02:00.0 Mass storage controller: Silicon Image, Inc. SiI 3132 Serial ATA Raid II Controller (rev 01)
    root@mpc837x_rdb:~# lsusb
    Bus 001 Device 003: ID 0951:1653 Kingston Technology
    Bus 001 Device 002: ID 0424:2514 Standard Microsystems Corp.
    Bus 001 Device 001: ID 1d6b:0002
    root@mpc837x_rdb:~# lsusbpcimodexitifconfiglsmodclearpsdf -hfree -h
    cat /proc/cpuinfo
    processor : 0
    cpu : e300c4
    clock : 660.000000MHz
    revision : 1.1 (pvr 8086 1011)
    bogomips : 164.86
    timebase : 82500000
    platform : MPC837x RDB
    Memory : 512 MB
    root@mpc837x_rdb:~# free
    total used free shared buffers
    Mem: 512992 437024 75968 0 1364
    Swap: 0 0 0
    Total: 512992 437024 75968
    root@mpc837x_rdb:~# ps
    PID USER VSZ STAT COMMAND
    1 root 1768 S init [3]
    2 root 0 SW< [kthreadd]
    3 root 0 SW< [ksoftirqd/0]
    4 root 0 SW< [watchdog/0]
    5 root 0 SW< [events/0]
    6 root 0 SW< [khelper]
    9 root 0 SW< [netns]
    11 root 0 SW< [async/mgr]
    141 root 0 SW< [kblockd/0]
    147 root 0 SW< [ata/0]
    148 root 0 SW< [ata_aux]
    153 root 0 SW< [kseriod]
    199 root 0 SW [khungtaskd]
    200 root 0 SW [pdflush]
    201 root 0 SW [pdflush]
    202 root 0 SW< [kswapd0]
    253 root 0 SW< [aio/0]
    264 root 0 SW< [nfsiod]
    278 root 0 SW< [xfs_mru_cache]
    279 root 0 SW< [xfslogd/0]
    280 root 0 SW< [xfsdatad/0]
    281 root 0 SW< [xfsconvertd/0]
    283 root 0 SW< [crypto/0]
    957 root 0 SW< [scsi_eh_0]
    959 root 0 SW< [scsi_eh_1]
    964 root 0 SW< [scsi_eh_2]
    966 root 0 SW< [scsi_eh_3]
    969 root 0 SW< [scsi_eh_4]
    972 root 0 SW< [scsi_eh_5]
    984 root 0 SW< [mtdblockd]
    985 root 0 SW< [nftld]
    986 root 0 SW< [inftld]
    1011 root 0 SW< [kpsmoused]
    1027 root 0 SW< [rpciod/0]
    1099 root 2588 S < udevd --daemon
    3392 root 0 SWN [jffs2_gcd_mtd0]
    3553 bin 2012 S /sbin/portmap
    3570 root 3772 S /usr/sbin/inetd
    3598 root 0 SW< [sync_rtc/0]
    3616 root 0 DW [TW2865]
    3624 root 0 DW [TW2865]
    3632 root 0 DW [TW2865]
    3635 root 0 DW [TW2865]
    3685 root 0 SW< [khubd]
    3725 root 0 SW< [usbhid_resumer]
    3748 root 0 SW< [scsi_eh_6]
    3749 root 0 SW< [usb-storage]
    3773 root 2256 S rpc.statd
    3832 root 22212 S /root/syscall
    3839 root 1748 S /root/daemon
    3841 root 2552 S /sbin/ftpd -D
    3844 root 22220 S /root/syscall
    3849 root 818m S /root/dvr_main -c 0 -r console.log
    3851 root 4908 S /usr/sbin/sshd
    3892 root 0 SW [g723_4]
    3956 root 0 SW< [xfsbufd]
    3957 root 0 SW< [xfsaild]
    3958 root 0 SW< [xfssyncd]
    3959 root 0 SW< [xfsbufd]
    3960 root 0 SW< [xfsaild]
    3961 root 0 SW< [xfssyncd]
    4233 root 5284 S /root/lighttpd/sbin/lighttpd -f /tmp_dvr/lighttpd.con
    4254 root 3456 S -bash
    4262 root 3776 R ps
    root@mpc837x_rdb:~# ll
    -rwxr-xr-x 1 root root 13261080 Jan 27 2014 SHR8162-v1.36h-R14367
    drwxr-xr-x 3 root root 1024 Oct 7 2009 Settings
    -rwxr-xr-x 1 root root 237029 Jan 27 2014 agentd
    drwxr-xr-x 2 root root 1024 Sep 30 2011 backup
    -rwxr-xr-x 1 root root 267 Oct 7 2009 cdrom_hotplug.sh
    -rwxr-xr-x 1 root root 11680 Jan 27 2014 daemon
    drwxr-xr-x 4 root root 1024 Jan 1 1970 device
    lrwxrwxrwx 1 root root 21 Jan 27 2014 dvr_main -> SHR8162-v1.36h-R14367
    -rw-r--r-- 1 root root 9 Dec 18 20:22 first_hdd
    -rw------- 1 root root 32 Oct 7 2009 fsck.db2
    drwxr-xr-x 5 1002 users 1024 Jan 27 2014 lighttpd
    drwxr-xr-x 2 root root 1024 Jan 27 2014 linguist
    -rwxr-xr-x 1 root root 264 Oct 7 2009 mouse_hotplug.sh
    srwxr-xr-x 1 root root 0 Dec 18 20:22 net_sessions
    -rwxr-xr-x 1 root root 609484 Jan 27 2014 pos_app
    -rwxr-xr-x 1 root root 12803 Jan 20 2010 reset_cpu
    lrwxrwxrwx 1 root root 16 Nov 3 2011 smartctl -> ./utils/smartctl
    srwxr-xr-x 1 root root 0 Dec 18 20:22 snmp_sun
    -rwxr-xr-x 1 1003 1046 1902 Dec 5 2013 startup.sh
    -rw-r--r-- 1 root root 20 Jan 27 2014 sw_ver
    -rwxr-xr-x 1 root root 39172 Jan 27 2014 swupgrader
    -rwxr-xr-x 1 root root 60196 Jan 27 2014 syscall
    drwxr-xr-x 2 root root 1024 Jul 16 2010 test
    -rwxr-xr-x 1 root root 376995 Jan 27 2014 upgrade_gui
    -rwxr-xr-x 1 root root 274 May 21 2010 usb_hotplug.sh
    drwxr-xr-x 2 root root 1024 Oct 7 2009 utils
    srwxr-xr-x 1 root root 0 Dec 18 20:22 webs_sun
    drwxr-xr-x 5 1002 users 3072 Jan 27 2014 www
    root@mpc837x_rdb:~# netstat -a
    Active Internet connections (servers and established)
    Proto Recv-Q Send-Q Local Address Foreign Address State
    tcp 0 0 0.0.0.0:ftp 0.0.0.0:* LISTEN
    tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN
    tcp 0 0 0.0.0.0:47161 0.0.0.0:* LISTEN
    tcp 0 0 0.0.0.0:4520 0.0.0.0:* LISTEN
    tcp 0 0 0.0.0.0:4521 0.0.0.0:* LISTEN
    tcp 0 0 0.0.0.0:4522 0.0.0.0:* LISTEN
    tcp 0 0 0.0.0.0:4524 0.0.0.0:* LISTEN
    tcp 0 0 0.0.0.0:sunrpc 0.0.0.0:* LISTEN
    tcp 0 0 0.0.0.0:www 0.0.0.0:* LISTEN
    netstat: no kernel support for AF INET6 (tcp)
    udp 0 0 0.0.0.0:7601 0.0.0.0:*
    udp 0 0 0.0.0.0:53687 0.0.0.0:*
    udp 0 0 0.0.0.0:981 0.0.0.0:*
    udp 0 0 0.0.0.0:sunrpc 0.0.0.0:*
    netstat: no kernel support for AF INET6 (udp)
    netstat: no kernel support for AF INET6 (raw)
    Active UNIX domain sockets (servers and established)
    Proto RefCnt Flags Type State I-Node Path
    unix 2 [ ACC ] STREAM LISTENING 3999 /tmp/qtembedded-0/QtEmbedded-0
    unix 2 [ ACC ] STREAM LISTENING 4405 /root/webs_sun
    unix 2 [ ACC ] STREAM LISTENING 4480 /root/snmp_sun
    unix 2 [ ] DGRAM 202 @/org/kernel/udev/udevd
    unix 3 [ ] STREAM CONNECTED 4400 /root/net_sessions
    unix 3 [ ] STREAM CONNECTED 4401


    Hasło do WebUI jest podane plaintext, nie potrzeba resetować rejestratora :)

    Cytat:

    Z configu lighttpd:

    auth.backend = "plain"
    auth.backend.plain.userfile = "/tmp_dvr/lighttpd.user"

    root@mpc837x_rdb:/tmp_dvr# cat /tmp_dvr/lighttpd.user
    admin:4321

    Po zmianie:

    root@mpc837x_rdb:/tmp_dvr# cat /tmp_dvr/lighttpd.user
    admin:qwer1111



    Co do drugiego sposobu, to ponieważ nie było żadnego zainteresowania tematem, więc uznaje iż nikt nie jest aż tak ciekaw jak Ja.
    Sposób wydaje mi się całkowicie bezpieczny dla rejestratora, lecz z racji tego iż kolejne wydania firmware przez producenta z powodu bezpieczeństwa wyłączały funkcjonalność (najpierw ssh, potem ftp, na koniec telnet a całość została zaszyfrowana), nie decyduje się na podanie gotowca do uzyskania uprawnień root'a i ponownego uruchomienia usług.
    Ciekaw jestem tylko czy w pozostałych rejestratorach samsunga też jest taka 'tylna furtka'...



    Osiągnąłem to czego chciałem, teraz mogę go spokojnie wystawić na sprzedaż - oczywiście z oryginalnym oprogramowaniem, niech przyszły właściciel sam zdecyduje co chce z nim zrobić - ponieważ w końcu to tylko rejestrator.

    Pozdrawiam.
  • IT SerwisIT Serwis