html текст
All interests
  • All interests
  • Design
  • Food
  • Gadgets
  • Humor
  • News
  • Photo
  • Travel
  • Video
Click to see the next recommended page
Like it
Don't like
Add to Favorites

Burn-in рутовый шелл в IP-камерах Vesta и не только

Так получилось, что передо мной встала задача записывать и хранить видео с IP-камер. Были закуплены и смонтированы камеры Vesta VC-6206 IR без представления архитектуры информационной системы на их основе. Совсем короткий период эксплуатации показал, что камеры имеют свойство зависать и неплохо бы их перезагружать периодически. nmap показывал, что у камеры доступен только telnet, http и rtsp. Ребутать камеру телнетом по крону показалось мне неплохим решением, но рутовый пароль техподдержка дать отказалась.

Коротко о применении камер


В планах заказчика было подружить эти камеры с zoneminder на линуксовом сервере, но zoneminder поддерживает RTSP плоховато, через внешние фильтры слишком обильно расходует shared memory (при разрешении-то в 1920*1080). Саппорт сообщал, что никак не поддерживает работу с линуксом. В итоге было решено писать видео с помощью cvlc порциями по 10 минут с небольшим нахлёстом. Всё отлично, видео пишется, CPU не загружен совсем — поток итак прилетает в H264 и перекодировать не нужно, но вот только зависает часто.

Власти скрывают


Даже андроид и айфон не дают пользователю под рутовые привилегии, но в моем случае полный доступ был обоснованно необходим. Тот факт, что доступ через телнет всегда открыт и поддержка не говорит пароль, заставляет задуматься. Я скачал прошивку, распаковал zip, которым она являлась, увидел cramfs-образа внутри:
# file VC-6206_V4.00.R10.20130129-WiFi.bin
VC-6206_V4.00.R10.20130129-WiFi.bin: Zip archive data, at least v2.0 to extract
# unzip VC-6206_V4.00.R10.20130129-WiFi.bin
Archive: VC-6206_V4.00.R10.20130129-WiFi.bin
inflating: Install
inflating: web-x.cramfs.img
inflating: custom-x.cramfs.img
inflating: user-x.cramfs.img
inflating: logo-x.cramfs.img
inflating: romfs-x.cramfs.img
inflating: InstallDesc

На вкус действительно как cramfs:
# file web-x.cramfs.img
web-x.cramfs.img: u-boot legacy uImage, linux, Linux/ARM, Standalone Program (gzip), 1310656 bytes, Tue Jan 29 12:50:53 2013, Load Address: 0x023E0000, Entry Point: 0x02520000, Header CRC: 0xD2BAE056, Data CRC: 0x29F4363A

Я попытался примонтировать эти образы, но потерпел неудачу:
# mount -o loop -t cramfs romfs-x.cramfs.img /mnt
mount: wrong fs type, bad option, bad superblock on /dev/loop5,
missing codepage or helper program, or other error
In some cases useful info is found in syslog — try
dmesg | tail or so
root@server:~/VC-6206_V4.00.R10.20130129-WiFi# dmesg | tail -3
[ 168.201350] fuse init (API version 7.13)
[ 171.240014] eth0: no IPv6 routers present
[48915.272594] cramfs: wrong magic

Благодаря хабраюзеру philpirj и его посту, жить стало лучше, жить стало веселей:
for i in *.img ; do mkdir -p /mnt/fw/`basename $i .img` ; dd if=$i of=$i.cut bs=8 skip=8 ; mount -o loop -t cramfs $i.cut /mnt/fw/`basename $i .img` ; done

В образе самой системы (romfs-x.cramfs.img) я первым делом обратил внимание на упакованный UPX-ом telnetd. Распаковал его, сделал на него strings, но не нашёл там захардкоженных паролей и потерял к нему интерес.
Нашёлся вот такой /etc/passwd:
root:absxcfbgXtb3o:0:0:root:/:/bin/sh

Удобно. John The Ripper из пакета в дебиане перебирал DES128 со скоростью всего лишь 1800K c/s, после пересборки его с OpenMP и sse2 стало 6300K c/s. К концу дня john закончил и у меня появился рутовый пароль, который подходит ко всем камерам с такой прошивкой и зашит жёстко в неё.

