靶机介绍:https://www.vulnhub.com/entry/boredhackerblog-social-network,454/
靶机下载地址:https://download.vulnhub.com/boredhackerblog/medium_socnet.ova
通关目标:拿下目标靶机的root权限
攻击机:kali
目标靶机:medium_socnet
涉及攻击方法:
● 主机发现
● 端口服务扫描
● web侦查
● 目录扫描
● 代码注入
● 反弹shell
● 内网信息搜集
● 内网穿透
● 漏洞利用
● 密码破解
● 本地提权
简要流程:
主机发现:
目标靶机和攻击机在同一网段,优先选择二层主机发现工具
端口扫描:
服务版本探测:
web侦查:
目录扫描:
访问后台地址:
根据页面信息推测这是一个代码执行的页面,结合之前使用nmap搜集到的信息得知服务端运行的是python2.7开发环境,尝试向表单写入一段python代码,根据回显结果得知代码被成功执行,进而写入一段python反弹shell代码(网上搜索或者利用msf生成)。
如果服务端识别不了写入的代码,会报错提示。
反弹shell:
发现是另外一个IP网段的地址。
判断拿下的主机是否处在docker环境中:
内网主机发现:
内网穿透:
内网信息搜集:
漏洞利用:
密码破解:
ls发现存在敏感文件passwords,通过MD5在线解密网站进行破解。
md5在线解密破解网站:
● https://cmd5.com/
● https://www.somd5.com/
● http://www.chamd5.org/
使用这些账号尝试登陆靶机,john账号成功登录。
证实存在多网卡,docker0。
本地提权:
采用内核漏洞提权,系统内核版本过低,搜索提权的exp。
靶机没有安装gcc编译器,分析源码,里面有一处使用system函数执行系统命令,并再一次调用了gcc编译ofs-lib.c文件生成一个动态链接库,需要将这段代码注释掉,不然会报错。
在kali上编译,编译过程报了一些警告不管它,能正常编译完成;要执行这个exp还需要一个已经编译生成好的二进制库文件ofs-lib.so,locate本地查找下。
将exp和ofs-lib.so上传到靶机的/tmp目录下,该目录的权限较大,并给exp赋予执行权限,然后执行exp,提权成功。
打靶过程的坑:
1.扫描端口服务时可能存在扫不出5000端口http服务,原因是内部容器没有启动成功,尝试多重启几次靶机;
2.反弹shell时,只能指定调用/bin/sh,调用/bin/bash可能弹不回来;
3.使用searchsploit中的elasticsearch rce漏洞利用代码提示报错:
原因是elasticsearch服务里面没有数据,所以不能通过elasticsearch来搜索进而执行命令,36337.py中的payload中的键lupin并没有事先插入到elasticsearch;
该漏洞的利用步骤:
a. 插入一条数据:proxychains curl -XPOST ‘http://172.17.0.2:9200/doc/test’ -d ‘{ “name” : “lupin” }’
b. 利用刚刚插入的数据构造payload
该漏洞有两种方法去利用:
a. 利用java反射机制绕过沙盒
b. 利用Groovy语言直接执行命令
参考文章:
a. https://www.cnblogs.com/qianxiao996/p/13574653.html
b. https://www.cnblogs.com/huangxiaosan/p/14398777.html