d,出问题的所在

d,出问题的所在

D-Link路由器后门被发现!,原文出处:devttys0

译文出处:外刊IT评论

译文链接:http://www.vaikan.com/reverse-engineering-a-d-link-backdoor/

转自:Linux爱好者(ID:LinuxHub),原题:我是如何反编译D-Link路由器固件程序并发现其后门,OK,又是周末晚上,没有约会,只有一大瓶Shasta汽水和全是快节奏的音乐…那就研究一下程序吧。

一时兴起,我下载了D-link无线路由器(型号:DIR-100 revA)的固件程序 v1.13。使用工具Binwalk,很快的就从中发现并提取出一个只读SquashFS文件系统,没用多大功夫我就将这个固件程序的web server(/bin/webs)加载到了IDA中:,基于上面的字符信息可以看出,这个/bin/webs二进制程序是一个修改版的thttpd,提供路由器管理员界面操作功能。看起来是经过了台湾明泰科技(D-Link的一个子公司)的修改。他们甚至很有心计的将他们很多自定义的函数名都辅以“alpha”前缀:,这个alpha_auth_check函数看起来很有意思!,这个函数被很多地方调用,最明显的一个是来自alpha_httpd_parse_request函数:,我们可以看到alpha_auth_check函数接收一个参数(是存放在寄存器$s2里);如果alpha_auth_check返回-1(0xFFFFFFFF),程序将会跳到alpha_httpd_parse_request的结尾处,否则,它将继续处理请求。,寄存器$s2在被alpha_auth_check函数使用前的一些操作代码显示,它是一个指向一个数据结构体的指针,里面有一个char*指针,会指向从HTTP请求里接收到的各种数据;比如HTTP头信息和请求地址URL:,我们现在可以模拟出alpha_auth_check函数和数据结构体的大概样子:,struct http_request_t

{

char unknown[0xB8];

char *url; // At offset 0xB8 into the data structure

};,int alpha_auth_check(struct http_request_t *request);

alpha_auth_check本身是一个非常简单的函数。它会针对http_request_t结构体里的一些指针进行字符串strcmp比较操作,然后调用check_login函数,实际上就是身份验证检查。如果一旦有字符串比较成功或check_login成功,它会返回1;否者,它会重定向浏览器到登录页,返回-1;

这些字符串比较过程看起来非常有趣。它们提取请求的URL地址(在http_request_t数据结构体的偏移量0xB8处),检查它们是否含有字符串“graphic/” 或 “public/”。这些都是位于路由器的Web目录下的公开子目录,如果请求地址包含这样的字符串,这些请求就可以不经身份认证就能执行。,然而,这最后一个strcmp却是相当的吸引眼球:,这个操作是将http_request_t结构体中偏移量0xD0的字符串指针和字符串“xmlset_roodkcableoj28840ybtide”比较,如果字符匹配,就会跳过check_login函数,alpha_auth_check操作返回1(认证通过)。,我在谷歌上搜索了一下“xmlset_roodkcableoj28840ybtide”字符串,只发现在一个俄罗斯论坛里提到过它,说这是一个在/bin/webs里一个“非常有趣”的一行。我非常同意。

那么,这个神秘的字符串究竟是和什么东西进行比较?如果回顾一下调用路径,我们会发现http_request_t结构体被传进了好几个函数:,事实证明,http_request_t结构体中处在偏移量 0xD0处的指针是由httpd_parse_request函数赋值的:,这代码实际上就是:,if(strstr(header, “User-Agent:”) != NULL)

{

http_request_t->0xD0 = header + strlen(“User-Agent:”) + strspn(header, ” t”);

}

知道了http_request_t偏移量0xD0处的指针指向User-Agent头信息,我们可以推测出alpha_auth_check函数的结构:

#define AUTH_OK 1

#define AUTH_FAIL -1,int alpha_auth_check(struct http_request_t *request)

{

if(strstr(request->url, “graphic/”) ||

strstr(request->url, “public/”) ||

strcmp(request->user_agent, “xmlset_roodkcableoj28840ybtide”) == 0)

{

return AUTH_OK;

}

else

{

// These arguments are probably user/pass or session info

if(check_login(request->0xC, request->0xE0) != 0)

{

return AUTH_OK;

}

},return AUTH_FAIL;

}

换句话说,如果浏览器的User-Agent值是“xmlset_roodkcableoj28840ybtide”(不带引号),你就可以不经任何认证而能访复。但截至昨晚,记者尚未获得回复。

专家建议及时升级路由器固件针对路由器安全漏洞,360网络安全专家刘健皓建议:

安装时应修改路由器初始化(出厂)默认口令。设置一定强度的无线密码,守好黑客攻击的第一道门。在路由器的使用过程中,注意观察网速是否经常无故变慢、留意是否有广告弹窗页面,若出现异常,可初始化路由器(恢复出厂设置)。

使用第三方安全测评软件,定期对路由器的安全状况进行扫描,发现异常则初始化路由器,重新设置。对于云路由设备,在打漏洞补丁之前,最好关闭路由器远程IP访问,减少后台被攻击的风险。多查看路由器版本是否出现更新,关注厂家关于路由器补丁的更新及漏洞修复。