Успех


Пароль подошёл, конечно же:
root@server:/mnt/cramfs/user-x.cramfs# telnet 192.168.1.11
Trying 192.168.1.11…
Connected to 192.168.1.11.
Escape character is '^]'.

LocalHost login: root
Password:
# cat /proc/cpuinfo
Processor: ARM926EJ-S rev 5 (v5l)
BogoMIPS: 148.27
Features: swp half thumb fastmult edsp java
CPU implementer: 0x41
CPU architecture: 5TEJ
CPU variant: 0x0
CPU part: 0x926
CPU revision: 5
Cache type: write-back
Cache clean: cp15 c7 ops
Cache lockdown: format C
Cache format: Harvard
I size: 16384
I assoc: 4
I line length: 32
I sets: 128
D size: 8192
D assoc: 4
D line length: 32
D sets: 64

Hardware:
Revision: 3650000
Serial: 0000000000000000
# ps w
PID Uid VSZ Stat Command
1 root 3728 S init
2 root SW [posix_cpu_timer]
3 root SW [softirq-high/0]
4 root SW [softirq-timer/0]
5 root SW [softirq-net-tx/]
6 root SW [softirq-net-rx/]
7 root SW [softirq-block/0]
8 root SW [softirq-tasklet]
9 root SW [softirq-hrtimer]
10 root SW [softirq-rcu/0]
11 root SW< [desched/0]
12 root SW< [events/0]
13 root SW< [khelper]
14 root SW< [kthread]
26 root SW< [kblockd/0]
27 root SW< [kseriod]
36 root SW< [khubd]
93 root SW [pdflush]
94 root SW [pdflush]
95 root SW< [kswapd0]
96 root SW< [aio/0]
97 root SW< [cifsoplockd]
98 root SW< [cifsdnotifyd]
715 root SW [mtdblockd]
750 root SW< [kmmcd]
797 root SWN [jffs2_gcd_mtd7]
822 root 1576 S /sbin/syshelper 25
826 root 3732 S /sbin/telnetd
828 root 2744 S /utils/upgraded
829 root 3516 S /sbin/searchIp
922 root 103628 S /usr/sbin/fvideoencoder -i 2 -s 6 -d 0 -o 1 -h 2 -g 2 -l 81 -t 8 -j 1 -a 3 -b 40
923 root 11596 S /usr/sbin/a1ewtest
938 root 12772 S wlandaemon
943 root 3728 S /bin/sh /usr/etc/dup_app.sh
945 root 1396 S dupc /usr/bin/Sofia
946 root 372884 S /usr/bin/Sofia
1137 root 3732 S -sh
1139 root 3732 R ps w
# cat /mnt/mtd/Config/Account1
{
«Groups»: [
{
«AuthorityList»: [
«ShutDown»,
«ChannelTitle»,
«RecordConfig»,
«Backup»,
«StorageManager»,
«Account»,
«SysInfo»,
«QueryLog»,
«DelLog»,
«SysUpgrade»,
«AutoMaintain»,
«GeneralConfig»,
«EncodeConfig»,
«CommConfig»,
«NetConfig»,
«AlarmConfig»,
«VideoConfig»,
«PtzConfig»,
«PTZControl»,
«DefaultConfig»,
«Talk_01»,
«Monitor_01»,
«Replay_01»
],
«Memo»: «administrator group»,
«Name»: «admin»
},
{
«AuthorityList»: [ «Monitor_01», «Replay_01» ],
«Memo»: «user group»,
«Name»: «user»
}
],
«Users»: [
{
«AuthorityList»: [
«ShutDown»,
«ChannelTitle»,
«RecordConfig»,
«Backup»,
«StorageManager»,
«Account»,
«SysInfo»,
«QueryLog»,
«DelLog»,
«SysUpgrade»,
«AutoMaintain»,
«GeneralConfig»,
«EncodeConfig»,
«CommConfig»,
«NetConfig»,
«AlarmConfig»,
«VideoConfig»,
«PtzConfig»,
«PTZControl»,
«DefaultConfig»,
«Talk_01»,
«Monitor_01»,
«Replay_01»
],
«Group»: «admin»,
«Memo»: «admin 's account»,
«Name»: «admin»,
«Password»: «QyZfVmgd»,
«Reserved»: true,
«Sharable»: true
},
{
«AuthorityList»: [ «Monitor_01», «Replay_01» ],
«Group»: «user»,
«Memo»: «guest 's account»,
«Name»: «guest»,
«Password»: «tlJwpbo6»,
«Reserved»: true,
«Sharable»: true
},
{
«AuthorityList»: [ «Monitor_01» ],
«Group»: «user»,
«Memo»: «default account»,
«Name»: «default»,
«Password»: «OxhlwSG8»,
«Reserved»: false,
«Sharable»: false
}
]
}
#


