行业解决方案查看所有行业解决方案
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
展开阅读全文
︾
读者也喜欢这些内容:
arm反汇编怎么看 IDA如何分析ARM反汇编程序
ARM架构是一种广泛用于移动设备和嵌入式系统的处理器架构,如智能手机、平板电脑和物联网设备等。在进行逆向工程或安全研究时,经常需要查看ARM架构下所运行程序的反汇编代码,以了解其功能和逻辑。...
阅读全文 >
apk反编译软件如何使用 apk反编译生成工程
APK反编译软件是一类专门用于将Android应用程序(APK)反编译为源代码的工具。这些工具通常使用反汇编和逆向工程技术,将APK中的二进制代码还原为Java源代码和资源文件。下面介绍apk反编译软件如何使用,apk反编译生成工程的内容。...
阅读全文 >
IDA Pro错误的重定位表(Bad Relocation Table)
...
阅读全文 >
IDA Pro 查找不属于任何函数的第一个字节(bytes not belonging to any function)
该命令在当前方向上搜索第一个不属于任何函数的字节。...
阅读全文 >