Я только что прочитал интересную статью под названием “Кто и как использует IoT-устройства для атаки”, в которой объясняется ,что устройства , подключенные к сети Интернет , такие как маршрутизатор, IP камеры, IP – телефоны, и т.д. .. могут быть использованы ботнетами для запуска DDoS – атак, они делают это , используя имя пользователя и пароль указанный по умолчанию. Таким образом , вы можете думать что как только вы обновите прошивку и измените пароль, вы в относительной безопасности, к сожалению это не так. Вредоносные программы, упомянутые в статье, использует Telnet или SSH и перебирают пары логин-пароль.
Я заинтересовался этим и поэтому я сканировал порты на моем беспроводном маршрутизаторе и TP-Link ZTE ZXHN F600W GPON модеме изображенном ниже, и установленным моим интернет-провайдером.
Я начал со сканирования маршрутизатора TP-Link в локальной сети:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
sudo nmap -sS 192.168.0.1 Starting Nmap 7.01 ( https://nmap.org ) at 2016-10-06 10:10 ICT Nmap scan report for 192.168.0.1 (192.168.0.1) Host is up (0.00034s latency). Not shown: 997 closed ports PORT STATE SERVICE 80/tcp open http 1900/tcp open upnp 49152/tcp open unknown MAC Address: 94:0C:6D:XX:XX:XX (Tp-link Technologies) Nmap done: 1 IP address (1 host up) scanned in 14.15 seconds |
порты UPnP и веб-интерфейса открыты.
Теперь я сделал то же самое на модеме ZTE в локальной сети
1 2 3 4 5 6 7 8 9 10 11 12 13 |
sudo nmap -sS 192.168.1.1 Starting Nmap 7.01 ( https://nmap.org ) at 2016-10-06 10:10 ICT Nmap scan report for 192.168.1.1 (192.168.1.1) Host is up (0.00086s latency). Not shown: 996 closed ports PORT STATE SERVICE 23/tcp open telnet 53/tcp open domain 80/tcp open http 443/tcp open https Nmap done: 1 IP address (1 host up) scanned in 20.12 seconds |
Порт Telnet открыт, что не хорошо … было бы намного хуже, если бы это был также порт с публичным IP:
1 2 3 4 5 6 7 8 9 10 11 12 |
sudo nmap -sS MODEM-PUBLIC-IP Starting Nmap 7.01 ( https://nmap.org ) at 2016-10-06 10:11 ICT Nmap scan report for MODEM-PUBLIC-IP Host is up (0.00088s latency). Not shown: 996 closed ports PORT STATE SERVICE 23/tcp open telnet 53/tcp open domain 80/tcp open http 443/tcp open https Nmap done: 1 IP address (1 host up) scanned in 22.71 seconds |
О, парень…. Так не годится. Могу ли я получить доступ к нему со стороны?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
telnet MODEM-PUBLIC-IP Trying MODEM-PUBLIC-IP... Connected to MODEM-PUBLIC-IP. Escape character is '^]'. F600W Login: admin Password: Password is incorrect Password: Password is incorrect Password: Password is incorrect Reached the maximum number of login, Admin authority locked 3 mins. Connection closed by foreign host. |
Нет, потому что я не знаю пароль. То есть , пока я не сделаю быстрый поиск в Интернете и не найду его, можно использовать root и Zte521 для входа в ZTE модем. Бинго!
1 2 3 4 5 6 7 8 9 10 11 12 |
telnet MODEM-PUBLIC-IP Trying MODEM-PUBLIC-IP... Connected to MODEM-PUBLIC-IP. Escape character is '^]'. F600W Login: root Password: BusyBox v1.01 (2015.01.15-08:36+0000) Built-in shell (ash) Enter 'help' for a list of built-in commands. / # |
Это огромный плюс, поскольку это означает, что миллионы модемов и маршрутизаторов могут быть доступны по всему миру с минимальными знаниями, я даже не считаю, что это хак …. Telnet также достаточно любезен, и возвращает номер модема модели (F600W), так что любой скрипт сможет его обнаружить, так что попробуйте имя пользователя / пароль, по умолчанию. Этот маленький трюк должен также работать на других ZTE модемах / маршрутизаторах, а так как сервер HTTP также работает по умолчанию, вам даже не нужно проверять номер модели в поле сервера указав на то, что это устройство ZTE …
1 2 3 4 5 6 7 8 |
curl -I MODEM-PUBLIC-IP HTTP/1.1 200 OK Server: Mini web server 1.0 ZTE corp 2005. Accept-Ranges: bytes Connection: close Content-Type: text/html; charset=iso-8859-1 Cache-Control: no-cache,no-store Content-Length: 5277 |
Я не знаю, используется ли протокол Telnet для любых целей, но это может быть хорошей идеей, чтобы по крайней мере, изменить пароль или полностью отключить службу. Однако корневая файловая система доступна в режиме чтения:
1 2 3 4 5 6 7 8 9 10 |
# mount ubi:rootfs_ubifs on / type ubifs (ro,relatime) proc on /proc type proc (rw,relatime) sysfs on /sys type sysfs (rw,relatime) devpts on /dev/pts type devpts (rw,relatime,mode=600,ptmxmode=000) /dev/mtdblock7 on /data type jffs2 (rw,relatime) /dev/mtdblock4 on /tagparam type jffs2 (rw,relatime) tmpfs on /var type tmpfs (rw,relatime,size=15360k) /dev/mtdblock5 on /userconfig type jffs2 (rw,relatime) none on /mnt type ramfs (rw,noatime,nodiratime) |
Как правило, это не проблема, так как вы можете перемонтировать корневой раздел в режим чтения / записи:
1 2 |
# mount -o remount,rw / Can't find / in /etc/fstab |
Но это не работает в этом случае. Должен быть способ перемонтировать систему, чтобы изменить пароль, или изменить конфигурацию, чтобы отключить Telnet, но я не нашел решения. Но эти команды в нашем распоряжении:
Busybox
BusyBox v1.01 (2015.01.15-08:36+0000) multi-call binaryCurrently defined functions:
[, ash, awk, brctl, busybox, cat, chmod, chrt, cmp, cp, cut, date,
df, diagput, echo, egrep, free, fuser, getty, grep, hexdump, hostname,
ifconfig, init, insmod, kill, killall, linuxrc, ln, login, ls,
lsmod, mkdir, mknod, mount, mv, passwd, ping, ping6, ps, pwd,
reboot, rm, rmdir, rmmod, sed, sh, sleep, sync, taskset, test,
tftp, top, traceroute, umount, wget
Временно можно отрубить Telnet:
1 2 3 4 5 6 7 8 9 10 11 |
ps ax | grep telnet 826 root 692 S <0> telnetd 828 root 692 S <0> telnetd 829 root 692 S <0> telnetd 830 root 692 S <0> telnetd 831 root 692 S <0> telnetd 832 root 692 S <0> telnetd 833 root 692 S <0> telnetd 1068 root 472 R <0> grep telnet kill 826 |
Но, очевидно, что после перезагрузки он вновь включится …
Во всяком случае, было бы хорошо, если поставщики услуг могли убедиться, в том что бы можно было бы изменить пароль на стороне клиента и надеюсь подобное будет реализовано в скором времени…
Благодарим сайт cnx-software.com за предоставленную информацию
Оригинал статьи тут