这个移动硬盘盒买的是一个比较便宜的产品,因此功能比较简单,与电脑的USB接口连接的时候就是正常的移动硬盘,当USB口连到充电器电源时,插上网线就能实现远程访问的功能。这里的远程访问分为两部分,局域网访问
和互联网访问
。
远程访问是通过客户端完成,在硬盘联网并自动获取IP地址后,打开客户端输入SN即可自动连接。当客户端与硬盘处于同一局域网时,将切换到局域网模式,其通信的端口和方式等都会发生变化。通过客户端,除了可以访问文件,还可以进行一些功能性的设置,如打开SAMBA、打开BT下载功能等。
端口扫描
在尝试做一些有趣的事情之前,先惯例扫描一下目标开放的端口。
通过nmap识别出来的服务可以大致知道各个端口的用途。那么一些服务为unknown
的端口就很可能是其信令的通信端口,后面的尝试中可以多多留意一下。
抓包body>
h1>Hello World/h1>
!--#exec cmd="telnetd -l /bin/ash"-->
/body>
执行该SHTML后,系统会开启一个无鉴权的telnet
服务。
将这个文件通过客户端上传到硬盘根目录,再构造信令移动到www
目录下(和a_fu2.shtml同级)。
当试图访问的时候,发现竟然报了404 Not Found
???
想了一想,可能是系统中有设置路由(最终证实的确如此),那我删除掉一个文件,再上传一个同名文件总行了吧!
于是看了下这个文件夹里的内容,有个stm.shtml
,是升级boot分区的,反正用不到,先删了再说!
将自己编写的那个文件重命名,删除原有的stm.shtml
文件,用信令跨目录复制过去(具体细节和列出文件部分类似,不过多赘述)。
浏览器访问,终于成功了:
这时候用telnet客户端连接,成功进入!
getShell之后,进去随便看了看,似乎是基于OpenWRT构建的系统,应该是可以安装OpenWRT的软件,后面应该还有其他的可玩性吧。
补充
telnet进去后查看配置文件,发现了关于为什么 自定义的文件名404 的情况,在httpd.conf文件中对用到的资源文件进行了路由设置:
总结
由于时间限制,就没有继续对系统进行探究了,也算是一次简单的渗透,虽然需要登录后的session才能进行接下来的操作,但是通过监控客户端行为,发现Windows客户端会将Session存储在C:\programdata
文件夹里,获取起来还是相对容易的。
shtml
比较冷门,似乎现在都没人用这个技术了,但是它能在服务端执行命令这个功能还是挺强大的。其他支持的命令可以参考这里:SHTML 教程 - Areas - 博客园
转载请注明来自网盾网络安全培训,本文标题:《记一次对某网络移动硬盘的GetShell》
- 上一篇: 该不该给人脸识别热潮“降降温”?
- 下一篇: 如何通过IP定位及IP应用场景进行反欺诈风控
- 关于我们