depy

It is a long and beautiful life.

记今天的内网渗透

网络安全

资产

客户给了一台d段为4的主机让我们想办法找找漏洞

60362f448fbaf.png

过程

端口扫描

60362fc01ccfa.png

1.8080端口是一个资产管理平台 

60362fff14b16.png

首先我们对系统进行一次目录扫描,未发现敏感信息,于是选择对用户名密码进行爆破

但是输入用户名后会预先加载一个用户名验存的接口

603630a295a51.png

这里我们发现只要存在用户名 就会返回这个用户名 于是进行了一波账号收集

之后提交密码抓包

603631057a36c.png

发现不是明文传输 用了加密算法 并且同样的密码刷新后提交发现不同 用到了url中的time参数

当然这不影响爆破 但是我们得去查看一下用到的算法 view-source查看源代码

60363177921ae.png

发现调用了login.js 跟进这个文件 发现核心代码

function login(account, pswd, verifyCodeActual, isRember){
//公钥加密密码
var encrypt = new JSEncrypt();
encrypt.setPublicKey(publicKey);
var encrypted = encrypt.encrypt(pswd);//加密后的密码

var postJson = {};
postJson['account']=jQuery.trim(account);
postJson['password']=encrypted;
postJson['isRember']=isRember;
postJson['verifyCodeActual']=verifyCodeActual;
postJson['loginType']=1;
var urlStr = "../login/userLogin.html?RandNum="+ Math.random();
jQuery.ajax({
type: 'POST',
url: urlStr,
data: postJson,
success:function(flag){
if(flag == "validatePawd"){ //需要强制修改密码
showDialog({
id:'padValidate',//对话框,不用加唯一标识id
title:"密码修改",
url: '../user/updatePasdShow.html',
win: window,
account: jQuery.trim(account),
publicKey: publicKey,
width: 500,
height: 460
});
}else{
if(flag=="success"){
location.href="../login/getMainPage.html?RandNum="+Math.random()+'&fastRepair='+fastRepair;
}else{
if(flag=="1"){
showConfirm( '用户不存在!'+'<br/> ' +
'注:请输入5位数工号,不足5位请在首位加0,<br/> 以个人工作牌上显示为准。');
}else{
alert(flag);
}
refresh();//刷新验证码
}
}
}
});
};

简单的说就是调用JSEncrypt对象,获取首页中的公钥进行密文加密

6036323422eb8.png

根据他的js代码算法 可以很容易写出一个密码爆破的脚本 这里忽略

我们继续审阅这个核心代码 

60363288c4fc9.png

我们跟进这个修改密码的接口

603632f951813.png

图上文字有误  不是跳转  是直接对这个接口文件进行post操作

一开始 发现是postjson  想也没想就觉得构造json格式内容进行post 通过前面的公钥进行加密然后传过去就ok了 但是怎么传都是报错 提示字段为空

6036347c22815.png

后来我自己写了个js脚本 发现他的datatype不是json 是text 所以只要构造常规的http的普通post字符串就行了(postjson真傻逼吗的)

构造 account=admin&newPswd=depy@happysec.cn加密后的密文 传过去 

发现还是报错 但是错误码显示是500了 说明接口获取到了数据只是执行失败 tomcat报错getatrri啥万一的已经传输过来了 百度了一圈没有结果

中午回去午睡了一小时。

下午回来继续搞 心想这傻叼开发postjson然后还是一样不传json  会不会这个加密根本就没写完 

于是乎传了个没加密的明文过去 结果真的给重置了  傻逼开发傻逼开发

6036359406b70.png

进去后还没开始传木马 客户叫停说日偏了 8080的资产不用日 gg 

之后开始动手查看8083资产 8081是接口服务 没有切入点

603635e44b1b5.png

打开看是一个放射影像系统 网上看了一圈没有漏洞

注入了一遍测试不出来 正打算放弃

随手打了一个upload

6036365131698.png

目录遍历 于是乎扫了一波目录 找到了一个fck编辑器

6036369694965.png

开始上传文件  发现asp aspx可以直接上传

但是没有找到文件地址  后来乱翻发现就在/upload/UserFiles/Image/目录下

打开发现

603636fd9c7f9.png

随便上传一个 内容是普通文本的aspx

6036372e4e750.png

思考:普通的aspx文件显示错误访问 应该是不让直接访问没有被注册的asp和aspx脚本 有恶意代码的显示500 应该是被杀软拦截导致错误

未果 各种代码无法上传  想到几年前的ashx木马

随便传了一个上去

603637a6f25ad.png

结果成功了  但是权限很低 查看systeminfo 只打了四个补丁 遂想用各种exp提权

6036383b59b75.png

诺顿 gg  百度了一圈没有姿势 只有看密码的 但是测试失败了 即使dump下来 好像也没有读取的权限

为之作出的努力:

  1. 使用哥斯拉  生成ashx后上传 显示空白 

但是工具链接显示失败

603638a2ab881.png

    2.普通免杀

均被拦截 或者不执行


搞到下班没搞出来  但是用这个可以type一下web.config  找到了数据库的密码  遂链接

发现数据百万条  收工回家 希望有搞过诺顿的师傅可以联系我教一下姿势 不胜感激