反弹shell基本方法和场景
反弹shell的方法和场景
NC反弹shell
Netcat简称NC(除非自带,否则容易被杀),是一个简单、可靠的网络工具,被誉为网络界的瑞士军刀。通NC可以进行端口扫描、 反弹Shell、端口监听和文件传输等操作,常用参数如下:

一、正向反弹Shell
1、实验拓扑
攻击机:10.210.99.82
靶机: 10.210.100.147
2、实验介绍
攻击者机器 10.210.99.82和靶机 10.210.100.147可以相互的访问,这个时候可以使用正向shell
3、实验复现
1)在靶机上运行
1 |
|
2)在攻击机上运行
1 |
|
3)拿到正向的shell

二、反向反弹Shell
1、实验拓扑
攻击机:10.210.100.128
靶机:10.210.100.148
2、实验介绍
攻击者机器10.210.100.128不能直接访问靶机,但是靶机10.210.100.148可以访问攻击者的机器,这个时候使用反向shell
3、实验复现
1)在攻击者机器运行
1 |
|
2)在靶机上运行 (反弹到公网)
1 |
|
3)拿到反向的shell

三、NC的其他用法
1、Banner 的抓取
靶机运行着ssh服务,可以查看服务的版本
1 |
|
2、端口探测
可以查看端口的开放情况
1 |
|
多端口扫描:
1 |
|
3、端口监听
监听端口,当访问该端口会输出该信息
1 |
|
4、文件传输
1 |
|
1、 接收端文件夹下为空
2、 接收端执行命令
3、 发送端执行命令
4、 接收端接收到文件
5、简易聊天
1、vps执行 nc -l -p Port
2、靶机执行:nc -vn IP Port
6、连接远程主机
1 |
|
PowerCat反弹Shell
PowerCat介绍
PowerCat是一个powershell写的tcp/ip瑞士军刀,看一看成ncat的powershell的实现,然后里面也 加入了众多好用的功能,如文件上传,smb协议支持,中继模式,生成payload,端口扫描等等。
PowerCat安装
1、下载地址
https://github.com/besimorhino/powercat
2、下载下来导入
1 |
|
3、如果提示未能加载指定模块,则可能是权限问题,输入如下代码
1 |
|
4、输入如下命令可以查看帮助信息
1 |
|
5、如下就是安装成功

PowerCat命令
1 |
|
PowerCat实验
靶机:10.210.100.147(win7)
攻击机:10.210.99.82(win10)
PowerCat和nc正向连接
1、靶机使用powercat执行以下命令
1 |
|
2、攻击机使用nc执行以下命令
1 |
|
3、查看返回结果
PowerCat和nc反向连接
1、靶机使用powercat执行以下命令
1 |
|
2、攻击机使用nc执行以下命令
1 |
|
3、查看返回结果

PowerCat和PowerCat反向连接
1、靶机使用powercat执行以下命令
1 |
|
2、攻击机使用powercat执行以下命令
1 |
|
PowerCat文件传输
1、靶机使用powercat执行以下命令
1 |
|
2、攻击机使用powercat执行以下命令
1 |
|
用powercat生成payload
1、攻击机使用powercat执行以下命令生成payload
1 |
|
2、在靶机上运行脚本
1 |
|
3、攻击机使用powercat执行以下命令连接
1 |
|

Bash反弹shell
Bash介绍
Shell也称为终端或壳,是人与内核之间的翻译官,而Bash则是Linux中默认使用的Shell
Bash 反弹Shell的命令如下:
1 |
|
“bash -i”是指打开一个交互式的Shell
“&”符号用于区分文件和文件描述符,**”>&”符号后面跟文件时,表示将标准输出和标准错误输出重定向至文件,“>&”符号后面跟数字时表示后面的数字是文件描述符**,不加”&”符号则会把后面的数字当成文件。数字”0”,”1”,”2”是LinuxShell下的文件描述符, “0”是指标准输入重定向, “1”是 指标准输出重定向, “2”是指错误输出重定向。
“/dev”目录下”tcp”和”udp”是Linux中的特殊设备,可用于建立Socket连接,读写这俩文件就相当于是在Socket连接中传输数据。**”>&/dev/tcp/攻击机_ip/攻击机端口”则表示将标准输出和标准错误输出重定向到”/dev/tcp/攻击机ip/攻击机端口”文件中,也就是重定向到了攻击机**,这时目标机的命令执行结果可以从攻击机看到。
“0>&1”或”0>&2”又将标准输入重定向到了标准输出,而标准输出重定向到了攻击机,因此标准输入也就重定向到了攻击机,从而可以通过攻击机输入命令,并且可以看到命令执行结果输出
bash反弹shell实验
攻击机:10.210.99.82(windows)
靶机:10.210.100.148(linux)
1、攻击机器使用nc执行监听命令
1 |
|
2、实验靶机执行连接命令
1 |
|
3、查看结果
Python 反弹Shell
Python反弹Shell介绍
1 |
|
实验
攻击机:10.210.99.82(windows)
靶机:10.210.100.147(linux python2)
1、攻击机器使用nc执行监听命令
1 |
|
2、实验靶机执行连接命令
1 |
|
3、查看结果