breach1靶场渗透
准备环境
- 靶机:breach1 192.168.110.140 Host Only
breach1靶机设置的是静态IP,需将VM的VMnet1仅主机模式的IP网段更改为192.168.110.0 - 攻击机:
kali1 192.168.37.130 NAT
kali2 192.168.110.128 Host Only
端口扫描与信息收集
kali1使用Nmap全面扫描靶机,发现开启了非常多的端口,无法获得有用的信息
访问靶机IP发现开启了80端口,首页的图片指向一个链接
查看页面源代码,发现注释中有长度为64的字符串
使用CTF编码工具对字符串进行解码
对base64解码后的结果进行解码得到疑似用户名和密码的字符串pgibbons:damnitfeel$goodtobeagang$ta
点击图片进入了initech.html,Home page返回首页
Cake显示images/cake.jpg,Stapler显示images/swingline.jpg,可直接查看images目录
Employee portal进入一个用户登录页面,impresscms是一个开源的cms
用之前得到的用户名密码进行登录,进入配置页面
CMS后台信息收集
查看Home菜单
查看Content中的SSL implementation test capture,点击链接可下载红队攻击流量,证书的alias, storepassword和keypassword设置的都是tomcat
查看Inbox中的邮件,第一封说密码非常安全,第二封说得到了IDS/IPS系统,第三封给出了SSL证书的下载地址192.168.110.140/.keystore
解密HTTPS流量
使用jdk/bin下的keytool将密钥库文件keystore导出行业标准格式PKCS12证书tomcat.p12(所有密码都是tomcat)
WireShark查看攻击流量,靶机https的端口是8443
WireShark添加SSL证书,编辑->首选项->Protocols->TLS->Edit,添加信息
WireShark过滤出来源或目的为靶机IP且协议为http的流量
访问流量中的网址https://192.168.110.140:8443/_M@nag3Me/html,证书有问题浏览器禁止访问,使用bp抓包放包绕过浏览器拦截进行访问,弹出http基本认证框
WireShark查看流量发现Basic认证的用户名密码tomcat:Tt\5D8F(#!*u=G)4m7zB
登录进入Tomcat管理后台
Tomcat后台利用
Tomcat后台有部署应用的功能可上传war文件
kali1使用msf生成由kali2监听的java反弹连接
访问上传的文件,成功执行
kali2得到meterpreter权限
Linux提权
使用shell命令获得控制台权限,执行python -c 'import pty;pty. spawn("/bin/bash")'将非交互式shell提升为交互式shell
查看etc下的passwd发现有milton用户和blumbergh用户
查看/var/www/目录下的文件,发现有5446目录和html目录,进入5446目录查看0d开头的php文件,发现里面是数据库配置,用户名root密码为空
成功登录数据库
使用mysql库查看user表结构
读取user表的User和Password的值
对milton的密码md5解密
成功登录操作系统milton用户
查看milton用户的历史命令,发现登录过root用户和blumbergh用户
下载images中的图片,分析是否有blumbergh用户的密码,strings bill.png查看图片中的可见字符,在最后发现了疑似密码的字符串
成功切换blumbergh用户
查看blumbergh用户的历史命令,并查看tidyup.sh,发现是定时任务,每三分钟会执行清理文件
查看当前用户可执行的root权限的操作,无需密码即可执行tidyup.sh和/usr/bin/tee命令(可覆盖、追加任意文件内容)
查看tidyup.sh的权限,发现只有root用户才有写权限
kali2使用nc命令开启监听端口
使用tee命令覆盖tidyup.sh的内容
等待一段时间后成功连入root用户shell