Распространение


Сначала рассчитывал по-быстрому нагуглить что-нибудь по версии прошивки и узнал, что такая же прошивка используется в IP-камерах Feng по меньшей мере. Судя по тому, что в прошивке есть куча модулей под разные камеры и поддержка wifi, эта прошивка общая на несколько моделей. Добравшись уже изнутри камеры до конфига, я загуглил хэши дефолтных паролей паролей и нашёл пост на форуме третьего производителя, где какой-то парень шатает такие же или похожие камеры через отверстие в вебинтерфейсе. У меня с относительными путями ничего не получилось, но похоже это просто пофиксили. Ещё бы, ведь пост оставлен на форуме производителя.

P.S. Этот пост не претендует на статус серьёзного исследования, в нём я просто рассказываю как я решаю практическую для меня задачу. Я посчитал, что пост будет интересен хабрачитателям как посты вроде этого. Расшифрованный пароль доступен по этой ссылке. (Каждый раз смешно как в первый раз. На самом деле перебор действительно не займёт много времени, пароль простой)
Читать дальше
Twitter
Одноклассники
Мой Мир

материал с habrahabr.ru

0

      Add

      You can create thematic collections and keep, for instance, all recipes in one place so you will never lose them.

      No images found
      Previous Next 0 / 0
      500
      • Advertisement
      • Animals
      • Architecture
      • Art
      • Auto
      • Aviation
      • Books
      • Cartoons
      • Celebrities
      • Children
      • Culture
      • Design
      • Economics
      • Education
      • Entertainment
      • Fashion
      • Fitness
      • Food
      • Gadgets
      • Games
      • Health
      • History
      • Hobby
      • Humor
      • Interior
      • Moto
      • Movies
      • Music
      • Nature
      • News
      • Photo
      • Pictures
      • Politics
      • Psychology
      • Science
      • Society
      • Sport
      • Technology
      • Travel
      • Video
      • Weapons
      • Web
      • Work
        Submit
        Valid formats are JPG, PNG, GIF.
        Not more than 5 Мb, please.
        30
        surfingbird.ru/site/
        RSS format guidelines
        500
        • Advertisement
        • Animals
        • Architecture
        • Art
        • Auto
        • Aviation
        • Books
        • Cartoons
        • Celebrities
        • Children
        • Culture
        • Design
        • Economics
        • Education
        • Entertainment
        • Fashion
        • Fitness
        • Food
        • Gadgets
        • Games
        • Health
        • History
        • Hobby
        • Humor
        • Interior
        • Moto
        • Movies
        • Music
        • Nature
        • News
        • Photo
        • Pictures
        • Politics
        • Psychology
        • Science
        • Society
        • Sport
        • Technology
        • Travel
        • Video
        • Weapons
        • Web
        • Work

          Submit

          Thank you! Wait for moderation.

          Тебе это не нравится?

          You can block the domain, tag, user or channel, and we'll stop recommend it to you. You can always unblock them in your settings.

          • habrahabr.ru
          • домен habrahabr.ru

          Get a link

          Спасибо, твоя жалоба принята.

          Log on to Surfingbird

          Recover
          Sign up

          or

          Welcome to Surfingbird.com!

          You'll find thousands of interesting pages, photos, and videos inside.
          Join!

          • Personal
            recommendations

          • Stash
            interesting and useful stuff

          • Anywhere,
            anytime

          Do we already know you? Login or restore the password.

          Close

          Add to collection

             

            Facebook

            Ваш профиль на рассмотрении, обновите страницу через несколько секунд

            Facebook

            К сожалению, вы не попадаете под условия акции