运行环境
Virtualbox (二选一)
Vnware Workstation player
通关提示
Enumeration is key
Try Harder
Look in front of you
Tweet @togiemcdogie if you need more hints
ip探测
本次实验攻击机为kali
由于我们的目标与我们的物理机位于同一网段,所以我们要做的就是先获取目标机器的地址。在内网主机探测中,可以使用netdiscover来进行。
同样我们也可以用nmap神器来探测
综上我们可以获得本次的试验机ip为 : 192.168.1.110
端口扫描
我们需要知道目标机器上运行了哪些服务,利用某些服务的漏洞或配置不当来进行攻击,所以我们先进行端口扫描。
使用masscan扫描
masscan 192.168.0.110 -p 1-10000 --rate=1000
或者使用nmap扫描
nmap -T4 -A -v 192.168.1.110 -p 0-10000
对比可发现masscan扫描端口的速度比nmap快很多,但是想要知道端口所运行服务的具体信息,就要用到nmap了。
根据扫描结果可知目标机开启了22、80、139、445、3306、6667这几个端口。
我们先从web入手。我们先使用 dirb 或者 御剑 来爆破目标存在的目录
御剑:
dirb:
扫出来很多有用的目录,比如/phpmyadmin , /apache , /wp , /test , robots.txt 等
我们趁机做一波信息搜集,使用curl获取目标web的banner信息,发现使用的中间件是apache2.4.7,目标系统为Ubuntu。
我们尝试访问 robots.txt ,看一下网站目录
经过访问,发现只有最后一个有价值
发现用处不大.....
经过御剑二级域名扫描
然后经过一波访问,发现了wordpress登陆页面,不过尝试弱口令,万能密码均失败
同样phpmyadmin也是这样,不过我们发现靶机是用wordpress+apache+php+mysql搭建的
,网上的利用方法很多,也可以用kali自带的wordpress检测工具
wpscan详细用法:https://blog.csdn.net/feier7501/article/details/9750919
我这里用:
wpscan -u 192.168.1.114/wordpress/ -e u,v,p
默认用户名正在使用,所以默认密码也可能被使用。
唯一的博客帖子是togie
尝试admin:admin, admin:togie, admin:mynameistogie, admin:password
发现都不行,我想现在是时候看看其他服务,看看那里是否有什么。
SMB可能有一些有趣的信息,我知道它正在运行Linux
所以我使用了enum4linux
enum4linux
描述:Windows平台上曾经出现过一个第三方的信息枚举工具 enum.exe,其利用SMB协议枚举Windows系统和SAMBA服务,以此来获得目标系统大量的重要信息,其枚举结果可能包含目标系统的用户帐号、组帐号、共享目录、密码策略等机密重要信息。enum4linux作为其Linux平台的复刻作品,全面兼容了enum.exe的所有功能。对于安全防护不足的SMB/SAMBA服务,enum4linux可直接枚举重要信息,甚至帮助我们发现潜在漏洞的存在。为充分利用其功能,使用者需要对NetBIOS和SMB协议有所了解。
enum4linux是Kali Linux自带的一款信息收集工具。它可以收集Windows系统的大量信息,如用户名列表、主机列表、共享列表、密码策略信息、工作组和成员信息、主机信息、打印机信息等等。该工具主要是针对Windows NT/2000/XP/2003,在Windows 7/10系统,部分功能受限。总的来说,一个工具可以获取这么多的信息,也算非常强大了。
发现了这一句:
开放windows的smb协议讲解:https://blog.csdn.net/ZiXuanFY/article/details/52513512
我们可以用简单的方法尝试连接SMB服务器:
smbclient //192.168.1.114/share$
然后我们就需要找到数据库账号密码
顺利得到数据库账号密码
思路二:
windows下获取共享资源
net use k:\\192.168.1.110\share$
linux下获取共享资源
mount -t cifs -o username=' ', password=' ' //192.168.1.110/share$ /mnt
我们查看/mnt
下面就需要找到数据库账号密码:
所以我们尝试用上面获取的mysql账号密码去登录phpmyadmin,但是发现没一个表项可以查看。
不过不要紧,上面还有一个密码是12345,而且之前我们登录WordPress页面的时候,页面显示My name is togie.,
所以我们可以用账号:togie 密码:12345尝试登录ssh,发现可以成功登录。
由于我们知道密码是12345,所以可以直接提权
有了root权限,我们就有权限查看目标文件/root/proof.txt
这样就算完成了整个游戏了。这里刚好togie有root权限,所以我直接用sudo su切换到root权限,但是如果togie没有root权限,那么我们就需要通过其他方式来提权了。
思路二:
通过账号:Admin 密码:TogieMYSQL12345^^登录WordPress控制面板,向404.php页面模板插入PHP反弹shell的代码。
.....虚拟机突然蹦了,但是操作继续(借用别人的图):
出现no tty present and no askpass program specified,刚好目标机有python环境,所以我们导入Python的pty模块。
python -c 'import pty; pty.spawn("/bin/sh")'
但是我们不知道www-data的密码,所以接下来就要进行提权,先来看一下目标机的详细信息
所以用CVE-2017-1000112提权即可,但是目标机上没有gcc,这时候,我们可以本地搭建和目标机一样的环境,在本地编译好提权exp后,在目标机器上运行即可。
dirb安装方法(kali已自带)
参考链接:
VulnHub Walk-through – LazySysAdmin: 1
LazySysAdmin Vulnerable Machine Walk-through