在学习本文技术或工具使用前,请您务必审慎阅读、充分理解各条款内容。
1、本团队分享的任何类型技术、工具文章等文章仅面向合法授权的企业安全建设行为与个人学习行为,严禁任何组织或个人使用本团队技术或工具进行非法活动。
2、在使用本文相关工具及技术进行测试时,您应确保该行为符合当地的法律法规,并且已经取得了足够的授权。如您仅需要测试技术或工具的可行性,建议请自行搭建靶机环境,请勿对非授权目标进行扫描。
3、如您在使用本工具的过程中存在任何非法行为,您需自行承担相应后果,我们将不承担任何法律及连带责任。
4、本团队目前未发起任何对外公开培训项目和其他对外收费项目,严禁任何组织或个人使用本团队名义进行非法盈利。
5、本团队所有分享工具及技术文章,严禁不经过授权的公开分享。
如果发现上述禁止行为,我们将保留追究您法律责任的权利,并由您自身承担由禁止行为造成的任何后果。
https://www.cobaltstrike.com/blog/out-of-band-update-cobalt-strike-4-7-1/
将允许攻击者在 Beacon 配置中设置格式错误的用户名,从而允许他们远程执行代码。
可能的关键字是:用户名|XSS|RCE
有点没想明白,CS jar文件里面都有XSS,还能RCE。 但是没有办法,该修还是得修,挣扎一下心安。
//新增xssFixed函数,检查字符串//需要导入正则包
public static String xssFixed(String rawString) {
//String fix_flag_value = getFixed();
if (rawString == null || rawString == ""){
return rawString;
} else {
String regEx= "[`$%^&|(){}<>?\/'"]";
Pattern pattern = Pattern.compile(regEx);
Matcher matcher = pattern.matcher(rawString);
String newString = matcher.replaceAll("_").trim();
return newString;
}
}
//新增xssFixedValue函数,检查需要修复的函数
public void xssFixedValue(){
this.id = xssFixed(this.id);//可选
this.pid = xssFixed(this.pid);//可选
this.ver = xssFixed(this.ver);
this.intz = xssFixed(this.intz);//可选
this.comp = xssFixed(this.comp);
this.user = xssFixed(this.user);
this.ext = xssFixed(this.ext);
this.pbid = xssFixed(this.pbid);
this.note = xssFixed(this.note);
this.barch = xssFixed(this.barch);//可选
this.port = xssFixed(this.port); //可选
this.chst = xssFixed(this.chst);
this.proc = xssFixed(this.proc);
this.accent = xssFixed(this.accent );
this.lname = xssFixed(this.lname );
}
public BeaconEntry(byte[] var1, String var2, String var3, String var4)
{
//省略大量代码...
this.ext = var3;
this.chst = var2;
this.lname = var4;
this.sane = this.sanity();
xssFixedValue();
}
publicBeaconEntry(String var1) {
this.id = var1;
this.sane = this.sanity();
xssFixedValue();
}
END
原文始发于微信公众号(NOVASEC):CS4.5粗略预防CVE-2022-39197 XSS RCE