网络安全日报 2024年08月15日
1、SAP严重漏洞可使远程攻击者绕过身份验证 https://support.sap.com/en/my-support/knowledge-base/security-notes-news/august-2024.html 2、研究人员发现AI驱动的Azure Health Bot存在严重漏洞 https://www.tenable.com/blog/compromising-microsofts-ai-healthcare-chatbot-service 研究人员在微软的Azure Health Bot服务中发现了两个安全漏洞,这些漏洞如果被利用,可能允许恶意行为者在客户环境中实现横向移动并访问敏感的患者数据。这些关键问题现已被微软修复。 3、Windows SmartScreen绕过漏洞自3月以来被攻击者利用 https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2024-38213 微软披露了一项被攻击者利用的Mark of the Web(MotW)安全绕过漏洞,并在2024年6月的补丁星期二中进行了修复。该漏洞(CVE-2024-38213)允许攻击者绕过SmartScreen保护。尽管该漏洞可以被未认证的威胁行为者通过低复杂度攻击远程利用,但需要用户交互,使得成功利用变得更加困难。攻击者需要向用户发送恶意文件并说服他们打开它。研究人员发现该漏洞从2024年3月起在野外被利用,并向微软报告。微软在6月的补丁星期二中修补了该漏洞, 4、勒索软件攻击导致Kootenai Health 40多万患者数据泄露 https://www.maine.gov/agviewer/content/ag/985235c7-cb95-4be2-8792-a1252b4f8318/e7d7e967-7420-4ed1-878b-e2f6916c5ad0.html Kootenai Health披露了一起数据泄露事件,导致超过464000名患者的个人信息被3AM勒索软件团伙盗取并泄露。Kootenai Health是位于爱达荷州的非营利医疗服务提供商,运营着该地区最大的医院,提供急诊、手术、癌症治疗、心脏护理和骨科等广泛的医疗服务。 5、英特尔、AMD发布安全补丁修复超过 110 个漏洞 https://www.securityweek.com/chipmaker-patch-tuesday-intel-amd-address-over-110-vulnerabilities/ 英特尔和 AMD 已分别向客户通报其产品中发现并修补的数十个漏洞。 英特尔发布了 43 条新公告,共涵盖约 70 个安全漏洞。其中 9 条公告描述了高严重性漏洞。AMD在周二补丁日发布了 8 条新公告,向客户通报 46 个漏洞。 6、伊朗中央银行及其他伊朗银行遭大规模网络攻击 https://securityaffairs.com/167066/hacking/cyberattack-central-bank-of-iran.html 据伊朗新闻媒体报道,伊朗中央银行 (CBI) 和其他几家银行遭受了重大网络攻击,导致业务中断。 7、特朗普和马斯克连麦直播遭网络攻击 https://www.freebuf.com/news/408606.html 东时间12日晚8时,埃隆·马斯克将对第60届美国总统大选候选人唐纳德·特朗普进行一次连麦直播访谈,并在X平台上通过马斯克和特朗普的个人账号进行现场直播。然而,当直播时间开始用户访问两人的直播间时,系统却提示“此直播间不可用”。直至40多分钟后,直播平台才恢复正常。这次直播延时事故,并非简单的技术故障,而是一次有针对性的网络攻击活动。访谈结束后,马斯克在其X平台账号上发文称X平台遭受了大规模的DDoS攻击。 8、IBM 推出AI网络安全助手用于威胁检测和响应服务 https://www.ithome.com/0/788/072.htm 近日,IBM 宣布在其托管威胁检测和响应服务中引入生成式 AI 功能,供 IBM Consulting (IBM 咨询)的分析人员使用,从而协作客户推进和简化安全运营。 9、俄罗斯黑客访问了英国内政部的电子邮件和数据 https://cybernews.com/security/russian-hackers-accessed-uk-home-offices-emails/ 根据记录,内政部于5月2日向英国数据保护监管机构报告了这一事件。报告称,该部门的企业系统受到了“国家支持的供应商攻击”的影响。 10、Ewon Cosy+工业VPN网关存在严重漏洞 https://industrialcyber.co/industrial-cyber-attacks/critical-vulnerabilities-found-in-ewon-cosy-industrial-vpn-gateways/ 在Ewon Cosy+工业VPN网关中检测到安全漏洞,允许未经身份验证的攻击者获得对设备的root访问权限。通过这种访问和进一步的分析,SySS GmbH的研究人员发现了更多允许解密加密固件文件和加密数据(如配置文件中的密码)的问题。 声明 以上内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景科技观点,因此第三方对以上内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景科技无关。以上内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景科技一律不予承担。
MFC框架软件逆向研究
MFC框架简介 什么是mfc? MFC库是开发Windows应用程序的C++接口。MFC提供了面向对象的框架,采用面向对象技术,将大部分的Windows API 封装到C++类中,以类成员函数的形式提供给程序开发人员调用。 简单来说,MFC是一种面向对象,用于开发windows应用程序的框架,突出特点是封装了大部分windows API,便于开发人员使用(写win挂方便)。 MFC程序的运行过程分为以下四步: 利用全局应用程序对象theApp启动应用程序。 调用全局应用程序对象的构造函数,从而调用基类(CWinApp)的构造函数,完成应用程序的一些初始化工作,并将应用程序对象的指针保存起来。 进入WinMain函数。在AfxWinMain函数中获取子类的指针,利用指针实现上述的三个函数,从而完成窗口的创建注册等工作。 进入消息循环,一直到WM_QUIT。 那么问题来了,我们如何逆向mfc程序呢?因为其封装了大部分windows API,逆向起来也复杂了不少,因为需要了解大量的windows api 并且熟悉windows编程。下面进行讲解。 MFC如何逆向 如下图,是MFC框架软件的基本界面,可以看到,就是一堆button,主要逆向也是check button。 那么,对于MFC逆向,我们主要需要知道的是,当我们执行某个操作(点击某个按钮)的时候,程序会执行什么处理函数。在mfc中,程序是使用消息机制来实现操作响应的,这个是消息映射表的代码: struct AFX_MSGMAP{    AFX_MSGMAP * pBaseMessageMap;    AFX_MSGMAP_ENTRY * lpEntries; } struct AFX_MSGMAP_ENTRY{    UINT nMessage;    //Windows Message    UINT nCode        //Control code or WM_NOTIFY code    UINT nID;         //control ID (or 0 for windows messages)    UINT nLastID;     //used for entries specifying a range of control id's    UINT nSig;        //signature type(action) or pointer to message    AFX_PMSG pfn;     //routine to call (or specical value) } 其中这个AFX_MSGMAP_ENTRY中的最后一个成员AFX_PMSG就是一个函数指针,指向了当前控件绑定的函数。同时,这个nID成员描述的是当前控件的ID,利用这个ID就能确定我们所寻找的控件。然后这个AFX_MSGMAP结构体则会记录一个指向AFX_MSGMAP_ENTRY的指针,于是查找控件的注册函数的思路可以缩小为: 找到AFX_MSGMAP 找到控件的ID --- 关键就是找ID 那么,我们又该怎么找到控件ID呢,俗话说“工欲善其事,必先利其器”,作为逆向分析人员,肯定要选择好分析的工具了,很庆幸,我们站在巨人的肩膀上,针对mfc软件程序的逆向分析,前辈们已经开发了一些非常好用的小工具,我们可以直接使用它们。例如: xspy ResourceHacker 彗星小助手 其中我们主要用的是xspy,mfc分析利器如下图所示 逆向实验-以CTF赛题为例讲解 demo1 - MFC初探 打开程序软件 程序的标题Flag就在控件中,然后界面内容是让我们找一个key。很明显,我们需要找到两个东西 标题找Flag(也就是找窗口句柄) 内容找key 根据这些内容,告诉我们我们去找控件,然后这时候就要掏出xspy了。不然的话,我们如果使用老一套经典分析流程,die+ida对用架构分析,会发生下面这样的事。首先die查个架构,查个壳 好家伙,VMP壳,PE32ida走起,如下图,emmm.... 这样的话,我们很难继续往下分析,所以我们使用xspy分析。使用方法如下图 首先我们找到了Flag_enc(944c8d100f82f0c18b682f63e4dbaa207a2f1e72581c2f1b)我们知道特定的,窗口句柄叫 HWND 然后我们可以发现一条特殊的onMsgOnMsg:0464,func= 0x00402170(MFC1.exe+ 0x002170 )为什么特殊呢,因为只有它并不是以宏的形式出现,应该是作者自定义的消息,没有button等东西,所以程序怎么点击都无法触发任何效果;并且传入一个特殊数字0464,来触发效果。 那么,我们需要去发送这条消息来出发func函数以获取我们需要的key #include<Windows.h> #include<stdio.h> int main() { HWND h = FindWindowA(NULL, "Flag就在控件里"); if (h) { SendMessage(h, 0x0464, 0, 0); printf("success"); } else printf("failure"); } 使用 API FindWindow 获取窗口句柄,SendMessage发送消息,得到了key{I am a Des key} 最后DES解密即可 flag{thIs_Is_real_kEy_hahaaa} Junk_instruction-西湖论剑 下面,再讲解一道大型比赛的赛题来实验打开,看到这个朴素的界面可以鉴定是MFC框架。 我们看到了一个input,还有一个check button,很明显,我们首先就需要去找check button的id&注册函数。 xspy-MFC分析 check按钮的id为03e9,同时窗口存在OnCommand: notifycode=0000 id=03e9,func= 0x00C72420(Junk_Instruction.exe+ 0x002420 )函数。那么对应的check逻辑肯定在基址+偏移0x002420处。打开ida,找到check函数 sub_402420 ,如下图 可以看到有一个条件判断:if ( (unsigned __int8)sub_402600(v2 + 16) )。一眼顶针,两个分支分别是弹出正确和错误的对话框,为什么呢?if else函数体内容基本一样。当然我们还是动态调试一下 所以enc函数很明显就是sub_402600这个函数中就出现了很多垃圾指令了,也就对应上题目名称Junk_instruction了。 去花-IDA分析 爆红 花指令,经典call $+5起手,就是先用一个call压好返回地址,再把栈里的返回地址弹出来,改一下,压回去,如此反复。去掉也很简单,我们把下述累死指令块全部nop掉即可,有好几处,一模一样。 当然,我们使用idapython脚本自动去花    from ida_bytes import get_bytes, patch_bytes    import re    addr = 0x402600    end = 0x402fe3    buf = get_bytes(addr, end-addr)    def nopp(s):        s = s.group(0)        print("".join(["%02x"%i for i in s]))        s = b"\x90"*len(s)        return s    pattern  = b"\xe8\x00\x00\x00\x00\x58\x89.*?\xc3.*?\x22"    buf = re.sub(pattern , nopp, buf, flags=re.I)    patch_bytes(addr, buf)    print("Done") 加密 去除花指令,简单审计发现是对程序进行RC4加密,最后还对输入进行了个倒叙 去花后,整理一下,代码如下 char __thiscall sub_402600(void *this, int a2) {  const WCHAR *v2; // eax  void *v3; // eax  char v5[511]; // [esp+9h] [ebp-4BBh] BYREF  int v6; // [esp+208h] [ebp-2BCh]  char *v7; // [esp+20Ch] [ebp-2B8h]  int v8; // [esp+210h] [ebp-2B4h]  size_t Count; // [esp+214h] [ebp-2B0h]  int v10; // [esp+218h] [ebp-2ACh]  size_t v11; // [esp+21Ch] [ebp-2A8h]  char *v12; // [esp+220h] [ebp-2A4h]  char *v13; // [esp+224h] [ebp-2A0h]  int v14; // [esp+228h] [ebp-29Ch]  char v15[4]; // [esp+22Ch] [ebp-298h] BYREF  char *Source; // [esp+230h] [ebp-294h]  void *v17; // [esp+234h] [ebp-290h]  char cipher[32]; // [esp+238h] [ebp-28Ch]  const char *v19; // [esp+258h] [ebp-26Ch]  char *v20; // [esp+25Ch] [ebp-268h]  int i; // [esp+260h] [ebp-264h]  char *p_Destination; // [esp+264h] [ebp-260h]  char v23; // [esp+26Dh] [ebp-257h]  char v24; // [esp+26Eh] [ebp-256h]  char v25; // [esp+26Fh] [ebp-255h]  char v26[28]; // [esp+270h] [ebp-254h] BYREF  char v27[256]; // [esp+28Ch] [ebp-238h] BYREF  char key[256]; // [esp+38Ch] [ebp-138h] BYREF  char Destination; // [esp+48Ch] [ebp-38h] BYREF  char v30[39]; // [esp+48Dh] [ebp-37h] BYREF  int v31; // [esp+4C0h] [ebp-4h]  v17 = this;  v31 = 3;  cipher[0] = 91;  cipher[1] = -42;  cipher[2] = -48;  cipher[3] = 38;  cipher[4] = -56;  cipher[5] = -35;  cipher[6] = 25;  cipher[7] = 126;  cipher[8] = 110;  cipher[9] = 62;  cipher[10] = -53;  cipher[11] = 22;  cipher[12] = -111;  cipher[13] = 125;  cipher[14] = -1;  cipher[15] = -81;  cipher[16] = -35;  cipher[17] = 118;  cipher[18] = 100;  cipher[19] = -80;  cipher[20] = -9;  cipher[21] = -27;  cipher[22] = -119;  cipher[23] = 87;  cipher[24] = -126;  cipher[25] = -97;  cipher[26] = 12;  cipher[27] = 0;  cipher[28] = -98;  cipher[29] = -48;  cipher[30] = 69;  cipher[31] = -6;  v2 = (const WCHAR *)sub_401570(&a2);  v14 = sub_4030A0(v2);  v10 = v14;  v3 = (void *)sub_401570(v14);  sub_403000(v3);  sub_4012A0(v15);  Source = (char *)unknown_libname_1(v26);  v20 = Source;  v13 = Source + 1;  v20 += strlen(v20);  v11 = ++v20 - (Source + 1);  Count = v11;  Destination = 0;  memset(v30, 0, sizeof(v30));  strncpy(&Destination, Source, v11);  if ( sub_402AF0(&Destination) ) {    v23 = 0;    v25 = 0; LABEL_7:    v24 = v25; }  else {    strcpy(key, "qwertyuiop");                  // key    memset(&key[11], 0, 0xF5u);    memset(v27, 0, sizeof(v27));    memset(v5, 0, sizeof(v5));    v19 = key;    v7 = &key[1];    v19 += strlen(v19);    v6 = ++v19 - &key[1];    RC4_init((int)v27, key, v19 - &key[1]);     // RC4_init    p_Destination = &Destination;    v12 = v30;    p_Destination += strlen(p_Destination);    v8 = ++p_Destination - v30;    RC4_crypt((int)v27, (int)&Destination, p_Destination - v30);// RC4_crypto    for ( i = 31; i >= 0; --i )   {      if ( v30[i - 1] != cipher[i] )            // 倒叙     {        v25 = 0;        goto LABEL_7;     }   }    v24 = 1; }  LOBYTE(v31) = 0;  sub_403060(v26);  v31 = -1;  sub_4012A0(&a2);  return v24; } 解密 首先提取密文,利用插件Lazy_ida 5BD6D026C8DD197E6E3ECB16917DFFAFDD7664B0F7E58957829F0C009ED045FA key-->qwertyuiop cyberchef 得解 flag{973387a11fa3f724d74802857d3e052f}
网络安全日报 2024年08月14日
1、韩国称朝鲜黑客窃取K2坦克和侦察机技术数据 https://www.hankyung.com/article/202408078398i 2024年8月12日,韩国执政党国民力量党(PPP)宣称朝鲜黑客窃取了关于韩国K2主战坦克以及“白头”和“金刚”侦察机的重要技术信息。据当地媒体报道,K2坦克数据泄露发生在其零部件制造商的工程师跳槽至竞争公司时,这些工程师带走了设计蓝图、开发报告和过压系统的详细信息。新雇主试图将这项技术出口到中东国家,因此泄露问题可能已超出韩国范围。关于白头和金刚侦察机,《东亚日报》报道称,生产包括这两架侦察机在内的军事设备操作和维护手册的韩国防务承包商被朝鲜黑客入侵。黑客窃取了两架侦察机的重要技术数据,包括技术细 2、 黑客假冒乌克兰安全局感染100台政府电脑 https://cert.gov.ua/article/6280345 乌克兰计算机应急响应小组(CERT-UA)披露,攻击者假冒乌克兰安全局(SSU)通过恶意垃圾邮件攻击该国政府机构的系统,成功感染了超过100台电脑,安装了AnonVNC恶意软件。这些攻击始于7月12日,攻击者利用带有链接的电子邮件,将收件人引导至一个名为Documents.zip的压缩文件,实则是下载一个包含恶意软件的Windows安装程序MSI文件。CERT-UA表示,这些攻击使得被追踪为UAC-0198的威胁组织能够秘密访问被妥协的电脑,尽管未提供恶意软件的具体功能描述。CERT-UA已确认超过100台受影响的电脑, 3、澳大利亚黄金生产商Evolution Mining遭遇勒索软件攻击 https://evolutionmining.com.au/storage/2024/08/2759355-Cyber-Security-Incident.pdf 澳大利亚著名黄金生产商Evolution Mining遭遇勒索软件攻击,导致其IT系统受到影响。该公司已聘请外部网络安全专家进行修复,目前攻击已被完全遏制。Evolution Mining是澳大利亚最大的黄金生产商之一,尽管此次勒索软件攻击对IT系统造成了干扰,但公司表示这不会对运营产生实质性影响。这表明,攻击者可能未加密任何系统或未攻击生产关键的工作站,矿业运营将继续不受影响。澳大利亚网络安全中心已被通知此次事件。截至目前,尚 4、FBI关闭了攻击了数十家公司的"Radar"勒索软件的服务器 https://www.fbi.gov/contact-us/field-offices/cleveland/news/international-investigation-leads-to-shutdown-of-ransomware-group?7194ef805fa2d04b0f7e8c9521f97343 FBI克利夫兰分局宣布成功破获了由网名“Brain”领导的勒索软件组织“Radar/Dispossessor”,并拆除了三台美国服务器、三台英国服务器、十八台德国服务器、八个美国域名和一个德国域名。自2023年8月成立以来,Radar/Dispossessor迅速发展成为一个国际 5、东谷理工学院数据泄露影响20万人 https://www.maine.gov/agviewer/content/ag/985235c7-cb95-4be2-8792-a1252b4f8318/e1ddfb24-c68c-48f2-9b14-79b5bb76048d.html 东谷理工学院(EVIT)通知超过200000名个人,他们的个人和健康信息在最近的数据泄露事件中被泄露。此次事件发生于1月9日,当时威胁行为者未经授权访问了EVIT的网络,获取了当前和前学生、教职员工及家长的敏感信息。可能被泄露的信息包括姓名、地址、电子邮件地址、社会安全号码、出生日期、驾驶执照、学生证号码、种族/民族信息、账户号码、医疗信息、助学金信息以 6、微软警告称六个 Windows 零日漏洞正被积极利用 https://www.securityweek.com/microsoft-warns-of-six-windows-zero-days-being-actively-exploited/ 微软周二警告称,Windows 系统中存在六个被积极利用的安全缺陷,微软的安全响应团队发布了有关 Windows 和操作系统组件中近 90 个漏洞的文档,并标记了多个属于主动利用类别的漏洞。 7、多款AMD CPU 受Sinkclose漏洞影响,AMD称不易被利用 https://www.securityweek.com/amd-says-new-sinkclose-cpu-vulnerability-only-affects-seriously-breached-systems/ 网络安全研究公司 IOActive 披露了影响 AMD 处理器的新漏洞的细节,但该芯片巨头指出,该漏洞不易被利用。 该漏洞被称为Sinkclose,编号为 CVE-2023-31315,针对的是系统管理模式 (SMM),这是 x86 处理器中用于低级系统管理功能的高权限操作模式。 据 IOActive 称,Sinkclose 漏洞已存在近二十年,可让攻击者获得对目标系统的深 8、NIST 正式公布后量子密码标准 https://www.securityweek.com/post-quantum-cryptography-standards-officially-announced-by-nist-a-history-and-explanation/ NIST 正式发布了其举办的竞赛中的三项后量子密码标准,旨在开发能够承受当前非对称加密预期的量子计算解密的密码技术。 9、针对严重 Ivanti vTM 漏洞的 PoC 代码现已发布 https://securityaffairs.com/166991/hacking/ivanti-virtual-traffic-manager-flaw.html Ivanti 解决了一个严重的身份验证绕过漏洞,编号为 CVE-2024-7593(CVSS 评分为 9.8),该漏洞影响虚拟流量管理器 (vTM) 设备,可能允许攻击者创建恶意管理员帐户。 10、《联合国打击网络犯罪公约》顺利通过 https://www.secrss.com/articles/69016 纽约时间8月8日下午,联合国打击网络犯罪公约特委会顺利通过公约草案。公约系网络领域首个由联合国主持制定的普遍性国际公约,将在全球范围内为打击网络犯罪国际合作提供法律框架,对网络空间国际法发展也有重大意义。 声明 以上内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景科技观点,因此第三方对以上内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景科技无关。以上内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景科技一律不予承担。
网络安全日报 2024年08月13日
1、 恶意PyPI库Solana用户窃取区块链钱包密钥 https://www.sonatype.com/blog/an-ideal-pypi-typosquat-solana-py-is-here-to-steal-your-crypto-keys 2024年8月11日,研究人员发现了一个新的恶意软件包,该包在Python软件包索引(PyPI)上伪装成Solana区块链平台的库,旨在窃取用户的钱包密钥。研究人员发布的报告中指出,这个恶意包名为“solana-py”,而真正的Solana Python API项目在GitHub上称为“solana-py”,在PyPI上则为“solana”。恶意“solana-py”包自2024年8月4日发布以来, 2、勒索软件组织Rhysida声称窃取两家医疗系统数据 https://www.govinfosecurity.com/rhysida-claims-major-data-theft-from-2-more-health-systems-a-25997 勒索软件组织Rhysida宣称对两家新的医疗系统——Bayhealth和Community Care Alliance(CCA)进行了大规模数据盗窃。Rhysida威胁将患者的敏感健康和个人信息在暗网上出售或公开。位于特拉华州的非营利医疗系统Bayhealth拥有多家医院、4000名员工和650名医生及其他临床医护人员。Rhysida声称窃取了Bayhealth患者的个人信息,并要求支付25个比特 3、谷歌Quick Share文件传输工具中存在数十个安全漏洞 https://www.safebreach.com/blog/rce-attack-chain-on-quick-share 研究人员在Google的Quick Share数据传输工具中发现了多达10个安全漏洞,这些漏洞可被组合利用,触发远程代码执行(RCE)链,从而在安装该软件的系统上运行任意代码。Quick Share是一种点对点文件共享工具,允许用户在Android设备、Chromebook和Windows桌面及笔记本电脑之间传输文件。研究人员通过分析Quick Share的协议,发现了9个影响Windows版本和1个影响Android版本的漏洞。这些漏洞包括6个远程拒绝服务(DoS 4、微软发现OpenVPN漏洞链可实现远程代码执行和权限提升 https://www.microsoft.com/en-us/security/blog/2024/08/08/chained-for-attack-openvpn-vulnerabilities-discovered-leading-to-rce-and-lpe/ 微软研究人员在Black Hat USA 2024大会上披露了OpenVPN中的四个中等严重性漏洞,这些漏洞可以被组合利用,达成远程代码执行(RCE)和本地权限提升(LPE)。OpenVPN是一款开源软件,提供建立虚拟专用网络(VPN)连接的安全灵活方式。根据微软发布的报告,攻击者可以利用这些漏洞对目标端点进行全面控制,可能导 5、Ewon Cosy+工业远程访问工具存在多个漏洞易受攻击 https://blog.syss.com/posts/hacking-a-secure-industrial-remote-access-gateway/ 研究人员披露了Ewon Cosy+工业远程访问解决方案中的多个安全漏洞,这些漏洞可被滥用以获取设备的root权限,并策划后续攻击。攻击者可以利用持久性跨站脚本(XSS)漏洞以及设备在未受保护的名为credentials的cookie中存储Base64编码的当前Web会话凭据,从而获得管理访问权限并最终获取root权限。未认证的攻击者通过结合这些漏洞并等待管理员用户登录设备,即可获得root访问权限。这条攻击链可以进一步扩展来设置持久性、 6、微软警告未修补的Office漏洞将导致数据泄露 https://msrc.microsoft.com/update-guide/vulnerability/CVE-2024-38200 微软披露了一个未修补的Office零日漏洞(CVE-2024-38200),如果成功利用,可能导致敏感信息泄露给恶意行为者。该漏洞的CVSS评分为7.5,被描述为一种欺骗漏洞。研究人员发现并报告了该漏洞。微软在公告中表示,在基于网络的攻击场景中,攻击者可以托管含有特制文件的网站(或利用被攻陷的网站),该文件旨在利用此漏洞。然而,攻击者无法强迫用户访问网站,而是需要通过电子邮件或即时消息引诱用户点击链接并打开特制文件。微软预计将在8月13日发布正式补丁,但已 7、FreeBSD 发布针对高危OpenSSH 漏洞的紧急补丁 https://thehackernews.com/2024/08/freebsd-releases-urgent-patch-for-high.html FreeBSD 项目的维护人员发布了安全更新,以解决 OpenSSH 中的一个高严重性漏洞,攻击者可能利用该漏洞以提升的权限远程执行任意代码。该漏洞的编号为CVE-2024-7589,CVSS 评分为 7.4(满分 10.0),表明该漏洞的严重性极高。 8、EastWind 攻击活动利用复杂的后门针对俄罗斯组织 https://securityaffairs.com/166924/apt/eastwind-campaign-targets-russian-organizations.html 一项名为 EastWind 的活动利用 PlugY 和 GrewApacha 后门针对俄罗斯政府和 IT 组织。 9、1Password mac版存在严重漏洞,可能允许黑客窃取用户密码 https://www.helpnetsecurity.com/2024/08/09/cve-2024-42219-cve-2024-42218 AgileBits 已确认,影响流行的 1Password 密码管理器 macOS 版本的两个漏洞 (CVE-2024-42219、CVE-2024-42218) 可能允许恶意软件窃取存储在软件保险库中的secrets并获取帐户解锁密钥。 10、研究称AI 模型在从暗网论坛收集威胁情报的准确率达98% https://cybersecuritynews.com/ai-model-achieve-98-accuracy-in-collecting-threat-intelligence/ 在最近的一项研究中,蒙特利尔大学和 Flare Systems 的研究人员证明,大型语言模型 (LLM) 可以从网络犯罪论坛中准确提取关键的网络威胁情报 (CTI),准确率高达 98%。这些研究结果发表在一份白皮书中,强调了人工智能在加强网络安全工作方面的巨大潜力。 声明 以上内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景科技观点,因此第三方对以上内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景科技无关。以上内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景科技一律不予承担。
游戏安全入门-扫雷分析&远程线程注入
前言 无论学习什么,首先,我们应该有个目标,那么入门windows游戏安全,脑海中浮现出来的一个游戏 -- 扫雷,一款家喻户晓的游戏,虽然已经被大家分析的不能再透了,但是我觉得自己去分析一下还是极好的,把它作为一个小目标再好不过了。 我们编写一个妙妙小工具,工具要求实现以下功能:时间暂停、修改表情、透视、一键扫雷等等。 本文所用工具: Cheat Engine、x32dbg(ollydbg)、Visual Studio 2019 扫雷游戏分析 游戏数据在内存中是地址,那么第一个任务,找内存地址 打开CE修改器 修改时间->时间暂停 计数器的时间是一个精确的值,所以我们通过精确数值扫描出来,游戏开始之前计数器上的数是0,所以我们扫描0。 时间在变化,选择介于什么数值之间再次扫描 可得 0x100579c --- winmine.exe+579C 我们发现这个数据都是直接通过基址 + 固定偏移能直接得到的。 然后我们对数据去找 是什么改写了这个地址,得到一个指令和指针: 时间:0x100579c 修改表情 - 没啥用 修改表情这个功能怎么搞我觉得还是很容易想到的,这个按钮的作用是重新开始游戏,开始游戏,游戏胜利,游戏失败。 (表情的状态被分成了两个变量(4byte)来控制) 所以它是一种状态,所以我们通过0和1进行扫描,游戏进行状态输入1进行扫描,还原游戏之后输入0进行扫描。 首先是游戏进行状态,输入1进行扫描 再点击表情,将游戏还原,输入0开始扫描 如此反复进行扫描,得到表情的内存地址 0x1005164 -- winmine.exe+5164 但是嘞,修改成2或者3,表情没有心得反应,所以控制游戏胜利和游戏失败的是其他的地址,我们知道,一般来说,一个功能的代码在内存中基本上都是连续的,(就像你修改一个游戏的血量,浏览血量内存块,你可以发现怒气,蓝量等内存地址) 所以,我们浏览内存 0x1005164-4 = 0x1005160 修改为3,发现出现了戴墨镜的表情(游戏胜利) 但是这个胜利知识一个状态,并不能说明扫雷完成. 表情:0x1005160与0x1005164 透视 - 显示雷区 思考游戏结束的时候会自动显示所有的雷,因此我们动态调试,看看在哪个函数调用之后会显示所有的雷 经过几次的动态调试之后发现:0x2F80函数是我们要找的结果。 一键扫雷 通过透视,我们玩一把游戏,使得游戏胜利(点完最后一个) 然后后两个函数,是破纪录跟英雄榜的函数 ret来到了这儿,游戏通关了,来到了这儿,可以知道,这个0x347c就是判断输赢的函数 并且通过调试发现由一个参数 0 1 来控制,所以跟透视差不多,带个参数线程回调就完了 编写妙妙小工具 怎么实现这个工具呢,当然是选择DLL注入 那么dll 怎么注入进去呢,这里选择远程线程注入 这里先简单介绍下什么是远程线程注入 前置知识-动态调用dll 主要就是这几个个 API: LoadLibraryA 加载指定 DLL 并返回模块句柄,参数为字符串,就是 dll 的路径。 GetProcAddress 获取指定 dll 的导出函数的地址。 第一个参数是模块句柄,第二个参数是模块函数,返回值为函数的地址。 通过这两个函数,我们可以拿到所有函数的地址,然后就能进行调用。 CreateThread - 远程线程注入 里面几乎只有一个参数,那就是线程回调函数,然后当然还有返回地址,返回线程 id 啥的,这里我们都可以不用管,几乎是与 Linux 的创建线程函数一致。 还有一个远程版本的叫 CreateRemoteThread,它可以给别的进程创建一个线程并可以在本进程创建那个进程调用的回调函数。我们可以在回调函数中加载指定的 dll,在 dllmain 的入口当中,有一个 switch 的四个选项。 // dllmain.cpp : 定义 DLL 应用程序的入口点。 #include "pch.h" BOOL APIENTRY DllMain( HMODULE hModule,//指向自身的句柄                       DWORD  ul_reason_for_call,//调用原因                       LPVOID lpReserved//隐式加载or显式加载                     ) {    switch (ul_reason_for_call)   {    case DLL_PROCESS_ATTACH://附加到进程上时执行    case DLL_THREAD_ATTACH://附加到线程上时执行    case DLL_THREAD_DETACH://从线程上剥离时执行    case DLL_PROCESS_DETACH://从进程上剥离时执行        break;   }    return TRUE; } 我们可以在 DLL_PROCESS_ATTACH 的选项中加入代码,让它在加载的时候调用执行。 那么我们的步骤是: 打开指定进程获得句柄 开辟远程进程的空间,分配可读可写段。 调用 WriteProcessMemory 将 dll 路径写入该内存区域。 创建远程线程,回调函数使用 LoadLibrary 加载指定 dll。 等待返回(loadLibrary返回) 释放空间 释放句柄 返回结果 demo: void Inject(DWORD ProcessId, const char* szPath) {    //1.打开目标进程获取句柄    HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, ProcessId);    printf("进程句柄:%p\n", hProcess);    //2.在目标进程体内申请空间    LPVOID lpAddress = VirtualAllocEx(hProcess, NULL, 0x100, MEM_COMMIT | MEM_RESERVE, PAGE_READWRITE);    //3.写入DLL路径    SIZE_T dwWriteLength = 0;    WriteProcessMemory(hProcess, lpAddress, szPath, strlen(szPath), &dwWriteLength);    //4.创建远程线程,回调函数使用 LoadLibrary 加载指定 dll    HANDLE hThread = CreateRemoteThread(hProcess, NULL, NULL, (LPTHREAD_START_ROUTINE)LoadLibraryA, lpAddress, NULL, NULL);    //5.等待返回(loadLibrary返回)    WaitForSingleObject(hThread, -1);    //6.释放空间    VirtualFreeEx(hProcess, lpAddress, 0, MEM_RELEASE);    //7.释放句柄    CloseHandle(hProcess);    CloseHandle(hThread);    //返回结果    AfxMessageBox(L"完成"); } 编写DLL注入器 #include<windows.h> #include<iostream> #include<time.h> #include<stdlib.h> #include<TlHelp32.h> DWORD FindProcess() {    HANDLE hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);    PROCESSENTRY32 pe32;    pe32 = { sizeof(pe32) };    BOOL ret = Process32First(hSnap, &pe32);    while (ret)   {        if (!wcsncmp(pe32.szExeFile, L"mine.exe", 11)) {            printf("Find winmine.exe Process %d\n", pe32.th32ProcessID);            return pe32.th32ProcessID;       }        ret = Process32Next(hSnap, &pe32);   }    return 0; } void Inject(DWORD ProcessId, const char* szPath) {    //1.打开目标进程获取句柄    HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, ProcessId);    printf("进程句柄:%p\n", hProcess);    //2.在目标进程体内申请空间    LPVOID lpAddress = VirtualAllocEx(hProcess, NULL, 0x100, MEM_COMMIT | MEM_RESERVE, PAGE_READWRITE);    //3.写入DLL路径    SIZE_T dwWriteLength = 0;    WriteProcessMemory(hProcess, lpAddress, szPath, strlen(szPath), &dwWriteLength);    //4.创建远程线程,回调函数使用 LoadLibrary 加载指定 dll    HANDLE hThread = CreateRemoteThread(hProcess, NULL, NULL, (LPTHREAD_START_ROUTINE)LoadLibraryA, lpAddress, NULL, NULL);    //5.等待返回(loadLibrary返回)    WaitForSingleObject(hThread, -1);    //6.释放空间    VirtualFreeEx(hProcess, lpAddress, 0, MEM_RELEASE);    //7.释放句柄    CloseHandle(hProcess);    CloseHandle(hThread); } int main() {    DWORD ProcessId = FindProcess();    while (!ProcessId) {        printf("未找到扫雷程序,等待两秒中再试\n");        Sleep(2000);        ProcessId = FindProcess();   }    printf("开始注入进程...\n");    Inject(ProcessId, "E:\\CODE\\wimine\\Mine\\release\\Mine.dll");    printf("注入完毕\n"); } 编写DLL 这里我们采用MFC DLL 基于对话框 (dialog)的方式编写(简单),使用静态编译的方式 然后我们需要在资源窗体,新建一个 Dialog ,简单包装一个界面 这样我们在加载窗体的时候需要创建一个窗体类对象用它的 DoModal 方法去显示,用线程回调的方式加载并且初始化InitInstance DWORD WINAPI DlgThreadCallBack(LPVOID lp) {    MineDlg* Dlg;    Dlg = new MineDlg();    Dlg->DoModal();    delete Dlg;    FreeLibraryAndExitThread(theApp.m_hInstance, 1);    return 0; } // CMineApp 初始化 BOOL CMineApp::InitInstance() {    CWinApp::InitInstance();   ::CreateThread(NULL, NULL, DlgThreadCallBack, NULL, NULL, NULL);    return TRUE; } 时间暂停 上面我们找到了它控制时间增加的指令,我们把它们全部 NOP 掉,就可以实现时间暂停 写两个按钮,创建下面的事件实现时间暂停开关。 DWORD GetBaseAddr() {    HMODULE hMode = GetModuleHandle(nullptr);    //LPWSTR s = (LPWSTR)malloc(0x100);    //wsprintf(s, L"基址:%p", hMode);    //AfxMessageBox(s);    return (DWORD)hMode; } void MineDlg::OnBnClickedButton1() // 时间暂停 {    // TODO: 在此添加控件通知处理程序代码    auto BaseAddr=GetBaseAddr();    DWORD TimeOffset = 0x579C;    DWORD TimeInsOffset = 0x2FF5;    DWORD InsLen = 6;    DWORD old;    VirtualProtect((void*)(BaseAddr + TimeInsOffset), InsLen, PAGE_EXECUTE_READWRITE, &old);    BYTE INS[] = { 0x90,0x90,0x90,0x90,0x90,0x90 };    memcpy((void *)(BaseAddr + TimeInsOffset), INS, InsLen);    VirtualProtect((void*)(BaseAddr + TimeInsOffset), InsLen, old, &old); } void MineDlg::OnBnClickedButton2() // 恢复字节即可取消时间暂停 {    // TODO: 在此添加控件通知处理程序代码    auto BaseAddr = GetBaseAddr();    DWORD TimeOffset = 0x579C;    DWORD TimeInsOffset = 0x2FF5;    DWORD InsLen = 6;    DWORD old;    VirtualProtect((void*)(BaseAddr + TimeInsOffset), InsLen, PAGE_EXECUTE_READWRITE, &old);    BYTE INS[] = { 0xFF,0x05,0x9C,0x57,0x00,0x01 };    memcpy((void*)(BaseAddr + TimeInsOffset), INS, 6);    VirtualProtect((void*)(BaseAddr + TimeInsOffset), InsLen, old, &old); } 测试 透视 经过上面动态调试我们得出结论:0x2F80函数是踩雷函数。 我们如果调用这个函数,是不是就能够实现透视了呢? 我们依旧采取线程回调的方式 void MineDlg::OnBnClickedButton3() {    // TODO: 在此添加控件通知处理程序代码    DWORD ESPOffset = 0x2f80;    DWORD FuncAddr = GetBaseAddr() + ESPOffset;    // 创建不带参数的线程    CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)FuncAddr, NULL, 0, NULL); } 测试 一键扫雷 跟透视差不多,只不过创建带参数的线程回调 void MineDlg::OnBnClickedButton4() {    // TODO: 在此添加控件通知处理程序代码    DWORD ESPOffset = 0x347C;    DWORD FuncAddr = GetBaseAddr() + ESPOffset;    //创建带参数的线程    struct { int a; } s = { 0 };    CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)FuncAddr, &s, NULL, NULL); } 测试 总结 通过这个小项目,对WIN游戏安全有初步的认识,并且加强对软件的逆向思维,增强动态调试的能力,找到软件关键的基地址,通过CE修改器,初步pojie软件,了解软件的状态,修改时间(时间暂停等等),理解几个重要的API,FindWindow获取句柄,WriteProcessMemory写入内存信息,LoadLibraryA加载指定 DLL 并返回模块句柄,GetProcAddress,获取指定 dll 的导出函数的地址,CreateThread 线程回调函数等等。多写,多做,多调,多实验,加油,互勉。
网络安全日报 2024年08月12日
1、 Rhysida勒索软件团伙入侵特拉华州Bayhealth医院 https://securityaffairs.com/166749/cyber-crime/rhysida-ransomware-bayhealth-hospital.html Rhysida勒索软件团伙声称已入侵特拉华州的Bayhealth医院,并在其Tor泄漏网站上列出该医院为受害者。Bayhealth是一家技术先进的非营利性医疗系统,拥有近4000名员工和超过450名医生及200名高级执业临床医生。Rhysida团伙声称已从医院窃取数据,并要求25个比特币以避免泄露。该团伙泄露了被盗护照和身份证的截图作为入侵证明。该团伙表示:“只剩7天时间,抓住机会竞标独特且令人印象深刻的数据。准备 2、Nexera DeFi协议遭黑客攻击致180万美元被盗 https://hackread.com/nexera-defi-protocol-hacked-smart-contract-exploit/ Nexera去中心化金融(DeFi)协议遭到重大安全漏洞攻击,导致约180万美元的数字资产被盗。加密安全公司Cyvers详细披露了此次攻击,黑客通过复杂操作控制了Nexera的代理合约,并利用"withdraw admin"功能转移了平台上全部的NXRA代币(共计3250万NXRA代币)。Cyvers在X(Twitter)上发布声明,检测到代理合约被一个地址接管并升级,随后该地址使用"withdraw admin"功能转移了所有NXRA代币。事件发 3、Windows降级攻击将已修复漏洞变成零日漏洞 https://www.safebreach.com/blog/downgrade-attacks-using-windows-updates 研究人员开发了一种Windows降级攻击,使得即使是完全打过补丁的Windows机器也会在隐蔽、持久和不可逆的情况下变得脆弱。受BlackLotus UEFI bootkit启发,该攻击利用Windows更新过程中的漏洞,使Windows安全机制和端点安全解决方案无法检测。研究人员发现,Windows更新过程通过机器在更新文件夹中发出更新请求开始,一旦微软的更新服务器验证其完整性,更新文件夹和更新操作列表(Pending.xml)会被保存到服务器控制 4、Cisco警告老旧IP电话存在关键远程代码执行零日漏洞 https://sec.cloudapps.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-spa-http-vulns-RJZmX2Xz Cisco警告称,其已停止支持的Small Business SPA 300和SPA 500系列IP电话的基于Web的管理界面存在多个关键远程代码执行(RCE)零日漏洞。由于这些设备未提供修复补丁且无缓解措施,用户需尽快迁移到更新且有支持的型号。Cisco披露了五个漏洞,其中三个被评为关键(CVSS v3.1评分:9.8),两个为高严重性(CVSS v3.1评分:7.5)。 5、WhatsUp Gold关键安全漏洞遭受活跃攻击 https://summoning.team/blog/progress-whatsup-gold-rce-cve-2024-4885/ Progress Software的WhatsUp Gold网络监控应用程序发现了一个严重的安全漏洞CVE-2024-4885(CVSS评分:9.8),目前正遭受活跃攻击,用户需立即更新到最新版本以防范风险。该漏洞影响2023.1.3之前发布的版本,是一个未经身份验证的远程代码执行漏洞。根据公司在2024年6月底发布的公告,漏洞存在于WhatsUp.ExportUtilities.Export.GetFileWithoutZip方法中,该方法允许使用iis 6、朝鲜网络间谍组织Kimsuky攻击大学教授和研究人员 https://www.cyberresilience.com/threatintel/apt-group-kimsuky-targets-university-researchers/ 研究人员披露,朝鲜关联的威胁行为者Kimsuky近期针对大学教职员工、研究人员和教授发起了一系列新的攻击行动,目的是收集情报。研究人员在2024年7月底通过观察黑客的操作安全(OPSEC)错误识别出这一活动。此次攻击的特点包括使用被攻陷的主机作为部署基础设施,安装经过混淆处理的Green Dinosaur网页木马,用于执行文件操作。Kimsuky利用该网页木马上传模拟Naver和多所大学(如东德大学、高丽大 7、Chameleon安卓银行木马伪造虚假CRM应用攻击用户 https://www.threatfabric.com/blogs/chameleon-is-now-targeting-employees-masquerading-as-crm-app 研究人员揭露了Chameleon安卓银行木马的新攻击手法,该木马伪装成客户关系管理(CRM)应用,主要针对加拿大用户。研究人员报告中指出,该木马假扮为CRM应用,目标是一个在国际上运营的加拿大餐饮连锁店。此次攻击活动于2024年7月被发现,目标客户分布在加拿大和欧洲,显示其受害者范围从澳大利亚、意大利、波兰和英国扩展。假CRM应用的主题指向目标是酒店业和B2C员工。 8、恶意软件伪装成Chrome和Edge扩展感染超30万用户 https://reasonlabs.com/research/new-widespread-extension-trojan-malware-campaign 研究人员发现了一场正在进行的大规模恶意软件活动,通过伪装成流行软件的假网站安装恶意的Google Chrome和Microsoft Edge扩展。这些恶意软件和扩展已影响至少30万用户。研究人员在分析中指出,这种特洛伊木马自2021年以来存在,起源于仿冒下载网站,提供在线游戏和视频的附加组件。恶意软件包含从简单的广告软件扩展(劫持搜索)到更复杂的恶意脚本(窃取私人数据和执行各种命令)的不同可执行文件。该活动的核心是利用恶意广告(ma 9、Sonos智能音箱缺陷可让远程黑客窃听用户 https://www.nccgroup.com/us/research-blog/blackhat-usa-2024-listen-up-sonos-over-the-air-remote-kernel-exploitation-and-covert-wiretap/ 研究人员发现Sonos智能音箱存在漏洞,可能被恶意行为者利用来偷偷窃听用户。研究人员表示,这些漏洞导致Sonos设备的安全启动过程完全失效,并可通过空中攻击远程攻破多个设备。这些漏洞影响所有Sonos S2 15.9版和Sonos S1 11.12版之前的版本,这些版本分别在2023年10月和11月发布。成功利用其中一个漏洞 10、Ecovacs家用机器人可被黑客入侵以监视用户 https://reurl.cc/myvdgl 研究人员发现,恶意黑客可以控制Ecovacs制造的吸尘和割草机器人,通过设备的摄像头和麦克风监视用户。这些研究结果将在Def Con黑客大会上详细介绍。研究人员分析了多款Ecovacs产品,发现存在多个漏洞,可通过蓝牙远程控制机器人并悄悄开启麦克风和摄像头。研究人员表示,他们已向Ecovacs报告这些漏洞,但未收到回应,漏洞可能仍未修复。主要问题是,任何人都可以使用手机通过蓝牙在最远450英尺(约130米)的距离内连接并控制Ecovacs机器人。一旦黑客控制设备,他们可以通过Wi-Fi远程连接机器人,读取Wi-Fi凭证、保存的房间地图,并访问摄 声明 以上内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景科技观点,因此第三方对以上内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景科技无关。以上内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景科技一律不予承担。
网络安全日报 2024年08月09日
1、 CMoon USB蠕虫攻击俄罗斯高价值目标窃取数据 https://securelist.ru/how-the-cmoon-worm-collects-data/109988/2024年8月7日,研究人员报道,一种名为“CMoon”的新型自传播蠕虫自2024年7月初以来在俄罗斯传播,旨在窃取账户凭证和其他数据。研究人员发现该蠕虫通过一家燃气供应公司网站传播,目标主要是高价值对象而非普通互联网用户。CMoon能够加载额外的恶意负载、截取屏幕截图并发起分布式拒绝服务(DDoS)攻击。感染链开始于用户点击网站上提供的文档链接,文档被替换为包含恶意执行文件的自解压档案。燃气公司在7月25日被通知后移除了恶意文件和链接,但由于CMoon的自传播特性,其分 2、STAC6451攻击印度多家组织并部署Mimic勒索软件 https://news.sophos.com/en-us/2024/08/07/sophos-mdr-hunt-tracks-mimic-ransomware-campaign-against-organizations-in-india/研究人员在支持一起活跃事件时,发现了一个新的威胁活动集群STAC6451,该集群通过公开暴露在互联网的Microsoft SQL Server数据库服务器(默认TCP/IP端口1433)对印度的多家组织进行攻击,试图部署勒索软件。STAC6451集群的主要特征是滥用SQL Server进行未经授权的访问,并通过xp_cmdshell远程执行代码,使用BCP 3、McLaren医疗集团因INC Ransom勒索软件攻击中断 https://www.mclaren.org/main/notificationMcLaren Health Care医院的IT和电话系统在一次与INC Ransom勒索软件有关的攻击后中断。McLaren是一家年收入超过65亿美元的非营利性医疗系统,在密歇根州运营13家医院,拥有640名医生和超过28000名员工,并与印第安纳州和俄亥俄州的113000个网络提供商合作。McLaren在其网站上发布声明称,正在调查其信息技术系统的中断,建议患者在预约时携带详细的药物信息、医生订单和最近的实验室测试结果。部分预约和非紧急或选择性程序可能会被重新安排。尽管McLaren尚未披露事件的具体性质,但 4、研究人员发现新型Linux内核漏洞利用技术"SLUBStick" https://www.stefangast.eu/papers/slubstick.pdf研究人员披露了一种名为“SLUBStick”的新型Linux内核漏洞利用技术。该技术可将有限的堆漏洞提升为任意内存读写操作。Graz技术大学的一组学者表示,SLUBStick通过利用分配器的时间侧信道进行跨缓存攻击,提高了漏洞利用的成功率,尤其是在常用的通用缓存中,成功率超过99%。尽管Linux内核的内存安全漏洞由于存在诸如监督模式访问防止(SMAP)、内核地址空间布局随机化(KASLR)和内核控制流完整性(kCFI)等安全特性而难以利用,但SLUBStick成功在Linux内核的5.19和6.2版本 5、CrowdStrike否认Falcon传感器漏洞存在可利用性 https://www.securityweek.com/crowdstrike-dismisses-claims-of-exploitability-in-falcon-sensor-bug/CrowdStrike 否认了 Falcon EDR 传感器漏洞可能被利用来进行权限提升或远程代码执行的说法。 6、美国悬赏 1000 万美元缉拿入侵水务工控系统的伊朗黑客 https://www.securityweek.com/us-offering-10-million-reward-for-iranian-ics-hackers/美国向被控去年入侵水务工业控制系统的伊朗个人悬赏高达 1000 万美元。 7、AWS修补了可能导致账户接管的漏洞 https://www.securityweek.com/aws-patches-vulnerabilities-potentially-allowing-account-takeovers/AWS 已修补了多款产品中的漏洞,其中包括可能被利用来接管账户的漏洞。拉斯维加斯——2024 年美国黑帽大会——据云安全公司 Aqua Security 称,AWS 最近修补了潜在的严重漏洞,包括可能被用于接管账户的漏洞。 8、已有18年历史的漏洞"0.0.0.0 Day"可绕过主流浏览器的安全保护 https://securityaffairs.com/166765/hacking/0-0-0-0-day-browsers-attack.html一个已有 18 年历史的漏洞,被称为“0.0.0.0 Day”,允许恶意网站绕过 Chrome、Firefox 和 Safari 的安全性,从而侵入本地网络。 9、 T-Head C910 RISC-V CPU 被发现存在严重安全漏洞 https://www.theregister.com/2024/08/07/riscv_business_thead_c910_vulnerable/德国 CISPA 亥姆霍兹信息安全中心的计算机安全研究人员发现,阿里巴巴的 T-Head C910 RISC-V CPU 存在严重安全漏洞。 10、光伏发电管理平台曝出高危漏洞,可导致全球范围停电 https://www.secrss.com/articles/68958网络安全公司Bitdefender近日披露了两大广泛使用的太阳能管理平台中的重大安全漏洞,攻击者可造成大规模停电并破坏电力分配系统,可能影响全球20%的光伏发电,涉及190多个国家和地区的200多万个光伏电站。 声明 以上内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景科技观点,因此第三方对以上内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景科技无关。以上内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景科技一律不予承担。
2024网络安全高级研修班·第二期圆满结束
2024年8月2日,为期5天的2024网络安全高级研修班(第二期)圆满结束。本次研修班由湖南蚁景科技有限公司、成都为辰信息科技有限公司、电子科技大学嵌入式软件工程中心联合主办。课程聚焦于渗透测试攻防实战等网络安全关键技术,采用线下培训+线上同步直播的培训方式,充分满足了不同地域教师的学习需求。自5月启动报名以来,吸引了来自全国各高校相关专业教师的踊跃参与。 在本次培训会的开班仪式上,电子科技大学教授、博士生导师罗蕾发表了精彩的开班致辞及专题分享,为研修班拉开了序幕。 随后,成都为辰信息科技有限公司安全实验室负责人王志鹏为大家带来了车联网安全方向的专题报告。 在开班仪式最后,湖南蚁景科技有限公司销售部负责人黄超,结合公司精心研发且独具优势的网安实战人才培养平台,通过清晰的逻辑、生动的案例以及丰富的数据,为现场的教师们带来了一场精彩汇报。 课程方面,蚁景网安的一线实战级讲师团队精心打磨课程,将实战理论与靶场相结合,为参研教师们呈现了一场知识盛宴。 在课程进行期间,参研教师展现出了极高的学习热情和钻研精神。课间甚至每日结课后,依然沉浸在课程问题的探讨中,蚁景科技的授课讲师也始终保持耐心,细心地为老师们解答每一个疑问。同时,课堂上讲师通过实战演练、疑难解惑等环节,进一步加深了大家对知识的理解和掌握。 课间&每日结课场景 此外,本次培训会的后勤保障团队从会议安排到接待,再到贴心的会场服务,全方位确保了研修班的顺利进行。 随着研修班的圆满结束,参研教师们不仅在网络安全的专业知识和技能上得到了显著提升,也为培养更多优秀的网络安全专业人才注入新的活力,共同推动我国网络安全事业迈向新的高度。
【总结】注册码泄露原理以及例题
引言 题目给了小明的机器码:1653643685031597 用户user_id:xiaoming 可以看到题目采用了SIMD指令集 该指令格式在CTF和攻防对抗中经常出现,可以提高执行效率的同时也可以增加逆向的难度。 对于此类指令和题目,我们分析的方法是:遇到查意思,查的多了就跟看正常代码一样,采用动态分析。 机器码修改 将内置的机器码改为题目给的:1653643685031597 修改成功: 得到flag的时候跟machine这个有很大关系 动态分析 machine_id处理 在这个加密函数中 发现了MD5特征 经过动调拿到函数加密后的结果 与我们的猜测是相符的 可以发现最终md5(机器码)变成 user_id处理 和调试machine加密一样,最终MD5(user_id)变成: 最终处理 经过之前相同的加密 变成这个数字:1228240365737281 然而这还没完,居然进行两次相同加密 再次加密后的结果:0502036271810858 可以发现此题出的很好,利用了密码比较的漏洞,没有将密文给出,而是将生成的密文在中间给出,从而造成了数据泄露。 得到flag 回顾加密流程,可以发现 f(key) = f( f( f(md5(machine)) + f(md5(user_id)) ) ) 那么题目给了得到flag的machine和user_id,可以得出 Key =f( f(md5(machine)) + f(md5(user_id)) ) 所以最终flag: flag{1228240365737281}
jwt伪造身份组组组合拳艰难通关
前言 现在的攻防演练不再像以往那样一个漏洞直捣黄龙,而是需要各种组合拳才能信手拈来,但是有时候使尽浑身解数也不能称心如意。 前期信息收集 首先是拿到靶标的清单 访问系统的界面,没有什么能利用的功能点 首先进行目录扫描,扫描发现存在xxx.zip的文件放置在web目录上 一般zip文件大部分情况都是开发运维人员做系统维护时留下的备份文件,在系统上线后并没有将其删除,于是底裤(即源代码)都直接给到了攻击者 来到这一步都以为是一路高歌,轻松拿下,没想象到是跌宕起伏伏伏伏伏...... 先使用wget下载zip文件,文件总共200+mb,很有概率是源代码的打包 从文件内容可判断,该系统是使用的.net开发,可通过dnspy进行审计 文件上传漏洞审计 拿到源码后的第一个思路是寻找文件上传漏洞 果不其然在源码中找到uploadimg接口,发现未对上传的文件格式进行过滤 实际访问接口发现,怎么改变文件格式、文件内容、Content-Type、还是各种变种传输都无济于事 返回包永远是{"Status":1,"Data""null} 运维实在是坏呀~ Sql注入漏洞审计 第二个思路就是找注入 但是代码中定义了一个SqlChecker全局的类,强制处理所有用户传参,找注入这个方向有有点难啃了 系统用户信息遍历 找到/api/user/getusers接口 接口没有做鉴权,构造请求包发送,返回包返回系统所有用户信息 其中用户信息包括姓名、出生日期、微信账号、手机号码、邮箱、密码等等 伪造jwt_token获取系统管理员-拿下靶标 源码获取到jwt_token的secret 但是该secret不是可读性文本,估计是随机生成的byte字节序列,因此不能自行使用cyberchief或者其他工具将token直接生成 这里有个坑点:开始是使用gpt生成的脚本进行secret的读取和token的生成,发现gpt在处理字节上面有点问题,生成的jwt_token不能使用,于是自行编写了个py脚本进行jwt_token的构造,首先我们将字节序列做16进制的转化,为了python能够使用bytes.fromhex()函数读取16进制化的secret,然后根据上面读出的用户信息,伪装admin账号身份,并设置一个较长的ExpireTime 拿到jwt_token之后,要如何使用才能拿到后台呢,这里首先要明白该系统的登录鉴权机制 由于他存在注册功能,我们便可在自行注册一个账号,然后进行登录,查看认证处理流程 从数据包里面得知,登录成功后会返回jwt_token和一些与用户相关的一些信息,前端会根据返回的身份信息,跳转到对应的页面,并且功能接口都会带上jwt_token进行请求以便获取系统数据 了解清楚后,就开始进行身份伪造,首先去后台登录系统 将登录返回包的内容替换为管理员账号的token(从python脚本中生成)和管理员用户的身份信息 通过鉴权后,终于成功获取管理员后台,靶标5000分到手,哈哈 总结 本次渗透从惊喜到怀疑到失落,总的来说就是“山穷水尽疑无路,柳暗花明又一村”。 如果只是死磕文件上传、SQL注入这些能够快速获取权限的洞,反而有时会错过一些有用的信息,毕竟比赛中分数才是最要紧的,如何高效快速拿下靶标才是第一要领。 同时,代码审计的过程中要结合系统功能来多方面评估,本次挖洞也是先认真理解了系统的登录认证机制,才知道有jwt鉴权这种方式,从而萌生在代码中找jwt secret的想法,也才能把快到手的分数牢牢抓在自己手中。
第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页