使用Linux系统命令对后门端口进行查杀

news2024/11/24 19:01:02

第一步,打开网络拓扑,启动实验虚拟机,查看虚拟机IP地址:

Centos Linux

 

第二步,进入靶机服务器CentOS Linux,调用实验环境。使用docker images命令查看靶机服务器上的Docker镜像环境,找到本次实验使用的镜像centos5,使用命令启动centos5镜像的靶机环境:

docker images

docker run --privileged=true –it centos5 /bin/bash

 

第三步,查看当前虚拟环境的系统,及其所处的目录:

1)使用lsb_release –a命令查看系统ID信息,返回报错,说明这是一个CentOS系统,使用uname –m命令查看系统位数为64位:

lsb_release -a

uname -m

 

2)使用pwd命令查看当前所在的目录,输入cd /root进入root目录,使用ls命令列出root目录下的文件,存在名为start.sh的启动脚本:

pwd

cd /root

ls

 

第四步,启动虚拟环境中的木马程序:

./start.sh

 

第五步,查看系统的进程信息:

1)使用ps –aux查看所有进程,经过排查我们发现了一个可疑进程,进程PID为33:

ps -aux

 

2)使用kill 33命令结束可疑进程:

kill 33

 

第六步,确定可疑进程为木马程序:

1)使用ps –aux命令查看所有进程,准备排查其他进程时,发现刚才的可疑进程仍在运行,进程的PID为107649:

ps -aux

 

2)使用kill -9 107649强制结束进程:

kill -9 [木马进程PID]

 

3)再次使用ps –aux命令查看所有进程,该进程依旧没有被结束掉,仍在系统中运行。这时候基本可以判定,这是一个顽固的木马程序。木马程序很可能是要进行网络通信的:

ps -aux

 

第七步,查看本机Socket连接找到可疑的端口:

使用netstat –a命令查看本机的所有Socket连接,连接数量较多,经过排查后,找到一个不常用的端口4257,这个端口侦听在本机的所有接口,并且允许任意的远程连接进行连接:

netstat -a

 

第八步,根据端口号找到占用的进程ID:

使用lsof –i:4257命令,发现4257端口被进程ID为57704的程序占用:

lsof -i:4257

 

第九步,确定木马进程所使用的端口号:

使用ps –aux查看所有进程,发现进程ID为57704的进程kill不掉的木马进程。由于木马无法kill掉,而且木马还在进行Socket连接,传输服务器的敏感信息,所以我们使用防火墙iptables设置规则,让木马离线无法进行远程通信:

ps -aux

 

第十步,配置iptables防火墙使木马离线:

使用命令iptables –t filter –A OUTPUT –m state –state NEW –j DROP通过iptables在output链上做限制,将从出口带宽状态为new的全部丢弃掉。使用ping命令测试无法正常使用,此时服务器已经离线:

iptables –t filter –A OUTPUT –m state –state NEW –j DROP

ping 8.8.8.8

 

第十一步,找到木马程序的父进程,分别结束掉父进程和木马进程:

1)使用ps –ef命令发现可疑进程的父进程PIID为26,并且还发现可疑进程一直在不断的变换自己的进程PID:

ps -ef

 

2)再次使用ps –ef命令查看所有进程,找到可疑进程的父进程:

ps -ef

 

3)使用kill 26结束木马父进程:

kill [木马父进程PID]

ps -ef

 

4)结束失去父进程的木马僵尸进程:

kill [木马僵尸进程PID]

 

子进程是木马程序的核心功能,一般负责侦听一个端口,反弹一个Shell实现远程操作的核心逻辑,父进程通常负责子进程的安全,其核心功能是时刻监测子进程是否被杀,如果被杀就重新启动,或者延时重新启动。

第十二步,系统加固,找到木马进程及其父进程的路径:

使用./start.sh命令重启木马环境,使用ps –ef命令发现木马进程的父进程还有父进程,接着分别找到木马进程的父进程及其父进程的父进程的路径:

./start.sh

 

ps -ef

 

 

2)使用ls /usr/bin/vifa命令和ls  /usr/bin/virson命令分别查看木马程序和守护程序:

ls /usr/bin/virfa

ls /usr/bin/virson

 

第十三步,找到木马程序病原体:

根据我们的经验,通常木马程序的守护程序都是用Shell脚本写的,而木马程序都是用其他语言写好编译成二进制文件的,至于为什么要这样做,是因为简单快速,所以我们可以阅读守护程序的代码。

