网络拓扑
PVE集群
仿真
将数据盘(data)和系统盘(sys)进行挂载并仿真
涉案网站重构工作
做法一
绕密+端口转发
虚拟化配置
虚拟网络配置:目的是让本机可以访问到;根据管理平台的地址我们对子网和网关进行配置。并将网络设置改为nat设置
随后访问平台地址https://192.168.71.133:8006/
软路由部分(Router)
访问http://192.168.71.100:8080/cgi-bin/luci/
javaserver
绕密
因为在MobaXterm的历史连接记录中没有出现该虚拟机的密码,所以此时我们需要对其进行一个密码绕过的操作;在进行连接中的时候我们就按下esc
键
选择继续
继续按下esc键
输入normal
后按下回车然后再按下esc键;此时就可以进入引导页面
选择第二个之后,进入修改界面;选择第二个选择
按下e进行修改
修改前:
修改后:
接下来就可以进行改密码的操作了
进入后发现该机器处于192.168.100.111
段,此时与我们的网段不符合
sqlserver
绕密
sql服务器使用了国产操作系统openEuler,单用户修改密码时需要输入grub的密码,该系统的默认配置为:系统默认用户名:root,密码openEuler#12
依旧是在服务器启动后按下esc
键;然后continue进入;继续按下e进入
输入默认账号和密码后进入引导界面
然后按下ctrl x
后即可修改密码;修改完后保存再重启即可;这个时候发现依旧和我们的pve平台不在一个网段
采用软路由进行端口转发
这个时候我们就要依赖软路由来对我们100段的机器进行端口流量转发的功能
这个时候是将ng服务器的80端口转发到虚拟化平台的端口上面,这个时候我们就可以对其进行添加
此时我们将javaserver的22转发到外面的33322(任意)端口上面
继续将sqlserver的22端口转发到外部的44422端口
配置完转发后就可以用我们本地的ssh来连接服务器了;我们看javaserver的历史命令可以知道需要启动两个jar包来对网站进行启动
我们先对api进行启动时发现存在报错为无法连接
此时我们就要分析jar包了;此时分析后得知时sqlserver服务器没有开始数据库服务导致的
启动后可以成功的构建api
接下来对web界面进行重构;因为前面已经对数据库进行启动了,所以此时已经可以成功启动(有些题目可能要对jar包进行修改地址、端口之类的操作)
这个时候我们需要进入到ng服务器对配置文件进行检查/etc/nginx/nginx.conf
发现包含了两个路径
1 2
| include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*;
|
继续对该文件进行查看
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
| #H5+API代理 20221227 server { server_name jy.proxy2.jshcloud.cn api.jy.proxy2.jshcloud.cn jy.proxy.jshcloud.cn api.jy.proxy.jshcloud.cn jy.jshcloud.cn api.jy.jshcloud.cn;
listen 80 ; root /usr/share/nginx/html; index index.html index.htm;
#API接口服务配置 location ^~ /jinyi/ { proxy_pass http: set $RealIP $proxy_add_x_forwarded_for; if ( $RealIP ~ (.*),(.*) ){set $RealIP $1;}#关于cdn多层代理逻辑下客户端真实IP截取 20230130 proxy_set_header Host $host:$server_port; proxy_set_header X-Real-IP $RealIP;#$remote_addr ; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; }
#API接口服务配置 追梦猿临时 location ^~ /zhuimengyuan/ { proxy_pass http: set $RealIP $proxy_add_x_forwarded_for; if ( $RealIP ~ (.*),(.*) ){set $RealIP $1;}#关于cdn多层代理逻辑下客户端真实IP截取 20230130 proxy_set_header Host $host:$server_port; proxy_set_header X-Real-IP $RealIP;#$remote_addr ; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; }
location / { root /home/www/h5; try_files $uri $uri/ /index.html; #解决Router(mode: 'history')模式下,刷新路由地址不能找到页面的问题 if (!-e $request_filename) { rewrite ^(.*)$ /index.html?s=$1 last; break; } }
error_page 404 /404.html; location = /40x.html { }
error_page 500 502 503 504 /50x.html; location = /50x.html { } }
#info代理 20221227 server { server_name info.jy.proxy2.jshcloud.cn info.jy.proxy.jshcloud.cn info.jy.jshcloud.cn;
listen 80 ; root /usr/share/nginx/html; index index.html index.htm;
#后台接口服务配置 location ^~ /jinyi/ { proxy_pass http: set $RealIP $proxy_add_x_forwarded_for; if ( $RealIP ~ (.*),(.*) ){set $RealIP $1;}#关于cdn多层代理逻辑下客户端真实IP截取 20230130 proxy_set_header Host $host:$server_port; proxy_set_header X-Real-IP $RealIP;#$remote_addr ; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; }
location / { root /home/www; try_files $uri $uri/ /index.html; #解决Router(mode: 'history')模式下,刷新路由地址不能找到页面的问题 if (!-e $request_filename) { rewrite ^(.*)$ /index.html?s=$1 last; break; } }
error_page 404 /404.html; location = /40x.html { }
error_page 500 502 503 504 /50x.html; location = /50x.html { } }
#管理后台代理 20221227 server { server_name master.jy.proxy2.jshcloud.cn master.jy.proxy.jshcloud.cn;
listen 80 ; root /usr/share/nginx/html; index index.html index.htm;
#后台接口服务配置 location ^~ /adminAPI/ { proxy_pass http: set $RealIP $proxy_add_x_forwarded_for; if ( $RealIP ~ (.*),(.*) ){set $RealIP $1;}#关于cdn多层代理逻辑下客户端真实IP截取 20230130 proxy_set_header Host $host:$server_port; proxy_set_header X-Real-IP $RealIP;#$remote_addr ; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme;
# 新增如下 proxy_buffer_size 1024k; proxy_buffers 16 1024k; proxy_busy_buffers_size 2048k; proxy_temp_file_write_size 2048k; }
location / { root /home/www/jinyi; try_files $uri $uri/ /index.html; #解决Router(mode: 'history')模式下,刷新路由地址不能找到页面的问题 if (!-e $request_filename) { rewrite ^(.*)$ /index.html?s=$1 last; break; } }
error_page 404 /404.html; location = /40x.html { }
error_page 500 502 503 504 /50x.html; location = /50x.html { } }
|
此时是将其转发到本地的80端口上面,并配置了域名
这样的话我们就可以去修改一下本地的hosts文件:C:\Windows\System32\drivers\etc
此时已经可以成功解析该域名地址;访问后如下
因为不知道密码,所以我们继续使用软路由对数据库服务做一个映射;
然后使用本地进行连接
一眼bcrypt;我们直接生成一个进行替换
再次登录即可
经过总结后整个的网络拓扑如下
本题的考点主要在于虚拟机的密码绕过和软路由的配置。
学习视频
【2024FIC取证大赛决赛(PVE服务器)-哔哩哔哩】 https://b23.tv/YY1sTZn
做法二
仿真绕密+添加网卡
配置一下网络让本机可以通过ssh连接到PVE服务器中的虚拟机当前给PVE服务器分配的网卡是NAT;在192.168.71这个网段下面
这个时候我们在pve的管理面板发现还有一张网卡为192.168.100.0/24
我们在虚拟机再添加一张网卡,配置如下
然后配置一下本地的静态ip
然后给虚拟机添加一张网卡
这个时候在管理面板中会发现多了一张网卡
让vmbr1从属于ens36
这个时候重启一下pve然后使用ssh连接node1发现已经可以管理了
找到sqlserver和javaserver的两个虚拟磁盘并导出;使用仿真软件进行绕过密
sqlserver
仿真后先将我们先前配置的网卡信息补上去,但是仿真后是没有配置网卡的
查看查看/etc/sysconfig/network-scripts/ifcfg-enp6s18
,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| DEVICE:指定网络接口的名称,例如 enp6s18。
BOOTPROTO:定义接口的启动协议。常见值包括:
none:手动配置,静态 IP。 dhcp:通过 DHCP 获取 IP 地址。 ONBOOT:指示系统启动时是否启用该接口。值可以是 yes 或 no。
IPADDR:如果使用静态 IP 配置,这里指定接口的 IP 地址。
NETMASK:指定子网掩码,通常与 IP 地址配合使用。
GATEWAY:指定默认网关的 IP 地址。
DNS1, DNS2:定义 DNS 服务器的 IP 地址。
HWADDR:可选参数,用于指定网络接口的硬件地址(MAC 地址)。
USERCTL:指定普通用户是否可以启用或禁用该接口。值为 yes 或 no。
|
可以看到设置的网卡是enp6s18
;我们将配置了静态IP为192.168.100.112;修改NAME和DEVICE为ens33。
改完后重启网络systemctl restart NetworkManager
javaserver
对于javaserver也是如此;
查看/etc/netplan/00-installer-config.yaml,可以看到设置的网卡是enp6s18
使用vi修改为enp2s1
即可
nginx
因为之前给PVE服务器新增了一张IP在192.168.100.x网段的网卡,此时的nginx容器是可以和单独仿真的javaserver、sqlserver服务器联通的。