欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

怎么样利用D-Link的高端路由器构造ddos僵尸的网络呢

来源:本站整理 作者:佚名 时间:2017-09-19 TAG: 我要投稿

一、媒介
在本文中,我会向人人先容D-Link高端路由器中存在的一些漏洞破绽bug,受影响的路由器型号包含:
DIR890L
DIR885L
DIR895L
其余DIR8xx型号的D-Link路由器
这些装备应用了雷同的代码,这就给攻击者供给了绝佳的机遇,能够将这些装备一路归入僵尸网络中。别的,咱们轻微改动了Mirai的编译剧本,胜利将Mirai移植到这些装备上。
本文也会趁便说一下咱们与开发者的交换进程(但是没有获得任何停顿,这些漏洞破绽bug仍然没被修复)。这3个漏洞破绽bug中,有2个漏洞破绽bug与cgibin无关(cgibin是卖力天生路由治理页面的主CGI文件),另一个漏洞破绽bug与体系规复无关。
二、盗取登录名及暗码
一句话归纳综合:只要一个HTTP哀求,攻击者就能够获得登录名及暗码。
咱们发明的第一个漏洞破绽bug位于phpcgi中。Phpcgi是cgibin的标记链接,卖力处置对.php、.asp和.txt页面的哀求。Phpcgi能够剖析经由过程URL、HTTP头或许POST哀求注释(body)发送的那些数据。Phpcgi会创立一个长字符串,该字符串随后会分化为多少组键值对(key-value),包含$GET、$POST、$SERVER字典和其余php剧本变量都包含在这些键值对中。完成哀求阐发进程后,该标记链会反省用户的受权状况。假如用户未经受权,标记链会往字符串中增加值为-1的一个AUTHORIZED_GROUP变量。

从网安角度来看,这类剖析进程存在一些成绩。每一个键值对(key-value)的编码情势为:TYPEKEY=VALUE,此中TYPE指代的是GET、POST、SERVER或其余值。编码完成后,键值对后会跟上换行符'\n'。

经由过程POST哀求,咱们能够应用SomeValue%3dAUTHORIZED_GROUP=1这个字符串完成增加值的目标。这个字符串会被装备剖析为_GET_SomeKey=SomeValue\nAUTHORIZED_GROUP=1,经由过程这类方法,咱们能够应用已受权用户身份运转剧本(只管可运转剧本的数量有限)。向

http:⁄/192.168.0.1/getcfg.php
地点发送哀求并增加SERVICES=DEVICE.ACOUNT键值对后,咱们能够挪用

/htdocs/webinc/getcfg/DEVICE.ACCOUNT.xml.php
剧本,迫使路由器前往登录名及暗码信息。

从装备代码中咱们能够看出,攻击者能够运转位于/htdocs/webinc/getcfg目次中的剧本。这个目次中还包含一个DEVICE.ACCOUNT.xml.php剧本,能够为攻击者供给大批敏感信息,如装备的登录名及暗码等信息。

换句话说,假如攻击者往

http:⁄/192.168.0.1/getcfg.php
发送哀求,同时增加SERVICES=DEVICE.ACOUNT键值对,那末装备在响应页面中就会包含响应的登录名及暗码信息。
对攻击者而言,得到这些信息曾经充足,好比,攻击者能够应用登录凭据将克己的恶意病毒木马固件刷到装备中。
读者能够拜访此链接懂得完备的PoC代码。
三、获得装备的超等用户权限(从RCE到Root)
一句话归纳综合:只要一个HTTP哀求,攻击者就能够得到装备的root shell。
第二个漏洞破绽bug是个栈溢出漏洞破绽bug,与HNAP(Home Network Administration Protocol,家庭网络治理协定)的履行差错无关。
假如想要应用该协定来发送新闻,攻击者必要向

http:⁄/192.168.0.1/HNAP1/
页面发送哀求,并在SOAPACTION头部中指定哀求的范例。装备对受权哀求的处置进程存在漏洞破绽bug。装备会应用
1
http:⁄/purenetworks.com/HNAP1/Login
值来挪用受权函数。攻击者能够在哀求注释(body)中指定其余键值对(key-value),如Action、Username、LoginPassword和Captcha(哀求注释中事前曾经包含一组预界说的值)。随后装备会应用html标签对这些值停止编码,编码成果如:value。

这里最主要的成绩出如今提取键值对的谁人函数上,装备在栈上应用了一个巨细为0x400字节的缓冲区用于提取键值对,但是,攻击者能够应用strncpy函数发送高达0x10000字节的数据,这样一来就会招致巨大的栈溢出成绩。经心结构后,strncpy不只会溢出以后的栈,也会溢出挪用函数栈,由于“dest”变量最多能存储0x80个字节的数据,而攻击者输出的值可达0x400个字节。

别的,当函数加入时,R0寄存器中存在一个指向该字符串的指针。是以,攻击者能够指定一组sh敕令,将前往地点改动为“system”函数。颠末这些步调,装备已处于攻击者的把握之下,任攻击者分割。
读者能够拜访此链接懂得完备的PoC代码。
四、在规复(Recovery)情势中更新固件
一句话归纳综合:只要一次重启,你就领有root权限。
第三个漏洞破绽bug在于,当路由器启动时,会启动一个用于规复情势的web办事器,连续几秒钟。假如未受权的攻击者经由过程以太网线连接到装备上,他们就能够够捉住这个机遇,应用该办事器更新装备固件。
为了应用这个漏洞破绽bug,攻击者独一要做的便是重启目标装备,重启装备的办法有许多,攻击者能够应用下面提到的漏洞破绽bug完成重启,也能够往jcpd办事发送“EXEC REBOOT SYSTEM”敕令完成重启。jcpd办事经由过程19541端口向本地网络供给办事,攻击者无需颠末认证便可拜访该办事,而且装备没有供给封闭该办事的任何选项,是异常完美的操纵目标。为了完整节制目标装备,攻击者必要将克己的固件上传到装备中。

[1] [2]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载