网络安全日报 2025年03月03日
1、Android银行木马TgToxic新变种升级反分析功能 https://intel471.com/blog/android-trojan-tgtoxic-updates-its-capabilities 发现的Android银行木马TgToxic经历了重大更新。这一新版本被称为ToxicPanda,旨在窃取用户凭证和数字货币。研究表明,该恶意软件运营者正计划扩展其攻击范围,新的目标包括欧洲和拉丁美洲的银行。更新后的木马采用了更复杂的模拟器检测技术,能够有效避开自动分析。同时,恶意软件的C2连接方式也发生了变化,从硬编码服务器转向使用域生成算法(DGA),增强了隐蔽性和生存能力。 2、虚假视频链接成恶意软件传播新诱饵 https://www.mcafee.com/blogs/other-blogs/mcafee-labs/the-dark-side-of-clickbait-how-fake-video-links-deliver-malware/ 研究机构发现网络犯罪分子利用虚假视频链接作为诱饵,通过多层次的社交工程手段传播恶意软件。攻击者通过带有点击诱饵的PDF文件,将用户重定向至多个恶意网站,最终引导用户下载受密码保护的ZIP文件,其中包含恶意软件负载。该攻击利用用户对独家内容的好奇心,通过虚假视频页面和误导性下载按钮,诱使用户主动参与恶意软件的传播。 3、LCRYX勒索软件再次针对Windows系统发起攻击 https://labs.k7computing.com/index.php/lcryx-ransomware-how-a-vb-ransomware-locks-your-system/ LCRYX勒索软件是一种使用VBScript编写的恶意程序,于2024年11月首次出现,并于2025年2月再次活跃。该勒索软件通过加密用户文件并添加“.lcryx”扩展名,要求受害者支付500美元的比特币赎金以换取解密工具。LCRYX在执行过程中会获取管理员权限,修改系统注册表,禁用任务管理器、命令提示符和防病毒软件,以确保其持久性和隐蔽性。此外,它还会通过加密文件、删除卷影副本和修改文件属性来阻碍用户恢 4、因AMS配置错误全球超49000台门禁信息暴露 https://www.modat.io/post/doors-wide-open-critical-risks-in-ams 研究人员发现,全球有超过49000台配置错误的访问管理系统(AMS)暴露在互联网上,危及隐私和物理安全。这些系统用于控制员工通过生物识别、身份证或车牌进入建筑物和禁区,但因安全身份验证配置错误,大量敏感数据被暴露,包括个人身份信息、生物特征数据、照片、工作时间表和访问日志。研究人员还发现,攻击者可编辑员工记录、添加虚假员工、更改访问凭据或操纵建筑入口系统,导致未经授权的物理访问。意大利、墨西哥和越南是暴露系统最多的国家。 5、跨国联合行动逮捕GHOSTR网络犯罪分子 https://www.group-ib.com/media-center/press-releases/joint-operation-with-royal-thai-police-and-singapore-police-force/ 安全机构协助泰国皇家警察和新加坡警察部队开展联合行动,成功逮捕了一名涉嫌90多起数据泄露事件的网络犯罪分子。该犯罪分子以多个化名(如ALTDOS、DESORDEN、GHOSTR和0mid16B)活动,自2020年以来一直活跃,主要攻击目标包括亚太、欧洲、北美和中东的医疗、金融、电子商务等行业。他通过SQL注入和RDP攻击入侵系统,利用修改版的CobaltS 6、GitLab修复多个安全漏洞 https://cybersecuritynews.com/gitlab-vulnerabilities-bypass-security-controls/ GitLab发布安全公告,称其平台中存在多个安全漏洞,其中包括两个跨站脚本(XSS)漏洞,攻击者可借此绕过安全控制并在用户浏览器中执行恶意脚本。这两个漏洞被标识为CVE-2025-0475(CVSS评分8.7)和CVE-2025-0555(CVSS评分7.7),影响多个版本的自我管理实例,攻击者能够利用漏洞进行会话劫持、凭据窃取和未经授权的系统访问。此外,还有三个漏洞分别为CVE-2024-8186(CVSS评分5.4)、CVE-202 7、Ivanti修复其ICS设备中的安全漏洞 https://cybersecuritynews.com/2850-ivanti-connect-secure-devices-vulnerable/ Ivanti修复其Ivanti Connect Secure (ICS)设备中的一个安全漏洞CVE-2025-22467,该漏洞使得受影响的设备容易遭到远程代码执行 (RCE) 攻击。该漏洞的CVSS评分为 9.9,被归类为基于堆栈的缓冲区溢出,影响ICS 22.7R2.6之前的版本。该漏洞源于对用户输入的处理不当,使经过身份验证的攻击者能够远程执行任意代码。如果被利用,可能导致系统遭到入侵。虽然尚未有该漏洞被利用的报告,但鉴于该漏洞的严重 8、法国电信运营商Orange集团证实数据遭到泄露 https://www.techradar.com/pro/security/orange-confirms-it-suffered-breach-after-hacker-leaks-company-documents Orange集团已确认遭受网络攻击,但表示仍在调查是否有重要的数据泄露。HellCat勒索组织中一名昵称为“Rey”的成员称获取了380000个电子邮件地址、源代码、发票、合同以及客户和员工信息,总共获得了大约12000个文件,大小约6.5GB。虽然这不是一次勒索软件攻击,但攻击者留下了一份勒索信,并试图向该公司勒索钱财。Orange集团确认其遭受了网络攻击,并正在调查此事 9、Better Auth库中存在一个安全漏洞 https://securityonline.info/account-takeover-vulnerability-found-in-better-auth-library 流行的TypeScript身份验证框架Better Auth库中存在一个安全漏洞,该漏洞可能允许攻击者绕过安全措施,并可能接管用户账号。该漏洞存在于trustedOrigins保护功能中,该功能用于将重定向限制在受信任的网站。然而,目前发现一个绕过方法,允许攻击者利用此功能将用户重定向至恶意网站。攻击者能够构造一个恶意链接并将其发送给受害者,当受害者点击该链接时,他们会被重定向到攻击者控制的网站,从而可能允许攻击者窃取 10、Qilin勒索组织声称对Lee Enterprises进行攻击 https://www.bleepingcomputer.com/news/security/qilin-ransomware-claims-attack-at-lee-enterprises-leaks-stolen-data/ Qilin勒索组织2月3日对Lee Enterprises进行攻击,此次攻击中断了其运营,并且该勒索组织声称从该公司窃取了数据。该勒索组织威胁受害者支付赎金,否则将于2025年3月5日泄露所有窃取的数据。勒索组织声称窃取了12万个文件,总计350GB。该公司披露称其在2025年2月3日遭受了网络攻击,导致重大运营中断。此次中断造成了严重问题,例如该公司失去了对内部 声明 以上内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景科技观点,因此第三方对以上内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景科技无关。以上内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景科技一律不予承担。
给大模型通过RAG挂上知识库
前言 因为大模型的知识库存在于训练期间,因此对于一些最新发生的事或者是专业性问题可能会出现不准确或者是幻觉,因此可以使用RAG技术给大模型外挂知识库来达到精准回答的目的。 实操 gpt4all 可以参考之前的文章:https://mp.weixin.qq.com/s/jeGqX-XYJRm-pFYEfkw2lw 他的优点就是通过UI在线下载模型和导入知识库,操作都比较一站式、傻瓜式。注意的是gpt4all的模型文件和ollama不通用。 open-webui 安装可以参考https://mp.weixin.qq.com/s/jeGqX-XYJRm-pFYEfkw2lw,也比较简单就不多赘述。 先看下在没有知识库的情况下,咨询相关问题时得到的结果是错误的: 可以通过如下方式进行知识库的构建: 右上角-工作空间-知识库-新增知识库空间-上传知识库文件 这个时候再咨询知识库中存在的内容时就可以得到满意的结果(引用的方式是在输入框中输入#): ima https://ima.qq.com/ima是腾讯出品的AI+知识库的软件。创建知识库的流程为: 首先有个缺点,它竟然不能上传markdown。还有些其他BUG,比如明明存在知识库,但是却选择不了: 因为没法设置prompt,如果你想让大模型每次都只从知识库中搜索不要联想,那么就就需要每次在输入框中输入特定prompt告知不要胡乱回答,结果发现又是混元问题,问答模型改成deepseek后好点: 终于明白这些公司为什么要接deepseek了,因此自己公司的太差。 langchain+chroma 上面介绍的都是通过图形化的方式进行,但是在一些工程化的地方可能没法进行图形化操作,接下来介绍使用代码的方式来进行让大模型外挂知识库。把文档投喂给大模型时需要先对文档进行向量转换,这里以https://github.com/chroma-core/chroma 官方代码为例: import chromadb # setup Chroma in-memory, for easy prototyping. Can add persistence easily! client = chromadb.Client()   # Create collection. get_collection, get_or_create_collection, delete_collection also available! collection = client.create_collection("all-my-documents")   # Add docs to the collection. Can also update and delete. Row-based API coming soon! collection.add(    documents=["This is document1", "This is document2"], # we handle tokenization, embedding, and indexing automatically. You can skip that and add your own embeddings as well    metadatas=[{"source": "notion"}, {"source": "google-docs"}], # filter on these!    ids=["doc1", "doc2"], # unique for each doc )   # Query/search 2 most similar results. You can also .get by id results = collection.query(    query_texts=["This is document1"],    n_results=2,   # where={"metadata_field": "is_equal_to_this"}, # optional filter   # where_document={"$contains":"search_string"} # optional filter ) print(results) 上述代码含义是创建了一个集合,并且往集合中添加知识库,每个知识库都必须有自己的独立id。注意,chroma只支持传入文本不支持直接引用文件,因此想要把文件转成向量需要先把文件读取出内容给到chroma才行。 得到的内容如下: {'ids': [['doc1', 'doc2']], 'embeddings': None, 'documents': [['This is document1', 'This is document2']], 'uris': None, 'data': None, 'metadatas': [[{'source': 'notion'}, {'source': 'google-docs'}]], 'distances': [[0.0, 0.2221483439207077]], 'included': [<IncludeEnum.distances: 'distances'>, <Inclu 其中distances代表是距离,笔者特地把搜索的问题和id为doc1的内容一致,因此可以看到得到的距离为0(距离越小,相似度越高),代表问题和文档一模一样,因此在后续投喂给大模型时,可以选择小于多少距离的投喂给大模型来解决token过长的问题。 接下来介绍https://github.com/langchain-ai/langchain,langchain功能和它的名字一样,简单理解就是它可以把各个东西和大模型串在一起,比如可以把上面chroma生成的文档向量投喂给大模型进行知识库问答。langchain牛逼的点是他做了很多第三方工具的集成,比如以langchains调用chroma生成向量数据库为例: from langchain_ollama import OllamaEmbeddings from langchain_chroma import Chroma from uuid import uuid4 from langchain_core.documents import Document   embeddings = OllamaEmbeddings(model="nomic-embed-text:latest")     vector_store = Chroma(    collection_name="example_collection",    embedding_function=embeddings,    persist_directory="./chroma_langchain_db", # Where to save data locally, remove if not necessary )   document_1 = Document(    page_content="I had chocolate chip pancakes and scrambled eggs for breakfast this morning.",    metadata={"source": "tweet"},    id=1, )   document_2 = Document(    page_content="The weather forecast for tomorrow is cloudy and overcast, with a high of 62 degrees.",    metadata={"source": "news"},    id=2, )   document_3 = Document(    page_content="Building an exciting new project with LangChain - come check it out!",    metadata={"source": "tweet"},    id=3, )   document_4 = Document(    page_content="Robbers broke into the city bank and stole $1 million in cash.",    metadata={"source": "news"},    id=4, )   document_5 = Document(    page_content="Wow! That was an amazing movie. I can't wait to see it again.",    metadata={"source": "tweet"},    id=5, )   document_6 = Document(    page_content="Is the new iPhone worth the price? Read this review to find out.",    metadata={"source": "website"},    id=6, )   document_7 = Document(    page_content="The top 10 soccer players in the world right now.",    metadata={"source": "website"},    id=7, )   document_8 = Document(    page_content="LangGraph is the best framework for building stateful, agentic applications!",    metadata={"source": "tweet"},    id=8, )   document_9 = Document(    page_content="The stock market is down 500 points today due to fears of a recession.",    metadata={"source": "news"},    id=9, )   document_10 = Document(    page_content="I have a bad feeling I am going to get deleted :(",    metadata={"source": "tweet"},    id=10, )   documents = [    document_1,    document_2,    document_3,    document_4,    document_5,    document_6,    document_7,    document_8,    document_9,    document_10, ] uuids = [str(uuid4()) for _ in range(len(documents))]   vector_store.add_documents(documents=documents, ids=uuids)   results = vector_store.similarity_search_with_score(    "Will it be hot tomorrow?", k=1, filter={"source": "news"} ) print("-----") print(results) print("-----") for res, score in results:    print(f"* [SIM={score:3f}] {res.page_content} [{res.metadata}]") print("-----") 上述代码意思是指生成10个文档,然后通过langchain内置的第三方模块能力把这10个文档写入到了example_collection集合中,且向量数据库持久化,保存的路径为chroma_langchain_db目录中,最后在向量数据库中以source为news、最接近的1个为条件文档中搜索问题: 接下来尝试使用langchain调用ollama进行与本地大模型进行沟通: from langchain_ollama import ChatOllama   llm = ChatOllama(    model="deepseek-r1:latest",    temperature=0.5, ) messages = [   (        "system",        "角色:你是IT小助手,你只回答IT相关问题,其他问题不回答。当别人问你是谁时,你回答:我是IT小助手。",   ),   ("human", "你是谁"), ] ai_msg = llm.invoke(messages) print(ai_msg) 上述代码通过设置system prompt来约束了大模型的输出: 上面提到chroma无法直接传入文件,因此langchian提供了https://python.langchain.com/docs/concepts/document_loaders/来实现读取不同类型的文件并输入给chroma。为了解决嵌入模型和大语言模型输入的的token限制,需要对文档进行分割,下面以读取txt文件为例,通过对内容进行分割,然后提供给嵌入模型转成向量并搜索相似度后,带入到大语言模型的上下文中进行提问: from typing import Dict import logging from pathlib import Path   from langchain_ollama import ChatOllama from langchain_core.prompts import ChatPromptTemplate from langchain_ollama import OllamaEmbeddings from langchain_text_splitters import RecursiveCharacterTextSplitter from langchain_community.document_loaders import TextLoader from langchain.chains import RetrievalQA from langchain_chroma import Chroma class VectorStoreQA:    def __init__(self,                 model_name: str = "deepseek-r1:latest",                 embedding_model: str = "nomic-embed-text:latest",                 temperature: float = 0.5,                 k: int = 4):        """        初始化 QA 系统                Args:            model_name: LLM 模型名称            embedding_model: 嵌入模型名称            temperature: LLM 温度参数            k: 检索返回的文档数量        """       # 配置日志        logging.basicConfig(            level=logging.INFO,            format='%(asctime)s - %(levelname)s - %(message)s'       )        self.logger = logging.getLogger(__name__)        self.k = k       # 初始化 LLM        self.llm = ChatOllama(            model=model_name,            temperature=temperature,       )               # 初始化 embeddings        self.embeddings = OllamaEmbeddings(model=embedding_model)               # 初始化向量存储        self.vector_store = Chroma(embedding_function=self.embeddings)               # 初始化 prompt 模板       # self.prompt = ChatPromptTemplate.from_messages([       #     ("system", """你的任务是且只基于提供的上下文信息回答用户问题。要求:1. 回答要准确、完整,并严格基于上下文信息2. 如果上下文信息不足以回答问题,不要编造信息和联想,直接说:在知识库中我找不到相关答案3. 采用结构化的格式组织回答,便于阅读"""),       #     ("user", """上下文信息:       #     {context}                   #     用户问题:{question}                   #     请提供你的回答:""")       # ])        self.prompt = ChatPromptTemplate.from_messages([           ("system", """上下文中没有相关资料的不要编造信息、不要从你历史库中搜索,直接说:在知识库中我找不到相关答案。"""),           ("user", """上下文信息:{context}            用户问题:{question}            请提供你的回答:""")       ])                  def load_documents(self, file_path: str, chunk_size: int = 1000, chunk_overlap: int = 200) -> None:        """        加载并处理文本文档                Args:            file_path: 文本文件路径            chunk_size: 文档分块大小            chunk_overlap: 分块重叠大小        """        try:           # 验证文件            path = Path(file_path)            if not path.exists():                raise FileNotFoundError(f"文件不存在: {file_path}")                       # 加载文档            loader = TextLoader(str(path))            docs = loader.load()                       # 文档分块            text_splitter = RecursiveCharacterTextSplitter(                chunk_size=chunk_size,                chunk_overlap=chunk_overlap           )            splits = text_splitter.split_documents(docs)                       # 添加到向量存储            self.vector_store.add_documents(documents=splits)            self.logger.info(f"成功加载文档: {file_path}")                    except Exception as e:            self.logger.error(f"文档处理错误: {str(e)}")            raise      def get_answer(self, question: str) -> Dict:        """        获取问题的答案        Args:            question: 用户问题        Returns:            包含答案的字典        """       # 使用similarity_search_with_score方法获取文档和分数          docs_and_scores = self.vector_store.similarity_search_with_score(              query=question,              k=self.k       )                 # 打印每个文档的内容和相似度分数          print("\n=== 检索到的相关文档 ===")          for doc, score in docs_and_scores:              print(f"\n相似度分数: {score:.4f}") # 保留4位小数              print(f"文档内容: {doc.page_content}")              print(f"元数据: {doc.metadata}") # 如果需要查看文档元数据              print("-" * 50) # 分隔线           # 提取文档内容用于后续处理          context = "\n\n".join(doc.page_content for doc, _ in docs_and_scores)         # 打印完整的prompt内容          print("\n=== 实际发送给模型的Prompt ===")          formatted_prompt = self.prompt.format(              question=question,              context=context         )          print(formatted_prompt)          print("=" * 50)         # docs = self.retriever.get_relevant_documents(question)         # 将文档内容合并为上下文         # context = "\n\n".join(doc.page_content for doc in docs)         # print(context)       # 创建chain并调用        chain = self.prompt | self.llm          response = chain.invoke({              "question": question,              "context": context         })          return response    def clear_vector_store(self):        """清空向量存储"""        try:            self.vector_store.delete_collection()            self.vector_store = Chroma(embedding_function=self.embeddings)            self.logger.info("已清空向量存储")        except Exception as e:            self.logger.error(f"清空向量存储时发生错误: {str(e)}")            raise   # 使用示例 if __name__ == "__main__":   # 初始化 QA 系统    qa_system = VectorStoreQA(        model_name="deepseek-r1:latest",        k=4   )       # 加载文档    qa_system.load_documents("/tmp/1.txt")       # 提问    question = "猪八戒是谁?"    result = qa_system.get_answer(question)    print(result) 总结 如果只是想简单尝试下大模型+知识库,那么gpt4all和ima都可以,毕竟都是图形化点点点就行,如果想要去自定义一些模型或者本身依赖ollama运行模型的话,可以选择open-webui,其可以有更多的自定义能力,如果想要在工程化中使用,建议使用langchain+chroma。
网络安全日报 2025年02月28日
1、UAC-0173组织利用DCRat攻击乌克兰公证机构 https://cert.gov.ua/article/6282536 乌克兰计算机应急响应小组(CERT-UA)近日警告称,编号为UAC-0173的组织正在利用DCRat(DarkCrystal RAT)远程访问木马攻击乌克兰公证机构。攻击始于2025年1月中旬,通过伪装成乌克兰司法部的网络钓鱼邮件,诱使受害者下载恶意可执行文件。该文件托管在Cloudflare的R2云存储服务中,一旦执行,将部署DCRat恶意软件。攻击者还使用RDPWRAPPER、FIDDLER、NMAP和XWorm等工具进一步渗透系统,窃取凭证和敏感数据,并通过受感染系统发送恶意邮件扩大攻击范围。 2、新型Linux后门Auto-Color利用规避技术躲避检测 https://unit42.paloaltonetworks.com/new-linux-backdoor-auto-color/ 研究人员近期发现了一种名为Auto-Color的新型Linux后门恶意软件。该恶意软件通过使用看似无害的文件名、隐藏网络活动以及部署专有加密算法等手段,成功规避了传统安全检测。Auto-Color允许攻击者完全远程控制受感染机器,并通过挂钩libc函数隐藏其活动。恶意软件还利用自定义加密算法保护其命令和控制(C2)通信,确保每次部署时使用不同的配置。受攻击目标主要集中在北美和亚洲的大学及政府机构。 3、僵尸网络PolarEdge利用TLS后门攻击全球设备 https://blog.sekoia.io/polaredge-unveiling-an-uncovered-iot-botnet/ 研究团队发现了一个名为PolarEdge的僵尸网络,该网络利用CVE-2023-20118漏洞攻击思科小型企业路由器,并通过TLS后门控制全球超过2000台设备。攻击者通过部署Webshell和TLS后门,成功感染了华硕、QNAP和Synology等品牌的设备。PolarEdge僵尸网络自2023年底开始活跃,其基础设施分布在新加坡、拉脱维亚等地,攻击者通过FTP分发恶意载荷,并使用TLS加密通信隐藏其活动。该僵尸网络的目标尚不明确,但可能用于发起分布式网络 4、黑客利用Krpano框架漏洞向多个网站注入垃圾广告 https://olegzay.com/360xss/ 近日,黑客组织利用Krpano VR库中的反射型XSS漏洞,对数百个网站发起大规模攻击。攻击者通过注入恶意脚本,劫持谷歌搜索索引,分发垃圾广告和虚假内容。受影响的网站包括政府门户、顶尖大学、新闻媒体等知名机构。攻击者利用SEO优化技术,将恶意链接推至搜索结果前列,甚至伪装成合法内容(如CNN文章)以增加可信度。此次攻击不仅影响了网站的正常运营,还可能导致用户隐私泄露和信任危机。 5、思科修复OpenH264编解码器高危漏洞 https://securityonline.info/openh264-codec-vulnerability-cve-2025-27091-remote-code-execution-possible/ 思科披露OpenH264编解码器库中存在一个高危漏洞(CVE-2025-27091),CVSSv4评分为8.6。该漏洞源于解码函数中的竞争条件,可能导致堆溢出,进而允许远程攻击者执行任意代码。攻击者可通过制作恶意视频比特流,诱使受害者处理该视频,从而触发漏洞。思科已在2.6.0版本中修复该漏洞,并强烈建议用户尽快升级以规避风险。 6、美国DISA公司遭遇网络攻击致330万用户信息泄露 https://hackread.com/us-background-check-firm-data-breach-exposes-records/ 美国背景调查公司DISA Global Solutions宣布发生重大数据泄露事件,超过330万人的个人信息被泄露,其中包括1.5万名缅因州居民。泄露事件发生在2024年2月9日至4月22日之间,攻击者未经授权访问了DISA的网络,并获取了包括姓名、社会保险号、驾驶执照号、财务账户信息等敏感数据。DISA表示,目前尚未发现数据被滥用的情况,并已采取措施加强网络安全,同时为受影响个人提供为期12个月的信用监控服务。 7、新型攻击“nRootTag”将15亿部iPhone变为免费追踪器 https://www.freebuf.com/vuls/423102.html 一种名为“nRootTag”的新型攻击,将超过15亿台苹果设备(包括iPhone、iPad、Apple Watch和Mac)暴露在恶意攻击者的隐蔽追踪之下。这项攻击由研究人员Junming Chen、Xiaoyue Ma、Lannan Luo和Qiang Zeng在即将发布的2025年USENIX安全研讨会论文中详细阐述,它通过利用苹果的“查找我的”网络,将非苹果设备变为无需root访问权限的隐秘追踪信标。该攻击利用了蓝牙低功耗(BLE)协议,对全球隐私构成了前所未有的威胁。 8、瑞典要求加密通信应用部署后门,Signal强烈反对 https://www.freebuf.com/news/422993.html 瑞典执法和安全机构正在推动一项立法,要求加密通信应用(如Signal和WhatsApp)植入后门,以便当局能够访问用户通信内容进行犯罪调查。然而,这一提议遭到了Signal和瑞典军队的强烈反对。 9、GitVenom 攻击利用数百个 GitHub 存储库窃取加密货币 https://www.bleepingcomputer.com/news/security/gitvenom-attacks-abuse-hundreds-of-github-repos-to-steal-crypto/ 一个名为 GitVenom 的恶意软件活动使用数百个 GitHub 存储库诱骗用户下载信息窃取程序、远程访问木马 (RAT) 和剪贴板劫持程序,以窃取加密和凭证。 10、Black Basta 勒索软件利用的23个漏洞被广泛利用 https://www.freebuf.com/vuls/423105.html GreyNoise 已确认,在黑帽勒索软件组织 Black Basta 的内部聊天记录中提到的 62 个漏洞中,有 23 个正在被积极利用。这些漏洞涉及企业软件、安全设备和广泛部署的 Web 应用程序,其中多个关键漏洞在过去的 24 小时内已被利用。 声明 以上内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景科技观点,因此第三方对以上内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景科技无关。以上内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景科技一律不予承担。
网络安全日报 2025年02月27日
1、黑客利用假冒Chrome安装程序传播SecTopRAT https://www.malwarebytes.com/blog/news/2025/02/sectoprat-bundled-in-chrome-installer-distributed-via-google-ads 网络安全研究人员发现,恶意软件SecTopRAT正通过伪装成Google Chrome浏览器的安装程序进行传播。攻击者利用Google Ads投放虚假广告,引导用户进入欺诈性Google Sites页面,最终下载伪装的Chrome安装程序。该程序在安装合法Chrome浏览器的同时,秘密投放SecTopRAT恶意软件,窃取用户敏感信息。 2、新型恶意软件GhostSocks威胁金融机构 https://infrawatch.app/blog/ghostsocks-lummas-partner-in-proxy 研究团队分析了一种名为GhostSocks的恶意软件,这是一种基于Golang的SOCKS5反向连接代理工具,主要与LummaC2信息窃取程序集成使用。GhostSocks通过混淆技术、中继通信和恶意软件即服务(MaaS)模式,为攻击者提供代理能力,使其能够绕过金融机构的安全控制并滥用受害者IP地址进行非法活动。该工具还支持任意命令执行、下载和执行恶意文件等后门功能。 3、恶意软件ACRStealer利用谷歌文档作为C2服务器 https://asec.ahnlab.com/en/86390/ ACRStealer是一款伪装成破解程序和密钥生成器的信息窃取恶意软件,其传播量在2025年显著增加。该恶意软件通过合法平台Google Docs、Steam和Telegra.ph作为中间C2服务器,利用Dead Drop Resolver(DDR)技术隐藏真实C2地址,从而绕过传统安全检测。ACRStealer能够窃取浏览器数据、加密货币钱包、FTP凭证、聊天记录、电子邮件信息以及密码管理器数据等多种敏感信息。 4、澳大利亚因国家安全和间谍担忧禁用卡巴斯基软件 https://thehackernews.com/2025/02/australia-bans-kaspersky-software-over.html 澳大利亚内政部以国家安全和间谍活动担忧为由,禁止政府机构使用俄罗斯卡巴斯基公司的安全软件。内政部秘书长斯蒂芬妮·福斯特表示,卡巴斯基产品可能带来外国干涉和数据泄露风险,要求所有政府实体在2025年4月1日前移除相关软件,并禁止新安装。此前,美国已于2024年6月全面封禁卡巴斯基软件。 5、攻击者利用MSSQL服务器漏洞部署挖矿工具 https://www.seqrite.com/blog/pkt-monero-mining-mssql-malware/ 研究人员近期发现攻击者利用MSSQL服务器漏洞部署加密货币挖矿工具,主要涉及PKT Classic和Monero两种加密货币。攻击者通过SQL注入漏洞,利用Windows系统工具和PowerShell脚本下载并执行挖矿程序,如PacketCrypt(用于PKT)和XMRIG(用于Monero)。这些工具消耗大量系统资源,降低系统性能并增加硬件损耗。攻击者通过默认钱包地址或自定义地址接收挖矿收益。 6、新型恶意软件ClickFix通过伪造reCAPTCHA传播 https://blog.sucuri.net/2025/02/wordpress-clickfix-malware-causes-google-warnings-and-infected-computers.html 安全公司发现一种名为“ClickFix”的新型恶意软件,通过伪造的Google reCAPTCHA诱使用户执行恶意PowerShell命令,从而感染其计算机。攻击者利用恶意WordPress插件和主题文件注入的方式传播该恶意软件,目前已感染超过5200个网站。 7、微软修复Entra ID DNS身份验证问题 https://www.bleepingcomputer.com/news/microsoft/microsoft-fixes-entra-id-authentication-issue-caused-by-dns-change/ 近日,微软修复了由DNS更改导致的Microsoft Entra ID身份验证问题。此次问题影响了使用Seamless SSO和Microsoft Entra Connect Sync的用户,导致在2月25日17:18 UTC至18:35 UTC期间,autologon.microsoftazuread.sso.com域的DNS解析失败。微软表示,问题是由删除重复 8、2.84亿账户遭信息窃取木马窃取,HIBP紧急更新数据库 https://www.freebuf.com/news/422886.html Have I Been Pwned(HIBP)数据泄露通知服务近日新增了2.84亿个被信息窃取木马(infostealer)窃取的账户。这些账户数据是在一个名为“ALIEN TXTBASE”的Telegram频道中被发现的。HIBP的创始人Troy Hunt表示,在分析1.5TB的窃取日志时,他发现了284,132,969个被泄露的账户。这些日志可能来自多个来源,并在Telegram频道上共享。他在一篇博客中写道:“这些日志包含230亿行数据,涉及4.93亿个独特的网站和电子邮件地址组合,影响了2.84亿个唯一 9、LockBit威胁FBI新任局长,声称掌握能摧毁该机构的“机密信息” https://securityaffairs.com/174639/cyber-crime/lockbit-taunts-fbi-director-kash-patel.html 勒索软件组织LockBit向新上任的FBI局长卡什·帕特尔发送了一条奇怪讯息,声称其掌握了“机密信息”,如果这些信息被公开,将可能“摧毁”FBI。 10、H-CoT攻击揭示大型推理模型严重漏洞 https://mp.weixin.qq.com/s/jDEo-grSHZzPrrqMRfjL1w 随着大型推理模型(LRMs)在复杂任务中的广泛应用,其安全性和可靠性成为关键问题。OpenAI的o1/o3系列、DeepSeek-R1和谷歌的Gemini 2.0 Flash Thinking等模型通过思维链(Chain-of-Thought, CoT)推理机制进行安全决策,旨在平衡模型效用与内容无害性。然而,这种机制是否足够稳健,能否抵御复杂的攻击,仍是一个未解之谜。 声明 以上内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景科技观点,因此第三方对以上内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景科技无关。以上内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景科技一律不予承担。
安全测试中的js逆向实战
一、简介 对于常见的web或者h5的场景中,一些重要的系统都会对于参数或者敏感数据进行校验,防止被恶意篡改而利用。因此在安全测试过程中,对于一些越权、注入等测试,需要对参数值进行修改重放,那么这个过程是否能够成功第一步取决于是否可以搞定校验算法并成功绕过。因此本文主要介绍安全测试中常用的一些js逆向的技术手段。 当然对于web场景中安全测试会遇到的一些校验场景,一般包括如下两类: 1)请求参数签名验证 2)请求、响应内容加密 二、常见浏览器调试方法 js中校验算法的查找定位以及逆向分析,需要对浏览器中的部分功能模块熟练掌握,接下来对其中的面板功能、断点调试方法以及断点天机方法进行介绍。 2.1 浏览器面板功能 chrome浏览器中的面板包括元素、控制台、源代码、网络、性能、内存以及应用等多个。重点介绍常见面板功能。 元素(Elements):可以查看DOM结构、编辑CSS样式,用于测试页面布局和设计页面; 控制台(Console):执行JavaScript脚本,也可以通过Console和页面中的Javascript对象交互; 源代码(Sources):查看Web应用加载的所有文件;编辑CSS和JavaScript文件内容,包括如下:(page: 所有资源文件;filesystem: 关联本地文件;overrides:可以做文件替换,比如替换JS;代码段:可以编写脚本,影响页面,代码记录); 网络(Network):展示页面中所有的请求内容列表,能查看每项的请求头、请求行、请求体、时间线以及网络请求的瀑布图等信息; 性能(Performance):分析网页的性能表现,包括加载时间,CPU使用率、内存占用等。可以录制网页的运行过程,进行详细的性能分析; 内存(Memory):用于记录和分析页面占用内存的情况; 应用(Application):查看Web应用的数据存储情况;IndexedDB;WebSQL;本地和会话存储;Cookie;应用程序缓存图像字体和样式表等。 2.2 断点添加方式 js逆向分析中有一个非常重要的功能需要掌握,就是下断点,接下来对常用断点方式进行介绍。 1)点击关键代码进行进行断点:通过点击代码便可以下断点 2)XHR断点:执行比较靠后,距离加密函数相对较近,可以根据栈快速定位 点击+号后直接输入需要定位的接口地址即可 3)DOM事件断点:执行的比较靠前,距离加密函数比较远 在Chrome开发者工具的Elements标签页中,找到你想要设置断点的DOM元素,右键点击该元素,选择"Breakon"选项,然后根据需要选择以下三种断点之一: ‌Subtree Modifications‌:当该节点的子树发生变化时触发断点。 ‌Attributes Modifications‌:当该节点的属性发生变化时触发断点。 ‌Node Removal‌:当该节点被移除时触发断点‌ 2.3 断点调试方法 通过设置断点,运行程序后就会断在设置好的断点处,这时就需要跟进代码执行,分析代码和数据的变化,梳理判断出校验的算法和逻辑,好进行利用。 图中红框依次功能如下: 跳过子函数(次态函数)执行(只在主函数内一步一步执行,不进入子函数内部) 进入子函数(次态函数)执行(在主函数内部一步一步执行,如果遇到子函数,会跳转到子函数内部一步一步执行) 跳出当前函数,回到调用位置 单步执行,会进入到函数内部 更加的细致 屏蔽断点 三、js逆向分析实战 了解了一些基础的调试操作内容,接下来针对js的逆向分析进行实操,本次主要以请求参数的签名验证和响应内容的加密两方面进行分析和绕过实战,这也是平时安全测试过程中最常见的两种场景。 3.1 请求参数签名验证实战 通过抓包可以看到该请求体中存在sign参数,值为一段数字字母 修改page内容,重新进行提交请求,返回错误,那么这时候想要测试注入等手法都是无法成功的,因为当重放是sign值是未变的,所以后端验证也是不通过的。接下来首先就需要找出sign的算法逻辑,尝试绕过后才可以进行测试。 3.1.1 算法分析 通过数据包分析判断为sign参数为参数校验,因此在调试解密直接搜索关键词sign=,成功在代码中查询到, 可以看到sign=Xt(a)这个方法,在此处点击下断点 通过断点可以看到Xt()方法中传入了n,n为一系列用户端数据和key值生成, 继续进入下一个函数调用,可以看到为Vt(),并传入了上边的t作为参数 查看Vt()方法实际名称为Et 进入Et函数,发现分别执行Rt->At->Tt三个方法,将最终执行完的结果返回。 三个方法具体内容也是在一起,依次进行执行,执行完Rt进入At执行 可以看到At中又包括Lt->Nt->Dt三个函数 依次进行下一个函数进行执行 进入Lt函数执行,可以发现大量循环操作等执行,如果没有太多意义可以跳出当前函数,进行下一个函数的执行 通用的执行方法进行Nt和Dt两个函数的执行和分析 当At函数执行完,可以看到返回了一串值 再进入Tt中执行 可以看出其实是一个字符串的对比操作 继续执行完Et后可以看出返回了遗传字符,应该就是我们的sign的值 继续跟进,可以看到对于这段值有做了一次大写的操作 完成后进行了返回 那这个时候也就分析完成了,我们可以确认Xt函数将入参执行完成后就会返回为sign用来做校验 在控制台获取传入的n值,并打印Xt(n)方法,额可以看到成功打印出我们需要的sign值 3.1.2 算法逆向绕过实战 通过上述的分析,可以看出该程序中的sign的获取是通过Xt()函数传入n值进行生成的,n为一个固定格式的用户的参数,那么便可以通过修改n的值生成sign来绕过校验了,接下来我们通过三种方法进行实操。 3.1.2.1 浏览器校验调用 抓包获取到详细数据包 修改参数重放失败 在获取到的n中将对应的参数page的值进行修改,打印Xt(n)生成一个新的sign 修改burp中的sign进行重放,成功获得数据,那么接下来便可以进行各类payload的参数测试了。 3.1.2.2 在线算法生成 通过该sign的值内容和长度可以初步判断出为md5加密所得,及Xt()方法为一个md5算法,因此利用在线md5平台,传入n的值,修改page参数重新生成大写的sign值 修改burp中的sign,成功重放 3.1.2.3 js代码补环境复用 通过算法分析可以看出主要调用Et()方法后进行一系列的函数调用,最后返回了需要的sign值,那么这时我们将该js中调用执行过的方法进行复制,在本地新建一个js,粘贴其中,最终打印Et()方法,Et中传入需要的值,也就是n,然后进行运行,如果存在报错缺少方法,缺哪个便去js中复制那个。 完成后执行该js文件,发现成功生成需要的值。 具体代码如下:  var St = 0;     function Et(s) {         return Tt(At(Rt(s)))     }     function At(s) {         return Dt(Nt(Lt(s), 8 * s.length))     }     function Tt(input) {         for (var t, e = St ? "0123456789ABCDEF" : "0123456789abcdef", output = "", i = 0; i < input.length; i++)             t = input.charCodeAt(i),             output += e.charAt(t >>> 4 & 15) + e.charAt(15 & t);         return output     }     function Rt(input) {         for (var t, e, output = "", i = -1; ++i < input.length; )             t = input.charCodeAt(i),             e = i + 1 < input.length ? input.charCodeAt(i + 1) : 0,             55296 <= t && t <= 56319 && 56320 <= e && e <= 57343 && (t = 65536 + ((1023 & t) << 10) + (1023 & e),             i++),             t <= 127 ? output += String.fromCharCode(t) : t <= 2047 ? output += String.fromCharCode(192 | t >>> 6 & 31, 128 | 63 & t) : t <= 65535 ? output += String.fromCharCode(224 | t >>> 12 & 15, 128 | t >>> 6 & 63, 128 | 63 & t) : t <= 2097151 && (output += String.fromCharCode(240 | t >>> 18 & 7, 128 | t >>> 12 & 63, 128 | t >>> 6 & 63, 128 | 63 & t));         return output     }     function Lt(input) {         for (var output = Array(input.length >> 2), i = 0; i < output.length; i++)             output[i] = 0;         for (i = 0; i < 8 * input.length; i += 8)             output[i >> 5] |= (255 & input.charCodeAt(i / 8)) << i % 32;         return output     }     function Dt(input) {         for (var output = "", i = 0; i < 32 * input.length; i += 8)             output += String.fromCharCode(input[i >> 5] >>> i % 32 & 255);         return output     }     function Nt(t, e) {         t[e >> 5] |= 128 << e % 32,         t[14 + (e + 64 >>> 9 << 4)] = e;         for (var a = 1732584193, b = -271733879, n = -1732584194, r = 271733878, i = 0; i < t.length; i += 16) {             var o = a               , c = b               , l = n               , f = r;             a = qt(a, b, n, r, t[i + 0], 7, -680876936),             r = qt(r, a, b, n, t[i + 1], 12, -389564586),             n = qt(n, r, a, b, t[i + 2], 17, 606105819),             b = qt(b, n, r, a, t[i + 3], 22, -1044525330),             a = qt(a, b, n, r, t[i + 4], 7, -176418897),             r = qt(r, a, b, n, t[i + 5], 12, 1200080426),             n = qt(n, r, a, b, t[i + 6], 17, -1473231341),             b = qt(b, n, r, a, t[i + 7], 22, -45705983),             a = qt(a, b, n, r, t[i + 8], 7, 1770035416),             r = qt(r, a, b, n, t[i + 9], 12, -1958414417),             n = qt(n, r, a, b, t[i + 10], 17, -42063),             b = qt(b, n, r, a, t[i + 11], 22, -1990404162),             a = qt(a, b, n, r, t[i + 12], 7, 1804603682),             r = qt(r, a, b, n, t[i + 13], 12, -40341101),             n = qt(n, r, a, b, t[i + 14], 17, -1502002290),             a = Ft(a, b = qt(b, n, r, a, t[i + 15], 22, 1236535329), n, r, t[i + 1], 5, -165796510),             r = Ft(r, a, b, n, t[i + 6], 9, -1069501632),             n = Ft(n, r, a, b, t[i + 11], 14, 643717713),             b = Ft(b, n, r, a, t[i + 0], 20, -373897302),             a = Ft(a, b, n, r, t[i + 5], 5, -701558691),             r = Ft(r, a, b, n, t[i + 10], 9, 38016083),             n = Ft(n, r, a, b, t[i + 15], 14, -660478335),             b = Ft(b, n, r, a, t[i + 4], 20, -405537848),             a = Ft(a, b, n, r, t[i + 9], 5, 568446438),             r = Ft(r, a, b, n, t[i + 14], 9, -1019803690),             n = Ft(n, r, a, b, t[i + 3], 14, -187363961),             b = Ft(b, n, r, a, t[i + 8], 20, 1163531501),             a = Ft(a, b, n, r, t[i + 13], 5, -1444681467),             r = Ft(r, a, b, n, t[i + 2], 9, -51403784),             n = Ft(n, r, a, b, t[i + 7], 14, 1735328473),             a = Ut(a, b = Ft(b, n, r, a, t[i + 12], 20, -1926607734), n, r, t[i + 5], 4, -378558),             r = Ut(r, a, b, n, t[i + 8], 11, -2022574463),             n = Ut(n, r, a, b, t[i + 11], 16, 1839030562),             b = Ut(b, n, r, a, t[i + 14], 23, -35309556),             a = Ut(a, b, n, r, t[i + 1], 4, -1530992060),             r = Ut(r, a, b, n, t[i + 4], 11, 1272893353),             n = Ut(n, r, a, b, t[i + 7], 16, -155497632),             b = Ut(b, n, r, a, t[i + 10], 23, -1094730640),             a = Ut(a, b, n, r, t[i + 13], 4, 681279174),             r = Ut(r, a, b, n, t[i + 0], 11, -358537222),             n = Ut(n, r, a, b, t[i + 3], 16, -722521979),             b = Ut(b, n, r, a, t[i + 6], 23, 76029189),             a = Ut(a, b, n, r, t[i + 9], 4, -640364487),             r = Ut(r, a, b, n, t[i + 12], 11, -421815835),             n = Ut(n, r, a, b, t[i + 15], 16, 530742520),             a = Bt(a, b = Ut(b, n, r, a, t[i + 2], 23, -995338651), n, r, t[i + 0], 6, -198630844),             r = Bt(r, a, b, n, t[i + 7], 10, 1126891415),             n = Bt(n, r, a, b, t[i + 14], 15, -1416354905),             b = Bt(b, n, r, a, t[i + 5], 21, -57434055),             a = Bt(a, b, n, r, t[i + 12], 6, 1700485571),             r = Bt(r, a, b, n, t[i + 3], 10, -1894986606),             n = Bt(n, r, a, b, t[i + 10], 15, -1051523),             b = Bt(b, n, r, a, t[i + 1], 21, -2054922799),             a = Bt(a, b, n, r, t[i + 8], 6, 1873313359),             r = Bt(r, a, b, n, t[i + 15], 10, -30611744),             n = Bt(n, r, a, b, t[i + 6], 15, -1560198380),             b = Bt(b, n, r, a, t[i + 13], 21, 1309151649),             a = Bt(a, b, n, r, t[i + 4], 6, -145523070),             r = Bt(r, a, b, n, t[i + 11], 10, -1120210379),             n = Bt(n, r, a, b, t[i + 2], 15, 718787259),             b = Bt(b, n, r, a, t[i + 9], 21, -343485551),             a = zt(a, o),             b = zt(b, c),             n = zt(n, l),             r = zt(r, f)         }         return Array(a, b, n, r)     }     function Mt(q, a, b, t, s, e) {         return zt((n = zt(zt(a, q), zt(t, e))) << (r = s) | n >>> 32 - r, b);         var n, r     }     function qt(a, b, t, e, n, s, r) {         return Mt(b & t | ~b & e, a, b, n, s, r)     }     function Ft(a, b, t, e, n, s, r) {         return Mt(b & e | t & ~e, a, b, n, s, r)     }     function Ut(a, b, t, e, n, s, r) {         return Mt(b ^ t ^ e, a, b, n, s, r)     }     function Bt(a, b, t, e, n, s, r) {         return Mt(t ^ (b | ~e), a, b, n, s, r)     }     function zt(t, e) {         var n = (65535 & t) + (65535 & e);         return (t >> 16) + (e >> 16) + (n >> 16) << 16 | 65535 & n     }  console.log(Et("test")); 那么这个时候再传入n,及前面获取到的实际字段,并修改page的值重新生成 burp中替换sign重放,成功获取到数据 3.2 请求、响应内容加密 安全测试中,除了参数的校验之外,还有一类就是请求或者响应内容的加密,那么需要测试就必须先解密,看到原始内容才可以进行,本次以响应内容加密作为案例进行分析实操。 3.2.1 算法分析 通过截图可以看到,利用系统可以做翻译, 但是实际接口返回值是加密的,因此需要通过抓包接口测试,必须找到解密算法,获取响应内容 在源代码中进行XHR断点设置,添加uri为断点 输入数据,成功断下,可以看到断到了send函数,这个其实是向服务器发包的一个方法 跳过到下一个函数进行执行 可以看到data为key值等 继续跳过执行,可以看到成功获取到返回的加密值 再跳过执行可以看到执行该函数da.A.decodeData(),从名称也可以看出为一个解码的函数,分别传入了o和key以及iv,那么o为加密的值,key和iv分别为前面获取到的内容,执行完成后成功返回了解密后的明文数据 那么通过控制台面板,出入o为加密值,复制da.A.decodeData()进行执行,成功获得解密的数据。 3.2.2 算法逆向绕过 通过上述算法成功获取到具体的解密函数,这时利用burp抓包,修改参数为各类payload,进行重放 将获取到的加密数据,通过控制台面板传入o,并调用da.A.decodeData()成功获取原始数据,达到测试的效果。 当然,通过该解密方法的传值和分析,其实也可以看出是什么加密算法,也可以直接通过编写本地算法代码进行解密,具体不再详细赘述。 四、总结 对于安全测试或者漏洞挖掘中,这类js的加密校验也是越来越多,目的也是为了达到测试攻击等行为的成本,要想完成测试首先需要分析或者绕过校验参数,对于测试或者漏洞挖掘来说,怎么速度更快更能高效的达到算法的绕过其实目的就达到了。根据上述列出的两类场景和分析实战方法,便可以满足大部分的js逆向场景。
网络安全日报 2025年02月26日
1、攻击者利用PayPal新地址功能发送钓鱼邮件 https://www.bleepingcomputer.com/news/security/beware-paypal-new-address-feature-abused-to-send-phishing-emails/ 近期,PayPal的“新地址”功能被诈骗者利用,发送虚假购买通知的钓鱼邮件。这些邮件伪装成PayPal官方通知,声称用户添加了新地址,并附有虚假的购买确认信息,如MacBook订单,诱导用户拨打诈骗电话。诈骗者通过电话引导受害者下载恶意软件,以获取远程访问权限,进而窃取资金或数据。此类邮件通过PayPal的邮件服务器发送,绕过了安全和垃圾邮件过滤器。 2、黑客劫持YouTube账号伪造CS2玩家直播实施诈骗 https://www.bitdefender.com/en-us/blog/hotforsecurity/streamjacking-scams-on-youtube-leverage-cs2-pro-player-championships-to-defraud-gamers 安全人员警告《反恐精英2》(CS2)玩家,诈骗者正利用IEM卡托维兹2025和PGL克卢日-纳波卡2025等大型电竞赛事进行诈骗活动。诈骗者通过劫持YouTube账号,冒充知名职业选手如s1mple、NiKo等,发起虚假直播,诱导玩家参与CS2皮肤赠送或加密货币奖励活动。受害者可能被要求使用Steam账号登录或发送 3、Bybit冷钱包遭攻击价值14.6亿美元加密货币被盗 https://x.com/Bybit_Official/status/1892965292931702929 近日,加密货币交易所Bybit确认其以太坊冷钱包在一次复杂攻击中被盗,损失高达14.6亿美元的加密货币,创下史上最大加密货币盗窃案。攻击者通过伪装交易界面和篡改智能合约逻辑,将资产转移至未知地址。Bybit表示,其他冷钱包安全,已向有关部门报案。研究人员指出,此次事件可能与朝鲜黑客组织Lazarus Group有关。 4、OmniGPT聊天平台遭入侵3万名用户信息泄露 https://cyble.com/blog/omnigpt-leak-risk-ai-data/ 近期,AI聊天机器人平台OmniGPT被黑客入侵,导致约3万名用户的电子邮件、电话号码以及超过3400万条聊天记录泄露。泄露数据包括个人身份信息、财务信息、API密钥等敏感内容。此次事件凸显了在AI平台上使用敏感数据的风险,提醒企业和用户必须重视数据安全和隐私保护。专家建议,用户应立即更改密码、启用双重验证,并监控异常活动。 5、恶意软件SPAWNCHIMERA利用Ivanti漏洞进行攻击 https://blogs.jpcert.or.jp/en/2025/02/spawnchimera.html 2025年1月,Ivanti发布了关于其Ivanti Connect Secure产品漏洞CVE-2025-0282的公告。JPCERT/CC确认,自2024年12月底以来,多个攻击组织已利用该漏洞实施攻击,并在日本发生多起案例。与此同时,SPAWN恶意软件家族的最新变种SPAWNCHIMERA被发现,其整合了SPAWNANT、SPAWNMOLE和SPAWNSNAIL的功能,并在进程注入和通信方式上进行了显著更新。 6、假冒DeepSeek网站传播恶意软件感染Mac用户 https://www.esentire.com/blog/fake-deepseek-site-infects-mac-users-with-poseidon-stealer 安全人员发现了一起针对Mac用户的恶意软件攻击,攻击者通过假冒的DeepSeek网站传播Poseidon Stealer信息窃取程序。该恶意软件主要针对与Chromium和Firefox浏览器相关的敏感数据,其具备反调试和字符串加密技术,能窃取用户的全面系统信息和敏感数据,并通过C2服务器传输收集的信息。 7、新型恶意软件GhostSocks威胁金融机构 https://infrawatch.app/blog/ghostsocks-lummas-partner-in-proxy 研究团队分析了一种名为GhostSocks的恶意软件,这是一种基于Golang的SOCKS5反向连接代理工具,主要与LummaC2信息窃取程序集成使用。GhostSocks通过混淆技术、中继通信和恶意软件即服务(MaaS)模式,为攻击者提供代理能力,使其能够绕过金融机构的安全控制并滥用受害者IP地址进行非法活动。该工具还支持任意命令执行、下载和执行恶意文件等后门功能。 8、研究人员发布Parallels Desktop中0-Day漏洞PoC https://jhftss.github.io/Parallels-0-day/ 安全研究人员揭露了Parallels Desktop中的一个0day漏洞,该漏洞允许攻击者绕过CVE-2024-34331的修补,提升Root权限。研究人员发现了两种绕过方法,并向Zero Day Initiative (ZDI)和Parallels相继报告。尽管该问题已告知供应商超过七个月,但Parallels并未采取有效措施加以解决。这促使研究人员最终决定公开此漏洞,以提高用户的警惕性。 9、Exim修复邮件传输代理SQL注入漏洞 https://gbhackers.com/exim-mail-transfer-vulnerability 安全研究人员发现Exim邮件传输代理(MTA)存在SQL注入漏洞(CVE-2025-26794)。该漏洞存在于Exim 4.98版本中,攻击者可通过特制的ETRN请求注入恶意SQL代码,破坏邮件系统并操纵底层数据库。Exim团队已在漏洞曝光后72小时内发布修复版本4.98.1。建议用户立即检查系统版本并应用官方补丁,以防止潜在攻击。 10、Fluent Bit 0day漏洞使数十亿个生产环境面临网络攻击 https://cybersecuritynews.com/fluent-bit-0-day-vulnerabilities-exposes-billions-of-production-environments/ 研究人员在 Fluent Bit 中发现了关键的零日漏洞,Fluent Bit 是一种无处不在的日志记录实用程序,嵌入在 AWS、Google Cloud 和 Microsoft Azure 等主要提供商的云基础设施中。 声明 以上内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景科技观点,因此第三方对以上内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景科技无关。以上内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景科技一律不予承担。
网络安全日报 2025年02月21日
1、StaryDobry利用破解游戏传播挖矿木马 https://securelist.com/starydobry-campaign-spreads-xmrig-miner-via-torrents/115509/ 研究人员近期发现代号为“StaryDobry”的大规模网络攻击活动,攻击者通过篡改热门游戏安装包传播XMRig挖矿程序。该活动利用节假日用户警惕性降低的时机,提前上传恶意安装程序至种子网站,以降低被发现的风险。用户下载这些安装程序后,恶意软件会通过复杂的感染链收集系统信息,并在满足条件时启动挖矿程序。此次攻击主要影响俄罗斯、巴西、德国、白俄罗斯和哈萨克斯坦的用户。研究人员提醒用户仅从官方渠道下载软件,并保持安全防护工具更新,以 2、黑客使用隐形混淆技术发起网络钓鱼攻击 https://blogs.juniper.net/en-us/threat-research/invisible-obfuscation-technique-used-in-pac-attack 研究人员一种新的JavaScript混淆方法被黑客广泛应用于针对美国政治行动委员会(PAC)附属机构的网络钓鱼攻击中。攻击者利用不可见的Unicode字符,特别是韩文半角(U+FFA0)和韩文全角(U+3164),将每个ASCII字符转换为8位二进制表示形式,并用这些不可见字符替代二进制值,隐藏恶意代码。这种混淆技术使得有效负载在JavaScript代码中看似为空,降低了被安全扫描程序标记为恶意的 3、CISA和FBI联合发布Ghost勒索软件威胁报告 https://www.cisa.gov/news-events/cybersecurity-advisories/aa25-050a FBI、CISA及多州信息共享与分析中心(MS-ISAC)联合发布了针对Ghost (Cring) 勒索软件的警告,建议立即采取行动以减轻与此勒索软件相关的网络威胁。该勒索软件自2021年初开始攻击多个国家的组织,并利用多种已知漏洞进行渗透,受影响的领域包括关键基础设施、医疗、教育、宗教机构及中小企业。Ghost攻击者使用Cobalt Strike等工具进行攻击,通常在入侵后仅停留几天即进行勒索。攻击者通过加密文件索要赎金,金额通常达到数万至数十万美元的加密 4、研究人员发现Snake键盘记录器新变种 https://www.fortinet.com/blog/threat-research/fortisandbox-detects-evolving-snake-keylogger-variant 最近检测到一个新变种的Snake键盘记录器(又称404 Keylogger),其恶意软件标识为AutoIt/Injector.GTY!tr。这一变种通过网络钓鱼邮件传播,旨在静默记录用户击键、捕获浏览器凭据并监控剪贴板信息。在全球范围内,已发现超过2.8亿次感染尝试,受影响地区包括中国、土耳其、印度尼西亚、台湾和西班牙。 5、9万个WordPress站点面临本地文件包含漏洞攻击 https://www.freebuf.com/vuls/422277.html WordPress的Jupiter X Core插件存在严重安全漏洞,使得超过9万个网站面临本地文件包含(LFI)和远程代码执行(RCE)攻击的风险。该漏洞被追踪为CVE-2025-0366,CVSS评分为8.8(高危),允许具有贡献者权限的攻击者上传恶意的SVG文件并在受影响的服务器上执行任意代码。 6、警惕!利用AI深度伪造视频的新型“自骗”攻击浪潮来袭 https://www.freebuf.com/articles/network/422271.html 近日,一种名为“自骗”的新型攻击手段正在瞄准加密货币爱好者和金融交易者。这种攻击利用AI生成的深度伪造(Deepfake)视频和恶意脚本,标志着社交工程技术的一次危险升级。网络安全公司Gen Digital的研究人员发现,该攻击活动通过利用经过验证的YouTube频道、合成人物形象以及AI制作的恶意载荷,诱使受害者主动破坏自己的系统。 7、雅虎数据泄露事件:黑客兜售60.2万个电子邮件账户 https://www.freebuf.com/articles/database/422266.html 近期,一名化名为“exelo”的黑客涉嫌在地下论坛上兜售一个包含60.28万个雅虎电子邮件账户的数据库。该帖子声称,这些数据是“私密且非俄罗斯来源的”。完整的数据库售价未公开,但卖家据称向感兴趣的买家提供了5万个账户的免费样本作为测试。 8、俄罗斯APT组织利用恶意二维码劫持Signal账户 https://www.freebuf.com/news/422311.html 近日,谷歌威胁情报小组(Google Threat Intelligence Group, GTIG)发布报告称,多个与俄罗斯相关的威胁组织正针对Signal通讯应用发起攻击,目标是俄罗斯情报机构感兴趣的个人用户。专家预测,这种针对Signal的攻击手法将在近期广泛传播,并可能扩展到乌克兰以外的地区。 9、黑客通过漏洞组合攻击获得Palo Alto防火墙的root权限 https://www.freebuf.com/vuls/422270.html Palo Alto Networks PAN-OS软件中一个上周刚修补的高严重性认证绕过漏洞,目前正被威胁攻击者积极利用,以获得受影响防火墙系统的root级别访问权限。该漏洞被追踪为CVE-2025-0108,允许未经认证的攻击者通过网络访问PAN-OS管理网页界面,绕过认证要求。漏洞的严重性评分为CVSS 8.8(满分10分),但仅当允许从互联网上的外部IP地址访问管理网页界面时成立。如果将该访问限制在指定的IP地址,评分则会显著降至5.9,成为一种有效的变通措施。 10、Windows磁盘清理工具漏洞被利用获取系统权限 https://www.anquanke.com/post/id/304552 微软在 2025 年 2 月的 “周二补丁日” 中,修复了 Windows 磁盘清理工具(cleanmgr.exe)存在的一个漏洞。该漏洞编号为 CVE-2025-21420,攻击者可利用此漏洞在存在漏洞的系统上获取 SYSTEM 权限。这个漏洞的通用漏洞评分系统(CVSS)评分为 7.8,给 Windows 用户带来了重大风险。 声明 以上内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景科技观点,因此第三方对以上内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景科技无关。以上内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景科技一律不予承担。
Mongoose 搜索注入漏洞分析
漏洞简介 CVE-2024-53900 Mongoose 8.8.3、7.8.3 和 6.13.5 之前的版本容易受到 $where 运算符不当使用的影响。此漏洞源于 $where 子句能够在 MongoDB 查询中执行任意 JavaScript 代码,这可能导致代码注入攻击以及未经授权的数据库数据访问或操纵。 CVE-2025-23061 Mongoose 8.9.5、7.8.4 和 6.13.6 之前的版本容易受到 $where 运算符不当使用的影响。此漏洞源于 $where 子句能够在 MongoDB 查询中执行任意 JavaScript 代码,可能导致代码注入攻击以及未经授权的数据库数据访问或操纵。该问题的存在是因为CVE-2024-53900的修复不完整。 Mongoose 是一个用于 Node.js 的 MongoDB 对象建模工具,它使得与 MongoDB 数据库交互变得更加简单和高效。我们可以看到这两个漏洞描述大体相同,都是因为在使用 $where 运算符时出现了问题。 环境搭建 安装 MongoDB 不知道是不是本地环境的问题,错误百出,于是还是采用 docker 来安装 docker pull mongo docker run --name mongodb -d -p 27017:27017 mongo 快速创建一个项目并指定 mongoose 版本 npm init -y npm install mongoose@6.13.4 --save node test.js 漏洞复现 根据漏洞特点我编写了一个 js 脚本,在不同版本下执行,比较不同情况对应的结果 const mongoose = require("mongoose"); // 连接 MongoDB const MONGO_URI = "mongodb://localhost:27017/testdb"; async function testWhereInjection() {  await mongoose.connect(MONGO_URI, { useNewUrlParser: true, useUnifiedTopology: true });  // 定义 User 模型和 Post 模型  const UserSchema = new mongoose.Schema({    username: String,    isAdmin: Boolean,    password: String });  const PostSchema = new mongoose.Schema({    title: String,    content: String,    author: { type: mongoose.Schema.Types.ObjectId, ref: 'User' } });  const User = mongoose.model("User", UserSchema);  const Post = mongoose.model("Post", PostSchema);  // 插入测试数据  await User.deleteMany({});  await Post.deleteMany({});    const users = await User.insertMany([   { username: "admin", isAdmin: true, password: "admin123" },   { username: "user1", isAdmin: false, password: "user123" },   { username: "user2", isAdmin: false, password: "user456" } ]);  await Post.insertMany([   { title: "Post 1", content: "Content 1", author: users[0]._id },   { title: "Post 2", content: "Content 2", author: users[1]._id } ]);  console.log("√ 已插入测试数据");  // 1. 正常的 populate 查询  try {    const result = await Post.findOne().populate({      path: 'author',      match: { username: "admin" }   });    console.log("√ 正常 populate 查询结果:", result); } catch (err) {    console.error("× 正常 populate 查询失败:", err.message); }  // 2. 测试 populate match 中的 $where 注入  try {    const result = await Post.findOne().populate({      path: 'author',      match: { $where: "this.isAdmin" }  // 修改这里,去掉 return   });    console.log("√ `$where` populate 查询成功,说明可能存在漏洞:", result); } catch (err) {    console.error("× `$where` populate 查询被拦截:", err.message); }  // 3. 测试深层嵌套的 $where 注入  try {    const result = await Post.findOne().populate({      path: 'author',      match: {        $and: [         { nested: { $where: "this.isAdmin" } }  // 修改这里,去掉 return       ]     }   });    console.log("√ 嵌套 `$where` populate 查询成功,说明可能存在漏洞:", result); } catch (err) {    console.error("× 嵌套 `$where` populate 查询被拦截:", err.message); }  // 4. 测试数组中的 $where 注入  try {    const result = await Post.findOne().populate({      path: 'author',      match: [{ $where: "this.isAdmin" }]  // 修改这里,去掉 return   });    console.log("√ 数组中的 `$where` populate 查询成功,说明可能存在漏洞:", result); } catch (err) {    console.error("× 数组中的 `$where` populate 查询被拦截:", err.message); }  await mongoose.disconnect(); } testWhereInjection().catch(console.error); mongoose@6.13.4 mongoose@6.13.5 mongoose@6.13.6 通过执行结果我们发现,在 mongoose@6.13.4 中,$where 语句可以任意执行语句,经过修复后的 mongoose@6.13.5 中,只能通过嵌套来执行插入的语句,mongoose@6.13.6 已经修复了通过嵌套执行插入语句的问题。 漏洞分析 https://github.com/Automattic/mongoose/compare/6.13.4...6.13.5?diff=split&w=& 第一次进行修复 1. 首先判断 match 是否为一个数组,使用 Array.isArray(match) 进行检查。 2. 如果 match 是一个数组,则使用 for...of 循环遍历数组中的每个元素 item。 3. 对于每个 item,进行以下检查:   如果 item 不为 null (item !\= null),并且 item 对象中存在 $where 属性 (item.$where),则抛出一个 MongooseError 异常,错误信息为 "Cannot use $where filter with populate() match"。这是因为在 populate() 查询中不允许使用 $where 操作符。 4. 如果 match 不是一个数组,则进行另一个判断:   如果 match 不为 null (match !\= null),并且 match 对象中存在 $where 属性 (match.$where !\= null),同样抛出一个 MongooseError 异常,错误信息为 "Cannot use $where filter with populate() match"。 进行 populate() 查询时,防止使用 $where 操作符,检查传入的 match 参数是否包含 $where 属性,无论 match 是一个数组还是一个对象。如果发现 match 中存在 $where 属性,就会抛出一个 MongooseError 异常,提示不能在 populate() 查询中使用 $where 过滤器 https://github.com/Automattic/mongoose/compare/6.13.5...6.13.6?diff=split&w=& 第二次修复 1. 函数接受一个参数 match,表示要检查的对象。 2. 首先进行两个条件判断:   如果 match 为 null 或 undefined,直接返回,不进行后续检查。   如果 match 的类型不是对象,也直接返回,不进行后续检查。 这两个判断是为了避免对非对象类型进行遍历和递归。 3. 使用 Object.keys(match) 获取 match 对象的所有属性键,并使用 for...of 循环遍历每个属性键 key。 4. 对于每个属性键 key,进行以下检查:   如果 key 等于 '$where',表示在 match 对象中发现了 $where 操作符,抛出一个 MongooseError 异常,错误信息为 "Cannot use $where filter with populate() match"。 5. 如果当前属性的值 match[key] 不为 null 或 undefined,并且其类型为对象,则递归调用 throwOn$where 函数,将 match[key] 作为参数传入,对嵌套的对象进行相同的检查。 通过递归调用 throwOn$where 函数,可以对 match 对象进行深度遍历,检查其中是否包含 $where 操作符,无论 $where 操作符位于对象的哪个层级。
网络安全日报 2025年02月20日
1、新型恶意软件FrigidStealer发起网络注入攻击 https://www.proofpoint.com/us/blog/threat-insight/update-fake-updates-two-new-actors-and-new-mac-malware 安全研究团队发布报告,揭示了两种新型网络犯罪组织(TA2726和TA2727)以及针对Mac用户的新型恶意软件FrigidStealer。TA2726和TA2727通过网络注入活动传播恶意软件,利用虚假更新诱饵诱导用户下载恶意程序。FrigidStealer是一种信息窃取程序,能够窃取用户数据并绕过安全检测。此外,网络注入活动的规模不断扩大,攻击者通过流量分发服务(TDS)将用户重定向 2、廉价信息窃取器Infostealer威胁美国关键安全系统 https://www.infostealers.com/article/infostealing-malware-infections-in-the-u-s-military-defense-sector-a-cybersecurity-disaster-in-the-making/ 美国军方及其主要国防承包商,包括洛克希德马丁、波音和霍尼韦尔等机构,受到廉价的Infostealer恶意软件感染。恶意软件通过员工点击恶意链接或下载受感染文件窃取信息,导致VPN凭证、会话Cookie、机密文件以及多因素身份验证数据的泄露。甚至连FBI和政府问责局(GAO)的设备也受到感染。黑客在暗网上以每台 3、Juniper网络发布安全更新修复智能路由器高危漏洞 https://thehackernews.com/2025/02/juniper-session-smart-routers.html 瞻博网络(Juniper Networks)于2025年2月18日发布安全更新,修复了会话智能路由器、会话智能导体和WAN保证路由器中的高危漏洞(CVE-2025-21589)。该漏洞CVSS v3.1评分为9.8,攻击者可利用其绕过身份验证并获取设备管理权限。漏洞影响多个版本,但目前尚未发现恶意利用案例。相关产品用户应尽快升级至修复版本,以确保安全。 4、施乐打印机漏洞可能导致凭据泄露 https://thehackernews.com/2025/02/new-xerox-printer-flaws-could-let.html 安全研究员揭示了施乐VersaLink C7025多功能打印机中的两个高危漏洞,这些漏洞可能被攻击者利用以获取Windows Active Directory凭据。通过回传攻击,攻击者可以重定向身份验证信息或修改SMB/FTP服务器配置,从而窃取敏感数据。尽管攻击需要一定的访问权限,但成功利用漏洞可能导致组织内部网络的广泛破坏,施乐已发布固件更新以修复漏洞。 5、风险投资巨头Insight Partners遭遇网络攻击 https://www.bleepingcomputer.com/news/security/venture-capital-giant-insight-partners-hit-by-cyberattack/ 总部位于纽约的风险投资和私募股权公司Insight Partners披露,其系统在1月16日遭受了一次复杂的社会工程攻击。该公司管理超过900亿美元的资产,并在全球范围内投资了800多家软件和技术初创企业。攻击发生后,Insight Partners立即通知了执法部门,并聘请第三方网络安全专家展开调查。公司表示,攻击者在被发现后已被阻止,且没有证据表明攻击者仍能访问其网络。 6、网络犯罪转向社交媒体,攻击量达历史新高 https://www.helpnetsecurity.com/2025/02/18/cybercriminals-social-media-attacks/ 最新报告显示,2024年在线威胁急剧增加,创下历史新高。仅在10月至12月期间,就拦截了25.5亿次网络威胁,平均每秒高达321次。 7、OpenSSH曝高危漏洞,可引发中间人攻击与DoS攻击 https://www.csoonline.com/article/3827268/openssh-fixes-two-flaws-that-enable-a-man-in-the-middle-attack-and-denial-of-service.html OpenSSH是远程管理Linux和BSD系统的最常用工具,近期修复了两个高危漏洞。其中一个漏洞允许攻击者在特定配置下对OpenSSH客户端发起中间人攻击,冒充服务器以拦截敏感通信;另一个漏洞则可能导致CPU资源耗尽。 8、大规模StaryDobry攻击:伪装游戏安装程序植入挖矿木马 https://thehackernews.com/2025/02/trojanized-game-installers-deploy.html 近期,攻击者通过伪造热门游戏的安装程序,诱骗用户下载并在受感染的Windows主机上植入加密货币挖矿木马。 9、CISA 警告Palo Alto PAN-OS漏洞正在被积极利用 https://www.freebuf.com/news/422206.html 近期,美国网络安全与基础设施安全局(CISA)发布了一则紧急警报,矛头直指帕洛阿尔托网络公司(Palo Alto Networks)防火墙设备所搭载的操作系统 PAN-OS。该系统现正遭受黑客攻击,其存在的一个高严重性身份验证绕过漏洞(CVE-2025-0108)已被黑客们积极利用。 10、勒索风暴来袭!360预警:超500家政企机构惨遭攻击 https://www.anquanke.com/post/id/304514 新年伊始,一场前所未有的勒索病毒风暴却悄然开始席卷各行各业。近期,360数字安全集团基于360安全大模型的全面赋能,监测到共有522个政企机构遭遇勒索攻击;同时,双重或多重勒索模式正逐渐盛行,这一趋势显著加剧了数据泄露的风险,给众多政企机构带来了前所未有的挑战与危机。 声明 以上内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景科技观点,因此第三方对以上内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景科技无关。以上内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景科技一律不予承担。
网络安全日报 2025年02月19日
1、新型Golang后门利用Telegram作为C2通信渠道 https://www.netskope.com/blog/telegram-abused-as-c2-channel-for-new-golang-backdoor 安全研究人员发现了一种新型Golang后门恶意软件,该软件利用Telegram作为其C2通信渠道。尽管该恶意软件似乎仍在开发中,但已具备完整的功能,能够执行多种恶意活动。恶意软件通过Telegram接收命令并执行,如执行PowerShell命令、重新启动自身、截屏(未完全实现)以及自毁。这种利用云应用作为C2通道的方式,使得攻击者能够轻松绕过传统检测机制,同时增加了防御的复杂性。 2、研究人员发现XCSSET macOS恶意软件新变种 https://thehackernews.com/2025/02/microsoft-uncovers-new-xcsset-macos.html 安全研究人员发现了一种名为XCSSET的macOS恶意软件新变种。这是自2022年以来首次重大更新,该变种具备增强的混淆方法、更新的持久性机制和新的感染策略。XCSSET通过感染Apple Xcode项目传播,能够窃取数字钱包、系统信息和文件,并利用透明度、同意和控制(TCC)框架绕过漏洞,截取桌面截图。此次更新还通过下载已签名的dockutil工具,确保恶意软件在每次启动时自动运行。 3、微软修复Azure AI服务和Microsoft账户关键漏洞 https://cyble.com/blog/cve-2025-21415-microsoft-critical-security-risks 微软近日修复了两个关键安全漏洞——CVE-2025-21415和CVE-2025-21396,分别涉及Azure AI人脸服务和Microsoft账户。其中,CVE-2025-21415的CVSS评分为9.9,属于高危的欺骗性身份验证绕过漏洞,攻击者可利用该漏洞远程提升权限,威胁系统机密性和完整性。另一个漏洞CVE-2025-21396的CVSS评分为7.5,源于Microsoft账户中缺少授权检查,可能导致未经授权的权限提升。 4、PHP高危漏洞可导致SQL注入风险 https://securityonline.info/cve-2022-31631-cvss-9-1-critical-php-flaw-exposes-websites-to-sql-injection-attacks/ PHP中发现了一个严重漏洞(CVE-2022-31631),该漏洞的CVSS评分高达9.1,可能导致SQL注入攻击。漏洞影响多个版本的PHP,包括8.0.x(8.0.27之前)、8.1.x(8.1.15之前)和8.2.x(8.2.2之前),主要存在于PDO::quote()函数中。这个漏洞源于整数溢出,导致在处理过长字符串时,PDO::quote()无法正确转义输入,从 5、ChatGPT Operator 遭提示注入攻击,泄露用户隐私数据 https://www.freebuf.com/vuls/422119.html OpenAI 为 ChatGPT Pro 用户打造的前沿研究预览工具 ChatGPT Operator,近来因一个严重漏洞引发关注。该漏洞可通过提示注入攻击,致使敏感个人数据面临泄露风险。 6、安卓新安全功能:通话期间禁止修改敏感设置 https://www.freebuf.com/articles/system/422015.html 谷歌在安卓 16 Beta 2 中推出了一项突破性的安全功能,旨在通过阻止用户在通话期间修改敏感设置来打击电话诈骗。这项功能目前在测试版中上线,可阻止用户启用侧载应用和授予辅助功能权限等设置,而这两者常被诈骗者利用。 7、黑客滥用Microsoft Teams会议邀请窃取用户权限 https://www.freebuf.com/articles/es/422001.html 在一次复杂的网络攻击活动中,代号为Storm-2372的黑客利用Microsoft Teams会议邀请实施“设备代码钓鱼”攻击。自2024年8月以来,该攻击活动已针对欧洲、北美、非洲和中东的政府、非政府组织、IT服务、国防、电信、医疗、教育和能源等领域。微软威胁情报中心(MSTIC)认为,Storm-2372与俄罗斯的利益和手法高度吻合,评估为中等可信度。 8、仿冒 DeepSeek 官方 App 的手机木马病毒被捕获 https://www.ithome.com/0/831/452.htm 近日,国家计算机病毒应急处理中心和计算机病毒防治技术国家工程实验室依托国家计算机病毒协同分析平台,在我国境内捕获发现针对我国用户的仿冒我国国产人工智能大模型“DeepSeek”官方 App 的安卓平台手机木马病毒。 9、微软推出修复华硕蓝屏问题的 BIOS 更新 https://www.anquanke.com/post/id/304455 在安装了一个 BIOS 更新后,更多华硕(ASUS)用户现在可以安装 Windows 11 24H2 系统了,该 BIOS 更新解决了十月份所确认的蓝屏死机(BSOD)问题。 10、AMD 多款嵌入式处理器现安全隐患,官方建议升级固件防范 https://www.anquanke.com/post/id/304437 美国超微半导体公司(AMD)已发布安全更新,以修复其霄龙(EPYC)和锐龙(Ryzen)嵌入式处理器中的多个漏洞,其中一些漏洞可能导致任意代码执行、内存损坏或权限提升。最严重的漏洞的通用漏洞评分系统(CVSS)评分为 7.5 分(高危),并影响到各种系统管理模式(SMM)、安全加密虚拟化(SEV)以及固件组件。 声明 以上内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景科技观点,因此第三方对以上内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景科技无关。以上内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景科技一律不予承担。
第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页