使用cat /usr/bin/virfa命令查看守护程序的代码,经过阅读找到了木马程序的病原体文件是/opt/virsou.sh。

cat /usr/bin/virfa

 

第十四步,依次查杀木马进程的父进程的父进程、木马进程的父进程、木马进程:

1)使用kill 23命令查杀木马进程的父进程的父进程:

kill [木马父进程的父进程PID]

 

2)使用kill 72713命令和kill 72726命令分别查杀木马进程的父进程和木马进程:

kill [木马父进程PID]

kill [木马进程PID]

 

第十五步,依次删除木马程序,木马程序的守护程序,木马程序的源文件:

1)使用rm –rf /usr/bin/virfa命令和rm –rf /usr/bin/virson命令依次删除木马程序的守护程序和木马程序,并使用ls /usr/bin | grep vir*命令查看确认已经全部删除:

rm -rf /usr/bin/virfa

rm -rf /usr/bin/virson

ls /usr/bin | grep vir*

 

2)使用ls /opt/virsou.sh命令查看木马程序的病原体文件,使用rm –rf /opt/virson命令删除木马程序的病原体文件。

ls /opt/virsou.sh

rm -rf /opt/virsou.sh

 

实验结束,关闭虚拟机。

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

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

相关文章

《水经注地图服务》横向扩展部署说明

在地图服务器中,随着数据量的不断增大,可能会存在原有的存储设备空间不够的情况,或无法承受高并发请求的情况。 此时,我们就可以通过横向扩展部署,增加新的设备来进行分担缓减,从而达到动态扩展存储设备以…

华为流程体系:IPD流程框架(限制版)

目录 前言 详细内容 专栏列表 CSDN学院课程地址 前言 今天主要来谈谈 IPD 体系的主体框架所涉及的一些相关内容。 其实关于 IPD 体系,我在之前的文章或课程中都有过不同程度的讲解。 但是,由于这个体系所涉及的面是非常广泛的。 这个时候就必须通…

加固你的数据防线:避免成为SQL注入攻击的下一个目标

SQL注入是一种常见的Web应用程序安全漏洞,攻击者利用该漏洞通过构造恶意的SQL查询语句,以执行未经授权的操作或获取敏感数据。本文将介绍SQL注入的概念、攻击原理以及常见的防范方案,帮助开发人员和系统管理员加强对Web应用程序的安全性。 1、…

深入理解迭代器,笛卡尔积,from itertools import product 小白一看就会

文章目录 一、product()是什么?二、product()的具体使用案例代码详细分析 总结 一、product()是什么? 在Python中,product()是内置函数itertools提供的一个工具函数,可以计算多个可迭代对象的笛卡尔积。product()接受一个或多个可…

7、微服务组件gateway

1、引入gateway 在原来的项目中添加gateway模块 gateway是springcloud中的组件&#xff0c;所以要确保父项目的pom.xml中引入了springcloud 那么在gateway模块的pom.xml中引入gateway&#xff0c;如下&#xff1a; <?xml version"1.0" encoding"UTF-8&quo…

Jmeter集成到jenkins

Jmeter集成到Jenkins 序号 修改人 版本 创建日期 修改日期 备注 1 进击的雷神 V1.0 Jmeter集成到Jenkins. 1 软件下载... 4 一:环境配置... 4 1.JDK安装&#xff…

ADC动态指标

量化误差ADC输出-ADC模拟输入 量化噪声功率&#xff1a; 信噪比&#xff1a; 由于仅仅考虑了量化噪声&#xff0c;上式为ADC的SNDR所能达到的极限值 N8,SNDR_max50dB N12,SNDR_max74dB N16,SNDR_max98dB N20,SNDR_max122dB 实际ADC还需要考虑期间噪声和电路非理想特性&am…

Python10行以内代码能有什么高端操作

Python10行以内代码能有什么高端操作 Python凭借其简洁的代码&#xff0c;赢得了许多开发者的喜爱。因此也就促使了更多开发者用Python开发新的模块&#xff0c;从而形成良性循环&#xff0c;Python可以凭借更加简短的代码实现许多有趣的操作。下面我们来看看&#xff0c;我们…

关于组织申报国家重点研发计划“高性能制造技术与重大装备”等重点专项2023年度项目的通知

源自&#xff1a;上海市科学技术委员会 各有关单位&#xff1a; 根据《科技部关于发布国家重点研发计划“高性能制造技术与重大装备”等6个重点专项2023年度项目申报指南的通知》&#xff08;国科发资〔2023〕90号&#xff09;《科技部关于发布国家重点研发计划“文化科技与现…