相关链接

17个存漏洞

“云路由”型号,型号●DAP-1522(B1),●DIR-629(A1),●DIR-300(B1),●DIR-600(B1),●DIR-815(B1),●DIR-816L(A1),●DIR-817LW(B1),●DIR-818LW(A1),●DIR-820LW(B1),●DIR-850L(A1),●DIR-850L(B1),●DIR-860L(A1),●DIR-860L(B1),●DIR-865L(A1),●DIR-868L(A1),●DIR-880L(A1),●DIR-890L(A1),厦门日报社微信矩阵昵称

微信号厦门日报xiamenribao厦门晚报xmwb597海西晨报haixichenbao海峡生活报lifeweekly0592厦门招考xiamenzhaokao厦门网xmnn-cn台海杂志taihaizazhi遇见婚恋网

yujianw520

来源:新京报

编辑:罗维维

点击下方“原文”查看更多

D-Link路由器被曝重大漏洞:小心网银密码

D-Link路由器被曝重大漏洞:小心网银密码

近日,国内安全专家发现友讯集团(D-Link)新产品“云路由”使用的固件系统中存在漏洞,黑客可轻易攻破路由器后台,获取用户网银密码等隐私。漏洞涉及17个型号,预计全球受影响用户高达300万。,目前,友讯集团已在其英文官网上公布存在漏洞的路由器型号,并发布了四个版本路由器的补丁,但该公告尚无中文版本。,最快1分钟攻破路由器后台,2月中旬,国内网络安全专家发现多款D-Link路由器存在漏洞,并第一时间提交给厂商。目前,厂家确认该漏洞确实存在。,前日,安全专家刘健皓现场向记者展示了对存在漏洞的D-Link路由器的攻防试验。,刘健皓随机选择一台打开了路由器web远程管理功能的路由器,随后开始编辑指令对该路由器实行定向攻击,通过不断修改指令,他很快进入了这台路由器的后台。记者计时发现,用时不到5分钟。此后,经过对路由器后台文件的不断搜索,不到30分钟,刘健皓成功破解了该路由器的密码。,登录路由器,在控制面板上,记者很清楚地看到连接到该路由器的包括APPALETV、IPHONE以及XBOX等设备在内的12台电器。,“如果在后台安装了针对性的黑客软件,我们可以轻易地劫持这些连接到路由器的电器的流量,从而分析出银行账号密码等隐私。”刘健皓同时称,黑客在攻破一台路由器后,再攻击有同类漏洞的路由器将变得更为简单。,随后,刘健皓再次演试。这一次,他现场修改了三个指令,在Enter键入的同时,便成功攻入了身旁的一台DIR-817LW,修改另一条指令后,他又成功拿到了这台路由器的密码,从攻入后台到拿到密码整个耗时不足一分钟。,可获取用户网银账号密码,刘健皓介绍,此次受影响的路由器系列为D-Link新推出的产品云路由,与传统路由器相比,云路由相当于一个小型的家庭控制中心。此次漏洞,黑客只需要向路由器提交几个“指令”便可以拿到路由器权限,获取权限后,除了可以借此推送广告、获取推广佣金、劫持正常网站到钓鱼挂马网站外,还可以通过获取用户的上网流量,解析出用户的所有上网信息,获取用户的宽带账号密码,网银、支付宝等账号密码。,4月10日,友讯集团曾在其英文官网发布了英文版本安全公告,详细公布了存在漏洞的17款路由器型号及固件版本,目前,官方已经发布了DIR-890L、DIR-880L、DIR-868L、DIR-860L四个型号路由器的补丁。,专家建议 及时升级路由器固件,针对路由器安全漏洞,网络安全专家刘健皓建议:,1、安装时应修改路由器初始化(出厂)默认口令。,2、设置一定强度的无线密码,守好黑客攻击的第一道门。,3、在路由器的使用过程中,注意观察网速是否经常无故变慢、留意是否有广告弹窗页面,若出现异常,可初始化路由器(恢复出厂设置)。,4、使用第三方安全测评软件,定期对路由器的安全状况进行扫描,发现异常则初始化路由器,重新设置。,5、对于云路由设备,在打漏洞补丁之前,最好关闭路由器远程IP访问,减少后台被攻击的风险。,6、多查看路由器版本是否出现更新,关注厂家关于路由器补丁的更新及漏洞修复。,17个存漏洞“云路由”型号,●DAP-1522(B1)

●DIR-629(A1)

●DIR-300(B1)

●DIR-600(B1)

●DIR-815(B1)

●DIR-816L(A1)

●DIR-817LW(B1)

●DIR-818LW(A1)

●DIR-820LW(B1)

●DIR-850L(A1)

●DIR-850L(B1)

●DIR-860L(A1)

●DIR-860L(B1)

●DIR-865L(A1)

●DIR-868L(A1)

●DIR-880L(A1)

●DIR-890L(A1),

d,出问题的所在

相关文章:

你感兴趣的文章:

标签云: