- 博客(12)
- 收藏
- 关注
原创 rootkit for linux 13.指令查找代码的简化
昨天,我们宿舍跟隔壁宿舍的9个疯狂的程序员,出去high了一次。先去吃宵夜,然后唱k。大学城的k房还是一样令人失望。压根找不到pink floyd,或者nirvana之类的东西,连linkin park也没有。不过还是唱得挺爽的。回来的时候已经2点半了,我们打算翻墙进来,但无奈保安一直跟着我们。我们只好叫宿管开门。大学四年,好像还没做过什么疯狂的事情,于是回来的时候,我想在内环大道的中
2008-11-22 11:43:00
855
3
原创 rootkit for linux 12.枚举目录
最近,我们学校严抓学风。严打迟到,早退等不法行为。为了不迟到,不早退,我决定不去上课了。我觉得学校这样做实在是不好。我一直认为,既然我交了学费,我花了8000*4 rmb买了一个文凭,我有上课的权利,我当然也有不上课的权利。学校现在搞面子工程,就是在剥夺我们不上课的权利。从法律上讲,学校的做法是错误的。我也一直认为,去上课不如呆在宿舍。因为在宿舍我可以写代码,写不出代码时,也可以弹吉他,可
2008-11-20 13:21:00
8261
1
原创 rootkit for linux 11.“寻找入口点”的改进方法
昨天看了篇文章《Linux on-the-fly kernel patching without LKM 》作者提供了一种 ring3 进 ring0 的方法,思路很不错。我们也可以用那篇文章里提供的方法进入 ring0。我们现在用的是溢出,溢出的通用性差,但只需要普通用户权限即可。作者的方法通用性好,但需要root权限。 第2篇文章“寻找入口点”用的是系统调用读/proc/k
2008-11-18 13:08:00
798
2
原创 rootkit for linux 10.小结
快要考试了。可能这个 rootkit 要告一段落了。很难每天都更新了。先想象一下下一步的计划吧: 分析 selinux 实现链路层的可靠的传输协议在其上实现简单的网络文件系统协议 今天看了一点 selinux 的代码,文件系统部分。发现 linux 内核的安全机制还是很不错的,很深入底层。selinux 的 hook是在 vfs 层上的。这个位置可以说是安全工具能 hook
2008-11-16 22:45:00
832
5
原创 rookit for linux 9.发送skb---使用工作队列
搞了一天,终于能发送skb了。不是这东西难搞,是汇编底子还是不行啊,大错不犯小错不断。这一个小错,那个一小错,一个小错调一个小时,一下一天就过去了。虽然调试的时候很恼火,不过还是乐此不疲地写着汇编。就像一句名言说过“世界上有两类语言,有一些语言天天被人骂,有一些语言没有人用”。汇编就是属于这类语言。 好了,回忆一下上次是怎么接收skb的?对了,inline hook 了netif_re
2008-11-15 17:35:00
1505
原创 rootkit for linux 8.大大杀器---“模拟法”获得字段偏移
今天发现了个方法,可以完美地获得skb各个字段的偏移,需要配合上篇文章讲的大杀器“xde反汇编器”。暂时称这种方法为“模拟法”,网上应该有类似方法,但不知道叫什么名字。 以前,我们获得skb字段的偏移用的是手动波,在函数里找某个指令的特征码,这方法是很不靠谱的。在有了xde以后,我发现,这方法有时候还是不靠谱,例如一个运算需要0x40(%eax),0x50(%ebx),你咋知道哪个先取
2008-11-14 21:49:00
1056
原创 rootkit for linux 7.大杀器---反汇编引擎xde
今天在找net_device.hard_start_xmit的偏移的时候,发现手动波完全不能用了。于是,在网上找了ade的开源反汇编引擎,用asm自己再写了一遍,大概知道了流程。不是有意改成xde的,是我记错了名字。把ade记成了xde。。今天发现自己的汇编底子不行啊,c -> asm 都这么吃力,更何况 asm -> c。 关于反汇编引擎,网上有教程的,也有开源的example,
2008-11-12 22:22:00
1500
原创 rootkit for linux 5.啥是skb
今天是光棍节。不知道我现在算不算光棍,呵呵。还是算吧,毕竟还是过着光棍的生活。典型地程序员的生活。程序员不会觉得与电脑相处很无聊。如果无聊,也会做点rootkit来找找乐子。所以,鲁迅说过:世界上本是没有rootkit的,无聊的程序员多了,也就有了rootkit。 给个建议:调试还是用虚拟机吧,装个lfs。今天我的硬盘差点就坏了。所以换了个环境,改在win下了。现在的环境是LFS 6.
2008-11-11 21:40:00
905
原创 rookit for linux 4. hook数据链路层
上一篇文章讲了在哪里hook比较合适。 有的人说“linux的网络栈是如此的大啊,我怎么可能了解到全部?还是弄点简单的来做吧”有的人现在心情澎湃,想着吗的老子要马上hook爆你丫的。 如果你是前者,那就别看这篇文章了,这篇文章里没有你想要的,你还是回去背你的操作系统课本和汇编课本吧。如果你是后者,那请继续。 有些事情就是要迎难而上。你拼了老命,连啃三天泡面饼干,把代
2008-11-10 19:12:00
1214
原创 rootkit for linux 3.小窥数据链路层
上篇文章讲了怎样寻找符号表。那个方法不算好。今天我想到了一个方法,要用到反汇编引擎的,一时实现不了。实现后我再发新的文章出来啊。 好了,现在你已经可以获得内核的符号表了。你可以认为你控制了一切。但是现在的问题是,你拿到了枪,但是你不会用。作为一个木马,最重要的是什么?是与外界沟通。一个不能与外界沟通的木马,那能叫木马么,那叫铁马。所以,我们先对网络下毒手,就从数据链路层
2008-11-10 17:39:00
1433
原创 rootkit for linux 2.寻找入口点
很多人都学汇编。什么是eip他背得倍儿熟。但是你问他怎么把eip的值传给eax,他会毫不犹豫的说“mov eax, eip”。很多人都学操作系统。什么是内存管理他背得倍儿熟。但是你打开linux-2.6.18的文件夹,他会指着那个mm文件夹说“那个是啥,快打开,里面有mm照片么?”于是,在填鸭式的学习中,我们习惯于湮没在老师的无数唾沫里,湮没在书本的无数概念里,湮没在课堂的无数瞌睡里,湮没
2008-11-08 14:06:00
3518
4
原创 rootkit for linux 1.ring0下的溢出
我想记载一下自己在linux下打造rootkit的过程。希望菜鸟能从中学到一些东西,高手能指出文章中的错误。呵呵。本文会贴代码出来,仅供研究使用,任何后果,我不负责。 什么是rootkit?rootkit就是木马,病毒。在这篇文章里指的是ring0下的木马。为什么要做ring0下的木马?因为ring0下的木马比ring3下的木马要强很多。在ring3下写木马如同带着脚镣跳舞,操作系统把你限
2008-11-08 12:40:00
1670
6
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人