Tomcat-pass-getshell
1、启动vulhub靶场
我的docker是部署在kali上的,所以我就从kali启动靶场,然后利用win11虚拟机来进行攻击。
docker run -d -p 8080:80 -v /var/run/docker.sock:/var/run/docker.sock -e VUL_IP=172.18.1.9 --privileged=true vulfocus/vulfocus:latest
确保win11和kali在同一网段下,然后去访问kali的IP+docker映射端口,这里我设置的是8080.进入vulhub的后台登录,默认的账号密码是admin:admin
启动靶场镜像
访问靶场,这里的IP应该是kali的真实IP,而不是图片上写的172段。
2、进入靶场
Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为比较流行的Web 应用服务器
由此可知tomcat是由jsp构建的,现在我们点击Server Status,页面弹出让我们登录,由于我们并不知道密码。所以需要进行爆破。
#tomcat默认密码是tomcat:tomcat,事实就是这个网站的密码也确实是默认的。但是我们做渗透不能只靠猜
3、密码爆破
密码爆破这里有两种办法,一个是使用burpsuite进行抓包然后爆破,另一种是使用自动化工具进行爆破。先来演示第一种
3.1 burpsuite爆破
启动burpsuite和启动网站的代理不多赘述。只要保证监听端口与代理端口保持一直,且不被占用即可。
随便输入账号密码,点击登录,可以看抓到的包,是经过编码的
我们发送到intruder进行爆破,
我们发送到intruder进行爆破,payload位置就选择进行编码的位置,爆破模式选择自定义迭代器,经过上图查看,登录信息的格式是进行过base64编码,且格式是username:password,那么我们需要添加三个payload,第一个中添加用户名,第二个仅添加一个:即可,第三个添加密码本,然后选择payload processing.选择编码然后选择base64,而且要取消掉payload encoding.
开始爆破
状态码为200的即为正确的账号密码,我们选中正确的编码进行解码
就可以得到真正的账号密码。然后我们进行登录、
4、进行植入木马
登录后向下翻找,可以找到一个上传war包的地方,WAR 包(Web Application Archive)是一种用于打包 Web 应用程序的文件格式,它遵循 Java 的 JAR(Java Archive)文件格式标准。里面包含jsp代码,所以我们使用哥斯拉生成一个jsp木马。
将war包进行上传
当页面出现OK,且出现了我们文件名称的路径,代表木马上传成功,但是我们还是访问一些木马链接
在URL后加入/war包名称/jsp名称
然后使用哥斯拉进行连接
在文件管理中找到tmp文件夹
flag找到了。