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

逆向集成在google语音程式中的OBi200固件: 第一部分

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

由Obihai公司出品的OBi200是一个和google语音集成在一起的家庭VoIP网关。它支撑大多数尺度VoIP功效,而且可以或许与险些任何“便携式”SIP办事集成。我本年早些时候购买了一台,作为我家里的座机(无月租),到目前为止,运行的相称不错。但在完整装置以前,我决议深刻懂得它的事情道理。

固件阐发
我拔出装备并打开了Web界面。我做的第一件事是反省刷入的固件版本:

经由过程上图可以或许看到,OBi200被刷入的固件版本是3.0.1 (Build: 4492)。经由过程Obihai 官网发明最新版本是3.1.1 (Build: 5463EX),明显这是一个旧版固件。这里我其实不盘算顿时更新到新版,我筹备反省一下旧版固件能否有被修补过的破绽。
接下来我在我在Obihai官网下载了该固件。固然并无找到完整同等的固件版本,然则找到了一个异常接近的版本3.0.1 (Build: 4738)。用binwalk对固件停止扫描,成果以下:

经由过程扫描成果可以或许看到,该固件包括几个Squashfs文件镜像和一个ARM文件镜像。看来统统都有希望停止进一步摸索, 是以我把他们导出到我当地文件体系里停止研讨。

经由过程文件体系,我可以或许更多地懂得装备的底层完成。这里检查/etc/passwd文件,内容以下:

如上所示,root账户并无被设置暗码。启动剧本/etc/rc也包括一些风趣的信息,以下:
/bin/swcfg -pw 0 0 0 0x3800
hostname OBi202
#hostname FFxAV
mount -t proc proc /proc
# Create /var on RAM disk
mount -t ramfs none /var
mkdir /var/lib
mkdir /var/run
mkdir /var/log
mkdir /var/ppp
mkdir /var/tmp
cp -p /etc/ppp.ori/* /var/ppp
touch /var/tmp/resolv.conf
#
#mount -t squashfs /dev/mtdblock7 /obi
# Making the /etc directory point to MTD4
# mount -t jffs2 /dev/mtdblock4 /etc -o sync
# Making the /etc directory point to MTD4
# mount -t jffs2 /dev/mtdblock4 /scratch -o sync
 
# gateway begin
mount -t sysfs none /sys
 
mkdir /var/run/ppp -p # needed by pppd
mkdir /var/log/ppp -p
mkdir /var/lock # needed by wvdial
 
#echo "******** Start udev"
mount -n -t tmpfs -o mode=0755 udev /dev
cp -a -f /dev0/* /dev
# It's all over netlink now
if [ -e /proc/sys/kernel/hotplug ]; then
echo "" > /proc/sys/kernel/hotplug
fi
#udevd --daemon
#echo "start monitor"
#udevadm monitor -e >/dev/.udev.log &
#UDEV_MONITOR_PID=$!
#echo "start trigger"
#udevadm trigger
#echo "start settle"
#udevadm settle
#kill $UDEV_MONITOR_PID
 
mount -t tmpfs none /dev/shm -o size=512K
mount -t devpts none /dev/pts
 
#mknod -m 644 /dev/urandom c 1 9
#chown root /dev/urandom
 
echo "******** Start syslogd"
touch /var/log/messages
syslogd
 
# gateway end
 
# Start network device
cd /etc
#. ./rc.net &
. ./rc.net
cd /
 
echo "===> Obi
cd /obi
#cd /usr/local/obi
./obi &
如上文件内容所示,被正文掉的一些调试/开辟信息,泄漏了装备的一些调试情况。在停止初始化设置后, 剧本将目次切换到包括统统原始二进制文件的/obj/目次,并启动主obi剧本 (终极是obiapp二进制文件)。

弹出SHELL
经由过程搜刮下面的文件名,我发明了客岁有篇文章表露了Obihai公司OBi1000德律风产物的一系列破绽。因为在一个PoC中提到了obiapp二进制文件,而且在Obi200中找到了类似的URI布局,所以在两个产物中彷佛有一些配合的代码。我测试了我的装备上的敕令注入破绽,并确认可以或许从新启动装备:

接下来,我测验考试启动telnet保卫法式,然则颠末几回测验考试,我发明端口23被装备专门阻拦。我终极可以或许得到一个在另一个端口上运行telnetd的根shell:
 

[1] [2]  下一页

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