行业解决方案查看所有行业解决方案
IDA 用于解决软件行业的关键问题。
发布时间:2022-10-09 14: 28: 12
本文首发在Freebuf,作者为蚁景科技,其主营业务是网络安全人才教育培养。详细的介绍了使用IDA和OD进行调试分析,针对分析D盾检查账号克隆功能,希望对关注网络安全和金融保险领域的人有所帮助。

D盾(IIS防火墙)是一款主动防御类保护软件,以内外保护的方式防止网站和服务器被入侵,在正常运行各类网站的情况下,越少功能服务器越安全的理念而设计。D盾有一项功能是账号克隆:

一、初步分析
我们进一步通过StudyPe查看,能发现其使用了NetUserEnum相关的函数,如下图:

这里通过查看微软官方的相关案例,也就是以下的链接:https://docs.microsoft.com/zh-cn/windows/desktop/api/lmaccess/nf-lmaccess-netuserenum
我们可以大致知道这些函数是怎么使用的。
二、OD调试
接下来,我们试着用OD调试,按ctrl+g输入NetUserEnum,如下图:

按F2下断点:

再按F9运行,点击D盾克隆账号检测,如下图:

此时能看到OD命中断点,我们需要记录返回地址:

三、IDA配合
接下来我们需要使用IDA,打开并按下快捷键G,输入地址:0051158B

移动并往上查找,查看函数头,地址为5114A4:

此时需要分析sub_5114A4函数:

//32此结构在系统有异常的情况下NetUserEnum将失败返回2221状态值
typedefstruct _USER_INFO_3{
LPWSTR usri3_name;0
LPWSTR usri3_password;4
DWORD usri3_password_age;8
DWORD usri3_priv;C
LPWSTR usri3_home_dir;10
LPWSTR usri3_comment;14
DWORD usri3_flags;18
LPWSTR usri3_script_path;1C
DWORD usri3_auth_flags;20
LPWSTR usri3_full_name;24
LPWSTR usri3_usr_comment;28
LPWSTR usri3_parms;2C
LPWSTR usri3_workstations;30
DWORD usri3_last_logon;34
DWORD usri3_last_logoff;38
DWORD usri3_acct_expires;3C
DWORD usri3_max_storage;40
DWORD usri3_units_per_week;44
PBYTE usri3_logon_hours;48
DWORD usri3_bad_pw_count;4C
DWORD usri3_num_logons;50
LPWSTR usri3_logon_server;54
DWORD usri3_country_code;58
DWORD usri3_code_page;5C
DWORD usri3_user_id;60
DWORD usri3_primary_group_id;64
LPWSTR usri3_profile;68
LPWSTR usri3_home_dir_drive;6C
DWORD usri3_password_expired;70
}USER_INFO_3,*PUSER_INFO_3,*LPUSER_INFO_3;

再来看一下权限问题:



接下来,读取F值:


F值二进制流30h偏移是关联的user_id:


我们通过搜索,发现了F值的含义:
http://www.beginningtoseethelight.org/ntsecurity/index.htm

以及关键字符串:


三、进一步分析
通过以上OD和IDA的一系列调试操作,我们想要的检测逻辑相比较就比较清楚:

通过逆向的分析,利用OD和IDA配合调试分析,我们挖掘和学习了D盾判断账号克隆功能实现的逻辑。
原文声明:笔者初衷用于分享与普及网络知识,若读者因此作出任何危害网络安全行为后果自负,与合天智汇及原作者无关,如需转载,请注明出处。
原文链接:https://www.freebuf.com/articles/network/205094.html
展开阅读全文
︾
读者也喜欢这些内容:
ida设置断点怎么运行 ida断点在键盘上的使用方法
在使用IDA pro进行逆向分析的过程中,断点设置是最基础也是最常用的调试手段之一。尤其是在处理复杂的汇编逻辑或定位关键执行点时,合理地设置并运行断点,能够极大提升分析效率与准确度。本文将围绕ida设置断点怎么运行,ida断点在键盘上的使用方法两个关键问题展开,详细介绍IDA pro中的断点操作方式、快捷键使用逻辑及其在多架构平台上的适配特性,帮助用户在实战中更加高效掌控IDA pro的调试能力。...
阅读全文 >
怎么用IDA软件反汇编功能学习汇编指令 IDA反汇编功能如何进行多平台二进制分析
说到反汇编分析,很多人第一时间就会想到IDA。这款工具可以说是做逆向工程的“神器”,不管是学习汇编指令还是分析二进制文件,都非常给力。如果你是个初学者,刚接触反汇编,可能会对IDA的一些功能感到陌生,比如怎么用IDA软件反汇编功能学习汇编指令 IDA反汇编功能如何进行多平台二进制分析。别急,今天就带你一步步搞清楚。...
阅读全文 >
ida医学上是什么意思?医学ida指什么?
医学术语往往能够准确地描述健康状况和疾病的特点,对于医疗专业人员来说是日常工作不可或缺的一部分。然而,普通公众对这些术语的理解可能会存在困难,这就需要我们通过更易懂的方式来介绍这些专业知识。其中,“IDA”是一个在医学领域频繁出现的缩写,代表了一种常见的健康问题。本文将详细阐述IDA在医学上的含义,它所指的特定疾病,以及IDA在其他领域的潜在含义,旨在帮助公众更好地理解这一术语。...
阅读全文 >
IDA怎么修改字符串内容?IDA修改后怎么保存?
在软件开发和逆向工程领域,IDA Pro是一种极其强悍的工具,广泛用于程序剖析、调试和修改。它不仅支持多种处理器架构,还提供了大量的作用,以适应高档讲解的必须。本文将围绕ida怎么修改字符串内容,ida修改后怎么保存这一主题,详细描述怎样在IDA中更改字符串内容,及其修改后的存放方式。此外,我们还将探讨IDA转变的应用场景,帮助读者更深入地了解IDA的实际应用价值。...
阅读全文 >