首页
社区
课程
招聘
[原创]恶意代码分析实战-小结实验IDA部分
发表于: 2024-8-15 18:51 2114

[原创]恶意代码分析实战-小结实验IDA部分

2024-8-15 18:51
2114

本人初学,要是有错误的地方望大家帮助指正

考察定位main地址
这里其实是看左边的dllmain函数,然后就能定位到这里
image.png
image.png
1000D02E
fd2K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6T1L8r3!0Y4i4K6u0W2j5%4y4V1L8W2)9J5k6h3&6W2N6q4)9J5c8Y4N6W2K9i4S2A6L8W2)9#2k6U0f1I4x3e0p5I4x3U0j5%4i4K6u0r3j5i4u0@1K9h3y4D9k6g2)9J5c8X3c8W2N6r3q4A6L8s2y4Q4x3V1j5I4x3K6p5&6z5o6f1&6z5e0t1`.

考查导入表里面找关键函数

100163CC 52 gethostbyname WS2_32

考查引用

p是函数调用
r是读取
5个
image.png

412K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Z5j5h3&6K6K9h3#2G2N6W2)9J5k6h3N6A6N6r3u0G2L8$3E0Q4x3X3g2A6L8#2)9J5c8X3#2S2L8s2N6S2M7X3g2Q4x3X3c8S2L8X3q4D9P5i4y4A6M7#2)9J5c8Y4m8S2M7Y4b7J5i4K6u0V1j5h3c8$3j5h3&6U0k6h3c8Q4x3X3c8K6N6r3q4@1K9h3y4Q4x3X3c8S2L8X3q4D9P5i4y4A6M7#2)9J5c8X3y4Z5x3o6g2Q4x3X3c8A6k6r3q4Q4x3X3c8H3M7X3)9`.
image.png

考查入参,会入参汇编等计算

数据段然后又偏移13个,那就是这样

image.png

从微软里面查文档,不知道可以输入域名,看下面的csdn就知道可以输入域名了
5f3K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6D9k6h3q4J5L8W2)9J5k6h3#2A6j5%4u0G2M7$3!0X3N6q4)9J5k6h3y4G2L8g2)9J5c8X3g2F1i4K6u0V1N6i4y4Q4x3V1k6%4K9h3&6V1L8%4N6K6i4K6u0r3N6$3W2F1x3K6u0Q4x3V1k6S2M7r3W2Q4x3V1k6%4K9h3&6K6L8$3y4C8x3W2)9J5c8X3&6X3i4K6u0V1N6$3W2F1M7$3!0U0K9K6u0Q4x3X3c8Y4k6i4c8Z5L8%4y4@1j5Y4W2F1j5h3#2W2
43bK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6T1L8r3!0Y4i4K6u0W2j5%4y4V1L8W2)9J5k6h3&6W2N6q4)9J5c8X3c8S2K9i4W2#2k6r3!0F1k6K6t1H3x3U0m8Q4x3V1k6S2M7Y4c8A6j5$3I4W2i4K6u0r3k6r3g2@1j5h3W2D9M7#2)9J5c8U0f1I4z5e0b7$3x3o6R3H3

考查局部变量是负偏移
入参是正偏移

image.png

image.png
不算最后一个就是算是23个局部变量,绿色的就算是IDA自动识别的局部变量

1个参数
只有这一个正偏移
image.png

考查字符串搜索

shift+f12 然后再搜 \cmd.exe /c

xdoors_d:10095B34 0000000D C \cmd.exe /c
image.png

考察搜字符串
image.png
不知道咋分析,但是看附近字符串,像是通过cmd远程执行shell

image.png
sub函数+那就是入参aCmdExeC
然后就看对应的函数干嘛的,这个参数主要又负责什么
image.png
这里就涉及到创建管道执行cmd命令

image.png
上一层函数是传socket对象
那就可能是远程执行命令

插件设置显示常量原始名字
ddfK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6T1L8r3!0Y4i4K6u0W2j5%4y4V1L8W2)9J5k6h3&6W2N6q4)9J5c8Y4A6Z5K9X3#2&6P5q4)9J5c8X3q4J5N6r3W2U0L8r3g2Q4x3V1k6V1k6i4c8S2K9h3I4K6i4K6u0r3x3e0x3@1z5o6R3K6z5e0M7&6

考察引用,看写入和读取常量

g搜索0x100101C8
image.png
帮助决定是否走loc_100101D7

image.png
双击dword_1008E5C4看定义未知

image.png
ctrl+x 看交叉引用,写入地方,继续双击

image.png
看到是上面sub_10003695的返回值

image.png
dword_1008E5C4=1
到这里就是被写入为1了

考察汇编

搜0x1000FF58没咋看到robotwork的比较相关
image.png

image.pngshift+f12
robotwork

image.pngctrl+x 看引用位置

image.png
这里就是robotwork和Buf1对应的value比较

image.png
sub_100052A2

image.png
这个过程直接f5
看着像是注册表操作,查询和关闭,查了返回回来

直接f5之后的代码问gpt
总的来说,这个函数的主要目的是从指定的注册表位置获取两个值,并将它们以特定的格式通过套接字发送出去。这里直接就理解为会偷信息发出去

11、PSLIST 导出函数做了什么?
考察了解导出函数功能

windows->重置窗口然后就能看到导出函数窗口了
image.png
双击导出函数就能定位到在汇编中的位置

image.png

暂时不知道怎么快速分析,直接空格看看逻辑图
但是光看pslist函数名字就像是列进程功能
image.png
PSLIST
是指定系统返回16是什么鬼

image.png
sub_100036C3
jnz理解就是j不是0才跳,底层逻辑是exa不是0,zf=0,jnz就跳
VersionInformation.dwPlatformId等于2或者5就loc_100036FA 就返回0
否则返回1
image.png
大概了解到这个函数就是判断看是不是符合条件的操作系统

sub_1000664C
image.png
image.png
看里面调用的windows api那就是进程枚举相关操作
image.png

12、使用图模式来绘制出对 sub_10004E79 的交叉引用图。当进入这个函数时,哪个 API 函数可能被调用?仅仅基于这些 API 函数,你会如何重命名这个函数?
ida7 不正常的话就更新下
521K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6K6N6r3q4U0K9$3!0$3k6i4u0X3L8r3!0%4i4K6u0W2j5$3!0E0i4K6u0r3M7i4g2W2M7%4c8A6L8$3&6K6i4K6u0r3y4U0p5^5x3e0f1#2y4e0m8Q4x3V1k6U0L8%4g2D9k6q4)9J5k6r3&6G2N6q4)9J5k6r3k6A6L8X3c8Q4x3X3c8Y4M7X3q4H3K9r3g2J5i4K6u0V1M7i4N6A6L8X3N6J5j5i4m8Z5i4K6u0V1k6i4S2W2i4K6u0V1K9h3c8S2
d17K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6^5y4U0c8V1j5X3N6Q4x3V1k6@1k6i4y4@1M7r3I4#2k6$3W2F1i4K6u0r3M7X3g2D9k6h3q4K6k6i4y4Q4x3V1k6@1j5h3N6Q4x3V1k6i4K9h3&6Y4M7X3q4H3K9q4)9J5c8R3`.`.
image.png
就看到GetSystemDefaultLangID这个看着是获取系统默认语言
还有send
image.png


[招生]系统0day安全-IOT设备漏洞挖掘(第6期)!

最后于 2024-9-12 21:59 被wx_欢乐马_472编辑 ,原因: 要是有错误被发现,那我就改一下
收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回