DC-1 渗透记录

环境配置

靶机桥接到物理机网络
IMG_256
kali ip地址为 : 192.168.7.98
IMG_256

信息收集

对网络进行nmap扫描主机存活寻找真实IP地址;

nmap -sP.192.168.7.0/24 (-sP,进行ping扫描并不进行端口扫描)
IMG_256

发现7.x网段有6台主机存活(可用ping扫描区分具体操作系统)
IMG_256
发现 .153 .192 .246为linux操作系统分别进行深度扫描

nmap -A-p–v192.168.7.x (-A进行全面扫描-p-所有端口-v (-sV)以及服务具体版本)-p 1-100(扫描1到100的端口)
IMG_256
发现192.168.7.192的端口扫描记录
开放22端口存在ssh 服务且对应openssh6.0p1
开放80端口,存在web服务 apache httpd 2.2.22 (Drupal 7)
开放111端口,rpcbind2-4服务

漏洞利用

寻找接入点

首先对开放的80端口对应的web服务进行访问 http://192.168.7.192/
IMG_256
发现是一个电信的 drupal,服务,根据nmap,结果可知当前运行的是Drupal7的CMS(内容管理系统(Content Management System)
IMG_256

  • 也可以使用浏览器的拓展wappalyzer进行组件扫描
    IMG_256

确定工具

因为drupal7老版本有很多”著名的漏洞“所有这里我们直接采用msf进行脚本利用
采用msf(metasploit framework)进行漏洞利用
查找 Drupal的相关漏洞
IMG_256

Search Drupal
提供了很多漏洞利用脚本且大多都是excellent级的漏洞
这里我们使用第一个 设置靶机的ip

set rhosts
show options 可以看每个脚本的具体参数
IMG_256

exploit 以后成功拿到shell

  • ls查看一下文件目录后拿到第一个flag同时拿到提示信息(查看网站配置文件)
    IMG_256

权限提升

水平提权

使用shell查看当前权限以及所在路径
IMG_256
发现 sites/default/settings.php
IMG_256
发现flag2并找到数据库配置,并且暗示暴力破解不是the only to gain access
IMG_256
Whatever 我们先使用数据库账号密码登录数据库

获取可交互的shell

  • python -c’import pty;pty.spawn(“/bin/bash”)’
  • IMG_256

进入数据库

IMG_256
查看数据库表名,找到 drupaldb并使用它;
IMG_256
查询到80个表 并发现有user表;
IMG_256
查询users表 ,找到admin账号,但是密码被加密过;
IMG_256
在node表中找到flag3 且uid为1拥有最高权限
IMG_256
联合查询
IMG_256

拿到数据库的hash值以后想尝试破解hash的加密方式
可以使用hash-identifier 尝试能不能解读 –不能
IMG_256

  • 方法一 尝试在服务器上找到密码的加密方式 使用它加密一个hash
    在服务器的 /scripts 下找到password-hash.sh 查看发现是对密码的hash加密
    IMG_256
    获得123456的hash值
    IMG_256
    并将其更改到数据库的对应位置
    IMG_256
  • 方法二 在msf查询能够直接更改管理员账号的脚本并且符合本次本次服务器的版本

    查看版本命令
    cat /var/www/includes/bootstrap.inc | grep VERSION
    IMG_256

    IMG_256
    登入admin账号在web的content中找到flag3并拿到提示指向 某些指令拥有高权限
  • suid提权

垂直提权

查询用户相关信息,找到flag4目录,提示flag4是一个用户,信息在用户数据里面
IMG_256
flag4中也提示可以进行提权
IMG_256

find / -perm -4000 寻找所有拥有suid权限的应用
or find / -u=s -4000 -f -2>/dev/null

1、find 是查找文件的命令
2、/ 是从根目录开始查找
3、-perm -4000

IMG_256
Find本身就是suid权限的用户 ,利用find 提权

find . -exec /bin/sh ;
提权成功

IMG_256

使用22端口

存在ssh服务且对应openssh6.0p1同样在msf,上搜索对应的漏洞利用或者cve漏洞库利用对应的漏洞
IMG_256
存在用户枚举漏洞
IMG_256
使用并设置

设置 set user_file /usr/share/wordlists/metasploit/piata_ssh_userpass.txt

IMG_256
开始漏洞利用
IMG_256
找到user_name;制作成txt
IMG_256

渗透总结

每个flag所涉及的知识点

1、msf的熟悉使用以及搜索可以利用的漏洞
2、特别注意网站的配置文件
3、数据库管理提权(添加用户或者更新管理员密码)
4、掌握/etc/passwd文件的功能:存储所有用户的相关信息,每一个用户占用一行记录,该文件也被称为用户信息数据库(Database)

/etc/passwd文件中每个字段的具体含义(x:x:x:x:x:x:x):
第1个字段(列)︰记录的是这个用户的名字(在创建用户时root用户起的)
第2个字段(列)︰如果是x,表示该用户登录Linux系统时必须使用密码;如果为空,表示该用户在登录时无须提供密码
第3个字段(列)︰记录的是这个用户的uid
第4个字段(列)∶记录的是这个用户所属群组的gide
第5个字段(列)︰记录的是有关这个用户的备注信息
第6个字段(列)︰记录的是这个用户的家目录的路径
第7个字段(列)∶记录的是这个用户登录后,第一个要执行的进程

5、suid提权命令或netcat反向shell