shellcode 实现键盘记录样本分析

1.样本来源于《恶意代码分析实战》的实验样本Lab11-03.exe和Lab11-03.dll.
2.首先对Lab11-03.exe进行基础分析,查看字符串和导入导出函数。用strings可以看到

        C:\WINDOWS\System32\inet_epar32.dll
        zzz69806582
        net start cisvc
        C:\WINDOWS\System32\%s
        cisvc.exe
        Lab11-03.dll

等字符串,C:\WINDOWS\System32\inet_epar32.dll表示程序可能加载该dll,net start cisvc是服务的启动方式,cisvc.exe代表该程序可能被启动。然后对Lab11-03.dll进行分析,出现了

    C:\WINDOWS\System32\kernel64x.dll
    zzz69806582
    GetForegroundWindow
    GetAsyncKeyState

等,C:\WINDOWS\System32\kernel64x.dll表示程序可能加载该dll,zzz69806582暂时还看不出来有什作用,GetForegroundWindow,GetAsyncKeyState表示这很可能是一个键盘记录器。
3.然后进行动态分析,命令行切到当前目录下,运行Lab11-03.exe,用procmon和procexp进行监控,

image

如图可以看到该样本启动了一个服务。至于启动什么服务,通过procmon来具体看。
在进程栏看到了net start cisvc

image

在文件操作一栏我们可以看到创建并写入了文件inet_epar32.dll,打开了cisvc.exe
但是并没有写入文件的操作。

image

在注册表一栏并没有看到什么信息。此时我们更换过滤条件,查看一下cisvc.exe进行了哪些操作。可以看到加载inet_epar32.dll,在系统文件夹中创建了kernel64x.dll文件,并写入了一些内容猜测是键盘记录的内容。

image

4.下面进行静态高级分析。把Lab11-03.exe和Lab11-03.dll分别载入ida进行分析。
代码反编译为c可以看到很简单。

image

首先是把Lab11-03.dll复制为C:\WINDOWS\System32\inet_epar32.dll,然后sub_401070函数时对cisvc.exe的操作,看到是对cisvc.exe进行文件映射然后byte_409030位置的314个字节的内容写到cisvc.exe的开始位置,很显示cisvc.exe插入了一段shellcode,下面查看这段shellcode,在409030位置可以看到是原始字节内容,按c可以反汇编为汇编代码,如图

image

image

如图是shellcode 代码,在sehcode 末尾是一些字符串,按a可以显示完整字符串,猜测此shellc是加载该dll,后面的字符串仍然不知道是什么。

image

此时我们用ida加载inet_epart32.dll也即是Lab11-03.dll,在导出函数中我们可以看到是以上的未知字符串刚好是其的导出函数,分析该函数看到仅仅只是创建了一个线程,分析该线程,可以看到此线程是实现键盘记录的,其记录保存在C:\WINDOWS\System32\kernel64x.dll中。

下面对cisvc.exe进行分析。分析插入shellcode前后的变化。首先用PE view查看pe头的变化。可以看到入口位置发生了变化。

image

分别用ida载入,可以看到插入shellcode的cisvc.exe入口点直接就是shellcode代码,在od中载入,然后单步运行观察shellcode的功能。

image

如图1001b0a位置是加载C:\WINDOWS\System32\inet_epar32.dll的位置,下面是获取
zzz69806582函数地址。到此整个流程就分析完了。

Lab11-03.exe把Lab11-03.dll复制为C:\WINDOWS\System32\inet_epar32.dll,启动cisvc服务,然后再cisvc.exe中插入一段shellcode,来实现键盘记录,记录保存在C:\WINDOWS\System32\kernel64x.dll。打开notepad随便输入进行测试,然后用flexhex打开C:\WINDOWS\System32\kernel64x.dll,可以看到记录了notepad和输入的内容。


image
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,826评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,968评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,234评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,562评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,611评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,482评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,271评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,166评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,608评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,814评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,926评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,644评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,249评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,866评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,991评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,063评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,871评论 2 354

推荐阅读更多精彩内容