Linux---端口(nmap、netstat)、进程管理(ps、kill)

1. 端口 端口&#xff0c;是设备与外界通讯交流的出入口。端口可以分为&#xff1a;物理端口和虚拟端口两类。 物理端口&#xff1a;又可称之为接口&#xff0c;是可见的端口&#xff0c;如USB接口&#xff0c;RJ45网口&#xff0c;HDMI端口等。 虚拟端口&#xff1a;是指计…

制定测试计划和测试用例

制定测试计划和测试用例 测试是软件开发过程中很重要的一环&#xff0c;通过测试可以发现和修复软件中的缺陷或错误&#xff0c;保证软件的质量和可靠性。在进行软件测试时&#xff0c;制定合理的测试计划和测试用例是非常必要的&#xff0c;下面我将从这两个方面分别进行讲解。…

第10篇:强化学习Q-learning求解迷宫问题 代码实现

你好&#xff0c;我是郭震&#xff08;zhenguo&#xff09; 今天重新发布强化学习第10篇&#xff1a;强化学习Q-learning求解迷宫问题 代码实现 我想对此篇做一些更加详细的解释。 1 创建地图 创建迷宫地图&#xff0c;包括墙网格&#xff0c;走到墙网格就是负奖励。 注意&…

使用JRS303校验对参数进行提前校验

文章目录 前言JRS303简单使用版本JRS303提供的常用校验注解 JRS303进阶使用版本情景一&#xff1a;对于一个主键id字段我想要新增的时候不校验 但是更新的时候进行校验情景二&#xff1a; 在实际项目中 我们有一些字段只能填入规定的几个值 类似于枚举 那么就需要我们编写自定义…

N-Gram语言模型工具kenlm的详细安装教程

【本配置过程基于Linux系统】 下载源代码&#xff1a; wget -O - https://kheafield.com/code/kenlm.tar.gz |tar xz 编译&#xff1a; makdir kenlm/build cd kenlm/build cmake .. && make -j4 发现报错&#xff1a; 系统中没有cmake&#xff0c;按照错误提示&am…

华为认证 | HCIA-SDN 考试大纲

01 考试概述 02 考试范围 HCIA-SDN V1.0考试覆盖数据通信基础知识&#xff0c;SDN架构&#xff0c;SDN二、三层网络原理&#xff0c;SDN接口协议原理比如OpenFlow协议、Netconf协议、RestFul协议原理&#xff0c;以及在华为交换机与路由器中的实现。 SDN二三层技术&#xff1…

【JVM系列】java类加载机制详解

文章目录 一、类的生命周期二、类的加载过程加载验证准备解析初始化 三、类加载时机四、类加载器分类五、双亲委派原则六、Java字节码文件中的JVM指令 类是在运行期间第一次使用时动态加载的&#xff0c;而不是一次性加载所有类。因为如果一次性加载&#xff0c;那么会占用很多…

chatgpt赋能python:Python怎么生成程序?

Python怎么生成程序&#xff1f; 介绍 Python作为一种高级编程语言&#xff0c;最初是为简化代码编写而设计的。Python是一种相对简单的语言&#xff0c;因此在编写软件时非常有用。随着搜索引擎优化的出现和与之相关的需求&#xff0c;Python成为了生成程序的主要方式之一。…

策略模式(二十五)

相信自己&#xff0c;请一定要相信自己 上一章简单介绍了状态模式(二十四), 如果没有看过, 请观看上一章 一. 策略模式 引用 菜鸟教程里面 策略模式介绍: https://www.runoob.com/design-pattern/strategy-pattern.html 在策略模式&#xff08;Strategy Pattern&#xff09;…

【MySQL函数】:让你的数据库操作更高效(二)

前言 ✨欢迎来到小K的MySQL专栏&#xff0c;本节将为大家带来MySQL日期时间、条件判断、系统信息、加密、进制转换和IP地址转换函数的讲解✨ 目录 前言一、日期和时间函数二、条件判断函数三、系统信息函数四、加密函数五、进制转换函数六、IP地址转换函数七、总结 一、日期和时…

chatgpt赋能python:Python怎么直接打出两个括号?

Python怎么直接打出两个括号&#xff1f; 你是否曾经在使用Python编写代码时&#xff0c;需要频繁地输入括号&#xff1f;每次都需要输入Shift键和9/0键来输入左右两个括号&#xff0c;有时还会出现输入错误的情况。那么有没有一种更加快捷的方法来输入括号呢&#xff1f;答案…