Sec

网络安全研究员,专注于工业互联网安全领域。求职中。

导航

[工控安全][原创]西门子PLC固件逆向之socket API(总览)

mailto:wangkai0351@gmail.com

【未经同意禁止转载】

鉴于本博客涉及的信息安全技术具有破坏计算机信息系统的风险,建议读者在学习/研究/探讨之间,确保已经充分了解以下内容:

本博客所讨论的技术仅限于研究和学习,旨在提高计算机信息系统的安全性,严禁用于不良动机,任何个人/团队/组织不得将其用于非法目的,否则后果自负,特此声明。

目前已经逆向出了这些类似于BSD SOCKET的API函数

socket (int, int, int);
bind (long, struct sockaddr *, int);
listen (long, int);
accept (long, struct sockaddr *, int *);
connect (long, struct sockaddr *, int);
getpeername (long, struct sockaddr *, int * addrlen);
getsockname (long, struct sockaddr *, int * addrlen);
setsockopt (long sock, int level, int op, void * data, int dlen);
getsockopt (long sock, int level, int op, void * data, int dlen);
recv (long, char *, int, int);
send (long, char *, int, int);
recvfrom (long s, char * buf, int len, int flags, struct sockaddr , int);
sendto (long s, char * buf, int len, int flags, struct sockaddr *, int);
shutdown (long, int);
socketclose (long);

没有函数名表的私有操作系统固件逆向总是困难且乏味的,万幸不是死胡同,加油吧。

致谢

感谢众多安全研究员公开发表自己的研究成果,并热情地回复我的疑问,这些人包括但不限于Dillon Beresford/Ali Abbasi/Thomas Weber/Ralf Ramsauer/Gene blue。

posted on 2019-12-30 23:24  大单GreatDane  阅读(738)  评论(0编辑  收藏  举报